:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0c10;--bg-elev:#14161d;--bg-elev-2:#1c1f29;--border:#262a36;--border-strong:#39405266;--text:#f4f5f8;--text-muted:#98a0b3;--focus:#8ea2ff;--good:#3ddc97;--bad:#ff6b6b;--opt-a:#f0a132;--opt-b:#35c9e0;--opt-c:#a98bfa;--opt-d:#fb7194;--radius:16px;--radius-sm:10px;--radius-pill:999px;--space-1:.375rem;--space-2:.625rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.25rem;--space-6:3.5rem;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, "Cascadia Mono", Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font);background-image:radial-gradient(120% 60% at 50% -10%,#1b2033 0%,#0000 60%);background-repeat:no-repeat;margin:0;font-size:1rem;line-height:1.55}h1,h2,h3,p,ol,ul{margin:0}ol,ul{padding:0;list-style:none}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{width:min(100% - 2rem,68rem);padding-block:var(--space-5) var(--space-6);gap:var(--space-4);flex-direction:column;margin-inline:auto;display:flex}.shell-centred{justify-content:center;width:min(100% - 2rem,27rem);min-height:100dvh}.masthead{gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.masthead-tight{text-align:start;gap:var(--space-1)}.wordmark{letter-spacing:-.03em;font-size:clamp(2.25rem,7vw,3rem);font-weight:700}.page-title{letter-spacing:-.02em;font-size:1.75rem;font-weight:650}.lede,.hint,.muted,.aside{color:var(--text-muted)}.hint{font-size:.875rem}.aside{text-align:center;font-size:.9375rem}.back{font-size:.9375rem}.stack{gap:var(--space-4);flex-direction:column;display:flex}.stack-tight{gap:var(--space-2);flex-direction:column;display:flex}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4)}.card-title{letter-spacing:-.01em;font-size:1.0625rem;font-weight:650}.notice{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:.9375rem}.notice-warn{background:#241d0c;border-color:#6b551f}.notice>summary{cursor:pointer;font-weight:600}.notice-list{gap:var(--space-1);margin-top:var(--space-2);color:var(--text-muted);list-style:revert;flex-direction:column;padding-inline-start:1.25rem;display:flex}.readout{font-size:1.0625rem}.field{gap:var(--space-1);flex-direction:column;display:flex}.field>label,.checkbox-row{font-size:.9375rem;font-weight:600}.select{padding:var(--space-2) var(--space-3);color:var(--text);background:var(--bg-elev-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit;cursor:pointer;flex:none;font-size:.9375rem}.select:hover:not(:disabled){border-color:var(--focus)}.input{width:100%;font:inherit;color:var(--text);background:var(--bg-elev-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.75rem .875rem}.input::placeholder{color:#5d6474}.input:hover{border-color:#4a5163}.input-code{font-family:var(--font-mono);letter-spacing:.35em;text-align:center;text-transform:uppercase;padding-inline-start:calc(.875rem + .35em);font-size:1.75rem;font-weight:600}.input-narrow{width:7rem}.checkbox-row{align-items:center;gap:var(--space-2);cursor:pointer;font-weight:500;display:flex}.checkbox{width:1.125rem;height:1.125rem;accent-color:var(--focus)}.field-error{color:var(--bad);min-height:0;font-size:.9375rem}.field-error:empty{display:none}.link{color:var(--text);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.link:hover{text-decoration-color:currentColor}.link-button{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-button:disabled{cursor:default;opacity:.6}.signed-in{color:var(--text-muted);margin:0;font-size:.875rem}.auth-divider{align-items:center;gap:var(--space-3);color:var(--text-muted);text-transform:lowercase;margin:0;font-size:.8125rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.button{--button-bg:transparent;--button-fg:var(--text);justify-content:center;align-items:center;gap:var(--space-2);min-height:2.875rem;font:inherit;color:var(--button-fg);background:var(--button-bg);border:1px solid var(--border-strong);border-radius:var(--radius-pill);cursor:pointer;padding:.625rem 1.125rem;font-weight:600;transition:background-color .12s,border-color .12s,transform .12s;display:inline-flex}.button:hover:not(:disabled){background:#ffffff0a;border-color:#566080}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.45;cursor:not-allowed}.button-primary{--button-bg:var(--text);--button-fg:#0b0c10;border-color:#0000}.button-primary:hover:not(:disabled){background:#fff;border-color:#0000}.button-large{min-height:3.375rem;padding-inline:1.75rem;font-size:1.0625rem}.stack>.button-quiet{align-self:start}.button.is-armed{--button-fg:var(--bad);border-color:var(--bad)}.button-quiet.is-on{background:#ffffff14;border-color:#566080}.button-icon{width:2.25rem;min-height:2.25rem;color:var(--text-muted);padding:0;font-size:1.25rem;line-height:1}.button-icon:hover{color:var(--bad)}.dropzone{align-items:center;gap:var(--space-1);padding:var(--space-5) var(--space-3);text-align:center;border:1.5px dashed var(--border-strong);border-radius:var(--radius);cursor:pointer;background:#ffffff05;flex-direction:column;transition:border-color .12s,background-color .12s;display:flex}.dropzone:hover,.dropzone.is-over,.dropzone:focus-within{border-color:var(--focus);background:#8ea2ff14}.dropzone-title{font-size:1.0625rem;font-weight:650}.row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex}.row-main{flex-direction:column;flex:1;min-width:0;display:flex}.row-title{overflow-wrap:anywhere;align-items:center;gap:var(--space-2);font-weight:600;display:flex}.badge{border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;flex:none;padding:.1em .5em;font-size:.6875rem;font-weight:500}.badge-code{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text)}.tabs{gap:var(--space-1);border-bottom:1px solid var(--border);display:flex}.tab{padding:var(--space-2) var(--space-3);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;font-size:.9375rem}.tab:hover{color:var(--text)}.tab[aria-selected=true]{border-bottom-color:var(--focus);color:var(--text);font-weight:600}.row-main .muted{font-size:.875rem}.room{align-items:start;gap:var(--space-4);grid-template-columns:minmax(0,1fr) 17rem;grid-template-areas:"bar bar""stage board";display:grid}.room-bar{align-items:baseline;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border);grid-area:bar;display:flex}.room-title{letter-spacing:-.01em;overflow-wrap:anywhere;font-weight:650}.room-progress{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-inline-start:auto;font-size:.9375rem}.room-status{color:#f0c05a;font-size:.8125rem;display:none}.room-status.is-visible{display:inline}.stage{grid-area:stage}.stage-inner{gap:var(--space-4);flex-direction:column;display:flex}.stage-heading{letter-spacing:-.02em;font-size:clamp(1.5rem,4vw,2rem);font-weight:650}.stage-heading:focus{outline:none}.waiting{color:var(--text-muted);font-size:1.0625rem}.code-panel{align-items:center;gap:var(--space-1);padding:var(--space-5) var(--space-4);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;display:flex}.code-label{text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);font-size:.8125rem}.code-url{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:clamp(1rem,3vw,1.375rem)}.code-value{font-family:var(--font-mono);letter-spacing:.12em;margin-block:var(--space-1) var(--space-3);padding-inline-start:.12em;font-size:clamp(3.5rem,16vw,6.5rem);font-weight:700;line-height:1.05}.roster{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{background:var(--bg-elev-2);border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:.3125rem .75rem;font-size:.9375rem;font-weight:550}.chip.is-away{opacity:.45}.timer{align-items:center;gap:var(--space-3);display:flex}.timer-bar{background:var(--bg-elev-2);border-radius:var(--radius-pill);flex:1;height:.5rem;overflow:hidden}.timer-fill{background:linear-gradient(90deg, var(--good), #d9d264);height:100%;transform:scaleX(var(--progress,1));transform-origin:0;display:block}.timer:has(.is-urgent) .timer-fill{background:var(--bad)}.timer-numeral{font-variant-numeric:tabular-nums;text-align:end;min-width:2ch;font-size:1.5rem;font-weight:700}.timer-numeral.is-urgent{color:var(--bad);animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.55}}.question-card{gap:var(--space-4);flex-direction:column;display:flex}.question-text{letter-spacing:-.025em;text-wrap:balance;font-size:clamp(1.5rem,4.2vw,2.5rem);font-weight:650;line-height:1.2}.question-text:focus{outline:none}.options{gap:var(--space-2);display:grid}@media (width>=48rem){.options{grid-template-columns:1fr 1fr}}.option{--option-hue:var(--border-strong);align-items:center;gap:var(--space-3);width:100%;min-height:4rem;padding:var(--space-2) var(--space-3);font:inherit;text-align:start;color:var(--text);background:var(--bg-elev);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:1.0625rem;font-weight:550;transition:border-color .14s,background-color .14s,transform .14s;display:flex}.option-a{--option-hue:var(--opt-a)}.option-b{--option-hue:var(--opt-b)}.option-c{--option-hue:var(--opt-c)}.option-d{--option-hue:var(--opt-d)}.option:hover:not(:disabled){border-color:var(--option-hue);transform:translateY(-1px)}.option:disabled{cursor:default}.option-letter{border-radius:var(--radius-sm);background:color-mix(in oklab, var(--option-hue) 20%, transparent);width:2.25rem;height:2.25rem;color:var(--option-hue);flex:none;place-items:center;font-size:1rem;font-weight:700;display:grid}.option-text{overflow-wrap:anywhere;flex:1}.option-mark{flex:none;font-size:1.25rem;font-weight:700;line-height:1}.option.is-picked{border-color:var(--option-hue);background:color-mix(in oklab, var(--option-hue) 18%, var(--bg-elev));box-shadow:inset 0 0 0 1.5px var(--option-hue)}.option.is-picked .option-letter{background:var(--option-hue);color:#0b0c10}.option.is-correct{border-color:var(--good);background:color-mix(in oklab, var(--good) 16%, var(--bg-elev));box-shadow:inset 0 0 0 1.5px var(--good)}.option.is-correct .option-mark:after{content:"✓";color:var(--good)}.option.is-wrong{border-color:var(--bad);background:color-mix(in oklab, var(--bad) 14%, var(--bg-elev));box-shadow:inset 0 0 0 1.5px var(--bad)}.option.is-wrong .option-mark:after{content:"✕";color:var(--bad)}.tally{color:var(--text-muted);font-variant-numeric:tabular-nums}.tally:empty{display:none}.verdict{font-size:1.25rem;font-weight:650}.verdict:empty{display:none}.verdict.is-correct{color:var(--good)}.verdict.is-wrong{color:var(--bad)}.explanation{padding:var(--space-3);background:var(--bg-elev);border:1px solid var(--border);border-inline-start:3px solid var(--focus);border-radius:var(--radius-sm);color:#d7dbe6}.controls{gap:var(--space-2);flex-wrap:wrap;display:flex}.controls:empty{display:none}.scoreboard{top:var(--space-3);gap:var(--space-2);padding:var(--space-3);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;grid-area:board;display:flex;position:sticky}.scoreboard-title{text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);font-size:.8125rem}.scoreboard-list{flex-direction:column;gap:2px;display:flex}.score-row{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);border-inline-start:3px solid #0000;grid-template-columns:1.5rem minmax(0,1fr) auto auto;padding:.4375rem .5rem;font-size:.9375rem;display:grid}.score-row.is-me{background:#ffffff0d;font-weight:650}.score-row.is-away{opacity:.5}.score-row.is-correct{border-inline-start-color:var(--good)}.score-row.is-wrong{border-inline-start-color:var(--bad)}.score-rank{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.8125rem}.score-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.score-flag{color:var(--text-muted);font-size:.75rem}.score-value{font-variant-numeric:tabular-nums;font-weight:700}.podium{gap:var(--space-2);flex-direction:column;display:flex}.podium-place{align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:2.5rem minmax(0,1fr) auto;display:grid}.podium-1{background:linear-gradient(100deg, #241d0c, var(--bg-elev) 60%);border-color:#8a6f2a}.podium-2{border-color:#4c5361}.podium-rank{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700}.podium-1 .podium-rank{color:#e5b95c}.podium-name{overflow-wrap:anywhere;font-size:1.25rem;font-weight:650}.podium-score{color:var(--text-muted);font-variant-numeric:tabular-nums}.review{gap:var(--space-2);flex-direction:column;display:flex}.review-item{padding:var(--space-3);background:var(--bg-elev);border:1px solid var(--border);border-inline-start:3px solid var(--border-strong);border-radius:var(--radius-sm)}.review-item.is-correct{border-inline-start-color:var(--good)}.review-item.is-wrong{border-inline-start-color:var(--bad)}.review-question{overflow-wrap:anywhere;font-weight:600}.review-answer,.review-note{color:var(--text-muted);margin-block-start:var(--space-1);font-size:.9375rem}@media (width<=56rem){.room{grid-template-columns:minmax(0,1fr);grid-template-areas:"bar""stage""board"}.scoreboard{position:static}}@media (width<=30rem){.shell{padding-block:var(--space-4) var(--space-5)}.room-bar{gap:var(--space-1) var(--space-3);flex-wrap:wrap}.room-progress{margin-inline-start:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.timer-numeral.is-urgent{opacity:1;animation:none}.option:hover:not(:disabled){transform:none}}::view-transition-old(root){animation-duration:.22s}::view-transition-new(root){animation-duration:.22s}
