:root{--yellow:#f5c518;--yellow-bright:gold;--blue:#1e90ff;--blue-bright:#00bfff;--blue-glow:#06f;--red:#ff5050;--red-bright:#ff9b9b;--green:#2ecc71;--green-bright:#4ade80;--bg:#060810;--bg2:#0a0d1a;--bg3:#0d1020;--card:#0e1228;--card2:#111530;--border:#ffffff14;--text:#fff;--text-dim:#ffffffb3;--text-faint:#fff9;--radius:10px;--radius-lg:16px;--nav-h:60px;--max-width:640px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body{width:100%;overflow-x:hidden}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Barlow,sans-serif;font-size:17px;line-height:1.6}h1,h2,h3,h4{text-transform:uppercase;letter-spacing:.03em;font-family:Barlow Condensed,sans-serif;font-weight:800;line-height:1.15}h1{font-size:2.4rem}h2{font-size:1.8rem}h3{font-size:1.3rem}p{color:var(--text-dim)}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}button,input,select,textarea{font-family:inherit;font-size:inherit}#root{flex-direction:column;min-height:100dvh;display:flex}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 20px}.page{flex:1;padding:32px 0 64px}.page-loading{flex:1;justify-content:center;align-items:center;min-height:40vh;display:flex}.page-loading:after{content:"";border:3px solid var(--border);border-top-color:var(--yellow);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite page-loading-spin}@keyframes page-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.page-loading:after{animation:none}}.stack{flex-direction:column;gap:16px;display:flex}.text-center{text-align:center}.text-gold{color:var(--yellow-bright)}.text-blue{color:var(--blue-bright)}.text-red{color:var(--red-bright)}.text-green{color:var(--green-bright)}.text-dim{color:var(--text-dim)}@media (width>=768px){:root{--max-width:900px}h1{font-size:3.2rem}h2{font-size:2.2rem}}.hero{text-align:center;flex-direction:column;align-items:center;gap:16px;padding-top:12px;display:flex;position:relative;overflow:hidden}.hero>*{z-index:1;position:relative}.hero-glow{z-index:0;pointer-events:none;filter:blur(30px);will-change:transform;background:radial-gradient(circle at 30% 25%,#f5c51847,#0000 60%),radial-gradient(circle at 72% 15%,#1e90ff47,#0000 55%);height:440px;animation:11s ease-in-out infinite alternate hero-glow-drift;position:absolute;inset:-60px -24px auto}@keyframes hero-glow-drift{0%{transform:translate(-12px,-8px)scale(1)}to{transform:translate(12px,10px)scale(1.1)}}.hero-logo-wrap{display:inline-flex;position:relative}.hero-logo-wrap:before{content:"";z-index:-1;filter:blur(16px);will-change:transform, opacity;background:radial-gradient(circle,#1e90ff4d,#0000 65%);border-radius:50%;animation:6s ease-in-out infinite hero-logo-pulse;position:absolute;inset:-28px}@keyframes hero-logo-pulse{0%,to{opacity:.4;transform:scale(.96)}50%{opacity:.65;transform:scale(1.04)}}.hero-logo{will-change:filter;width:100%;max-width:220px;margin-bottom:8px;animation:6s ease-in-out infinite hero-logo-edge-glow}@keyframes hero-logo-edge-glow{0%,to{filter:drop-shadow(0 0 5px #1e90ff59)}50%{filter:drop-shadow(0 0 10px #1e90ff99)}}.hero-particles{z-index:-1;pointer-events:none;position:absolute;inset:-20px}.particle{opacity:0;will-change:transform, opacity;border-radius:50%;animation-name:particle-float;animation-timing-function:ease-in-out;animation-iteration-count:infinite;position:absolute}.particle-gold{background:var(--yellow-bright);box-shadow:0 0 6px 1px #ffd700cc}.particle-blue{background:var(--blue-bright);box-shadow:0 0 6px 1px #00bfffcc}@keyframes particle-float{0%{opacity:0;transform:translate(0)scale(.6)}20%{opacity:.9}80%{opacity:.35}to{transform:translate(var(--drift,8px), -70px) scale(1);opacity:0}}.animate-in{animation:.7s both hero-fade-up}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.delay-1{animation-delay:50ms}.delay-2{animation-delay:.15s}.delay-3{animation-delay:.25s}.delay-4{animation-delay:.35s}.delay-5{animation-delay:.45s}@media (prefers-reduced-motion:reduce){.hero-glow,.hero-logo-wrap:before,.hero-logo,.particle,.animate-in{animation:none!important}.hero-particles{display:none}}.hero-title{white-space:nowrap;font-size:clamp(1.4rem,6.2vw,2.4rem)}.hero-subtitle{margin-top:-8px}.hero-intro{max-width:46ch;font-size:1.05rem}.hero-actions{flex-direction:column;gap:12px;width:100%;margin-top:8px;display:flex}.hero-note{max-width:40ch;color:var(--text-dim);margin-top:4px;font-size:1rem}@media (width>=480px){.hero-actions{flex-direction:row;justify-content:center;width:auto}.hero-logo{max-width:280px}}.how-to-play{width:100%;max-width:46ch;margin-top:8px}.how-to-play h2{margin-bottom:12px}@media (width>=768px){.hero-title{white-space:normal;font-size:3.2rem}}.quest-steps{counter-reset:step;text-align:left;flex-direction:column;gap:12px;width:100%;max-width:46ch;margin:0 auto;display:flex}.quest-steps li{counter-increment:step;color:var(--text-dim);align-items:center;gap:12px;display:flex}.quest-steps li:before{content:counter(step);background:var(--card2);border:1.5px solid var(--yellow);width:28px;height:28px;color:var(--yellow-bright);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Barlow Condensed,sans-serif;font-size:.9rem;font-weight:700;display:flex}.rules-list{text-align:left;flex-direction:column;gap:10px;display:flex}.rules-list li{color:var(--text-dim);padding-left:20px;position:relative}.rules-list li:before{content:"";background:var(--yellow);border-radius:50%;width:8px;height:8px;position:absolute;top:.55em;left:0}.consent-checkbox{text-align:left;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;align-items:flex-start;gap:12px;padding:16px;display:flex}.consent-checkbox input{width:20px;height:20px;accent-color:var(--yellow);cursor:pointer;flex-shrink:0;margin-top:3px}.consent-checkbox span{color:var(--text-dim);font-size:.95rem}.site-header{z-index:10;height:var(--nav-h);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#060810e6;align-items:center;display:flex;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;gap:10px;display:flex}.brand{align-items:center;gap:8px;min-width:0;margin:-12px -4px;padding:12px 4px;display:flex}.brand img{flex-shrink:0;width:auto;height:28px}.brand-name{text-transform:uppercase;letter-spacing:.03em;color:var(--text);white-space:nowrap;font-family:Barlow Condensed,sans-serif;font-size:.9rem;font-weight:800}.nav-links{flex-shrink:0;align-items:center;gap:10px;display:flex}.nav-links a{text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);white-space:nowrap;align-items:center;margin:-15px -6px;padding:15px 6px;font-family:Barlow Condensed,sans-serif;font-size:.78rem;font-weight:700;display:inline-flex}@media (width>=420px){.site-header .container{gap:16px}.brand{gap:10px}.brand img{height:34px}.brand-name{font-size:1rem}.nav-links{gap:18px}.nav-links a{font-size:.9rem}}.nav-links a.active,.nav-links a:hover{color:var(--yellow-bright)}.nav-logout{cursor:pointer;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);background:0 0;border:none;align-items:center;margin:-15px -6px;padding:15px 6px;font-family:Barlow Condensed,sans-serif;font-size:.9rem;font-weight:700;display:inline-flex}.nav-logout:hover{color:var(--blue-bright)}.site-footer{border-top:1px solid var(--border);text-align:center;color:var(--text-faint);padding:24px 20px;font-size:.85rem}.site-footer p{color:inherit}.site-footer-copyright{margin-top:2px;font-size:.8rem}.site-footer-links{flex-wrap:wrap;justify-content:center;gap:2px 12px;margin-top:12px;display:flex}.site-footer-links a{color:var(--text-faint);padding:6px 2px;font-size:.68rem}.site-footer-links a:hover{color:var(--blue-bright)}.legal-content{text-align:left}.legal-content h1{text-align:center}.legal-content h2{margin-top:8px;font-size:1.15rem}.legal-content p,.legal-content li{font-size:.95rem;line-height:1.6}.legal-meta{color:var(--text-faint);font-size:.85rem}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.card-title{margin-bottom:8px}.btn{border-radius:var(--radius);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 20px;font-family:Barlow Condensed,sans-serif;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-yellow{background:linear-gradient(135deg, var(--yellow-bright), var(--yellow));color:#201800;box-shadow:0 0 18px #f5c51859}.btn-blue{background:linear-gradient(135deg, var(--blue-bright), var(--blue));color:#fff;box-shadow:0 0 18px #1e90ff59}.btn-outline{color:var(--text);background:#ffffff0a;border:1.5px solid #ffffff47}.btn-small{width:auto;padding:8px 14px;font-size:.85rem}.btn-outline:hover{border-color:var(--blue-bright);color:var(--blue-bright)}@media (hover:hover){.btn-yellow:hover{transform:translateY(-2px);box-shadow:0 0 26px #f5c5188c}.btn-blue:hover{transform:translateY(-2px);box-shadow:0 0 26px #1e90ff8c}}@media (width>=480px){.btn{width:auto}}.btn-pulse{animation:1.8s ease-in-out infinite btn-pulse-glow}@keyframes btn-pulse-glow{0%,to{transform:scale(1);box-shadow:0 0 18px #f5c51859}50%{transform:scale(1.03);box-shadow:0 0 32px #f5c518bf}}@media (prefers-reduced-motion:reduce){.btn-pulse{animation:none!important}}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:.85rem}.field-required{color:var(--yellow-bright);margin-left:2px}.form-legend{color:var(--text-faint);font-size:.8rem}.field-hint{color:var(--text-faint);margin-top:-2px;font-size:.8rem}.field-char-count{color:var(--text-faint);align-self:flex-end;margin-top:-2px;font-size:.78rem}.field input,.field textarea{border-radius:var(--radius);color:var(--text);resize:vertical;background:#ffffff0f;border:1.5px solid #ffffff38;padding:12px 14px;font-family:inherit}.field input::placeholder,.field textarea::placeholder{color:var(--text-faint)}.field input:focus,.field textarea:focus{border-color:var(--blue-bright);background:#ffffff17;outline:none}.password-field{position:relative}.password-field input{width:100%;padding-right:68px}.password-toggle{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;cursor:pointer;background:0 0;border:none;padding:0 14px;font-family:Barlow Condensed,sans-serif;font-size:.8rem;font-weight:700;position:absolute;top:0;bottom:0;right:0}.password-toggle:hover{color:var(--blue-bright)}.field input[type=file]{color:var(--text-dim);padding:10px;font-size:.9rem}.form-error{color:var(--red-bright);border-radius:var(--radius);background:#ff50501f;border:1px solid #ff505066;padding:10px 14px;font-size:.9rem}.form-toggle{text-align:center;color:var(--text-dim);font-size:.9rem}.form-toggle button,.form-toggle a{color:var(--blue-bright);cursor:pointer;background:0 0;border:none;font-weight:600}.admin-menu{flex-direction:column;gap:12px;display:flex}.admin-menu a{display:block}.stat-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=480px){.stat-grid{grid-template-columns:repeat(3,1fr)}}.stat-card{border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--border);text-align:center;flex-direction:column;align-items:center;gap:4px;padding:18px 10px;display:flex}.stat-card-value{color:var(--yellow-bright);font-family:Barlow Condensed,sans-serif;font-size:1.8rem;font-weight:800}.stat-card-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);font-size:.75rem}.vendor-qr-image{border-radius:var(--radius);background:#fff;width:200px;height:200px;margin:0 auto 12px;padding:10px}.vendor-qr-print{border-radius:var(--radius);width:100%;max-width:320px;height:auto;margin:0 auto 12px}.vendor-edit-logo-preview{object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);width:96px;height:96px;margin-bottom:8px}.print-sign{display:none}@media print{body *{visibility:hidden}.print-sign,.print-sign *{visibility:visible}.print-sign{color:#000;text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:48px;display:flex;position:fixed;inset:0}.print-sign-logo{width:180px;height:auto}.print-sign-name{text-transform:uppercase;color:#000;font-family:Barlow Condensed,sans-serif;font-size:2.6rem;font-weight:800}.print-sign-qr{width:320px;height:320px}.print-sign-caption{text-transform:uppercase;letter-spacing:.04em;color:#000;font-family:Barlow Condensed,sans-serif;font-size:1.6rem;font-weight:700}.print-sign-event{color:#333;font-size:1rem}}.dashboard-logo{object-fit:contain;width:64px;height:64px;margin:0 auto}.quest-count{text-transform:uppercase;letter-spacing:.03em;font-family:Barlow Condensed,sans-serif;font-size:1.15rem;font-weight:800}.progress-bar{background:#ffffff12;border:1px solid #fff3;border-radius:999px;width:100%;max-width:360px;height:12px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--yellow), var(--yellow-bright));border-radius:999px;height:100%;transition:width .5s;box-shadow:0 0 10px #f5c51880}.badge-card-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=480px){.badge-card-grid{grid-template-columns:repeat(3,1fr)}}.badge-card{border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--border);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:16px 10px;display:flex}.badge-card.earned{cursor:pointer}.badge-card.locked{cursor:default}.badge-card-icon{background:radial-gradient(circle at 30% 30%, var(--card2), var(--bg3));border:2px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.5rem;display:flex;overflow:hidden}.badge-card-logo{object-fit:cover;width:100%;height:100%}.badge-card-label{text-transform:uppercase;letter-spacing:.02em;font-family:Barlow Condensed,sans-serif;font-size:.8rem;font-weight:700}.badge-card-sublabel{color:var(--text-faint);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.badge-card-status{text-transform:uppercase;letter-spacing:.03em;color:var(--yellow-bright);font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:700}.badge-card.earned{border-color:var(--yellow);box-shadow:0 0 14px #f5c51840}.badge-card.earned .badge-card-icon{border-color:var(--yellow);box-shadow:0 0 10px #f5c51866}.badge-card.locked .badge-card-icon{filter:grayscale();opacity:.5}.badge-card.locked .badge-card-label{color:var(--text-faint)}.badge-detail-icon{background:radial-gradient(circle at 30% 30%, var(--card2), var(--bg3));border:3px solid var(--yellow);border-radius:50%;justify-content:center;align-items:center;width:110px;height:110px;margin:0 auto;font-size:3rem;display:flex;overflow:hidden;box-shadow:0 0 20px #f5c51859}.badge-detail-logo{object-fit:cover;width:100%;height:100%}.quest-badge-tag{text-transform:uppercase;letter-spacing:.05em;margin-top:-8px;font-family:Barlow Condensed,sans-serif;font-size:.95rem;font-weight:700}.scan-viewport{aspect-ratio:1;border-radius:var(--radius-lg);background:#ffffff0f;border:1px solid #fff3;width:100%;max-width:360px;margin:0 auto;position:relative;overflow:hidden}.scan-video{object-fit:cover;width:100%;height:100%}.scan-frame{border:3px solid var(--yellow);border-radius:var(--radius);pointer-events:none;position:absolute;inset:15%;overflow:hidden;box-shadow:0 0 0 9999px #06081066}.scan-frame:before{content:"";background:linear-gradient(90deg, transparent, var(--yellow-bright), transparent);height:2px;animation:2.2s ease-in-out infinite scan-line;position:absolute;top:0;left:0;right:0;box-shadow:0 0 8px #ffd700cc}@keyframes scan-line{0%{top:0%}50%{top:100%}to{top:0%}}.scan-status{text-align:center;color:var(--text);background:#06081099;padding:6px 0;font-size:.85rem;position:absolute;bottom:12px;left:0;right:0}.scan-canvas{display:none}@media (prefers-reduced-motion:reduce){.scan-frame:before{animation:none!important}}.confetti{pointer-events:none;z-index:50;position:fixed;inset:0;overflow:hidden}.confetti-piece{opacity:0;width:8px;height:14px;animation:2.6s ease-in forwards confetti-fall;position:absolute;top:-10px}.confetti-piece:nth-child(6n+1){background:var(--yellow);animation-delay:0s;left:6%;transform:rotate(8deg)}.confetti-piece:nth-child(6n+2){background:var(--blue);animation-delay:.12s;left:18%;transform:rotate(-14deg)}.confetti-piece:nth-child(6n+3){background:var(--yellow-bright);animation-delay:60ms;left:32%;transform:rotate(22deg)}.confetti-piece:nth-child(6n+4){background:var(--blue-bright);animation-delay:.2s;left:48%;transform:rotate(-6deg)}.confetti-piece:nth-child(6n+5){background:var(--yellow);animation-delay:.16s;left:64%;transform:rotate(16deg)}.confetti-piece:nth-child(6n+6){background:var(--blue);animation-delay:40ms;left:80%;transform:rotate(-20deg)}.confetti-piece:nth-child(4){animation-delay:.24s;left:92%}.confetti-piece:nth-child(9){animation-delay:.32s;left:12%}.confetti-piece:nth-child(14){animation-delay:.38s;left:56%}.confetti-piece:nth-child(19){animation-delay:.28s;left:74%}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(110vh)rotate(360deg)}}.badge-earned-icon{animation:.5s both badge-earned-pop}@keyframes badge-earned-pop{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.confetti-piece,.badge-earned-icon{animation:none!important}.confetti{display:none}}.badge-unlock-overlay{z-index:60;text-align:center;cursor:pointer;background:radial-gradient(circle at 50% 40%,#14182cf5,#04050afa);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:24px;animation:.3s both badge-unlock-scrim-in;display:flex;position:fixed;inset:0}.badge-unlock-overlay.is-closing{animation:.4s both badge-unlock-scrim-out}@keyframes badge-unlock-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes badge-unlock-scrim-out{0%{opacity:1}to{opacity:0}}.badge-unlock-flash{pointer-events:none;position:absolute;inset:0}.badge-unlock-flash-in{background:radial-gradient(circle at 50% 45%,#ffffff80,#fff0 55%);animation:.5s ease-out both badge-unlock-flash-fade}.badge-unlock-flash-unlock{animation:badge-unlock-flash-fade .6s ease-out var(--unlock-delay) both;background:radial-gradient(circle at 50% 45%,#fffffff2,#fff0 55%)}@keyframes badge-unlock-flash-fade{0%{opacity:1}to{opacity:0}}.badge-unlock-rays{pointer-events:none;background:conic-gradient(#f5c51847 0deg 10deg,#0000 10deg 30deg);border-radius:50%;width:640px;max-width:140vw;height:640px;max-height:140vw;animation:12s linear infinite badge-unlock-spin;position:absolute}@keyframes badge-unlock-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.badge-unlock-burst{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.badge-unlock-burst-piece{opacity:0;animation:.9s cubic-bezier(.2,.7,.4,1) both badge-unlock-burst-fly;position:absolute}.badge-unlock-star-piece{opacity:0;color:var(--yellow-bright);text-shadow:0 0 8px #ffd700cc;animation:1.1s cubic-bezier(.2,.7,.4,1) both badge-unlock-star-fly;position:absolute}@keyframes badge-unlock-burst-fly{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}to{transform:translate(var(--tx), var(--ty)) rotate(var(--spin)) scale(.3);opacity:0}}@keyframes badge-unlock-star-fly{0%{opacity:0;transform:translate(0)rotate(0)scale(.4)}15%{opacity:1;transform:translate(0)rotate(0)scale(1.15)}to{transform:translate(var(--tx), var(--ty)) rotate(var(--spin)) scale(.4);opacity:0}}.badge-unlock-slot{justify-content:center;align-items:center;width:180px;height:180px;margin-bottom:8px;display:flex;position:relative}.badge-unlock-lock{pointer-events:none;justify-content:center;align-items:center;font-size:4.5rem;line-height:1;display:flex;position:absolute;inset:0}.badge-unlock-lock-closed{opacity:0;animation:badge-unlock-lock-in .35s ease both, badge-unlock-lock-rattle .5s ease-in-out .4s 2, badge-unlock-lock-hide .15s ease calc(var(--unlock-delay) - .15s) both}.badge-unlock-lock-open{opacity:0;animation:badge-unlock-lock-click .3s cubic-bezier(.34, 1.56, .64, 1) var(--unlock-delay) both, badge-unlock-lock-away .4s ease calc(var(--unlock-delay) + .25s) both}@keyframes badge-unlock-lock-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes badge-unlock-lock-rattle{0%,to{transform:translate(0)rotate(0)}20%{transform:translate(-6px)rotate(-6deg)}40%{transform:translate(6px)rotate(6deg)}60%{transform:translate(-4px)rotate(-4deg)}80%{transform:translate(4px)rotate(4deg)}}@keyframes badge-unlock-lock-hide{0%{opacity:1}to{opacity:0}}@keyframes badge-unlock-lock-click{0%{opacity:0;transform:scale(.6)rotate(-15deg)}60%{opacity:1;transform:scale(1.25)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes badge-unlock-lock-away{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-40px)scale(.6)}}.badge-unlock-badge{background:radial-gradient(circle at 30% 30%, var(--card2), var(--bg3));border:4px solid var(--yellow);width:180px;height:180px;animation:badge-unlock-pop .8s cubic-bezier(.34, 1.56, .64, 1) var(--unlock-delay) both, badge-unlock-glow 1.4s ease-in-out calc(var(--unlock-delay) + .8s) infinite;border-radius:50%;justify-content:center;align-items:center;font-size:5rem;display:flex;position:relative;overflow:hidden}.badge-unlock-badge img{object-fit:cover;width:100%;height:100%}@keyframes badge-unlock-pop{0%{opacity:0;transform:scale(0)rotateY(180deg)rotate(-20deg)}55%{opacity:1;transform:scale(1.18)rotateY(0)rotate(8deg)}75%{transform:scale(.94)rotate(-3deg)}90%{transform:scale(1.04)rotate(1deg)}to{transform:scale(1)rotate(0)}}@keyframes badge-unlock-glow{0%,to{box-shadow:0 0 20px #f5c51880}50%{box-shadow:0 0 48px #f5c518f2}}.badge-unlock-label{text-transform:uppercase;letter-spacing:.04em;background:linear-gradient(90deg, var(--yellow), var(--yellow-bright), var(--yellow));color:#0000;animation:badge-unlock-text-in .4s ease calc(var(--unlock-delay) + .55s) both, badge-unlock-shake .4s ease calc(var(--unlock-delay) + .95s), badge-unlock-shimmer 1.8s linear calc(var(--unlock-delay) + 1.4s) infinite;background-size:200%;-webkit-background-clip:text;background-clip:text;font-family:Barlow Condensed,sans-serif;font-size:2.1rem;font-weight:800}.badge-unlock-name{color:var(--text);animation:badge-unlock-text-in .5s ease calc(var(--unlock-delay) + .65s) both;font-size:1.1rem}.badge-unlock-hint{color:var(--text-faint);animation:badge-unlock-text-in .5s ease calc(var(--unlock-delay) + 1.1s) both;margin-top:16px;font-size:.8rem}@keyframes badge-unlock-text-in{0%{opacity:0;transform:translateY(10px)scale(.85)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes badge-unlock-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)rotate(-1deg)}50%{transform:translate(4px)rotate(1deg)}75%{transform:translate(-2px)}}@keyframes badge-unlock-shimmer{0%{background-position:200%}to{background-position:-200%}}@media (prefers-reduced-motion:reduce){.badge-unlock-overlay,.badge-unlock-overlay.is-closing,.badge-unlock-flash,.badge-unlock-rays,.badge-unlock-burst-piece,.badge-unlock-star-piece,.badge-unlock-lock-closed,.badge-unlock-lock-open,.badge-unlock-badge,.badge-unlock-label,.badge-unlock-name,.badge-unlock-hint{animation:none!important}.badge-unlock-burst-piece,.badge-unlock-star-piece,.badge-unlock-lock{display:none}}.champion-page{isolation:isolate;position:relative}.champion-rays{z-index:0;pointer-events:none;background:conic-gradient(#f5c5184d 0deg 10deg,#0000 10deg 30deg);border-radius:50%;width:720px;max-width:160vw;height:720px;max-height:160vw;animation:14s linear infinite champion-spin;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes champion-spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.champion-rain{z-index:5;pointer-events:none;position:fixed;inset:0;overflow:hidden}.champion-rain-piece{opacity:0;animation:linear both champion-rain-fall;position:absolute;top:-20px}@keyframes champion-rain-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:.9;transform:translateY(105vh)rotate(540deg)}}.champion-headline{z-index:1;text-transform:uppercase;letter-spacing:.04em;background:linear-gradient(90deg, var(--yellow), var(--yellow-bright), var(--yellow));color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;font-family:Barlow Condensed,sans-serif;font-size:2.6rem;font-weight:800;animation:.5s cubic-bezier(.34,1.56,.64,1) both champion-title-in,1.8s linear .6s infinite champion-shimmer;position:relative}@keyframes champion-title-in{0%{opacity:0;transform:scale(.6)translateY(-16px)}60%{opacity:1;transform:scale(1.1)translateY(2px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes champion-shimmer{0%{background-position:200%}to{background-position:-200%}}.champion-trophy-slot{z-index:1;justify-content:center;align-items:center;width:160px;height:160px;margin:8px auto 0;display:flex;position:relative}.champion-trophy-glow{pointer-events:none;background:radial-gradient(circle,#f5c5188c,#0000 70%);border-radius:50%;animation:1.6s ease-in-out infinite champion-glow-pulse;position:absolute;inset:-20px}@keyframes champion-glow-pulse{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.champion-burst{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.champion-burst-piece{opacity:0;border-radius:2px;width:11px;height:11px;animation:1.1s cubic-bezier(.2,.7,.4,1) both champion-burst-fly;position:absolute}.champion-star-piece{opacity:0;color:var(--yellow-bright);text-shadow:0 0 10px #ffd700d9;font-size:20px;animation:1.3s cubic-bezier(.2,.7,.4,1) both champion-star-fly;position:absolute}@keyframes champion-burst-fly{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}to{transform:translate(var(--tx), var(--ty)) rotate(var(--spin)) scale(.3);opacity:0}}@keyframes champion-star-fly{0%{opacity:0;transform:translate(0)rotate(0)scale(.4)}15%{opacity:1;transform:translate(0)rotate(0)scale(1.2)}to{transform:translate(var(--tx), var(--ty)) rotate(var(--spin)) scale(.4);opacity:0}}.champion-trophy{z-index:1;background:radial-gradient(circle at 30% 30%, var(--card2), var(--bg3));border:4px solid var(--yellow);border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;font-size:4.2rem;animation:.9s cubic-bezier(.34,1.56,.64,1) both champion-trophy-in,2.4s ease-in-out .9s infinite champion-trophy-bob;display:flex;position:relative}@keyframes champion-trophy-in{0%{opacity:0;transform:scale(0)rotate(-30deg)}50%{opacity:1;transform:scale(1.3)rotate(12deg)}70%{transform:scale(.9)rotate(-6deg)}85%{transform:scale(1.08)rotate(3deg)}to{transform:scale(1)rotate(0)}}@keyframes champion-trophy-bob{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-8px)rotate(3deg)}}.champion-badge-tag{z-index:1;animation:.4s .9s both champion-tag-in;position:relative}@keyframes champion-tag-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.champion-rays,.champion-rain-piece,.champion-headline,.champion-trophy-glow,.champion-trophy,.champion-badge-tag,.champion-burst-piece,.champion-star-piece{animation:none!important}.champion-rain,.champion-burst-piece,.champion-star-piece,.champion-trophy-glow{display:none}}.filter-row{flex-wrap:wrap;gap:8px;display:flex}.filter-btn{color:var(--text);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;background:#ffffff0a;border:1.5px solid #ffffff47;border-radius:999px;padding:14px 16px;font-family:Barlow Condensed,sans-serif;font-size:.85rem;font-weight:700}.filter-btn.active{border-color:var(--yellow);color:var(--yellow-bright);background:#f5c51826}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.85rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.data-table th{text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:700}.data-table tbody tr:hover{background:#ffffff08}.data-table .yes{color:var(--yellow-bright);font-weight:700}.data-table .no{color:var(--text-faint)}.search-input{border-radius:var(--radius);width:100%;color:var(--text);background:#ffffff0f;border:1.5px solid #ffffff38;padding:12px 14px;font-family:inherit}.search-input::placeholder{color:var(--text-faint)}.search-input:focus{border-color:var(--blue-bright);background:#ffffff17;outline:none}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{color:var(--yellow-bright)}.sort-arrow{opacity:.6;margin-left:4px;display:inline-block}.host-row-actions{flex-wrap:nowrap;gap:6px;display:flex}.devtools-attendee-list{flex-direction:column;gap:8px;max-height:260px;margin-top:12px;display:flex;overflow-y:auto}.devtools-attendee-detail{border-top:1px solid var(--border);gap:6px;margin-top:16px;padding-top:16px;font-size:.9rem;display:grid}.devtools-attendee-detail strong{color:var(--text-dim);font-weight:600}.devtools-button-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.devtools-button-grid .btn{width:100%}.devtools-link{opacity:.7;align-self:center;padding:8px 16px;font-size:.8rem}.devtools-preview-row{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.devtools-mode-label{text-transform:uppercase;letter-spacing:.05em;margin-top:-8px;font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:700}
