:root{--bg:#140c33;--bg-2:#1c1248;--card:#241a5a;--card-2:#2c2069;--line:#3a2d80;--text:#f5f2ff;--muted:#a99fd8;--p0:#ff4f8b;--p1:#2ad4ff;--p2:#b6f04a;--p3:#ff9f43;--gold:#ffd23f;--gold-deep:#b38d12;--ink:#140c33;--good:#3ee08f;--bad:#ff5a5a;--r:10px;--r-sm:8px;--edge:inset 0 1px 0 #ffffff12;--lift:0 3px 0 #0a0520;--raised:var(--edge), var(--lift);--lime:#dbf21d;--pixel:"Jersey 10", ui-monospace, monospace;--body:"Nunito", ui-rounded, system-ui, -apple-system, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:radial-gradient(ellipse 120% 60% at 50% -10%, #33197f 0%, var(--bg) 65%) fixed, var(--bg);min-height:100dvh;color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-weight:600}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}input,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}a{color:var(--p1)}kbd{font-family:var(--mono);opacity:.6;vertical-align:1px;border:1px solid;border-radius:5px;margin-left:6px;padding:1px 5px;font-size:.68em;font-weight:600}code{font-family:var(--mono);background:var(--bg-2);border-radius:6px;padding:1px 6px;font-size:.9em}.p0{--pc:var(--p0)}.p1{--pc:var(--p1)}.p2{--pc:var(--p2)}.p3{--pc:var(--p3)}.muted{color:var(--muted)}.small{font-size:.85rem}.ok{color:var(--good)}.error{color:var(--bad)}.hint{color:var(--gold);text-align:center;font-size:.85rem}.row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.row.start{justify-content:flex-start;margin:12px 0}.card{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);box-shadow:var(--raised);padding:18px}.card.narrow{flex-direction:column;align-items:flex-start;gap:16px;width:min(420px,100%);display:flex}.big-text{font-size:1.15rem}.btn{border-radius:var(--r);border:1.5px solid var(--line);background:var(--card-2);box-shadow:var(--edge);justify-content:center;align-items:center;gap:4px;padding:12px 22px;font-weight:800;transition:transform 60ms,background .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--line)}.btn:active:not(:disabled){transform:translateY(2px)}.btn.primary{background:var(--gold);border-color:var(--gold);color:var(--ink);box-shadow:0 4px 0 var(--gold-deep)}.btn.primary:hover:not(:disabled){background:#ffdb5c}.btn.primary:active:not(:disabled){box-shadow:0 1px 0 var(--gold-deep);transform:translateY(3px)}.btn.big{font-family:var(--pixel);letter-spacing:.03em;padding:12px 40px 10px;font-size:1.9rem;font-weight:400;line-height:1}.btn.wide{width:100%}.btn:disabled{opacity:.45;box-shadow:none}.btn.primary:disabled{opacity:1;background:var(--card-2);border-color:var(--line);color:var(--muted)}.link-btn{color:var(--muted);background:0 0;border:none;padding:0;font-weight:800}.link-btn:hover{color:var(--text)}.icon-btn{color:var(--muted);background:0 0;border:none;border-radius:8px;padding:6px 8px;font-size:1.1rem}.icon-btn:hover{background:var(--card);color:var(--text)}.tag{background:var(--gold);color:var(--ink);border-radius:999px;margin-left:auto;padding:3px 9px;font-size:.72rem;font-weight:800}.section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:.8rem;font-weight:800;display:block}.section-head{justify-content:space-between;align-items:baseline;display:flex}.segmented{border-radius:calc(var(--r) + 4px);background:var(--bg-2);border:1.5px solid var(--line);flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.segmented button{border-radius:var(--r);color:var(--muted);background:0 0;border:none;padding:8px 16px;font-weight:800}.segmented button.on{background:var(--text);color:var(--ink)}.segmented.big button.on small{color:color-mix(in srgb, var(--ink) 70%, transparent)}.segmented.big{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));width:100%;display:grid}.segmented.big button{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;display:flex}.segmented.big small{color:var(--muted);font-size:.8rem;font-weight:600}.rounds{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rounds button{border:1.5px solid var(--line);background:var(--bg-2);border-radius:999px;padding:6px 16px;font-weight:800}.rounds button.on{background:var(--gold);color:var(--ink);border-color:var(--gold)}.text-input,.field input:not([type=file]),.field textarea{background:var(--bg-2);border:1.5px solid var(--line);border-radius:var(--r);outline:none;min-width:0;padding:12px 14px;font-weight:700}.text-input:focus,.field input:focus,.field textarea:focus{border-color:var(--gold)}.field{color:var(--muted);flex-direction:column;gap:8px;margin:18px 0 0;display:flex}.field textarea{resize:vertical;line-height:1.5}.deadline,.timebar{background:var(--bg-2);border-radius:999px;height:6px;overflow:hidden}.deadline div{background:var(--pc,var(--gold));height:100%}.page{flex-direction:column;gap:28px;max-width:920px;margin:0 auto;padding:12px 16px 120px;display:flex}.page.editor{gap:0}.page.editor>.segmented{margin:16px 0 8px}.topbar{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.topbar-title{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.back{color:var(--muted);background:0 0;border:none;padding:8px 4px;font-weight:800}.back:hover{color:var(--text)}.page-title{font-family:var(--pixel);letter-spacing:.02em;font-size:3.2rem;font-weight:400;line-height:1}.name-chip{background:var(--card);border:1.5px solid var(--line);cursor:text;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.name-chip:focus-within{border-color:var(--gold)}.name-chip input{background:0 0;border:none;outline:none;padding:0;font-weight:800}.name-chip input::placeholder{color:var(--muted)}.cta-bar{padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 60%, transparent);z-index:5;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.cta-bar .btn.big{width:min(420px,100%)}.brand{color:var(--text);border-radius:var(--r-sm);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.brand img{width:auto;height:22px;display:block}.brand-play{font-family:var(--pixel);letter-spacing:.08em;text-transform:uppercase;border:1.5px solid var(--line);color:var(--muted);border-radius:4px;padding:3px 7px 2px;font-size:1.05rem;line-height:1}.brand:hover .brand-play{color:var(--text);border-color:var(--muted)}.brand:focus-visible,.site-foot a:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.site-foot{border-top:1.5px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding-top:20px;font-size:.85rem;display:flex}.site-foot a{color:var(--muted);text-decoration:none}.site-foot a:hover{color:var(--text)}.site-foot nav{gap:16px;display:flex}.site-foot-brand{align-items:center;gap:8px;font-weight:800;display:inline-flex}.site-foot-brand img{width:auto;height:22px}.hero{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.logo{font-family:var(--pixel);text-transform:uppercase;letter-spacing:.05em;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 .22em;font-size:clamp(4.5rem,19vw,8rem);font-weight:400;line-height:.85;display:flex}.logo .hl{background:var(--gold);color:var(--ink);letter-spacing:.06em;box-shadow:0 .07em 0 var(--gold-deep);border-radius:.1em;padding:.06em .18em 0}.tagline{color:var(--muted);font-size:1.05rem}.doors{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.door{border-radius:var(--r);background:var(--card);border:1.5px solid var(--line);min-height:150px;box-shadow:var(--raised);text-align:left;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:4px;padding:18px;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex}button.door:hover{border-color:var(--muted);box-shadow:var(--edge), 0 5px 0 #0a0520;transform:translateY(-2px)}.door-icon{color:var(--muted);margin-bottom:auto;font-size:1.4rem}.door-title{font-family:var(--pixel);font-size:2.1rem;font-weight:400;line-height:1}.door-sub{color:var(--muted);font-size:.92rem}.door-host{background:var(--gold);border-color:var(--gold);color:var(--ink);box-shadow:0 5px 0 var(--gold-deep)}.door-host .door-icon,.door-host .door-sub{color:#4a3a05}button.door-host:hover{border-color:var(--gold)}.door-join{justify-content:flex-start;gap:12px}.door-join .btn{width:100%}.door-join.invited{border-color:var(--gold);box-shadow:0 0 0 3px #ffd23f33}.code-input{cursor:text;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;display:grid;position:relative}.code-box{border-radius:var(--r);background:var(--bg-2);border:1.5px solid var(--line);height:56px;font-family:var(--pixel);place-items:center;font-size:2.2rem;line-height:1;display:grid}.code-box.filled{border-color:var(--muted)}.code-input:focus-within .code-box.active{border-color:var(--gold);box-shadow:0 0 0 3px #ffd23f33}.code-input input{opacity:0;width:100%;font-size:16px;position:absolute;inset:0}.shelf-section{flex-direction:column;display:flex}.shelf{scrollbar-width:thin;grid-auto-columns:minmax(170px,1fr);grid-auto-flow:column;gap:10px;padding-bottom:6px;display:grid;overflow-x:auto}.tile,.game-card{border-radius:var(--r);background:var(--card);border:1.5px solid var(--line);box-shadow:var(--raised);text-align:left;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-height:120px;padding:14px;transition:border-color .12s,transform .12s;display:flex}.tile:hover,.game-card:hover:not(:disabled){border-color:var(--muted);box-shadow:var(--edge), 0 5px 0 #0a0520;transform:translateY(-2px)}.tile-emoji{margin-bottom:auto;font-size:1.6rem}.tile-title{font-family:var(--pixel);font-size:1.6rem;font-weight:400;line-height:1}.tile-meta{color:var(--muted);font-size:.82rem;font-weight:600}.tile-new,.game-card.new{box-shadow:none;background:0 0;border-style:dashed}.game-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.game-card-wrap{position:relative}.game-card{height:100%;min-height:130px}.game-card.selected{border-color:var(--gold);background:var(--card-2);box-shadow:0 0 0 3px #ffd23f33}.game-card:disabled{opacity:.45}.card-delete{background:var(--bg-2);width:26px;height:26px;color:var(--muted);border:none;border-radius:50%;font-size:.8rem;position:absolute;top:8px;right:8px}.card-delete:hover{color:var(--bad)}.settings-row{flex-wrap:wrap;gap:28px;display:flex}.player-inputs{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.player-input{border:1.5px solid var(--pc);background:color-mix(in srgb, var(--pc) 10%, transparent);color:var(--pc);border-radius:12px;align-items:center;gap:8px;padding:10px 14px;display:flex}.player-input input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:1.05rem;font-weight:800}.player-input input::placeholder{color:color-mix(in srgb, var(--pc) 70%, white);opacity:.8}.room-grid{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.room-code-card{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.room-code-card .section-title{margin:0}.room-code{font-family:var(--pixel);letter-spacing:.08em;color:var(--gold);font-size:5.5rem;line-height:.85}.qr{border-radius:12px;width:190px;height:190px;overflow:hidden}.qr svg{width:100%;height:100%;display:block}.room-players{flex-direction:column;gap:12px;display:flex}.room-players ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.room-players li{border:1.5px dashed var(--line);border-radius:12px;align-items:center;gap:10px;min-height:52px;padding:8px 14px;display:flex}.room-players li.filled{border:1.5px solid var(--pc);background:color-mix(in srgb, var(--pc) 10%, transparent)}.room-players li strong{font-family:var(--pixel);color:var(--pc);font-size:1.7rem;font-weight:400;line-height:1}.seat-dot{background:var(--pc);border-radius:50%;width:10px;height:10px}.center-screen{place-items:center;min-height:100dvh;padding:16px;display:grid}.cta-bar>.muted{padding:14px 0}.progress{margin:12px 0}.song-list,.file-list{gap:6px;margin:12px 0;padding:0;list-style:none;display:grid}.song-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-height:340px;overflow-y:auto}.song-list li,.file-list li{background:var(--card);border-radius:10px;align-items:center;gap:10px;min-width:0;padding:6px;display:flex}.song-list img,.file-list img{object-fit:cover;border-radius:6px;flex:none;width:44px;height:44px}.song-list div{flex-direction:column;min-width:0;display:flex}.song-list strong,.song-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.song-list small{color:var(--muted)}.missing{color:var(--muted);margin-bottom:12px}.missing ul{margin:6px 0;padding-left:20px}.dropzone{border:1.5px dashed var(--line);border-radius:var(--r);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:6px;margin:16px 0;padding:32px 16px;display:flex}.dropzone.over,.dropzone:hover{border-color:var(--gold);background:var(--card)}.dropzone input{display:none}.file-list input{background:var(--bg-2);border:1px solid var(--line);border-radius:8px;outline:none;flex:1;min-width:0;padding:8px 10px}.file-list input:focus{border-color:var(--gold)}.file-icon{text-align:center;flex:none;width:44px;font-size:1.6rem}.file-list .link-btn{padding:0 8px;text-decoration:none}.editor p.muted{margin-top:8px;line-height:1.5}.game{max-width:760px;height:100dvh;padding:10px 14px calc(12px + env(safe-area-inset-bottom));flex-direction:column;gap:10px;margin:0 auto;display:flex}.hud{align-items:center;gap:8px;display:flex}.round-chip{font-family:var(--pixel);border-radius:var(--r-sm);background:var(--card);color:var(--gold);flex:none;padding:6px 10px 4px;font-size:1.6rem;line-height:1}.round-chip small{color:var(--muted);font-size:.65em}.score-pills{flex:1;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;min-width:0;display:grid}.score-pill{border-radius:var(--r-sm);background:color-mix(in srgb, var(--pc) 12%, var(--bg));border:1.5px solid color-mix(in srgb, var(--pc) 45%, transparent);justify-content:space-between;align-items:baseline;gap:6px;min-width:0;padding:6px 10px 4px;transition:box-shadow .15s,opacity .15s;display:flex;position:relative}.score-pill.me{border-color:var(--pc)}.score-pill.buzzing{box-shadow:0 0 0 3px var(--pc), 0 0 22px var(--pc)}.score-pill.locked{opacity:.4}.sp-name{color:var(--pc);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:800;overflow:hidden}.sp-pts{font-family:var(--pixel);font-variant-numeric:tabular-nums;font-size:1.7rem;line-height:1}.sp-streak{background:var(--bg);border-radius:999px;padding:0 6px;font-size:.72rem;font-weight:800;animation:1.2s ease-in-out infinite pulse;position:absolute;top:-9px;right:6px}@keyframes pulse{50%{transform:scale(1.12)}}.timebar div{background:linear-gradient(90deg, var(--bad), var(--gold) 40%, var(--good));background-size:760px 100%;height:100%;transition:width .1s linear}.window{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);box-shadow:var(--raised);overflow:hidden}.titlebar{background:var(--bg-2);border-bottom:1.5px solid var(--line);font-family:var(--pixel);letter-spacing:.08em;text-transform:uppercase;color:var(--text);white-space:nowrap;justify-content:space-between;align-items:center;gap:12px;padding:5px 6px 5px 10px;font-size:1.15rem;line-height:1;display:flex}.titlebar-title{text-overflow:ellipsis;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.titlebar-title img{flex:none;width:auto;height:18px}.controls{flex:none;gap:4px;display:flex}.controls i{border:1.5px solid var(--line);width:20px;height:18px;font-family:var(--body);color:var(--muted);border-radius:3px;place-items:center;font-size:.7rem;font-style:normal;font-weight:800;line-height:1;display:grid}.stage{flex-direction:column;flex:1 1 0;min-height:180px;display:flex}.stage.revealed{border-color:var(--gold)}.stage-body{flex:1;place-items:center;min-height:0;padding:16px;display:grid;overflow:hidden}.clue-text{text-align:center;font-size:clamp(1.15rem,4.2vw,1.55rem);font-weight:700;line-height:1.55}.clue-emoji{flex-wrap:wrap;justify-content:center;gap:12px 20px;font-size:clamp(2.4rem,11vw,4rem);display:flex}.hidden-step{font-family:var(--pixel);color:var(--line);border:3px dashed var(--line);border-radius:16px;place-items:center;padding:0 .3em;font-size:.8em;display:grid}.pop{animation:.25s ease-out pop;display:inline-block}@keyframes pop{0%{opacity:0;transform:translateY(6px)scale(.85)}to{opacity:1;transform:none}}.countdown{font-family:var(--pixel);color:var(--gold);font-size:9rem;line-height:1;animation:1s ease-out count}@keyframes count{0%{opacity:0;transform:scale(1.6)}30%{opacity:1}to{transform:scale(1)}}.lobby{text-align:center;flex-direction:column;align-items:center;gap:14px;width:min(340px,100%);display:flex}.lobby .deadline{width:100%}.versus{font-family:var(--pixel);font-size:1.8rem;line-height:1}.ready-list{flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:0;padding:0;list-style:none;display:flex}.ready-list li{color:var(--pc);font-weight:800}.clue-audio{flex-direction:column;align-items:center;gap:16px;display:flex}.eq{align-items:flex-end;gap:6px;height:100px;display:flex}.eq span{background:linear-gradient(to top, var(--p0), var(--gold), var(--p1));transform-origin:bottom;border-radius:3px;width:14px;height:100%;animation:.9s steps(6,end) infinite alternate paused eq;transform:scaleY(.15)}.clue-audio.playing .eq span{animation-play-state:running}@keyframes eq{0%{transform:scaleY(.15)}50%{transform:scaleY(.9)}to{transform:scaleY(.35)}}.clue-audio p{color:var(--muted);font-size:.9rem}.artwork{aspect-ratio:1;border-radius:12px;width:min(220px,50vw,30dvh);box-shadow:0 10px 40px #000a}.artwork.placeholder{background:var(--bg-2);place-items:center;font-size:5rem;display:grid}.clue-image{border-radius:12px;place-items:center;width:100%;height:100%;min-height:160px;display:grid;overflow:hidden}.clue-image img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%}.dock{flex-direction:column;flex:none;gap:8px;min-height:min(40dvh,330px);display:flex}.dock-matchOver,.dock-lobby{min-height:0}.dock-meta{text-align:center;color:var(--muted);font-size:.95rem}.dock-meta strong{font-family:var(--pixel);color:var(--gold);vertical-align:-3px;font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:400}.buzzers{flex:1;grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.buzzers.n1{grid-template-columns:1fr}.buzzers.n3 .buzzer:first-child{grid-column:span 2}.buzzer{border-radius:calc(var(--r) + 6px);background:var(--pc);min-height:110px;color:var(--ink);box-shadow:0 7px 0 color-mix(in srgb, var(--pc) 55%, black);touch-action:manipulation;-webkit-user-select:none;user-select:none;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:transform 50ms,box-shadow 50ms,opacity .15s;display:flex}.buzzer:active:not(:disabled){box-shadow:0 1px 0 color-mix(in srgb, var(--pc) 55%, black);transform:translateY(6px)}.buzzer:disabled{opacity:.35;box-shadow:none}.buzzer.locked{background:var(--card);color:var(--muted)}.buzzer-label{font-family:var(--pixel);text-transform:uppercase;font-size:clamp(2.4rem,9vw,3.4rem);line-height:1}.buzzers.n1 .buzzer-label{font-size:clamp(4rem,18vw,6rem)}.buzzer-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:800;overflow:hidden}.game-center{display:contents}.game.sides{max-width:none;padding:10px max(10px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));grid-template-columns:minmax(96px,19vw) minmax(0,1fr) minmax(96px,19vw);gap:10px;display:grid}.game.sides .game-center{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex}.game.sides .stage{min-height:110px}.game.sides .dock{flex:0 auto;min-height:0;max-height:60%;overflow-y:auto}.game.sides .sheet,.game.sides .recap{gap:8px;padding:10px}.game.sides .choices{grid-template-columns:repeat(2,1fr)}.game.sides .choice{min-height:44px;padding:8px 12px}.side{grid-auto-rows:1fr;gap:10px;min-height:0;display:grid}.side .buzzer{min-height:0;padding:8px}.game.sides .side .buzzer.locked .buzzer-label{font-size:clamp(1.3rem,2.6vw,2rem)}.game.sides.phase-answering .stage,.game.sides.phase-roundOver .stage{flex:0 0 34%;min-height:0}.game.sides.phase-answering .dock,.game.sides.phase-roundOver .dock{flex:auto;max-height:none}.side .buzzer-label{font-size:clamp(1.8rem,4.2vw,3rem)}.game.sides.n2 .side .buzzer-label{font-size:clamp(2.2rem,5.5vw,3.8rem)}.buzzer.answering:disabled{opacity:1;box-shadow:0 0 0 3px var(--text), 0 0 26px var(--pc)}.sheet{border-radius:var(--r);background:var(--card);border:1.5px solid var(--pc);box-shadow:var(--edge), 0 3px 0 color-mix(in srgb, var(--pc) 40%, #0a0520);flex-direction:column;flex:1;gap:10px;padding:14px;animation:.18s ease-out rise;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}.sheet-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.sheet-title{color:var(--pc);font-weight:800}.sheet-timer{font-family:var(--pixel);color:var(--pc);font-size:1.8rem;line-height:1}.choices{flex:1;grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.choice{border-radius:var(--r);border:1.5px solid color-mix(in srgb, var(--pc) 60%, transparent);background:color-mix(in srgb, var(--pc) 10%, var(--bg-2));text-align:left;align-items:center;gap:8px;min-height:56px;padding:12px;font-size:1rem;font-weight:800;display:flex}.choice kbd{flex:none;margin:0}.choice:hover:not(:disabled){background:color-mix(in srgb, var(--pc) 28%, var(--bg-2))}.choice:active:not(:disabled){transform:scale(.98)}.choice:disabled{opacity:.5}.sheet .choice:disabled:not(:hover){cursor:default}.recap{border-radius:var(--r);background:var(--card);border:1.5px solid var(--line);box-shadow:var(--raised);flex-direction:column;flex:1;gap:8px;padding:14px;animation:.2s ease-out rise;display:flex}.recap-head{justify-content:center;display:flex}.reward{color:var(--pc,var(--muted));flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-weight:800;display:flex}.reward-chip{font-family:var(--pixel);background:var(--pc);color:var(--ink);border-radius:999px;padding:4px 10px 2px;font-size:1.5rem;line-height:1;animation:.8s ease-out float-up}@keyframes float-up{0%{opacity:0;transform:translateY(18px)scale(.6)}60%{opacity:1;transform:translateY(-4px)scale(1.08)}}.reward-streak{background:var(--bg-2);color:var(--text);border-radius:999px;padding:2px 8px;font-size:.85rem}.recap-answer{font-family:var(--pixel);color:var(--gold);text-align:center;font-size:clamp(2rem,7vw,2.7rem);line-height:1}.recap-detail{text-align:center;color:var(--muted);font-size:.9rem}.recap-detail a{font-weight:800}.race{gap:5px;margin:4px 0;padding:0;list-style:none;display:grid}.race li{grid-template-columns:70px 1fr 90px;align-items:center;gap:8px;font-size:.85rem;display:grid}.race-name{color:var(--pc);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.race-track{background:var(--bg-2);border-radius:999px;height:8px;overflow:hidden}.race-bar{transform-origin:0;border-radius:999px;height:100%;animation:.6s ease-out grow;display:block}.race-bar.good{background:var(--good)}.race-bar.bad{background:var(--bad)}@keyframes grow{0%{transform:scaleX(0)}}.race-time{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.recap-actions{flex-direction:column;gap:8px;margin-top:auto;display:flex}.ready-pills{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.ready-pill{border:1.5px solid color-mix(in srgb, var(--pc) 40%, transparent);color:var(--muted);border-radius:999px;padding:3px 10px;font-size:.82rem;font-weight:800}.ready-pill.yes{border-color:var(--pc);color:var(--pc);background:color-mix(in srgb, var(--pc) 12%, transparent)}.overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;background:#0b0620d9;place-items:center;padding:16px;animation:.3s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.results{text-align:center;border-radius:calc(var(--r) + 4px);background:var(--card);border:1.5px solid var(--gold);width:min(420px,100%);box-shadow:var(--edge), 0 4px 0 var(--gold-deep);padding:24px 20px}.trophy{font-size:4rem;animation:.8s ease-out float-up}.results h2{font-family:var(--pixel);color:var(--pc,var(--text));margin:6px 0 18px;font-size:3rem;font-weight:400;line-height:1}.ranking{gap:6px;margin:0 0 20px;padding:0;list-style:none;display:grid}.ranking li{background:color-mix(in srgb, var(--pc) 12%, var(--bg-2));border-radius:12px;align-items:center;gap:10px;padding:8px 14px;display:flex}.ranking li:first-child{border:1.5px solid var(--pc)}.rank-medal{text-align:center;width:28px;color:var(--muted);font-size:.85rem}.rank-name{text-align:left;color:var(--pc);flex:1;font-weight:800}.ranking strong{font-family:var(--pixel);font-size:1.8rem;font-weight:400;line-height:1}@media (width<=640px){.room-grid{grid-template-columns:1fr}.room-code{font-size:4.5rem}.page-title{font-size:2.6rem}.door{min-height:120px}}@media (width<=420px){.choices{grid-template-columns:1fr}.choice{min-height:46px;padding:10px 12px}.choice kbd,.buzzer-name kbd,.player-input kbd{display:none}.sp-name{font-size:.75rem}.sp-pts{font-size:1.4rem}.race li{grid-template-columns:56px 1fr 72px}}
