:root{--bg:#f4f6f9;--surface:#fff;--surface-2:#eef1f5;--text:#111827;--muted:#4b5563;--border:#d4d9e1;--accent:#1d4ed8;--accent-text:#fff;--success:#15803d;--danger:#b91c1c;--warn:#8a5a00;--focus:#f59e0b;--radius:14px;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000f;color-scheme:light dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b0f16;--surface:#141a23;--surface-2:#1c2430;--text:#e9eef6;--muted:#a3adbb;--border:#2a3441;--accent:#3b82f6;--accent-text:#fff;--success:#22a55a;--danger:#ef4444;--warn:#f0b429}}:root[data-theme=dark]{--bg:#0b0f16;--surface:#141a23;--surface-2:#1c2430;--text:#e9eef6;--muted:#a3adbb;--border:#2a3441;--accent:#3b82f6;--accent-text:#fff;--success:#22a55a;--danger:#ef4444;--warn:#f0b429}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);min-height:100dvh;margin:0;line-height:1.45}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}p{margin:0 0 .75rem}a{color:var(--accent)}.page{max-width:1100px;margin:0 auto;padding:16px}.stack>*+*{margin-top:12px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.grow{flex:auto}.muted{color:var(--muted)}.small{font-size:.875rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.pre{white-space:pre-wrap;overflow-wrap:anywhere}button,.button{font:inherit;border:1px solid var(--border);background:var(--surface-2);min-width:44px;min-height:44px;color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}button:disabled{opacity:.45;cursor:not-allowed}button.primary,.button.primary{background:var(--accent);color:var(--accent-text);border-color:#0000}button.success{background:var(--success);color:#fff;border-color:#0000}button.danger{background:var(--danger);color:#fff;border-color:#0000}button.ghost{background:0 0}button.big,.button.big{min-height:64px;padding:12px 24px;font-size:1.25rem}label{font-weight:600;display:block}input,select,textarea{font:inherit;border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--text);border-radius:10px;padding:10px 12px}textarea{resize:vertical;min-height:120px}input[type=radio],input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:var(--accent)}fieldset{border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:12px}legend{padding:0 6px;font-weight:700}.field+.field{margin-top:10px}.error{color:var(--danger);font-weight:600}.auth-card{max-width:440px}.auth-card .hint{margin:4px 0 0}.auth-card h2:focus{outline:none}.auth-card h2:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.auth-card [aria-busy=true],.auth-card[aria-busy=true]{cursor:progress}input[aria-invalid=true]{border-color:var(--danger);border-width:2px}.notice{border-left:4px solid var(--warn);background:var(--surface-2);border-radius:8px;padding:10px 12px}.issue{color:var(--danger)}.badge{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.team-chip{border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-weight:700;display:inline-flex}.team-chip,.team-fill{background:var(--team-accent,#475569);color:var(--team-accent-text,#fff)}.health{font-size:.85rem;font-weight:700}.health[data-health=live]{color:var(--success)}.health[data-health=reconnecting],.health[data-health=fallback]{color:var(--warn)}.health[data-health=offline]{color:var(--danger)}.player{flex-direction:column;gap:12px;max-width:720px;min-height:100dvh;margin:0 auto;padding:12px;display:flex}.player>:last-child{background:var(--bg);margin-top:auto;padding-bottom:8px;position:sticky;bottom:0}.player .conn{text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:8px;font-weight:700}.question-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.question-card .prompt{font-size:1.15rem}.options{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.options li{background:var(--surface-2);border-radius:10px;gap:10px;padding:8px 10px;display:flex}.options li .label{min-width:1.5em;font-weight:800}.options li.correct{outline:3px solid var(--success)}.buzzer{width:100%;color:var(--text);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer;background:0 0;border:0;border-radius:24px;flex-direction:column;align-items:center;gap:6px;min-height:0;padding:4px 0 0;display:flex}.buzzer:disabled{cursor:default;opacity:1}.buzz-label{text-align:center;justify-content:center;align-items:center;min-height:2.4em;padding:0 12px 4px;font-size:clamp(1.25rem,5.5vw,2rem);font-weight:900;line-height:1.15;display:flex}.buzzer[data-kind=ready] .buzz-label{letter-spacing:.08em}.buzzer[data-kind=locked_out] .buzz-label{color:var(--danger)}.buzzer[data-kind=you_won] .buzz-label,.buzzer[data-kind=team_won] .buzz-label{text-decoration:underline;text-decoration-color:var(--team-accent,currentColor);text-underline-offset:6px;text-decoration-thickness:4px}.bz-stage{width:min(94vw, 400px, calc(26.6dvh * var(--bz-aspect,1.364)));display:grid;position:relative}.bz-stage>*{grid-area:1/1;min-width:0}.bz-visual{width:100%;aspect-ratio:var(--bz-aspect,1.364);pointer-events:none;display:block;position:relative}@media (orientation:landscape) and (height<=500px){.bz-stage{width:min(46vw, 300px, calc(38.6dvh * var(--bz-aspect,1.364)))}}.player .buzz-area{isolation:isolate}.player .win-glow{z-index:-1;pointer-events:none;margin:0;position:absolute;inset:-10px -10px 0}.player .win-glow>svg{width:100%;height:100%;position:absolute;inset:0}.player>header{position:relative}.prefs>summary{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:1.25rem;list-style:none;display:inline-flex}.prefs>summary::-webkit-details-marker{display:none}.prefs-panel{z-index:20;width:min(300px,100vw - 24px);position:absolute;top:calc(100% + 6px);right:0}.prefs-panel p{margin:0}#glow-rate button{flex:1 1 0;min-height:44px}#press-illumination-field .row{flex-wrap:nowrap}#press-illumination{flex:1 1 0;width:auto;min-width:44px;min-height:44px}#press-illumination-value{text-align:right;font-variant-numeric:tabular-nums;min-width:3.5em}#glow-rate button[aria-checked=true]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.timer{font-variant-numeric:tabular-nums;font-weight:800}.teams-pick{gap:8px;display:grid}.teams-pick button{justify-content:flex-start;min-height:56px;font-size:1.1rem}.projector{color:#f2f5fa;background:#070a10;grid-template-columns:1fr 320px;gap:24px;min-height:100dvh;padding:28px;display:grid}.projector .main{flex-direction:column;gap:20px;min-width:0;display:flex}.projector h1{font-size:clamp(1.6rem,2.4vw,2.6rem)}.projector .prompt{font-size:clamp(1.8rem,3.4vw,3.6rem);font-weight:700;line-height:1.25}.projector .options li{background:#151c28;padding:14px 18px;font-size:clamp(1.2rem,2vw,2rem)}.projector .scores{flex-direction:column;gap:10px;display:flex}.projector .score-row{background:#121925;border-radius:14px;justify-content:space-between;align-items:center;padding:14px 16px;font-size:1.4rem;font-weight:800;display:flex}.projector .score-row .value{font-variant-numeric:tabular-nums}.projector .banner{text-align:center;border-radius:18px;padding:18px 24px;font-size:clamp(1.6rem,3vw,3rem);font-weight:900}.projector .banner.open{background:#1d4ed8}.projector .banner.won{background:#15803d}.projector .banner.wrong{background:#7f1d1d}.projector .banner.paused{background:#8a5a00}.projector .board{gap:10px;display:grid}.projector .board .cat{color:#fff;text-align:center;background:#1d4ed8;border-radius:10px;padding:12px 8px;font-size:clamp(.9rem,1.4vw,1.4rem);font-weight:800}.projector .board .tile{color:#fbbf24;text-align:center;background:#152033;border-radius:10px;padding:14px 6px;font-size:clamp(1.2rem,2.4vw,2.6rem);font-weight:900}.projector .board .tile.used{color:#0000;background:#0d1320}.projector .code{letter-spacing:.12em;font-variant-numeric:tabular-nums;font-size:clamp(3rem,7vw,7rem);font-weight:900}.projector .qr svg{width:100%;height:auto;display:block}.projector .reveal{background:#0f2a1b;border:2px solid #22a55a;border-radius:16px;padding:16px 20px;font-size:clamp(1.2rem,2vw,2rem)}.projector .timer{font-size:clamp(2rem,4vw,4rem)}.projector .roster{columns:2;font-size:1.1rem}@media (width<=900px){.projector{grid-template-columns:1fr}}.projector{padding-bottom:calc(28px + min(18vh,190px))}.projector .brand{letter-spacing:.18em;text-transform:uppercase;color:#93c5fd;font-size:clamp(1rem,1.6vw,1.6rem);font-weight:900}.projector .join-line{margin:0;font-size:clamp(1.6rem,2.6vw,2.6rem);font-weight:800}.projector .join-host{color:#cbd5e1;margin:0;font-size:clamp(1.1rem,1.8vw,1.8rem)}.projector .qr{background:#fff;border-radius:12px;width:min(42vh,380px);padding:0}.projector .round-bar{color:#93c5fd;letter-spacing:.02em;font-size:clamp(1.1rem,1.8vw,1.9rem);font-weight:800}.projector .round-intro{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:70vh;display:flex}.projector .round-intro.small{min-height:0;padding:12px 0}.projector .round-intro .kicker{letter-spacing:.3em;text-transform:uppercase;color:#93c5fd;font-size:clamp(1.6rem,3vw,3.2rem);font-weight:800}.projector .round-intro .title{text-transform:uppercase;overflow-wrap:anywhere;font-size:clamp(3rem,8vw,8.5rem);font-weight:900;line-height:1.05}.projector .round-intro.small .title{font-size:clamp(2.2rem,5vw,5rem)}.projector .round-intro.ultimate .kicker{color:#fbbf24}.projector .round-intro.ultimate .title{color:#fde68a;text-shadow:0 0 40px #fbbf2459}.projector .prompt{max-width:38ch;margin:0}.projector .prompt .line{display:block}.projector .prompt .line.enter{animation:.38s ease-out both line-in}@keyframes line-in{0%{opacity:0;transform:translateY(.25em)}to{opacity:1;transform:none}}.projector .stem-more{color:#94a3b8;margin:0;font-size:clamp(1.1rem,1.8vw,1.8rem)}.projector .banner .sub{margin-top:4px;font-size:clamp(1rem,1.6vw,1.4rem);font-weight:600}.projector .last-outcome{margin:0;font-size:clamp(1.1rem,1.8vw,1.8rem)}.projector .badge.ok{color:#fff;background:#15803d;border-color:#0000;margin-left:auto}.projector .explanation{margin:8px 0 0;font-size:clamp(1rem,1.6vw,1.6rem);font-weight:400}.projector .standings{gap:12px;width:min(100%,980px);margin:0 auto;padding:0;list-style:none;display:grid}.projector .standings .score-row{gap:18px;font-size:clamp(1.4rem,2.6vw,2.6rem)}.projector .standings .score-row.first{outline:3px solid #fbbf24}.projector .standings .place{min-width:5.5em}.projector .standings .team-chip{margin-right:auto}.projector .score-row.active{outline:3px solid #fbbf24}.corner-qr{z-index:5;color:#000;background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:6px;width:min(18vh,190px);padding:8px;display:flex;position:fixed;bottom:16px;left:16px}.corner-qr .qr-small,.corner-qr .qr-small svg{width:100%;height:auto;display:block}.corner-qr .qr-code{letter-spacing:.12em;font-variant-numeric:tabular-nums;font-size:clamp(.9rem,1.6vh,1.2rem);font-weight:900}.projector-tools{z-index:6;gap:8px;display:flex;position:fixed;bottom:10px;right:10px}.projector-tools .tool{color:#94a3b8;background:0 0;border:1px solid #1e293b;border-radius:10px;align-items:center;min-height:44px;padding:6px 10px;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex}.projector-tools .tool:hover,.projector-tools .tool:focus-visible{color:#e2e8f0;border-color:#475569}@media (aspect-ratio<=4/3){.projector .prompt{max-width:none}}.host-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}@media (width<=960px){.host-grid{grid-template-columns:1fr}}.host-board{gap:8px;display:grid}.host-board .cat{text-align:center;padding:6px;font-size:.9rem;font-weight:800}.host-board button.tile{min-height:56px;font-size:1.1rem}.controls{gap:10px;display:grid}.controls .judge{grid-template-columns:1fr 1fr;gap:24px;display:grid}.controls .danger-zone{border-top:1px dashed var(--border);margin-top:18px;padding-top:12px}.secret{color:#3b2600;background:#fff7e6;border:1px dashed #b45309;border-radius:10px;padding:10px}:root[data-theme=dark] .secret{color:#ffe8b8;background:#2a1f0a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .secret{color:#ffe8b8;background:#2a1f0a}}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px}.dot{background:var(--muted);border-radius:50%;width:10px;height:10px;display:inline-block}.dot.on{background:var(--success)}dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);width:calc(100% - 32px);max-width:520px}dialog::backdrop{background:#00000080}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.steps{flex-wrap:wrap;gap:8px;display:flex}.checklist{gap:6px;margin:0;padding:0;list-style:none;display:grid}.checklist li{align-items:baseline;gap:8px;display:flex}.checklist li.ok>span:first-child{color:var(--success);font-weight:900}.checklist li.todo>span:first-child{color:var(--warn);font-weight:900}.round-row{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.preset-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 16px;display:grid}.host-board.preview .tile-preview{text-align:center;background:var(--surface-2);border-radius:8px;padding:10px 4px;font-weight:800}.reveal-preview{margin:0;padding-left:1.4em}.badge.ok{color:var(--success)}.badge.warn{color:var(--warn)}.host-qr{background:#fff;border-radius:10px;width:180px}.host-qr svg{width:100%;height:auto;display:block}.host-stem{font-size:1.15rem;line-height:1.5}.host-stem [data-line]{color:var(--muted)}.host-stem [data-line].shown{color:var(--text);font-weight:600}.eligibility{flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none;display:flex}.round-card h2{margin:0}[data-offline=true] [data-mutates]{opacity:.45;pointer-events:none}.question-card .watch{margin:0;font-size:1.1rem;font-weight:700}.teams-pick button[aria-pressed=true]{outline:3px solid var(--focus)}
