.stage-screen{gap:12px;min-width:0;display:grid}.stage-marquee{--bulb:12px;max-width:360px;padding:var(--bulb);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);box-shadow:var(--shadow);position:relative}.stage-marquee:before{content:"";border-radius:inherit;background:radial-gradient(circle, var(--hot,var(--accent)) 0 24%, transparent 30%) 0 0 / var(--bulb) var(--bulb) round;opacity:.3;transition:opacity .3s;position:absolute;inset:0}.stage-marquee.is-live:before{opacity:1;animation:.9s ease-in-out infinite alternate stage-bulbs}.stage-marquee>*{z-index:1;position:relative}@keyframes stage-bulbs{0%{opacity:.45}}.stage-cover{aspect-ratio:1;background:var(--surface-2);object-fit:contain;border-radius:8px;width:100%;display:block}.stage-cover.is-blank{color:var(--dim);place-items:center;font-size:1.5rem;display:grid}.stage-marquee .stage-cover{border-radius:calc(var(--radius) - var(--bulb))}.stage-marquee .stage-cover.is-blank{font-size:4rem}.stage-now-text{justify-items:start;gap:4px;min-width:0;display:grid}.stage-now-text .muted{overflow-wrap:anywhere}.stage-open{color:var(--text);text-underline-offset:3px;padding:4px 0;font-size:.9rem;font-weight:700}.stage-open:hover{color:var(--accent)}.stage-last{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;display:grid}.stage-gate{justify-items:start;gap:8px;display:grid}.stage-gate .btn{width:100%}.stage-fault{border:1px solid var(--danger);border-radius:var(--radius-sm);background:#ff5a5a14;padding:10px 14px}.stage-volume{align-items:center;gap:12px;display:flex}.stage-volume input{min-width:0;accent-color:var(--accent);flex:1 1 0}.stage-volume-value{min-width:3ch;color:var(--muted);text-align:right}.stage-title{overflow-wrap:anywhere;font-size:1.15rem;font-weight:700;line-height:1.3}.stage-lead{align-items:baseline;gap:12px;display:flex}.stage-lead-num{font:900 clamp(3rem, 9vw, 4.4rem) / 1 var(--font-display);color:var(--hot,var(--accent));transform-origin:0 100%;animation:stage-count .35s var(--ease-out);display:inline-block}@keyframes stage-count{0%{opacity:.3;transform:scale(1.3)}}.stage-progress{justify-self:stretch;gap:8px;display:grid}.stage-bar{background:var(--surface-2);border-radius:999px;height:12px;overflow:hidden}.stage-bar>span{background:var(--hot,var(--accent));transform-origin:0;height:100%;transition:transform .25s linear;display:block}.stage-scores{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.stage-score{align-items:center;gap:10px;display:flex}.stage-score-name{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;font-weight:700;overflow:hidden}.stage-score-points{font:500 1.2rem/1 var(--font-mono);font-variant-numeric:tabular-nums}.stage-score.is-lead .stage-score-points{color:var(--accent)}.stage-abort{color:var(--muted);justify-self:start}.stage-abort-confirm{border-color:var(--danger);gap:12px;display:grid}@media (width<=480px){.stage-marquee{--bulb:8px}}@media (prefers-reduced-motion:reduce){.stage-marquee.is-live:before,.stage-lead-num{animation:none}}.battle{--hot:var(--accent);grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px;display:grid}.battle.is-double{--hot:var(--double)}.battle-main{gap:18px;min-width:0;display:grid}.battle-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.battle-slot{flex-wrap:wrap;align-items:baseline;gap:6px 12px;display:flex}.battle-slot-num{font:900 clamp(3.4rem, 11vw, 5.2rem) / .82 var(--font-display);letter-spacing:-.05em;color:var(--hot)}.battle-slot-of{font:500 1rem/1 var(--font-mono);color:var(--muted)}.battle-top{grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start;gap:22px;display:grid}.battle-info{min-width:0;animation:battle-in .28s var(--ease-out) backwards;align-content:start;justify-items:start;gap:12px;display:grid}@keyframes battle-in{0%{opacity:0;transform:translateY(8px)}}.battle-owner{align-items:center;gap:8px;font-weight:700;display:flex}.battle-artist{align-items:center;gap:12px;display:flex}.battle-artist h2{overflow-wrap:anywhere}.battle-lineup{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.battle-lineup-item{opacity:.4;border:2px solid #0000;border-radius:50%;padding:3px;display:grid}.battle-lineup-item.is-played{opacity:1}.battle-lineup-item.is-on{border-color:var(--hot);opacity:1}.battle-host-action{margin-top:4px}.battle-voters{gap:8px;display:grid}.battle-voters ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.battle-voters li{opacity:.45;transition:opacity .2s;display:grid;position:relative}.battle-voters li.is-in{opacity:1}.battle-voter-mark{background:var(--accent);width:16px;height:16px;color:var(--on-accent);opacity:0;transition:opacity .18s var(--ease-out), transform .18s var(--ease-out);border-radius:50%;place-items:center;font-size:.65rem;font-weight:800;display:grid;position:absolute;bottom:-4px;right:-4px;transform:scale(.6)}.is-in>.battle-voter-mark{opacity:1;transform:scale(1)}.battle-winner-line{color:var(--pink)}.battle-songs{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.battle-songs>li{display:grid}.battle-songs.is-reveal>li{animation:battle-in .42s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 70ms)}.battle-song{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;box-shadow:var(--shadow);text-align:left;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex}button.battle-song{cursor:pointer;transition:transform .16s var(--ease-out), border-color .16s, background .16s, box-shadow .16s}button.battle-song:active:not(:disabled){transform:scale(.98)}button.battle-song:disabled{cursor:not-allowed}@media (hover:hover) and (pointer:fine){button.battle-song:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px)}}.battle-song.is-mine{box-shadow:none;background:0 0;border-style:dashed}.battle-song.is-chosen{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, var(--surface));box-shadow:0 0 0 2px var(--accent), var(--shadow)}.battle-song.is-winner{border-color:var(--pink);background:color-mix(in srgb, var(--pink) 9%, var(--surface));box-shadow:0 0 0 2px var(--pink), 0 22px 60px -18px #ff3b8d99}.battle-song-artist{font:700 1rem/1.2 var(--font-display);overflow-wrap:anywhere;align-items:center;gap:10px;display:flex}.battle-song-track{grid-template-columns:64px minmax(0,1fr);align-self:stretch;align-items:center;gap:12px;display:grid}.battle-song-text{gap:2px;min-width:0;display:grid}.battle-song-title{overflow-wrap:anywhere;font-weight:700;line-height:1.3}.battle-song-artists{color:var(--muted);overflow-wrap:anywhere;font-size:.9rem}.battle-song-foot{flex-wrap:wrap;justify-content:space-between;align-self:stretch;align-items:center;gap:6px 10px;min-height:26px;display:flex}.battle-song-owner{color:var(--muted);align-items:center;gap:6px;font-size:.9rem;font-weight:700;display:flex}.battle-song-result{border-top:1px solid var(--line);justify-content:space-between;align-self:stretch;align-items:center;gap:10px;margin-top:auto;padding-top:12px;display:flex}.battle-song-voters{flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:.9rem;display:flex}.battle-song-points{font:900 1.7rem/1 var(--font-display);color:var(--accent);white-space:nowrap;align-items:center;gap:8px;display:flex}.battle-song-points.is-zero{color:var(--dim)}.is-winner .battle-song-points{color:var(--pink)}.battle-side{align-content:start;gap:16px;display:grid}.battle-track{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.battle-track-row{min-height:26px;color:var(--dim);align-items:center;gap:8px;display:flex}.battle-track-row.is-done{color:var(--muted)}.battle-track-row.is-now{color:var(--text)}.battle-track-num{width:1.4em;font:900 1.05rem/1 var(--font-display)}.battle-track-row.is-now .battle-track-num{color:var(--hot)}.battle-track-state{font:500 .75rem/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;flex:1 1 0}@media (width<=1020px){.battle{grid-template-columns:minmax(0,1fr)}.battle-side{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}@media (width<=640px){.battle-top{display:contents}.battle.is-voting .stage-screen,.battle.is-reveal .stage-screen{order:1}}@media (prefers-reduced-motion:reduce){.battle-info,.battle-songs.is-reveal>li{animation:none}}.wheel{aspect-ratio:1;-webkit-user-select:none;user-select:none;width:100%;position:relative;container-type:inline-size}.wheel-base{background:var(--bg-2);border-radius:50%;transition:box-shadow .5s;position:absolute;inset:0;box-shadow:0 34px 70px -34px #000000f2,0 0 90px -18px #9b7bff8c}.wheel[data-state=spinning] .wheel-base{box-shadow:0 34px 70px -34px #000000f2,0 0 120px -10px #9b7bffcc}.wheel[data-state=settled] .wheel-base{box-shadow:0 34px 70px -34px #000000f2,0 0 120px -14px #c6ff3a99}.wheel-rotor{border-radius:50%;position:absolute;inset:0}.wheel[data-state=spinning] .wheel-rotor{will-change:transform}.wheel-face{width:100%;height:100%;animation:wheel-face-in .28s var(--ease-out);display:block}@keyframes wheel-face-in{0%{opacity:0;transform:scale(.96)}}.wheel-disc{fill:var(--bg-2)}.wheel-tone-0{--tone:var(--violet)}.wheel-tone-1{--tone:var(--cyan)}.wheel-tone-2{--tone:var(--amber)}.wheel-slice{transition:opacity .35s}.wheel-wedge{fill:color-mix(in srgb, var(--tone) 21%, #15111e);stroke:var(--bg);stroke-width:var(--edge,5);stroke-linejoin:round;transition:fill .35s}.wheel-band{fill:none;stroke:var(--tone);stroke-width:22px;transition:stroke .35s}.wheel-name{fill:var(--text);font-family:var(--font-body);font-weight:800}.wheel-pic-ring{fill:var(--surface-2);stroke:var(--tone);stroke-width:5px;transition:stroke .35s}.wheel-pic-initial{fill:var(--muted);font-family:var(--font-display);font-weight:700}.wheel-peg{fill:var(--text)}.wheel-slice.is-lit{--tone:var(--lime)}.wheel-slice.is-lit .wheel-wedge{fill:color-mix(in srgb, var(--lime) 30%, #15111e)}.wheel[data-state=settled] .wheel-slice:not(.is-lit){opacity:.38}.wheel-frame{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.wheel-frame-ring{fill:none;stroke:#100d18;stroke-width:38px}.wheel-frame-edge{fill:none;stroke:var(--line);stroke-width:2px}.wheel-bulb{fill:#ffe9a8;opacity:.25}.wheel-bulb:nth-child(odd){opacity:.95}.wheel[data-state=spinning] .wheel-bulb{animation:.54s step-end infinite wheel-chase}.wheel[data-state=settled] .wheel-bulb{fill:var(--lime);opacity:1;animation:.3s step-end 4 wheel-flash;animation-delay:0s!important}@keyframes wheel-chase{0%{opacity:1}34%{opacity:.2}}@keyframes wheel-flash{0%{opacity:.2}50%{opacity:1}}.wheel-hub{aspect-ratio:1;border:max(3px, 1cqi) solid var(--bg);background:var(--surface-2);width:21%;box-shadow:0 0 0 2px var(--line), 0 10px 26px -6px #000000d9;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.wheel-hub:empty:after{content:"";aspect-ratio:1;background:var(--accent);border-radius:50%;width:26%}.wheel-pointer{filter:drop-shadow(0 3px 5px #0009);pointer-events:none;width:7%;height:10%;margin-left:-3.5%;position:absolute;top:-4%;left:50%}.wheel-pointer-arm{transform-origin:50% 28%;width:100%;height:100%}.wheel-pointer-arm svg{width:100%;height:100%;display:block;overflow:visible}.wheel-pointer-body{fill:var(--lime);stroke:var(--bg);stroke-width:4px;stroke-linejoin:round}.wheel-pointer-pin{fill:var(--bg)}@media (prefers-reduced-motion:reduce){.wheel-bulb{animation:none!important}}.draft{grid-template-columns:minmax(0,1fr);gap:16px clamp(20px,3vw,40px);display:grid}.draft-head{flex-direction:column;gap:10px;display:flex}.draft-next{color:var(--muted);align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.draft-next b{color:var(--text)}.draft-progress{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.draft-progress span{border-radius:inherit;background:var(--accent);transform-origin:0;height:100%;transition:transform .4s var(--ease-out);display:block}.draft-title{overflow-wrap:anywhere;font-weight:900}.draft-wheel{justify-self:center;width:min(100%,560px,max(260px,100vh - 150px));margin-top:10px}.draft-hub{width:100%;height:100%;font:900 1.6rem/1 var(--font-display);color:#10140a;place-items:center;font-size:9cqi;display:grid}.draft-hub.is-away{opacity:.4}.draft-action{align-content:center;gap:14px;min-height:118px;padding:16px;display:grid}.draft-action.is-yours{border-color:var(--accent)}.draft-status{color:var(--muted);font-weight:600}.draft-stand-in{font-size:.9rem}.draft-spin{width:100%;padding-block:22px;font-size:1.2rem;position:relative}.draft-spin:after{content:"";border:2px solid var(--accent);border-radius:inherit;pointer-events:none;animation:draft-ring 1.8s var(--ease-out) infinite;position:absolute;inset:-1px}.draft-spin:disabled:after{opacity:0;animation:none}@keyframes draft-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.05,1.4)}}.draft-reveal{animation:draft-rise .42s var(--ease-out);align-items:center;gap:18px;padding:3px;display:flex}.draft-reveal .artist-img{box-shadow:0 0 0 3px var(--surface), 0 0 0 6px var(--accent)}.draft-reveal-name{overflow-wrap:anywhere;margin-top:6px;font-size:clamp(1.35rem,5.4vw,2rem);font-weight:900}@keyframes draft-rise{0%{opacity:0;transform:translateY(10px)scale(.97)}}.draft-placer{border-top:1px solid var(--line);animation:draft-rise .42s var(--ease-out) .1s backwards;gap:10px;padding-top:14px;display:grid}.draft-slots{gap:6px;display:grid}.draft-slot{border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;min-height:76px;transition:transform .12s var(--ease-out), background .15s, color .15s;background:#c6ff3a1a;align-content:center;justify-items:center;gap:6px;padding:8px 2px;display:grid}.draft-slot:active:not(:disabled){transform:scale(.96)}.draft-slot.is-double{border-color:var(--double);background:#ff3b8d1f}.draft-slot:disabled{border-color:var(--line);cursor:not-allowed;background:0 0}.draft-slot:disabled .draft-slot-num{color:var(--dim)}.draft-slot:disabled .artist-img{opacity:.7}.draft-slot-num{font:700 1.3rem/1 var(--font-display)}.draft-slot-tag{font:500 .68rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.draft-slot.is-double .draft-slot-tag{color:var(--double)}@media (hover:hover) and (pointer:fine){.draft-slot:hover:not(:disabled){background:var(--accent);color:var(--on-accent)}.draft-slot.is-double:hover:not(:disabled){background:var(--double);color:#1c0410}.draft-slot:hover:not(:disabled) .draft-slot-tag{color:inherit}}.draft-boards{grid-template-columns:repeat(auto-fill,minmax(min(100%,228px),1fr));align-items:start;gap:12px;display:grid}.draft-board{box-shadow:none;padding:14px;transition:border-color .2s,box-shadow .2s}.draft-board.is-you{border-color:var(--muted)}.draft-board.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 36px -12px #c6ff3a99}.draft-board-head{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.draft-board-head .mono{margin-left:auto}.draft-board-name{text-overflow:ellipsis;white-space:nowrap;flex:7ch;min-width:7ch;overflow:hidden}.draft-board-name .muted{font:500 .85rem/1 var(--font-body)}.draft-cells{gap:4px;margin:12px 0 0;padding:0;list-style:none;display:grid}.draft-cell{border-radius:var(--radius-sm);background:var(--bg-2);align-items:center;gap:9px;min-height:40px;padding:4px 8px 4px 6px;display:flex}.draft-cell.is-empty{box-shadow:inset 0 0 0 1px var(--line);background:0 0}.draft-cell.is-double{box-shadow:inset 3px 0 0 var(--double)}.draft-cell.is-double.is-empty{box-shadow:inset 3px 0 0 var(--double), inset 0 0 0 1px var(--line)}.draft-cell-num{width:1.5em;font:700 .9rem/1 var(--font-display);text-align:center;color:var(--dim);flex:none}.draft-cell.is-double .draft-cell-num{color:var(--double)}.draft-cell .artist-img{animation:draft-drop .3s var(--ease-out)}.draft-cell-name{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;font-size:.92rem;font-weight:700;overflow:hidden}.draft-cell-free{color:var(--dim);flex:1 1 0;font-size:.85rem}@keyframes draft-drop{0%{opacity:0;transform:scale(.8)}}.draft-foot{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;font-size:.85rem;display:flex}.draft-abort{color:var(--dim);border-color:#0000}.draft-abort:hover:not(:disabled){color:var(--danger)}@media (width>=940px){.draft{grid-template:"wheel head""wheel action""wheel boards"1fr"wheel foot"/minmax(0,1.08fr) minmax(0,1fr);align-items:start}.draft-head{grid-area:head}.draft-action{grid-area:action}.draft-boards{grid-area:boards}.draft-foot{grid-area:foot}.draft-wheel{grid-area:wheel;position:sticky;top:92px}}@media (prefers-reduced-motion:reduce){.draft-spin:after{opacity:0;animation:none}}.lobby{grid-template-columns:minmax(0,1fr);gap:clamp(14px,2.4vw,24px);display:grid}.lobby>*{animation:lobby-rise .4s var(--ease-out) backwards}.lobby>:nth-child(2){animation-delay:50ms}.lobby>:nth-child(3){animation-delay:.1s}.lobby>:nth-child(4){animation-delay:.15s}.lobby>:nth-child(5){animation-delay:.2s}@keyframes lobby-rise{0%{opacity:0;transform:translateY(10px)}}.lobby-head{flex-direction:column;gap:12px;display:flex}.lobby-head h1{letter-spacing:-.03em;font-size:clamp(2.1rem,8vw,3.6rem);font-weight:900}.lobby-lead{max-width:56ch}.lobby-note{font-size:.85rem}.lobby-modes{gap:10px;display:grid}.lobby-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.lobby-mode{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-content:start;gap:6px;padding:14px;transition:border-color .15s,background .15s,opacity .15s;display:grid;position:relative}.lobby-mode input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.lobby-mode:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.lobby-mode.is-picked{border-color:var(--accent);background:#c6ff3a14}div.lobby-mode:not(.is-picked){opacity:.45}.lobby-mode-title{font:700 .95rem/1.15 var(--font-display)}.lobby-mode.is-picked .lobby-mode-title{color:var(--accent)}.lobby-mode-line{color:var(--muted);font-size:.8rem;line-height:1.35}@media (hover:hover) and (pointer:fine){label.lobby-mode:not(.is-picked):hover{border-color:var(--muted)}}@media (width>=560px){.lobby-mode-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.lobby-pool{gap:18px;padding:clamp(16px,2.6vw,26px);display:grid}.lobby-wheelbar{border-bottom:1px solid var(--line);gap:10px;padding-bottom:18px;display:grid}.lobby-source-now{font-weight:700}.lobby-sources{flex-wrap:wrap;gap:6px;display:flex}.lobby-source{min-width:0;display:block;position:relative}.lobby-source input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.lobby-source>span,.lobby-source-new{border:1px solid var(--line);overflow-wrap:anywhere;max-width:100%;color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:.85rem;font-weight:700;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.lobby-source>span{background:var(--bg-2)}.lobby-source .mono{opacity:.75;font-weight:500}.lobby-source input:checked+span{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.lobby-source input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.lobby-source-new{cursor:pointer;background:0 0;border-style:dashed}.lobby-source-new:disabled{opacity:.45;cursor:not-allowed}@media (hover:hover) and (pointer:fine){.lobby-source input:not(:checked):hover+span,.lobby-source-new:hover:not(:disabled){border-color:var(--muted);color:var(--text)}}.lobby-wheel-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lobby-wheel-form .input{flex:200px;width:auto;padding:8px 12px}.lobby-wheel-form .input:focus{border-color:var(--accent)}.lobby-wheel-confirm{border:1px solid var(--danger);border-radius:var(--radius-sm);gap:10px;padding:12px 14px;font-size:.92rem;display:grid}.lobby-search{gap:8px;display:grid}.lobby-search-box{position:relative}.lobby-search-box .input{border-width:2px;font-weight:700}.lobby-search-box .input:focus{border-color:var(--accent)}.lobby-search-error{color:var(--danger);margin-top:8px;font-size:.92rem;font-weight:600}.lobby-results{z-index:6;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);max-height:min(62vh,480px);box-shadow:var(--shadow);padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.lobby-results ul{margin:0;padding:0;list-style:none}.lobby-results ul.is-stale{opacity:.45}.lobby-results-note{color:var(--muted);padding:10px 12px;font-size:.9rem}.lobby-hit{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:12px;padding:8px 10px;display:flex}.lobby-hit[aria-selected=true]{box-shadow:inset 0 0 0 1px var(--accent);background:#c6ff3a1f}.lobby-hit[aria-disabled=true]{cursor:default}.lobby-hit[aria-disabled=true] .artist-img,.lobby-hit[aria-disabled=true] .lobby-hit-text{opacity:.5}.lobby-hit-text{gap:2px;display:grid}.lobby-hit-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.lobby-hit-meta{font:500 .75rem/1.2 var(--font-mono);color:var(--muted)}.lobby-hit-plus{border:2px dashed var(--line);width:40px;height:40px;font:700 1.1rem/1 var(--font-display);color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.lobby-hit-key{border:1px solid var(--accent);font:500 .68rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border-radius:6px;flex:none;padding:4px 8px}.lobby-tally{align-items:center;gap:clamp(12px,3vw,20px);display:flex}.lobby-tally-num{font:900 clamp(3.2rem, 13vw, 5.4rem) / .85 var(--font-display);letter-spacing:-.05em;font-variant-numeric:tabular-nums;flex:none;transition:color .3s}.lobby-tally-num.is-enough{color:var(--accent)}.lobby-tally p{margin-top:6px;font-size:.92rem}.lobby-meter{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.lobby-meter span{border-radius:inherit;background:var(--accent);transform-origin:0;height:100%;transition:transform .4s var(--ease-out);display:block}.lobby-mix{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.88rem;display:flex}.lobby-mix .is-loose{color:var(--amber)}.lobby-empty{border:1px dashed var(--line);border-radius:var(--radius-sm);color:var(--muted);text-align:center;padding:28px 16px}.lobby-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:14px 6px;margin:0;padding:0;list-style:none;display:grid}.lobby-tile{text-align:center;min-width:0;animation:lobby-tile-in .24s var(--ease-out);align-content:start;justify-items:center;gap:6px;display:grid;position:relative}@keyframes lobby-tile-in{0%{opacity:0;transform:scale(.9)}}.lobby-tile-pic{line-height:0;display:block;position:relative}.lobby-tile-dot{border:3px solid var(--surface);border-radius:50%;width:16px;height:16px;position:absolute;bottom:-2px;right:-2px}.lobby-tile-known{border:3px solid var(--surface);background:var(--surface-2);min-width:21px;height:21px;font:500 .64rem/1 var(--font-mono);color:var(--text);border-radius:999px;place-items:center;padding:0 5px;display:grid;position:absolute;bottom:-3px;left:-4px}.lobby-tile-known.is-everyone{background:var(--accent);color:var(--on-accent)}.lobby-tile-name{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:.76rem;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.lobby-tile-remove{border:1px solid var(--line);background:var(--bg);width:26px;height:26px;color:var(--muted);cursor:pointer;transition:opacity .15s, color .15s, border-color .15s, transform .12s var(--ease-out);border-radius:50%;place-items:center;padding:0;font-size:1rem;line-height:1;display:grid;position:absolute;top:-6px;left:calc(50% + 12px)}.lobby-tile-remove:active{transform:scale(.9)}@media (hover:hover) and (pointer:fine){.lobby-tile-remove{opacity:0}.lobby-tile:hover .lobby-tile-remove,.lobby-tile-remove:focus-visible{opacity:1}.lobby-tile-remove:hover{border-color:var(--danger);color:var(--danger)}}.lobby-side{align-content:start;gap:clamp(14px,2.4vw,24px);display:grid}.lobby-players{gap:10px;margin:0;padding:0;list-style:none;display:grid}.lobby-player{align-items:center;gap:10px;display:flex}.lobby-player-rank{width:1.2em;font:700 .9rem/1 var(--font-display);text-align:center;color:var(--dim);flex:none}.lobby-player-text{gap:1px;display:grid}.lobby-player-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.lobby-player-name .muted{font-weight:500}.lobby-player-meta{font:500 .72rem/1.3 var(--font-mono);color:var(--muted)}.lobby-player-total{min-width:2ch;font:500 1.25rem/1 var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;flex:none}.lobby-player-total.is-best{color:var(--pink)}.lobby-me{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}.lobby-me-line{color:var(--muted);font-size:.85rem}.lobby-me-line.is-failed{color:var(--danger);font-weight:600}.lobby-setting{gap:8px;display:grid}.lobby-setting-label{font-weight:700}.lobby-setting-value{font:500 .95rem/1 var(--font-mono);color:var(--accent)}.lobby-setting-hint{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.82rem;display:flex}.lobby-seg{border:1px solid var(--line);background:var(--bg-2);border-radius:999px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:4px;display:grid}.lobby-seg label{display:block;position:relative}.lobby-seg input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.lobby-seg span{font:500 .82rem/1.2 var(--font-mono);text-align:center;white-space:nowrap;color:var(--muted);border-radius:999px;padding:8px 2px;transition:background .15s,color .15s;display:block}.lobby-seg input:checked+span{background:var(--accent);color:var(--on-accent)}.lobby-seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover) and (pointer:fine){.lobby-seg input:not(:checked):hover+span{color:var(--text)}}.lobby-tip{color:var(--muted);padding:0 4px;font-size:.85rem}.lobby-tip .chip{margin-right:8px}.lobby-start{z-index:5;border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1b1726f0;border-radius:22px;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:14px 16px 14px 20px;display:flex;position:sticky;bottom:12px}.lobby-start.is-ready{border-color:var(--accent)}.lobby-start-text{flex:260px;min-width:0}.lobby-start-line{font:700 1rem/1.25 var(--font-display);text-wrap:balance}.lobby-start .lobby-note{margin-top:4px}.lobby-blockers{color:var(--muted);gap:2px;margin:6px 0 0;padding:0;font-size:.88rem;list-style:none;display:grid}.lobby-blockers li{padding-left:14px;position:relative}.lobby-blockers li:before{content:"";background:var(--amber);border-radius:50%;width:6px;height:6px;position:absolute;top:.58em;left:0}.lobby-start-btn{flex:100%}@media (width>=560px){.lobby-start-btn{flex:none}}@media (width>=920px){.lobby{grid-template:"head side""modes side""pool side"1fr"start start"/minmax(0,1.7fr) minmax(300px,1fr);align-items:start}.lobby-head{grid-area:head}.lobby-modes{grid-area:modes}.lobby-pool{grid-area:pool}.lobby-side{grid-area:side}.lobby-start{grid-area:start}}.pick{gap:20px;display:grid}.pick-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px 24px;display:grid}.pick-head-main{gap:8px;display:grid}.pick-clock{justify-items:end;gap:6px;display:grid}.pick-clock .timer{font-size:clamp(2.2rem,8vw,3.4rem)}.pick-progress{flex-wrap:wrap;grid-column:1/-1;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pick-progress-item{border:1px solid var(--line);background:var(--bg-2);border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 5px;transition:border-color .2s;display:flex}.pick-progress-item.is-ready{border-color:var(--accent)}.pick-progress-name{text-overflow:ellipsis;white-space:nowrap;max-width:12ch;font-weight:700;overflow:hidden}.pick-dots{gap:4px;display:inline-flex}.pick-dot{border:1.5px solid var(--dim);border-radius:50%;width:10px;height:10px;transition:background .2s,border-color .2s}.pick-dot.is-double{border-color:var(--double)}.pick-dot.is-filled{border-color:var(--accent);background:var(--accent)}.pick-dot.is-double.is-filled{border-color:var(--double);background:var(--double)}.pick-ready{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:12px 18px;display:flex}.pick-ready-notes{flex:220px;gap:2px;display:grid}.pick-warning{color:var(--amber);font-weight:700}.pick-house-rule{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.pick-body{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.pick-cards{grid-area:1/1;gap:14px;margin:0;padding:0;list-style:none;display:grid}.pick-dock{top:calc(var(--topbar-h,64px) + 16px);grid-area:1/2;position:sticky}.pick-dock .pick-dock-empty{box-shadow:none;border-style:dashed;gap:10px;display:grid}.pick-cover{aspect-ratio:1;background:var(--surface-2);object-fit:contain;border-radius:8px;flex:none;width:44px;display:block}.pick-song .pick-cover{width:72px}.pick-preview .pick-cover{width:56px}.pick-cover.is-blank{color:var(--dim);place-items:center;font-size:1.2rem;display:grid}.pick-dock .pick-preview{border-color:var(--accent);gap:12px;display:grid}.pick-preview-song{align-items:center;gap:12px;display:flex}.pick-preview-text{gap:2px;min-width:0;display:grid}.pick-preview-title,.pick-preview-artists{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pick-preview-title{font-weight:700}.pick-preview-artists{font-size:.92rem}.pick-scrub,.pick-volume{align-items:center;gap:10px;display:flex}.pick-scrub{font-size:.85rem}.pick-scrub input,.pick-volume input{min-width:0;accent-color:var(--accent);flex:1 1 0}.pick-volume-value{min-width:3ch;color:var(--muted);text-align:right}.pick-preview-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.pick-preview-time{font-size:.92rem}.pick-double-mark{color:var(--double)}.pick-notice{gap:8px;font-size:.92rem;display:grid}.pick-notice-tap{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.pick-error{color:var(--danger);font-size:.92rem;font-weight:600}.pick-card{animation:pick-rise .4s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 50ms);gap:14px;transition:border-color .2s;display:grid}.pick-card.is-double{border-color:color-mix(in srgb, var(--double) 55%, var(--line))}.pick-card.is-previewing{border-color:var(--accent)}@keyframes pick-rise{0%{opacity:0;transform:translateY(10px)}}.pick-card-head{align-items:center;gap:12px;display:flex}.pick-slot-num{min-width:1.1em;font:900 2rem/1 var(--font-display);letter-spacing:-.04em;color:var(--accent)}.pick-card.is-double .pick-slot-num{color:var(--double)}.pick-artist{overflow-wrap:anywhere}.pick-search{gap:8px;min-width:0;display:grid}.pick-search-error{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.pick-search-error .btn{color:var(--text)}.pick-results{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-2);max-height:320px;padding:6px;overflow-y:auto}.pick-results ul{margin:0;padding:0;list-style:none}.pick-results ul.is-stale{opacity:.45}.pick-results-note{color:var(--muted);padding:8px 10px;font-size:.9rem}.pick-hit{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:6px 8px;display:flex}.pick-hit:hover,.pick-hit:focus-visible{background:var(--surface-2)}.pick-hit-text{flex:1 1 0;gap:1px;min-width:0;display:grid}.pick-hit-title{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.pick-hit-artists{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.85rem;overflow:hidden}.pick-hit-length{color:var(--muted);flex:none;font-size:.8rem}.pick-keep{justify-self:start}.pick-song{align-items:center;gap:12px;display:flex}.pick-song-text{gap:2px;min-width:0;display:grid}.pick-song-title{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.pick-song-artists{overflow-wrap:anywhere}.pick-start{gap:8px;display:grid}.pick-start-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pick-start .pick-start-input{width:6.5em;font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:center;padding:8px 10px}.pick-start-length{color:var(--muted);font-size:.85rem}.pick-actions{flex-wrap:wrap;gap:8px;display:flex}.pick-ban{border-top:1px dashed var(--line);gap:8px;padding-top:14px;font-size:.92rem;display:grid}.pick-ban a{color:var(--text);text-underline-offset:3px}@media (width>=1000px){.pick-body{grid-template-columns:minmax(0,1fr) 380px}}@media (width<=759px){.pick-body{display:block}.pick-dock{top:var(--topbar-h,64px);z-index:5;border-radius:var(--radius);background:var(--bg)}.pick-dock:not(.is-open){display:none}.pick-dock.is-open{margin-bottom:14px}.pick-dock-hint{display:none}.pick-dock .pick-preview,.pick-dock .pick-dock-empty{gap:8px;padding:12px 14px}.pick-preview .pick-cover{width:44px}}@media (width<=520px){.pick-head{grid-template-columns:minmax(0,1fr)}.pick-clock{grid-row:1;grid-auto-flow:column;justify-content:space-between;place-items:baseline start}.pick-ready .btn{flex:100%}}@media (prefers-reduced-motion:reduce){.pick-card{animation:none}}.quiz{--hot:var(--accent);grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px;display:grid}.quiz-main{gap:18px;min-width:0;display:grid}.quiz-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.quiz-round{flex-wrap:wrap;align-items:baseline;gap:6px 12px;min-width:0;display:flex}.quiz-round-num{font:900 clamp(3.4rem, 11vw, 5.2rem) / .82 var(--font-display);letter-spacing:-.05em;color:var(--hot)}.quiz-round-of{font:500 1rem/1 var(--font-mono);color:var(--muted)}.quiz-clock{justify-items:end;gap:6px;display:grid}.quiz-held{border-color:var(--amber);color:var(--amber)}.quiz-bar{background:var(--surface-2);border-radius:999px;grid-column:1/-1;height:6px;overflow:hidden}.quiz-bar>span{border-radius:inherit;background:var(--hot);transform-origin:0;height:100%;transition:transform .25s linear,background .2s;display:block}.quiz-bar.is-urgent>span{background:var(--pink)}.quiz-bar.is-held>span{background:var(--amber)}.quiz-top{grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start;gap:22px;display:grid}.quiz-info{min-width:0;animation:quiz-in .28s var(--ease-out) backwards;align-content:start;gap:14px;display:grid}@keyframes quiz-in{0%{opacity:0;transform:translateY(8px)}}.quiz-question{overflow-wrap:anywhere}.quiz-host-action{justify-self:start}.quiz-people{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.quiz-people>li{display:grid}.quiz-person{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;box-shadow:var(--shadow);cursor:pointer;transition:transform .16s var(--ease-out), border-color .16s, background .16s, box-shadow .16s;align-content:start;justify-items:center;gap:8px;padding:14px 8px 12px;display:grid}.quiz-person:active:not(:disabled){transform:scale(.97)}.quiz-person:disabled{cursor:not-allowed;opacity:.55}.quiz-person.is-picked{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, var(--surface));box-shadow:0 0 0 2px var(--accent), var(--shadow)}.quiz-person-name{text-align:center;overflow-wrap:anywhere;max-width:100%;font-weight:700;line-height:1.25}.quiz-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.quiz-choices>li{display:grid}.quiz-choice{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);text-align:left;cursor:pointer;width:100%;min-height:68px;transition:transform .16s var(--ease-out), border-color .16s, background .16s, opacity .2s;align-items:center;gap:12px;padding:12px 14px;font-weight:700;line-height:1.3;display:flex}.quiz-choice:active:not(:disabled){transform:scale(.98)}.quiz-choice:disabled{cursor:not-allowed}.quiz-choices:not(.is-locked) .quiz-choice:disabled{opacity:.55}.quiz-choices.is-locked .quiz-choice:not(.is-chosen){opacity:.4}.quiz-choice.is-chosen{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, var(--surface));box-shadow:0 0 0 2px var(--accent)}.quiz-choice-key{background:var(--surface-2);width:30px;height:30px;font:700 .85rem/1 var(--font-display);color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.quiz-choice.is-chosen .quiz-choice-key{background:var(--accent);color:var(--on-accent)}.quiz-choice-text{overflow-wrap:anywhere;min-width:0}@media (hover:hover) and (pointer:fine){.quiz-person:hover:not(:disabled),.quiz-choice:hover:not(:disabled){border-color:var(--accent)}}.quiz-typed{gap:10px;display:grid}.quiz-typed-form{gap:10px;display:flex}.quiz-typed-form .input{flex:1 1 0;min-width:0}.quiz-typed-form .input:disabled{opacity:.55}.quiz-verdict{font-weight:700}.quiz-verdict.is-right{color:var(--accent)}.quiz-verdict.is-miss{color:var(--amber)}.quiz-tries{color:var(--dim);flex-wrap:wrap;gap:6px 12px;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.quiz-tries>li{overflow-wrap:anywhere;text-decoration:line-through}.quiz-hint{font-size:.85rem}.quiz-ticks{gap:8px;display:grid}.quiz-ticks ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.quiz-ticks li{opacity:.45;transition:opacity .2s;display:grid;position:relative}.quiz-ticks li.is-done,.quiz-ticks li.is-trying{opacity:1}.quiz-tick{background:var(--accent);width:16px;height:16px;color:var(--on-accent);opacity:0;transition:opacity .18s var(--ease-out), transform .18s var(--ease-out);border-radius:50%;place-items:center;font-size:.65rem;font-weight:800;line-height:1;display:grid;position:absolute;bottom:-4px;right:-4px;transform:scale(.6)}.is-done>.quiz-tick,.is-trying>.quiz-tick{opacity:1;transform:scale(1)}.is-trying>.quiz-tick{background:var(--surface-2);color:var(--muted)}.quiz-answer{align-items:center;gap:14px;min-width:0;display:flex}.quiz-answer-cover{flex:none;width:64px;display:none}.quiz-answer-text{gap:4px;min-width:0;display:grid}.quiz-answer-main{overflow-wrap:anywhere;font-size:clamp(1.4rem,3.2vw,2rem);font-weight:900}.quiz-answer-main.is-winner{color:var(--pink)}.quiz-answer-main.is-long{font-size:clamp(1.15rem,2.2vw,1.4rem)}.quiz-answer-text .muted{overflow-wrap:anywhere}.quiz-outcome{font-weight:700}.quiz-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.quiz-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-2);animation:quiz-in .36s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 60ms);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px 10px 10px;display:grid}.quiz-row.is-right{border-color:color-mix(in srgb, var(--accent) 55%, var(--line))}.quiz-row.is-winner{box-shadow:inset 3px 0 0 var(--pink)}.quiz-row-body{gap:2px;min-width:0;display:grid}.quiz-row-who{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.quiz-row-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.quiz-row-said{overflow-wrap:anywhere;align-items:baseline;gap:6px;min-width:0;font-size:.92rem;display:flex}.quiz-row-pick{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.quiz-mark{color:var(--danger);flex:none;font-weight:800}.quiz-mark.is-right{color:var(--accent)}.quiz-row-standing{font:500 .8rem/1.4 var(--font-mono);color:var(--muted);overflow-wrap:anywhere}.quiz-row-end{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.quiz-row-points{min-width:2ch;font:900 1.5rem/1 var(--font-display);color:var(--accent);text-align:right;white-space:nowrap}.quiz-row-points.is-zero{color:var(--dim)}.quiz-host{gap:10px;margin-top:4px}.quiz-side{align-content:start;gap:16px;display:grid}@media (width<=1020px){.quiz{grid-template-columns:minmax(0,1fr)}.quiz-side{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}@media (width<=640px){.quiz-top{display:contents}.quiz .stage-screen{order:1}.quiz-answer-cover{display:block}}@media (width<=480px){.quiz-choices{grid-template-columns:minmax(0,1fr)}.quiz-typed-form{flex-wrap:wrap}.quiz-typed-form .btn{flex:100%}}@media (prefers-reduced-motion:reduce){.quiz-info,.quiz-row{animation:none}}.results{gap:28px;display:grid}.results-top{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);align-items:start;gap:20px;display:grid}.results-hero{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);justify-items:start;gap:16px;padding:clamp(20px,4vw,40px);display:grid;position:relative;overflow:hidden}.results-hero.has-winner{border-color:var(--pink);background:radial-gradient(620px 320px at 15% -10%, #ff3b8d42, transparent 70%), var(--surface);box-shadow:0 26px 80px -28px #ff3b8d99}.results-hero>*{z-index:1;position:relative}.results-winners{animation:results-pop .5s var(--ease-out) backwards;flex-wrap:wrap;gap:10px;display:flex}.results-winners:empty{display:none}@keyframes results-pop{0%{opacity:0;transform:scale(.85)}}.results-headline{letter-spacing:-.03em;overflow-wrap:anywhere;font-size:clamp(2rem,7vw,3.8rem);font-weight:900}.has-winner .results-headline{color:var(--pink)}.results-best{font-size:1.1rem;font-weight:700}.results-best .mono{font-size:1.5rem}.results-confetti{z-index:0;pointer-events:none;position:absolute;inset:0}.results-confetti i{background:var(--pink);opacity:0;border-radius:2px;width:8px;height:14px;animation:2.6s cubic-bezier(.25,.6,.6,1) both results-fall;position:absolute;top:-16px}.results-confetti i:nth-child(4n+1){background:var(--lime)}.results-confetti i:nth-child(4n+2){background:var(--cyan)}.results-confetti i:nth-child(4n+3){background:var(--amber)}@keyframes results-fall{0%{opacity:1;transform:translateY(0)rotate(0)}80%{opacity:1}to{opacity:0;transform:translateY(520px) rotate(var(--spin,300deg))}}.results-ranking{justify-self:stretch;gap:8px;margin:6px 0;padding:0;list-style:none;display:grid}.results-rank{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-2);animation:results-rise .4s var(--ease-out) backwards;animation-delay:calc(.2s + var(--i,0) * 60ms);grid-template-columns:2em auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 16px 10px 12px;display:grid}.results-rank.is-winner{border-color:var(--pink)}@keyframes results-rise{0%{opacity:0;transform:translateY(10px)}}.results-rank-place{font:900 1.2rem/1 var(--font-display);color:var(--dim);text-align:center}.is-winner>.results-rank-place{color:var(--pink)}.results-rank-name,.results-total-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.results-rank-points{font:500 1.5rem/1 var(--font-mono);font-variant-numeric:tabular-nums}.results-totals{gap:8px;display:grid}.results-totals ol{gap:10px;margin:8px 0 0;padding:0;list-style:none;display:grid}.results-totals li{align-items:center;gap:10px;display:flex}.results-total-name{flex:1 1 0}.results-total-gain{font:500 .85rem/1 var(--font-mono);color:var(--accent)}.results-total-points{min-width:2ch;font:500 1.2rem/1 var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.results-breakdown{gap:14px;display:grid}.results-slots{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));align-items:start;gap:14px;display:grid}.results-slot{gap:6px;display:grid}.results-slot.is-double{border-color:color-mix(in srgb, var(--double) 55%, var(--line))}.results-slot-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.results-rows{margin:0;padding:0;list-style:none}.results-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who points""song points""votes points";align-items:center;gap:4px 14px;padding:12px 0;display:grid}.results-row-who{grid-area:who;align-items:center;gap:8px;min-width:0;font-weight:700;display:flex}.results-row-song{overflow-wrap:anywhere;grid-area:song;min-width:0;font-size:.92rem;display:grid}.results-row-artist{font-weight:700}.results-row-track{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;margin:4px 0 2px;display:grid}.results-row-cover{aspect-ratio:1;background:var(--surface-2);object-fit:contain;border-radius:6px;width:100%;display:block}.results-row-cover.is-blank{color:var(--dim);place-items:center;display:grid}.results-row-title{min-width:0;display:grid}.results-row-votes{flex-wrap:wrap;grid-area:votes;align-items:center;gap:4px 6px;font-size:.88rem;display:flex}.results-row-points{font:900 1.4rem/1 var(--font-display);color:var(--muted);grid-area:points}.results-row.is-top .results-row-points{color:var(--accent)}.results-slot.is-double .results-row.is-top .results-row-points{color:var(--double)}.results-rounds{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));align-items:start;gap:14px;margin:0;padding:0;list-style:none;display:grid}.results-round{gap:10px;padding:16px;display:grid}.results-round .results-row-track{margin:0}.results-round-title{overflow-wrap:anywhere;font-weight:700}.results-round-people,.results-round-fans{border-top:1px solid var(--line);gap:6px;margin:0;padding:10px 0 0;font-size:.92rem;list-style:none;display:grid}.results-round-people li,.results-round-fans li{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.results-round-people li>span:first-of-type,.results-round-fan-name{font-weight:700}.results-round-fan-standing{font:500 .78rem/1.3 var(--font-mono);color:var(--muted);overflow-wrap:anywhere}.results-round-fans li.is-winner .results-round-fan-name{color:var(--pink)}.results-round-guessed{flex-wrap:wrap;align-items:center;gap:6px;font-size:.9rem;display:flex}@media (width<=820px){.results-top{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.results-confetti{display:none}.results-winners,.results-rank{animation:none}}:root{--bg:#0c0a12;--bg-2:#14111d;--surface:#1b1726;--surface-2:#261f37;--line:#352d4b;--text:#f5f1ff;--muted:#a8a0bf;--dim:#6f6788;--lime:#c6ff3a;--pink:#ff3b8d;--cyan:#3be8ff;--amber:#ffb53b;--violet:#9b7bff;--danger:#ff5a5a;--accent:var(--lime);--on-accent:#10140a;--double:var(--pink);--radius:16px;--radius-sm:10px;--shadow:0 18px 50px -18px #000c;--font-display:"Unbounded", system-ui, sans-serif;--font-body:"Manrope", system-ui, sans-serif;--font-mono:"DM Mono", ui-monospace, monospace;--ease-out:cubic-bezier(.22, 1, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(900px 500px at 85% -10%, #9b7bff29, transparent 60%), radial-gradient(700px 420px at -5% 105%, #c6ff3a14, transparent 60%), var(--bg);color:var(--text);font:500 16px/1.5 var(--font-body);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:700;line-height:1.1}h1{font-size:clamp(1.7rem,4vw,2.6rem)}h2{font-size:clamp(1.15rem,2.4vw,1.5rem)}h3{font-size:1rem}p{margin:0}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.dim{color:var(--dim)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.eyebrow{font:500 .72rem/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.row{align-items:center;gap:10px;display:flex}.row-wrap{flex-wrap:wrap}.stack{flex-direction:column;gap:14px;display:flex}.spread{justify-content:space-between}.grow{flex:1 1 0;min-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.btn{border:1px solid var(--line);background:var(--surface-2);white-space:nowrap;cursor:pointer;transition:transform .12s var(--ease-out), background .15s, border-color .15s;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:700;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--muted)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){border-color:#fff}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn-ghost{background:0 0}.btn-small{padding:6px 12px;font-size:.85rem}.btn-big{font:700 1.05rem/1 var(--font-display);padding:16px 28px}.input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-2);width:100%;padding:11px 14px}.input::placeholder{color:var(--dim)}.input-big{padding:16px 18px;font-size:1.1rem}.chip{border:1px solid var(--line);font:500 .75rem/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.chip-accent{border-color:var(--accent);color:var(--accent)}.chip-double{border-color:var(--double);color:var(--double)}.avatar{color:#10140a;font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.avatar.is-away{opacity:.35}.artist-img{object-fit:cover;background:var(--surface-2);border-radius:50%;flex:none}.artist-img.is-blank{font-family:var(--font-display);color:var(--muted);place-items:center;display:inline-grid}.timer{font:500 1.6rem/1 var(--font-mono);font-variant-numeric:tabular-nums}.timer.is-urgent{color:var(--pink)}.brand{font:900 1.25rem/1 var(--font-display);letter-spacing:-.03em;color:var(--text);text-decoration:none}.brand span{color:var(--accent)}.center-page{place-items:center;min-height:100vh;padding:24px;display:grid}.hero{flex-direction:column;align-items:flex-start;gap:22px;width:min(460px,100%);display:flex}.hero .brand{font-size:clamp(2.6rem,9vw,4rem)}.hero-line{color:var(--muted);font-size:1.1rem}.hero .row{width:100%}.room{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c0a12d9;align-items:center;gap:14px;padding:12px clamp(14px,3vw,28px);display:flex;position:sticky;top:0}.topbar-players{scrollbar-width:none;flex:1 1 0;gap:8px;min-width:0;display:flex;overflow-x:auto}.player-pill{border:1px solid var(--line);border-radius:999px;flex:none;align-items:center;gap:7px;padding:3px 10px 3px 3px;font-size:.85rem;display:inline-flex}.player-pill.is-you{border-color:var(--muted)}.player-pill-name{text-overflow:ellipsis;white-space:nowrap;max-width:9ch;font-weight:700;overflow:hidden}.player-pill-host{font:500 .62rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.banner{background:var(--danger);color:#1a0505;text-align:center;padding:8px 16px;font-weight:700}.screen{flex:auto;width:min(1180px,100%);margin:0 auto;padding:clamp(16px,3vw,32px)}.toast{z-index:20;border:1px solid var(--danger);border-radius:var(--radius-sm);max-width:min(520px,100vw - 32px);box-shadow:var(--shadow);background:#2a1016;padding:12px 18px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@media (width<=640px){.topbar{flex-wrap:wrap}.topbar-players{flex-basis:100%;order:5}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
