:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Fira Sans,Arial,sans-serif}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}body{min-height:100vh;margin:0}:root{--bg:#f0f5f7;--fg:#1e3d54;--muted:color-mix(in oklab, var(--fg) 60%, var(--bg));--accent:#009eeb;--good:#37d7af;--bad:#fd674c;--warn:#ffc000;--warn-bg:#fff6d9;--surface:#fff;--border:#dde7eb;--on-accent:#fff}body{background:var(--bg);color:var(--fg)}button{font:inherit;color:inherit}.page--join{justify-content:center;align-items:center;padding:24px;display:flex}.join{width:100%;max-width:22rem}.join__title{text-align:center;margin:0 0 1.5rem;font-size:2rem}.join__form{flex-direction:column;gap:1rem;display:flex}.field{flex-direction:column;gap:.35rem;display:flex}.field__label{color:var(--muted);font-size:.85rem}.field__input{border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:.6rem;padding:.75rem .9rem;font-size:1.25rem}.field__input--code{letter-spacing:.3em;text-align:center}.button{cursor:pointer;border:none;border-radius:.6rem;padding:.9rem;font-size:1.1rem}.button--primary{background:var(--accent);color:var(--on-accent)}.error{min-height:1.2em;color:var(--bad);margin:0;font-size:.95rem}.page--play{flex-direction:column;min-height:100vh;display:flex}.dot{background:var(--muted);border-radius:50%;width:10px;height:10px;position:fixed;top:10px;right:10px}.dot--green{background:var(--good)}.dot--red{background:var(--bad)}.play{flex-direction:column;flex:1;gap:1rem;padding:20px;display:flex}.cover{text-align:center;flex:1;justify-content:center;align-items:center;display:flex}.cover__text{color:var(--muted);font-size:1.2rem}.question{flex-direction:column;flex:1;gap:1rem;display:flex}.question__image{object-fit:cover;border-radius:.6rem;width:100%;max-height:40vh}.question__text{text-align:center;margin:0;font-size:1.4rem}.timer{font-variant-numeric:tabular-nums;color:var(--muted);align-self:center;min-height:1.5em;font-size:1.5rem}.timer.is-alert{color:var(--bad)}.answers{flex-direction:column;gap:.75rem;display:flex}.answer{text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:.6rem;padding:1rem;font-size:1.1rem;position:relative;overflow:hidden}.answer:disabled{cursor:default;opacity:.55}.answer:disabled.is-selected,.answer:disabled.is-correct,.answer:disabled.is-wrong{opacity:1}.answer__text{z-index:1;position:relative}.answer .bar{background:var(--border);z-index:0;width:0;transition:width .3s;position:absolute;inset:0 auto 0 0}.answer.is-selected{border-color:var(--accent)}.answer.is-selected:not(.is-correct):not(.is-wrong) .bar{background:color-mix(in srgb, var(--accent) 35%, transparent)}.answer.is-correct{border-color:var(--good)}.answer.is-correct .bar{background:color-mix(in srgb, var(--good) 35%, transparent)}.answer.is-wrong{border-color:var(--bad)}.answer.is-wrong .bar{background:color-mix(in srgb, var(--bad) 35%, transparent)}.footer{text-align:center;color:var(--muted);padding:.75rem;font-size:.95rem}.result{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;display:flex}.result__title{margin:0 0 .5rem}.result__rank{margin:0;font-size:2rem}.result__score{color:var(--muted);margin:0 0 1rem}.board{flex-direction:column;gap:.4rem;width:100%;max-width:20rem;margin:0;padding:0;list-style:none;display:flex}.board li{background:var(--surface);border:1px solid var(--border);border-radius:.5rem;padding:.6rem .9rem}.page--board{flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}.page--board.hide-players .board-side,.page--board.hide-questions #question{display:none}.lobby{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}.lobby__qr{aspect-ratio:1;background:#fff;border-radius:.75rem;width:min(38vh,22rem);overflow:hidden}.lobby__qr svg{width:100%;height:100%;display:block}.board-late-join{align-items:center;gap:1rem;margin-top:auto;display:flex}.board-late-join[hidden]{display:none}.board-late-join__qr{aspect-ratio:1;background:#fff;border-radius:.5rem;flex:none;width:clamp(6rem,14vh,10rem);overflow:hidden}.board-late-join__qr svg{width:100%;height:100%;display:block}.board-late-join__text{color:var(--muted);margin:0;font-size:clamp(1rem,1.4vw,1.4rem);line-height:1.4}.board-late-join__text b{color:var(--fg);letter-spacing:.1em;font-size:1.4em}.lobby__hint{color:var(--muted);text-transform:uppercase;letter-spacing:.15em;margin:0;font-size:clamp(1.25rem,2vw,2rem)}.lobby__url{color:var(--accent);margin:0;font-size:clamp(1.5rem,3vw,3rem)}.lobby__code{letter-spacing:.2em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(4rem,16vw,14rem);font-weight:700}.board-layout{flex:1;gap:2rem;min-height:0;padding:2rem;display:flex}.board-question{flex-direction:column;flex:3;gap:1.25rem;min-width:0;display:flex}.board-question__top{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;font-size:clamp(1.25rem,2vw,2rem);display:flex}.board-timer.is-alert{color:var(--bad)}.board-progress{background:var(--surface);border-radius:999px;height:.5rem;overflow:hidden}.board-progress__bar{background:var(--accent);height:100%;transition:width .3s}.board-question__image{object-fit:cover;border-radius:.75rem;width:100%;max-height:32vh}.board-question__text{text-align:center;margin:0;font-size:clamp(2rem,4vw,4rem);line-height:1.2}.board-calculating{text-align:center;color:var(--muted);margin:0;font-size:clamp(1.5rem,3vw,3rem)}.board-answers{flex:1;grid-template-columns:repeat(2,1fr);align-content:center;gap:1rem;margin:0;padding:0;list-style:none;display:grid}.board-answer{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;font-size:clamp(1.25rem,2.2vw,2.25rem);display:flex;position:relative;overflow:hidden}.board-answer__text{z-index:1;position:relative}.board-answer__bar{background:var(--border);z-index:0;width:0;transition:width .5s;position:absolute;inset:0 auto 0 0}.board-answer__pct{z-index:1;font-variant-numeric:tabular-nums;position:relative}.board-answer.is-correct{border-color:var(--good)}.board-answer.is-correct .board-answer__bar{background:color-mix(in srgb, var(--good) 40%, transparent)}.board-side{flex-direction:column;flex:2;gap:1rem;min-width:0;display:flex}.board-players-count{text-align:center;color:var(--muted);margin:0;font-size:clamp(1rem,1.5vw,1.5rem)}.board-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.board-row{background:var(--surface);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:.6rem;align-items:center;gap:1rem;padding:.6rem 1rem;font-size:clamp(1.25rem,2vw,2rem);display:flex}.board-row__rank{color:var(--muted);min-width:2ch}.board-row__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}@keyframes board-flash-good{0%{background:color-mix(in srgb, var(--good) 55%, var(--surface))}to{background:var(--surface)}}@keyframes board-flash-bad{0%{background:color-mix(in srgb, var(--bad) 55%, var(--surface))}to{background:var(--surface)}}.board-row.scored{animation:1.6s ease-out board-flash-good}.board-row.missed{animation:1.6s ease-out board-flash-bad}@keyframes board-victory-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}50%{box-shadow:0 0 0 .5rem color-mix(in srgb, var(--accent) 0%, transparent)}}.board-row.is-victorious{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--surface));animation:2s ease-in-out infinite board-victory-pulse}.no-transition .board-row.scored,.no-transition .board-row.missed,.no-transition .board-row.is-victorious{animation:none}.no-transition .board-row.is-victorious{background:color-mix(in srgb, var(--accent) 18%, var(--surface))}.button--danger{background:var(--bad);color:var(--on-accent)}.page--admin,.page--admin-session{max-width:40rem;margin:0 auto;padding:1.5rem}.admin-title{margin:0 0 1.25rem;font-size:1.5rem}.admin-signin{flex-direction:column;align-items:flex-start;gap:1rem;padding-top:3rem;display:flex}.admin-panel{margin-top:1.5rem}.admin-panel__title{margin:0 0 .75rem;font-size:1.1rem}.admin-seconds{max-width:16rem;margin-bottom:1.25rem}.admin-seconds .field__input{padding:.5rem .7rem;font-size:1rem}.admin-empty,.admin-note{color:var(--muted);margin:0 0 1rem}.admin-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.admin-list__item{background:var(--surface);border:1px solid var(--border);border-radius:.6rem;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.admin-list__label{flex:1}.admin-session__header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.admin-session__counts{color:var(--muted);margin:0}.admin-state{border:1px solid var(--border);background:var(--surface);border-left-width:.4rem;border-radius:.6rem;margin-bottom:1.25rem;padding:1rem 1.25rem}.admin-state__status{margin:0 0 .4rem;font-size:1.1rem;font-weight:600}.admin-state__current{color:var(--fg);margin:0}.admin-state__timer{font-variant-numeric:tabular-nums;color:var(--muted);margin:.4rem 0 0}.admin-state[data-phase=asking]{border-left-color:var(--accent)}.admin-state[data-phase=calculating]{border-left-color:var(--muted)}.admin-state[data-phase=closed]{border-left-color:var(--good)}.admin-state[data-phase=asking] .admin-state__timer{color:var(--accent);font-size:1.2rem}.admin-controls{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;display:flex}.admin-next{flex-direction:column;align-items:flex-start;gap:.4rem;display:flex}.admin-upcoming{color:var(--muted);max-width:32rem;margin:0}.links{flex-wrap:wrap;gap:.4rem 1.25rem;margin:0 0 1rem;display:flex}.links a{color:var(--accent)}.admin-list__item .links{margin:0}.join__game{text-align:center;margin:0;font-weight:600}.spinner,.admin-state[data-phase=calculating] .admin-state__status:before{vertical-align:-.1em;border:.14em solid;border-right-color:#0000;border-radius:50%;width:.9em;height:.9em;margin-right:.5em;animation:.8s linear infinite spin;display:inline-block}.admin-state[data-phase=calculating] .admin-state__status:before{content:""}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner,.admin-state[data-phase=calculating] .admin-state__status:before{animation:none}}.no-transition .spinner{animation:none}
