@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color:#f5f7ff;font-synthesis:none;text-rendering:optimizelegibility;--ink:#f5f7ff;--muted:#9ca8c1;--soft:#687493;--deep:#080b22;--panel:#080e27c9;--line:#9caad533;--cyan:#60e7ff;--pink:#ff5dba;--lime:#b9ff8c;--mono:"DM Mono", "SFMono-Regular", monospace;background:#080b22;font-family:PingFang SC,Noto Sans SC,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--deep);min-width:320px;overflow-x:hidden}button{font:inherit}button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.loading-screen{min-height:100vh;color:var(--muted);letter-spacing:.08em;background:radial-gradient(circle,#1d1850,#080b22 65%);align-content:center;place-items:center;gap:20px;display:grid}.loader-orbit{border:1px solid #60e7ff4d;border-top-color:var(--cyan);border-right-color:var(--pink);border-radius:50%;width:46px;height:46px;animation:1s linear infinite spin}.brand{color:var(--ink);letter-spacing:.08em;align-items:center;gap:11px;font:700 16px/1 Space Grotesk,PingFang SC,sans-serif;display:inline-flex}.brand-mark{border:1px solid var(--cyan);width:33px;height:26px;color:var(--cyan);font:600 13px/1 var(--mono);place-items:center;display:grid;transform:skew(-12deg);box-shadow:3px 3px #ff5dbab3}.brand-compact{gap:9px;font-size:13px}.brand-compact .brand-mark{width:29px;height:23px;font-size:11px}.eyebrow{color:var(--soft);font:500 10px/1.3 var(--mono);letter-spacing:.18em;text-transform:uppercase}.eyebrow.cyan{color:var(--cyan)}.connection-badge{color:var(--soft);font:500 10px var(--mono);letter-spacing:.08em;white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.connection-badge i{background:#f0b34a;border-radius:50%;width:6px;height:6px;box-shadow:0 0 9px #f0b34a}.connection-badge.is-live{color:var(--cyan)}.connection-badge.is-live i{background:var(--cyan);box-shadow:0 0 10px var(--cyan)}.stage-page{isolation:isolate;background:#090b25;min-height:100vh;position:relative;overflow:hidden}.stage-backdrop,.stage-vignette{pointer-events:none;position:absolute;inset:0}.stage-backdrop{z-index:-3;background-image:linear-gradient(90deg, #040617f2 0%, #080a22ad 38%, #0507193b 100%), var(--stage-image);filter:saturate(1.08);background-position:50%;background-size:cover;animation:.8s both scene-fade;transform:scale(1.02)}.stage-page.is-background-only .stage-backdrop{background-image:var(--stage-image);filter:none;transform:scale(1)}.stage-page.is-background-only .stage-vignette,.stage-page.is-background-only:after{display:none}.stage-vignette{z-index:-2;background:radial-gradient(circle at 62% 37%,#0000 0,#06071a1f 35%,#030512c7 100%),linear-gradient(#0305148c,#0000 27% 74%,#040412cc)}.stage-page:after{content:"";z-index:-1;pointer-events:none;opacity:.14;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 85%);mask-image:linear-gradient(90deg,#000,#0000 85%)}.stage-header,.stage-footer{z-index:2;justify-content:space-between;align-items:center;padding:26px 4.2vw;display:flex;position:relative}.stage-meta{align-items:center;gap:28px;display:flex}.stage-content{z-index:1;grid-template-columns:minmax(260px,.82fr) minmax(440px,1.2fr) 180px;align-items:end;gap:clamp(24px,4vw,68px);min-height:calc(100vh - 136px);padding:4vh 4.2vw 10vh;display:grid;position:relative}.stage-intro{align-self:center;max-width:360px;padding-bottom:13vh}.stage-intro h1{letter-spacing:-.08em;text-wrap:balance;text-shadow:0 0 34px #60e7ff29;margin:17px 0 15px;font-size:clamp(42px,5.8vw,89px);font-weight:700;line-height:.98}.stage-intro p{color:#c4cce0;max-width:290px;margin:0;font-size:clamp(15px,1.4vw,19px);line-height:1.7}.stage-status{color:var(--cyan);font:500 11px var(--mono);background:#0513288c;border:1px solid #60e7ff40;align-items:center;gap:9px;margin-top:34px;padding:9px 12px;display:inline-flex}.stage-status.is-intro{color:#dce4ff;border-color:#ffffff3b}.stage-status.is-frozen{color:#ff92d0;border-color:#ff5dba73}.status-dot{background:currentColor;border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px}.leaderboard-panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(135deg,#091536eb,#090b25b5);border:1px solid #86b0ff40;align-self:center;width:100%;padding:25px 27px 16px;box-shadow:0 20px 70px #00000047,inset 0 1px #ffffff14}.panel-heading,.admin-panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.panel-heading h2,.admin-panel-heading h2{letter-spacing:-.04em;margin:9px 0 0;font-size:21px}.panel-heading>strong{color:var(--cyan);font:500 27px var(--mono)}.panel-heading>strong small{color:var(--soft);font-size:10px}.ranking-list{margin-top:19px}.ranking-row{border-top:1px solid #86b0ff24;grid-template-columns:28px 43px 1fr 63px;align-items:center;gap:11px;min-height:76px;animation:.6s both rise-in;display:grid}.ranking-row:nth-child(2){animation-delay:80ms}.ranking-row:nth-child(3){animation-delay:.16s}.ranking-row:nth-child(4){animation-delay:.24s}.rank-number,.admin-rank{color:var(--soft);font:500 11px var(--mono)}.rank-winner{color:var(--pink)}.candidate-glyph{border:1px solid color-mix(in srgb, var(--glyph-color) 58%, transparent);width:40px;height:40px;color:var(--glyph-color);font:500 12px var(--mono);box-shadow:0 0 20px color-mix(in srgb, var(--glyph-color) 18%, transparent);place-items:center;display:grid}.rank-copy{min-width:0}.rank-copy strong,.rank-copy span{display:block}.rank-copy strong{font-size:16px}.rank-copy span{color:var(--soft);margin-top:3px;font-size:11px}.rank-track{background:#a1b0da24;height:3px;margin-top:10px}.rank-track i{height:100%;transition:width .6s;display:block;box-shadow:0 0 11px}.rank-score{text-align:right}.rank-score strong,.rank-score span{display:block}.rank-score strong{font:500 24px var(--mono)}.rank-score span{color:var(--soft);font:11px var(--mono);margin-top:4px}.panel-footer{color:var(--soft);font:10px var(--mono);letter-spacing:.08em;justify-content:space-between;margin-top:12px;display:flex}.qr-card{color:#10132c;background:#f7f8fff5;border:1px solid #ffffff4d;flex-direction:column;align-self:end;align-items:center;gap:9px;padding:16px 14px 15px;display:flex;transform:rotate(2deg);box-shadow:9px 9px #ff5dba8c}.qr-label{font:500 10px var(--mono);letter-spacing:.08em;align-self:stretch;align-items:center;gap:7px;display:flex}.qr-corner{border:2px solid var(--pink);width:8px;height:8px}.qr-image{width:142px;height:142px;image-rendering:pixelated}.qr-placeholder{color:#fff;width:142px;height:142px;font:24px var(--mono);background:#10132c;place-items:center;display:grid}.qr-card>strong{font-size:17px}.qr-card>span{color:#5d627b;font-size:11px}.qr-url{color:#8a8fa4;max-width:150px;font:9px var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stage-footer{color:#b2bedea3;font:10px var(--mono);letter-spacing:.15em;border-top:1px solid #9daee02b;padding-top:13px;padding-bottom:16px;position:absolute;inset:auto 0 0}.audience-page{background:radial-gradient(circle at 80% 4%,#632caf73,#0000 34%),radial-gradient(circle at 0 75%,#12688d33,#0000 34%),#090c25;min-height:100vh;padding:24px max(20px,5vw) 22px;position:relative;overflow:hidden}.audience-page:before{content:"";pointer-events:none;opacity:.2;background:linear-gradient(135deg,#0000 40%,#60e7ff2b 40.1%,#0000 40.3%),linear-gradient(45deg,#0000 64%,#ff5dba1a 64.1%,#0000 64.3%);position:absolute;inset:0}.audience-glow{border:1px solid #60e7ff33;border-radius:50%;width:300px;height:300px;position:absolute;top:-110px;right:-120px;box-shadow:0 0 0 25px #60e7ff08,0 0 0 60px #60e7ff06}.mobile-header{z-index:1;justify-content:space-between;align-items:center;max-width:460px;margin:0 auto;display:flex;position:relative}.audience-card{z-index:1;max-width:460px;margin:65px auto 0;position:relative}.mobile-kicker{color:var(--muted);font:11px var(--mono);letter-spacing:.12em;align-items:center;gap:12px;display:flex}.audience-card h1{letter-spacing:-.1em;margin:24px 0 17px;font-size:clamp(43px,12vw,62px);line-height:1.03}.audience-card h1 em{color:var(--cyan);text-shadow:0 0 22px #60e7ff5c;font-style:normal}.audience-question{color:var(--muted);margin:0 0 27px;font-size:15px;line-height:1.7}.candidate-options{gap:10px;display:grid}.candidate-option{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#10173a9e;border:1px solid #96a9e330;align-items:center;gap:14px;padding:14px 15px;transition:border-color .2s,background .2s,transform .2s;display:flex;position:relative}.candidate-option:hover{border-color:#60e7ff9e;transform:translate(3px)}.candidate-option.is-selected{border-color:var(--cyan);box-shadow:inset 4px 0 var(--cyan), 0 0 25px #60e7ff1a;background:#1e3856ad}.candidate-option:disabled{cursor:default;opacity:.74}.candidate-option span:not(.candidate-glyph){flex-direction:column;flex:1;gap:4px;display:flex}.candidate-option small{color:var(--soft);font-size:11px}.radio-mark{border:1px solid #7683a5;border-radius:50%;width:16px;height:16px}.is-selected .radio-mark{border:4px solid var(--cyan);box-shadow:0 0 10px #60e7ff99}.primary-button{background:var(--cyan);color:#071223;letter-spacing:.12em;cursor:pointer;width:100%;box-shadow:4px 4px 0 var(--pink);border:0;margin-top:23px;padding:16px;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s}.primary-button:hover:not(:disabled){box-shadow:2px 2px 0 var(--pink);transform:translate(2px,2px)}.primary-button:disabled{cursor:not-allowed;opacity:.42;box-shadow:none}.audience-phase-card{background:#0d1634b3;border:1px solid #9caad53b;align-items:center;gap:11px;margin:0 0 16px;padding:14px 15px;display:flex}.audience-phase-card .status-dot{color:var(--cyan);background:var(--cyan);flex:0 0 7px}.audience-phase-card.is-result{border-color:#ff5dba59}.audience-phase-card.is-result .status-dot{color:var(--pink);background:var(--pink)}.audience-phase-card strong,.audience-phase-card small{display:block}.audience-phase-card strong{font-size:13px}.audience-phase-card small{color:var(--soft);margin-left:auto;font-size:10px}.error-message,.success-message{margin:13px 0 0;font-size:12px;line-height:1.6}.error-message{color:#ff93c9}.success-message{color:var(--lime)}.mobile-footer{z-index:1;max-width:460px;color:var(--soft);font:10px var(--mono);letter-spacing:.08em;justify-content:space-between;margin:58px auto 0;display:flex;position:relative}.admin-page{background:radial-gradient(circle at 80% 0,#3223708f,#0000 35%),#090c25;min-height:100vh;padding:28px 4.5vw}.admin-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:27px;display:flex}.admin-header-right{align-items:center;gap:28px;display:flex}.admin-layout{grid-template-columns:minmax(0,1fr) 310px;gap:clamp(28px,5vw,80px);max-width:1260px;margin:0 auto;padding-top:56px;display:grid}.admin-title-row{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.admin-title-row h1{letter-spacing:-.09em;margin:13px 0 9px;font-size:clamp(34px,5vw,63px)}.admin-title-row p{color:var(--muted);margin:0;font-size:14px}.control-status{color:var(--cyan);font:11px var(--mono);white-space:nowrap;border:1px solid #60e7ff4d;align-items:center;gap:9px;padding:10px 13px;display:inline-flex}.control-status span{background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 10px}.control-status.is-frozen{color:#ff91ca;border-color:#ff5dba80}.chapter-switcher{grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:28px;display:grid}.chapter-switcher button{border:1px solid var(--line);min-height:52px;color:var(--muted);text-align:left;cursor:pointer;background:#0d1433a3;padding:9px 10px;font-size:11px;transition:border-color .2s,background .2s,color .2s}.chapter-switcher button span{color:var(--soft);font:10px var(--mono);margin-bottom:7px;display:block}.chapter-switcher button:hover{color:var(--ink);border-color:#60e7ff8c}.chapter-switcher button.is-current{border-color:var(--cyan);color:var(--cyan);box-shadow:inset 0 -2px var(--cyan);background:#1c364cb8}.chapter-switcher button.is-current span{color:var(--cyan)}.admin-flow-actions{justify-content:flex-end;gap:8px;min-height:43px;margin:20px 0 9px;display:flex}.admin-flow-actions button{border:1px solid var(--line);cursor:pointer;padding:11px 16px;font-size:12px}.admin-flow-actions button:disabled{cursor:wait;opacity:.5}.flow-primary{background:var(--cyan);color:#071223;font-weight:700;border-color:var(--cyan)!important}.flow-freeze{color:#ff94cb;background:0 0;border-color:#ff5dbaa6!important}.flow-secondary{color:var(--muted);background:0 0}.phase-chip{color:var(--cyan);font:10px var(--mono);border:1px solid #60e7ff47;padding:7px 9px}.metric-grid{grid-template-columns:repeat(3,1fr);gap:11px;margin:42px 0 18px;display:grid}.metric-card{border:1px solid var(--line);background:#0d1433bf;padding:17px 18px}.metric-card span,.metric-card small{color:var(--soft);font-size:11px;display:block}.metric-card strong{color:var(--cyan);font:500 31px var(--mono);margin:12px 0 4px;display:block}.metric-card small{font:10px var(--mono)}.admin-panel,.admin-side-panel{border:1px solid var(--line);background:#0b122dc7}.admin-panel{padding:25px 27px 8px}.admin-panel-heading h2{font-size:22px}.freeze-button,.reset-button{color:#ff94cb;cursor:pointer;background:0 0;border:1px solid #ff5dbaa6;padding:10px 13px;font-size:12px}.freeze-button.is-open{color:var(--lime);border-color:#b9ff8ca6}.freeze-button:disabled,.reset-button:disabled{cursor:wait;opacity:.5}.admin-candidate-list{margin-top:23px}.admin-candidate-row{border-top:1px solid #9caad521;grid-template-columns:28px 40px 1fr auto 72px;align-items:center;gap:13px;min-height:73px;display:grid}.admin-candidate-copy strong,.admin-candidate-copy span{display:block}.admin-candidate-copy span{color:var(--soft);margin-top:4px;font-size:11px}.admin-total{text-align:right;font:500 23px var(--mono)}.admin-total small{color:var(--soft);font:10px var(--mono);margin-top:3px;display:block}.adjust-actions{gap:5px;display:flex}.adjust-actions button{width:29px;height:29px;color:var(--ink);cursor:pointer;background:#18203f;border:1px solid #9caad54d;font-size:20px;line-height:1}.adjust-actions button:hover{border-color:var(--cyan);color:var(--cyan)}.admin-sidebar{flex-direction:column;gap:13px;display:flex}.admin-side-panel{min-height:420px;padding:23px 20px}.admin-side-panel h2{margin:10px 0 27px;font-size:21px}.log-list{gap:18px;display:grid}.log-item{gap:10px;display:flex}.log-dot{background:var(--pink);height:6px;box-shadow:0 0 8px var(--pink);border-radius:50%;flex:0 0 6px;margin-top:5px}.log-item strong,.log-item small{display:block}.log-item strong{color:#dfe6ff;font:11px var(--mono)}.log-item small{color:var(--soft);margin-top:5px;font-size:11px;line-height:1.4}.empty-state{color:var(--soft);font-size:12px}.reset-button{border-color:var(--line);width:100%;color:var(--muted)}.reset-button:hover{border-color:var(--cyan);color:var(--cyan)}.admin-tip{border-left:2px solid var(--cyan);color:var(--muted);background:#60e7ff0f;gap:9px;padding:14px;display:flex}.admin-tip span{color:var(--cyan)}.admin-tip p{margin:0;font-size:11px;line-height:1.65}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes scene-fade{0%{opacity:.25;transform:scale(1.05)}to{opacity:1;transform:scale(1.02)}}@media (width<=1000px){.stage-content{grid-template-columns:minmax(220px,.8fr) minmax(390px,1.2fr);gap:25px}.qr-card{transform-origin:100% 0;position:absolute;top:1vh;right:4.2vw;transform:scale(.76)rotate(2deg)}}@media (width<=760px){.stage-header{padding:20px}.stage-meta .eyebrow{display:none}.stage-content{min-height:auto;padding:36px 20px 90px;display:block}.stage-intro{padding-bottom:38px}.stage-intro h1{max-width:280px;font-size:48px}.leaderboard-panel{padding:20px 16px 13px}.qr-card{width:160px;margin:35px auto 0;position:relative;top:auto;right:auto;transform:rotate(2deg)}.stage-footer{gap:13px;padding:13px 20px;font-size:8px}.stage-footer span:first-child{max-width:220px;line-height:1.5}.stage-footer span:last-child{display:none}.admin-page{padding:20px}.admin-header-right .eyebrow{display:none}.admin-layout{padding-top:36px;display:block}.admin-sidebar{margin-top:18px}.admin-side-panel{min-height:auto}.chapter-switcher{grid-template-columns:repeat(5,minmax(100px,1fr));padding-bottom:5px;overflow-x:auto}.chapter-switcher button{min-width:100px}.admin-title-row{display:block}.control-status{margin-top:18px}.admin-flow-actions{justify-content:flex-start}.metric-grid{margin-top:30px}.metric-card{padding:14px}.metric-card strong{font-size:24px}.admin-panel{padding:20px 15px 7px}.admin-candidate-row{grid-template-columns:22px 36px 1fr auto;gap:9px}.adjust-actions{grid-column:3/5;justify-content:flex-end;margin:-13px 0 10px}.admin-total{font-size:20px}}@media (width<=430px){.audience-card{margin-top:52px}.audience-page{padding-inline:17px}.audience-card h1{font-size:45px}.mobile-footer{font-size:8px}.ranking-row{grid-template-columns:23px 38px 1fr 52px;gap:7px}.candidate-glyph{width:36px;height:36px}.rank-copy strong{font-size:14px}.rank-score strong{font-size:20px}}
