:root{--bg:#0b0d2b;--panel:#161a4a;--board:#0a1ad6;--gold:#fc3;--text:#f4f4ff;--muted:#9aa0d0;--good:#23c45e;--bad:#e5383b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,sans-serif}button{font:inherit;color:inherit;background:var(--panel);cursor:pointer;touch-action:manipulation;border:0;border-radius:12px;padding:.7em 1.1em}button:disabled{opacity:.4;cursor:default}button.link{text-align:left;background:0 0;padding:.2em;text-decoration:underline}.center{text-align:center;place-items:center;height:100%;padding:16px;display:grid}.muted{color:var(--muted)}.error{color:#ff8a8a}.play{min-height:100%;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.join h1{text-align:center;font-size:1.6rem}.join label{gap:6px;font-weight:600;display:grid}.join input{font:inherit;border:2px solid var(--panel);color:#111;-webkit-user-select:text;user-select:text;background:#fff;border-radius:12px;padding:.7em;font-size:1.2rem}.team-picker{gap:10px;display:grid}.team-picker button{text-align:left;font-size:1.2rem;display:grid}.team-picker small{opacity:.85;font-size:.85rem}.buzzer{background:linear-gradient(180deg, color-mix(in srgb, var(--team) 35%, var(--bg)), var(--bg));flex-direction:column;gap:16px;height:100%;display:flex}.buzzer header{justify-content:space-between;font-size:1.1rem;font-weight:700;display:flex}.buzzer .score{background:var(--team);border-radius:999px;padding:0 .7em}.buzz-button{width:100%;color:var(--muted);background:#2a2e5c;border-radius:32px;flex:1;font-size:2.2rem;font-weight:800}.buzz-button:disabled{opacity:1}.buzz-button.armed{color:#fff;background:radial-gradient(circle at 50% 40%,#ff5a5f,#c1121f);animation:1s ease-in-out infinite pulse;box-shadow:0 0 0 6px #ff5a5f59}.buzz-button.armed:active{transform:scale(.97)}.buzz-button.won{background:var(--team);color:#fff}.buzzer>.link{color:var(--muted);align-self:center}@keyframes pulse{50%{box-shadow:0 0 0 16px #ff5a5f26}}.host{max-width:900px;margin:0 auto;padding:12px 16px 40px}.host section{margin:16px 0}.tabs{background:var(--bg);z-index:1;gap:6px;padding:8px 0;display:flex;position:sticky;top:0}.tabs button{flex:1;padding:.6em .3em}.tabs .active{background:var(--gold);color:#111;font-weight:700}.offline{color:var(--bad);align-self:center}.row{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.row button{flex:1}.good{background:var(--good)}.bad{background:var(--bad)}.primary{background:var(--board)}.big{font-size:1.3rem;font-weight:600}.answer{color:var(--gold);font-size:1.2rem}.buzz-status{background:var(--panel);text-align:center;border-radius:12px;padding:14px;font-size:1.3rem;font-weight:700}.host-board{gap:4px;display:grid}.host-board .cat{text-align:center;overflow-wrap:anywhere;align-self:end;font-size:.75rem;font-weight:700}.host-board button{background:var(--board);color:var(--gold);padding:.9em 0;font-weight:800}.host-board .used,.song-list .used{opacity:.3}.song-list{padding-left:1.4em}.song-list li{margin:6px 0}.teams h2{margin-bottom:8px}.team-row{border-left:6px solid;grid-template-columns:1fr auto auto auto;grid-template-areas:"name minus score plus""players players players players";align-items:center;gap:6px;margin-bottom:8px;padding:6px 0 6px 10px;display:grid}.team-row>.link{font-weight:700;text-decoration:none}.team-row .players{flex-wrap:wrap;grid-area:players;gap:4px;display:flex}.team-row .score{text-align:center;min-width:3em;font-size:1.2rem}.chip{border-radius:999px;padding:.2em .6em;font-size:.85rem}.tv{background:radial-gradient(ellipse at top, #1b2170, var(--bg) 70%);flex-direction:column;height:100%;font-size:1.6vw;display:flex;overflow:hidden}.tv main{flex:1;min-height:0;padding:2vw;display:grid}.tv h1{margin:0}.tv.start{text-align:center;justify-content:center;align-items:center;gap:2vw}.tv.start h1{font-size:4vw}.tv.start button{background:var(--gold);color:#111;padding:1vw 3vw;font-size:2vw;font-weight:800}.tv-status{background:var(--bad);border-radius:.6vw;padding:.5vw 1vw;position:fixed;top:1vw;right:1vw}.lobby{grid-template-columns:1fr 1.4fr;align-items:center;gap:3vw;display:grid}.join-box{text-align:center}.join-box h1{margin-bottom:1.5vw;font-size:3vw}.join-box img{border-radius:1vw;width:22vw}.join-box p{font-size:1.6vw}.lobby-teams{gap:1vw;display:grid}.lobby-team{border-radius:1vw;padding:1vw 2vw}.lobby-team h2{margin:0;font-size:2vw}.lobby-team p{margin:.3vw 0 0;font-size:1.5vw}.board{grid-auto-rows:1fr;gap:.5vw;display:grid}.board .cat,.board .cell{background:var(--board);text-align:center;border-radius:.4vw;place-items:center;display:grid;box-shadow:inset 0 0 0 .2vw #00000059}.board .cat{text-transform:uppercase;padding:.5vw;font-size:1.5vw;font-weight:800}.board .cell{color:var(--gold);text-shadow:.15vw .15vw #000;font-size:3.2vw;font-weight:900}.board .cell.used{color:#0000;text-shadow:none;background:#0a0f5a}.question,.music{background:var(--board);text-align:center;border-radius:1vw;flex-direction:column;justify-content:center;align-items:center;gap:1.5vw;padding:3vw;display:flex}.q-meta{color:var(--gold);text-transform:uppercase;margin:0;font-size:1.8vw;font-weight:800}.q-text{text-wrap:balance;margin:0;font-size:3.6vw;font-weight:800;line-height:1.2}.question img{border-radius:.6vw;max-width:60%;max-height:30vh}.q-answer{color:var(--gold);margin:0;font-size:3vw;font-weight:800;animation:.4s ease-out pop}.open-hint{margin:0;font-size:1.8vw;animation:1s infinite blink}.equalizer{align-items:flex-end;gap:1vw;height:18vw;display:flex}.equalizer span{background:var(--gold);border-radius:.5vw;width:3vw;height:20%}.equalizer.playing span{animation:.9s ease-in-out infinite alternate eq}.timer{font-variant-numeric:tabular-nums;margin:0;font-size:6vw;font-weight:900}.reveal{text-align:left;align-items:center;gap:3vw;animation:.4s ease-out pop;display:flex}.reveal img{border-radius:1vw;width:25vw;box-shadow:0 1vw 3vw #00000080}.artist{color:var(--gold);margin:.5vw 0 0;font-size:2.6vw}.score-strip{gap:.5vw;padding:0 2vw 1.5vw;display:flex}.score-strip div{border-radius:.6vw;flex:1;justify-content:space-between;align-items:baseline;padding:.6vw 1.2vw;font-weight:700;display:flex}.score-strip strong{font-size:2.2vw}.score-strip .locked{opacity:.35}.scores{flex-direction:column;justify-content:center;gap:1.2vw;padding:0 4vw;display:flex}.scores h1{text-align:center;font-size:3.5vw}.score-row{grid-template-columns:4vw 1fr 8vw;align-items:center;font-size:2.4vw;font-weight:800;display:grid}.score-row .bar{white-space:nowrap;border-radius:.6vw;min-width:max-content;padding:.8vw 1.2vw;transition:width .8s}.score-row strong{text-align:right}.buzz-banner{border-radius:2vw;flex-direction:column;justify-content:center;align-items:center;padding:2vw;animation:.35s cubic-bezier(.2,1.6,.4,1) slam;display:flex;position:fixed;top:auto;bottom:14vh;left:12vw;right:12vw;box-shadow:0 2vw 6vw #0009}.buzz-banner h1{font-size:5vw}.buzz-banner p{margin:.5vw 0 1.5vw;font-size:2.6vw}.buzz-banner small{opacity:.85;font-size:1.4vw}@keyframes eq{0%{height:15%}to{height:100%}}@keyframes pop{0%{opacity:0;transform:scale(.85)}}@keyframes slam{0%{opacity:0;transform:scale(1.6)}}@keyframes blink{50%{opacity:.4}}
