:root{--bg-color: #050505;--text-color: #e0e0e0;--accent-color: #00f3ff;--accent-glow: rgba(0, 243, 255, .5);--card-bg: rgba(20, 20, 25, .6);--card-border: rgba(0, 243, 255, .2);--card-hover: rgba(0, 243, 255, .1);--glass-bg: rgba(10, 10, 12, .9)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Rajdhani,Segoe UI,system-ui,sans-serif;background-color:var(--bg-color);color:var(--text-color);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background:linear-gradient(90deg,transparent 95%,rgba(0,243,255,.05) 95%,rgba(0,243,255,.05) 96%,transparent 96%),linear-gradient(0deg,transparent 95%,rgba(0,255,128,.05) 95%,rgba(0,255,128,.05) 96%,transparent 96%);background-size:60px 60px;animation:bgScroll 20s linear infinite;pointer-events:none}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2;background:radial-gradient(circle at 50% 50%,#00f3ff0d,#0000 70%);animation:pulseGlow 8s ease-in-out infinite alternate}@keyframes bgScroll{0%{transform:translateY(0)}to{transform:translateY(60px)}}@keyframes pulseGlow{0%{opacity:.3;transform:scale(1)}to{opacity:.8;transform:scale(1.2)}}#root{min-height:100vh;display:flex;flex-direction:column}h1{font-size:3.5rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;background:linear-gradient(to bottom,#fff,#b4b4b4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem;text-shadow:0 0 20px var(--accent-glow)}p.subtitle{color:#88c0c4;font-size:1.2rem;margin-bottom:3rem;letter-spacing:1px}.container{max-width:1200px;margin:0 auto;padding:2rem;width:100%}.header-section{text-align:center;padding:4rem 0 2rem}.search-container{position:relative;max-width:600px;margin:0 auto 3rem}.search-input{width:100%;padding:.8rem 1.5rem .8rem 3rem;background:#0009;border:1px solid var(--card-border);border-radius:12px;color:var(--accent-color);font-family:inherit;font-size:1.2rem;transition:all .3s ease;box-shadow:0 0 10px #00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.search-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 20px var(--accent-glow),inset 0 0 10px #00f3ff1a}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--accent-color);z-index:10;pointer-events:none}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;display:flex;flex-direction:column;height:100%;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.card:before{content:"";position:absolute;top:0;left:0;width:2px;height:100%;background:linear-gradient(to bottom,transparent,var(--accent-color),transparent);opacity:.5}.card:hover{transform:translateY(-5px) scale(1.02);background:var(--card-hover);box-shadow:0 0 30px #00f3ff26;border-color:var(--accent-color);z-index:10}.card-title{font-size:1.35rem;font-weight:700;color:#fff;text-shadow:0 0 5px rgba(255,255,255,.3)}.card-subtitle{font-size:.9rem;color:#999;margin-top:.25rem}.card-header{margin-bottom:.5rem}.card-booth-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--accent-color);font-family:Rajdhani,monospace;margin-bottom:1rem;width:100%;flex-wrap:wrap}.card-booth-row svg{flex-shrink:0;filter:drop-shadow(0 0 2px var(--accent-glow))}.tag{background:transparent;color:#fff;padding:.25rem .75rem;border:1px solid #444;border-radius:4px;font-size:.75rem;font-weight:500;letter-spacing:.5px;white-space:normal;display:inline-block;line-height:1.4}.tag:hover{border-color:var(--accent-color);color:var(--accent-color);background:#00f3ff1a}.card-desc{color:#888;font-size:.95rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:1rem}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal-content{background:#0a0a0ff2;border:1px solid var(--accent-color);border-radius:8px;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 0 100px #00f3ff1a;animation:scaleIn .3s cubic-bezier(.16,1,.3,1);position:relative}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{padding:2rem 2rem 1rem;border-bottom:1px solid #222;position:sticky;top:0;background:#111;z-index:10}.modal-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:#666;cursor:pointer;padding:.5rem;border-radius:50%;transition:color .2s,background .2s}.modal-close:hover{color:#fff;background:#222}.modal-body{padding:2rem}.detail-row{margin-bottom:1.5rem}.detail-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#666;margin-bottom:.5rem;font-weight:600}.detail-value{color:#e5e5e5;font-size:1.1rem;line-height:1.5}.detail-link{color:var(--accent-color);text-decoration:none;border-bottom:1px dashed var(--accent-color);padding-bottom:2px;transition:all .2s}.detail-link:hover{text-decoration:none;border-bottom-style:solid;text-shadow:0 0 8px var(--accent-glow)}.loading{text-align:center;padding:4rem;color:#666;font-size:1.2rem}@media(max-width:768px){h1{letter-spacing:1px}.container{padding:1rem}.header-section{padding:2rem 0 1rem}}.hall-filter-container{position:sticky;top:0;z-index:50;background:#050505cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,243,255,.1);margin-bottom:2rem;margin-left:-2rem;margin-right:-2rem;padding:1rem 2rem}.hall-filter-scroll{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.hall-filter-scroll::-webkit-scrollbar{display:none}.hall-filter-btn{background:#1e1e23cc;color:#888;border:1px solid #444;padding:.5rem 1rem;border-radius:20px;font-family:inherit;font-size:.9rem;white-space:nowrap;cursor:pointer;transition:all .2s}.hall-filter-btn:hover{border-color:var(--accent-color);color:var(--text-color)}.hall-filter-btn.active{background:#00f3ff1a;border-color:var(--accent-color);color:var(--accent-color);box-shadow:0 0 10px #00f3ff33}.load-more-container{text-align:center;margin-top:3rem;padding-bottom:2rem}.load-more-btn{background:transparent;color:var(--accent-color);font-family:inherit;font-size:1rem;padding:.8rem 2rem;border:1px solid var(--accent-color);border-radius:4px;cursor:pointer;transition:all .3s;text-transform:uppercase;letter-spacing:1px}.load-more-btn:hover{background:#00f3ff1a;box-shadow:0 0 20px #00f3ff4d;transform:translateY(-2px)}.back-to-top{position:fixed;bottom:2rem;right:2rem;background:#050505cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--accent-color);color:var(--accent-color);width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 0 15px #00f3ff33;opacity:0;visibility:hidden;transform:translateY(20px)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--accent-color);color:#000;box-shadow:0 0 25px #00f3ff99;transform:translateY(-5px)}.card-country-badge{position:absolute;top:0;right:0;background:#00f3ff1a;color:var(--accent-color);font-size:.75rem;font-weight:700;padding:.25rem .75rem;border-bottom-left-radius:8px;border-left:1px solid var(--accent-color);border-bottom:1px solid var(--accent-color);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2;letter-spacing:.5px;box-shadow:-2px 2px 10px #00000080}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--accent-color)}.search-clear-btn{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#666;cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.search-clear-btn:hover{background:#ffffff1a;color:var(--accent-color)}.hall-filter-mobile-select{display:none;width:100%;padding:.8rem;background:#1e1e23e6;color:var(--accent-color);border:1px solid var(--accent-color);border-radius:12px;font-size:1rem;outline:none;font-family:inherit;margin-bottom:.5rem;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2300f3ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.2rem;background-color:#1e1e23e6;padding:.8rem 2.5rem .8rem 1rem}@media(max-width:768px){h1{font-size:1.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hall-filter-scroll{display:none}.hall-filter-mobile-select{display:block}.subtitle{font-size:1rem;margin-bottom:2rem}.back-to-top{width:40px;height:40px;bottom:1.5rem;right:1.5rem}}.modal-title-text{font-size:2rem;margin-bottom:.5rem;padding-right:2rem;color:#fff;line-height:1.2}@media(max-width:768px){.hall-filter-container{margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}.modal-title-text{font-size:1.4rem;padding-right:3rem;word-break:break-word}}.sticky-header-controls{position:sticky;top:0;z-index:90;background:#050505f2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);margin-left:-2rem;margin-right:-2rem;padding:1rem 2rem 0;border-bottom:1px solid rgba(0,243,255,.1);margin-bottom:2rem;box-shadow:0 10px 30px #00000080}.hall-filter-container{position:relative!important;top:auto!important;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom:none!important;margin:0!important;padding:1rem 0!important;z-index:auto!important}.sticky-header-controls .search-container{margin-bottom:.5rem}@media(max-width:768px){.sticky-header-controls{margin-left:-1rem;margin-right:-1rem;padding:1rem 1rem 0}}
