.player-roster{gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.player-roster__row{border-left:2px solid #0000;align-items:center;gap:.5rem;padding:.3rem .4rem;font-size:.9rem;display:flex}.player-roster__row[data-connected=false]{opacity:.5}.player-roster__row--self{border-left-color:var(--halo-text);background:color-mix(in srgb, var(--halo) 30%, transparent);font-weight:800}.player-roster__name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.player-roster__you{opacity:.7;font-weight:600}.player-roster__judge,.player-roster__badge,.player-roster__played,.player-roster__score{flex:none}.player-roster__judge,.player-roster__badge{letter-spacing:.08em;white-space:nowrap;border:1px solid;border-radius:999px;padding:.1rem .4rem;font-size:.62rem;font-weight:800}.player-roster__played{font-weight:800}.player-roster__conn{opacity:.7;font-size:.72rem;font-family:var(--font-mono)}.player-roster__score{font-variant-numeric:tabular-nums;text-align:right;min-width:1.5rem;font-weight:800}.playing-card{all:unset;box-sizing:border-box;color:#16161a;cursor:pointer;background:#fdfdf8;border-radius:12px;flex-direction:column;justify-content:space-between;width:clamp(120px,28vw,170px);min-height:168px;padding:.75rem;font-weight:600;line-height:1.3;transition:transform .12s,box-shadow .12s;display:flex;position:relative;box-shadow:0 4px 12px #00000073}div.playing-card{cursor:default}.playing-card--prompt{color:#fdfdf8;background:#121216}.playing-card--selected{outline:3px solid var(--halo);box-shadow:0 0 18px color-mix(in srgb, var(--halo) 60%, transparent);transform:translateY(-10px)}.playing-card__badge{background:var(--halo);color:#fff;border-radius:50%;place-content:center;width:1.6rem;height:1.6rem;font-weight:800;display:grid;position:absolute;top:-.5rem;right:-.5rem}.playing-card__footer{opacity:.7;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.playing-card--back{cursor:default;background:repeating-linear-gradient(45deg,#1b1b20,#1b1b20 6px,#232329 6px 12px);border:1px solid #34343c;box-shadow:0 4px 12px #00000073}.judge-board__top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.25rem;display:flex}.judge-board__stage{flex-wrap:wrap;align-items:flex-start;gap:1.25rem;margin-top:1.25rem;display:flex}.judge-board__played{flex:20rem}.judge-board__played-label{text-transform:uppercase;letter-spacing:.1em;opacity:.7;margin:0 0 .5rem;font-size:.7rem}.judge-board__cue{border:2px solid;border-radius:999px;margin:0 0 .75rem;padding:.4rem .9rem;font-size:.92rem;font-weight:800;animation:1.6s ease-in-out infinite judge-cue-pulse;display:inline-block}@keyframes judge-cue-pulse{50%{opacity:.6}}.judge-board__result{border:2px solid;border-radius:12px;margin:1.25rem 1rem 0 0;padding:.55rem 1.1rem;font-size:1.05rem;font-weight:800;display:inline-block}.judge-board__result--final{font-size:1.3rem}.played-row{flex-wrap:wrap;gap:.75rem;display:flex}.judge-board__roster{flex:0 18rem;margin-left:auto}.judge-board__roster h3{margin:0;font-size:.8rem}@media (width<=700px){.judge-board__roster{border:1px solid color-mix(in srgb, currentColor 22%, transparent);border-radius:10px;flex:100%;margin-left:0;padding:.75rem .9rem}}.playing-card--prompt{color:#fdfdf8;background:#121216;width:clamp(150px,30vw,210px);min-height:210px;font-size:.95rem;font-weight:800;line-height:1.15}.judge-prompt{flex:none;margin:0}.judge-prompt img{border-radius:10px;max-width:clamp(150px,30vw,210px);margin-bottom:.6rem;display:block}.playing-card--dimmed{opacity:.45;cursor:default}.playing-card__title{text-align:center;margin-bottom:.35rem;font-size:.88rem;font-weight:800;line-height:1.15}.playing-card__art{border-radius:8px;width:100%;display:block}.playing-card__text{margin-top:.35rem;font-size:.78rem;font-weight:500}.playing-card__explain{z-index:40;color:#fdfdf8;text-align:left;pointer-events:none;background:#111116;border:1px solid #34343c;border-radius:10px;flex-direction:column;gap:.25rem;width:max-content;max-width:min(16rem,70vw);padding:.6rem .75rem;font-size:.78rem;font-weight:500;line-height:1.35;display:flex;position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000008c}.playing-card__explain strong{font-size:.82rem;font-weight:800}.playing-card__explain:after{content:"";border:6px solid #0000;border-top-color:#111116;position:absolute;top:100%;left:50%;transform:translate(-50%)}.player-console{z-index:5;padding:.5rem .6rem calc(.6rem + env(safe-area-inset-bottom));border-top:2px solid color-mix(in srgb, currentColor 40%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#101014e6;border-radius:12px 12px 0 0;margin-top:1rem;position:sticky;bottom:0}.player-console__banner{text-align:center;margin:0 0 .4rem;font-size:.85rem;font-weight:700}.action-chips{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-bottom:.4rem;display:flex}.action-chip{color:inherit;cursor:pointer;background:0 0;border:2px solid;border-radius:999px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:800}.player-console__submit{border-radius:10px;margin:0 auto .4rem;padding:.55rem 1.2rem;font-weight:800;display:block}.player-console__submit:disabled{opacity:.45}.hand-strip{scrollbar-width:thin;padding:.9rem .3rem .3rem;display:flex;overflow-x:auto}.hand-strip .playing-card{flex:none;width:clamp(96px,24vw,150px);min-height:140px;margin-left:-18px}.hand-strip .playing-card:first-child{margin-left:0}.hand-strip .playing-card--selected{z-index:2}.choice-sheet{z-index:20;padding:.9rem 1rem calc(1rem + env(safe-area-inset-bottom));color:#f2f2f2;background:#16161c;border-top:3px solid;border-radius:16px 16px 0 0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 30px #00000080}.choice-sheet__title{margin:0 0 .6rem;font-size:1rem}.choice-sheet__options{flex-wrap:wrap;gap:.45rem;max-height:40vh;display:flex;overflow-y:auto}.choice-sheet__option{color:inherit;cursor:pointer;background:#1f1f26;border:1px solid #4a4a55;border-radius:10px;padding:.55rem .9rem;font-weight:700}.choice-sheet__option--picked{outline:3px solid var(--halo,#7ac6ff)}.choice-sheet__confirm{border-radius:10px;width:100%;margin-top:.7rem;padding:.65rem;font-weight:800}.choice-sheet__confirm:disabled{opacity:.45}@media (width>=900px){.player-console{border-radius:12px;max-width:60rem;margin-inline:auto;position:static}.hand-strip{flex-wrap:wrap;justify-content:center}.hand-strip .playing-card{margin-left:0}.choice-sheet{border-radius:16px;max-width:32rem;margin:1rem auto 0;position:static}}.game-screen{position:relative}.game-screen[data-game]{border-radius:var(--r-lg);isolation:isolate;margin-top:1.75rem;padding:clamp(1.25rem,3.5vw,2.75rem);overflow:hidden}.game-screen[data-game]>*{z-index:1;position:relative}.game-screen[data-game] section[aria-label]{margin-top:1.5rem}.game-screen[data-game] dl{gap:.5rem;margin:1.25rem 0 0;display:grid}.game-screen[data-game] dt{font-size:.9rem;font-weight:700}.game-screen[data-game] dd{overflow-wrap:anywhere;margin:0}.game-screen[data-game] [role=status],.game-screen[data-game] [role=alert]{font-family:var(--font-mono);font-size:.82rem}.game-screen[data-game=cards-against-humanity]{color:#fafafa;background:#0a0a0a;border:1px solid #262626;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.game-screen[data-game=cards-against-humanity] :where(h2,h3,h4,p,li,dt,dd,legend){letter-spacing:-.02em;color:#fafafa;-webkit-text-fill-color:currentColor;background:0 0;font-family:inherit}.game-screen[data-game=cards-against-humanity] .judge-board__top>header h2{text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.1rem,1rem + 1vw,1.5rem);font-weight:800}.game-screen[data-game=cards-against-humanity] .judge-board__top>header p{color:#8a8a8a;margin:.15rem 0 0;font-size:.8rem}.game-screen[data-game=cards-against-humanity] .judge-prompt .playing-card--prompt{letter-spacing:-.02em;background:#111;border:1px solid #2e2e2e;padding-bottom:2.6rem;position:relative;box-shadow:0 20px 40px -20px #000,inset 0 1px #303030}.game-screen[data-game=cards-against-humanity] .judge-prompt .playing-card--prompt:after{content:"Party Card Platform";color:#d0d0d0;font-size:.6rem;font-weight:700;position:absolute;bottom:.7rem;left:.75rem}.game-screen[data-game=cards-against-humanity] .judge-prompt img{filter:grayscale()contrast(1.05)}.game-screen[data-game=cards-against-humanity] .judge-board .playing-card--response{transform:rotate(-1.2deg)}.game-screen[data-game=cards-against-humanity] .judge-board .playing-card--response:nth-child(2n){transform:rotate(1.4deg)}.game-screen[data-game=cards-against-humanity] aside{border-left:1px solid #262626;padding-left:1.25rem}@media (width<=700px){.game-screen[data-game=cards-against-humanity] aside{border:1px solid #262626;padding:.75rem .9rem}}.game-screen[data-game=cards-against-humanity] aside ul{gap:.35rem;padding:0;list-style:none;display:grid}.game-screen[data-game=what-do-you-meme]{color:#141414;background:#f3f1ea;border:4px solid #141414}.game-screen[data-game=what-do-you-meme] :where(h2,h3,h4){text-transform:uppercase;letter-spacing:.01em;color:#141414;-webkit-text-fill-color:#141414;background:0 0;font-family:Impact,Haettenschweiler,Franklin Gothic Bold,Arial Narrow Bold,sans-serif}.game-screen[data-game=what-do-you-meme] .judge-board__top>header h2{color:#141414;background:#ffe600;padding:.1rem .6rem;display:inline-block;transform:rotate(-1.5deg);box-shadow:4px 4px #141414}.game-screen[data-game=what-do-you-meme] .judge-board__top>header p{color:#3a3a3a;margin:.35rem 0 0;font-weight:700}.game-screen[data-game=what-do-you-meme] .judge-prompt .playing-card--prompt{color:#fff;text-transform:uppercase;text-align:center;-webkit-text-fill-color:#fff;background:#141414;border:4px solid #141414;border-radius:4px;font-family:Impact,Haettenschweiler,Franklin Gothic Bold,sans-serif;box-shadow:8px 8px #141414}.game-screen[data-game=what-do-you-meme] .judge-prompt img{border:4px solid #141414;border-radius:0;box-shadow:5px 5px #141414}.game-screen[data-game=what-do-you-meme] .judge-board .playing-card--response{border:3px solid #141414;border-radius:4px;transform:rotate(-1.5deg);box-shadow:5px 5px #141414}.game-screen[data-game=what-do-you-meme] .judge-board .playing-card--response:nth-child(3n+2){transform:rotate(2deg)}.game-screen[data-game=what-do-you-meme] .judge-board .playing-card--response:nth-child(3n){transform:rotate(-.5deg)}.game-screen[data-game=what-do-you-meme] .judge-board .playing-card__footer{color:#b58900;opacity:1;font-family:Impact,Haettenschweiler,sans-serif}.game-screen[data-game=what-do-you-meme] aside{color:#f3f1ea;background:#141414;padding:1rem 1.25rem;transform:rotate(.5deg)}.game-screen[data-game=what-do-you-meme] aside :where(h3){color:#ffe600;-webkit-text-fill-color:#ffe600}.game-screen[data-game=what-do-you-meme] aside ul{gap:.3rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.game-screen[data-game=what-do-you-meme] aside li{color:#f3f1ea}.game-screen[data-game=exploding-kittens]{--ek-ink:#1c140e;--ek-red:#e23b2e;--ek-yellow:#f4c430;color:var(--ek-ink);border:3px solid var(--ek-ink);box-shadow:8px 8px 0 var(--ek-ink);background-color:#f6ecd4;background-image:radial-gradient(#1c140e24 1.4px,#0000 1.5px);background-size:12px 12px}.game-screen[data-game=exploding-kittens] :where(h2,h3,h4){letter-spacing:.03em;color:var(--ek-ink);-webkit-text-fill-color:var(--ek-ink);text-transform:uppercase;background:0 0;font-family:Bangers,Comic Sans MS,cursive}.game-screen[data-game=exploding-kittens] .ek-header h2{text-shadow:3px 3px 0 var(--ek-yellow), 5px 5px 0 var(--ek-ink);font-size:clamp(2rem,1.4rem + 3.5vw,3.75rem);line-height:.95}.game-screen[data-game=exploding-kittens] .ek-phase{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ek-ink);background:repeating-linear-gradient(45deg, var(--ek-yellow) 0 12px, #1c140e00 0 14px), var(--ek-yellow);border:2px solid var(--ek-ink);border-radius:4px;margin:.4rem 0 0;padding:.3rem .9rem;font-size:.78rem;font-weight:700;display:inline-block}.game-screen[data-game=exploding-kittens] .ek-result{background:var(--ek-yellow);border:3px solid var(--ek-ink);box-shadow:5px 5px 0 var(--ek-ink);border-radius:10px;padding:1rem}.ek-table{justify-content:center;gap:1rem;margin-top:1rem;display:flex}.ek-pile{text-align:center;font-size:.8rem}.ek-pile__card{aspect-ratio:5/7;color:#16161a;background:#fdfdf8;border-radius:10px;place-content:center;gap:.3rem;width:clamp(84px,22vw,130px);padding:.4rem;font-size:.78rem;font-weight:800;display:grid;box-shadow:0 6px 16px #00000073}.ek-pile__card img{border-radius:6px;max-width:100%}.ek-pile__card--back{background:repeating-linear-gradient(45deg,#1b1b20,#1b1b20 6px,#232329 6px 12px);border:1px solid #34343c}.ek-pile__card--empty{border:2px dashed color-mix(in srgb, currentColor 35%, transparent);color:inherit;background:0 0}.ek-pile[data-low=true] .ek-pile__card--back{animation:1.4s ease-in-out infinite ek-shake}@keyframes ek-shake{0%,88%,to{transform:none}92%{transform:rotate(-2deg)}96%{transform:rotate(2deg)}}@media (prefers-reduced-motion:reduce){.ek-pile[data-low=true] .ek-pile__card--back{animation:none}}.ek-banner{text-align:center;border:2px solid;border-radius:10px;margin:.8rem 0 0;padding:.5rem .9rem;font-size:.88rem;font-weight:700}.ek-players{gap:.5rem;margin:0;padding:.8rem 0 .2rem;list-style:none;display:flex;overflow-x:auto}.ek-player{border:1px solid color-mix(in srgb, currentColor 30%, transparent);border-radius:12px;flex-direction:column;flex:none;align-items:center;gap:.15rem;padding:.45rem .8rem;font-size:.8rem;display:flex}.ek-player[data-active=true]{outline:3px solid var(--halo,#e8a13c)}.ek-player[data-eliminated=true]{opacity:.45}.ek-player__name{font-weight:800}.game-screen[data-game=unstable-unicorns]{--uu-ink:#3f326b;color:var(--uu-ink);background:radial-gradient(90% 70% at 10% 0,#ff9ecd80,#0000 60%),radial-gradient(80% 70% at 95% 10%,#9ef0d080,#0000 60%),linear-gradient(135deg,#fbe6f6,#ece9ff 45%,#dcfbef);border:1px solid #fff}.game-screen[data-game=unstable-unicorns] :where(h2,h3,h4,h5){letter-spacing:0;color:var(--uu-ink);-webkit-text-fill-color:var(--uu-ink);background:0 0;font-family:Fredoka,"Baloo 2",system-ui,sans-serif;font-weight:600}.game-screen[data-game=unstable-unicorns] .mythic-board header{grid-template-columns:minmax(12rem,1fr) minmax(20rem,2fr);gap:1rem;display:grid}.game-screen[data-game=unstable-unicorns] .mythic-board header h2{font-size:clamp(1.6rem,1.2rem + 2vw,2.6rem)}@media (width<=700px){.game-screen[data-game=unstable-unicorns] .mythic-board header{grid-template-columns:1fr;gap:.4rem}}.game-screen[data-game=unstable-unicorns] .mythic-card-row{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:.6rem;display:grid}.game-screen[data-game=unstable-unicorns] .mythic-card{overflow-wrap:anywhere;background:#fff;border-radius:14px;min-width:0;padding:.55rem;position:relative;overflow:hidden;box-shadow:0 6px 16px -10px #3f326b99}.game-screen[data-game=unstable-unicorns] .mythic-card:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(115deg,#ff9ecd,#b79cff,#9ef0d0,#ffe08a,#ff9ecd);padding:2px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.game-screen[data-game=unstable-unicorns] .mythic-card:after{content:"";mix-blend-mode:screen;pointer-events:none;background:linear-gradient(105deg,#0000,#fff9,#0000);width:45%;animation:5.5s ease-in-out infinite uu-sheen;position:absolute;top:0;bottom:0;left:-60%;transform:skew(-18deg)}@keyframes uu-sheen{0%{transform:translate(0)skew(-18deg)}55%,to{transform:translate(520%)skew(-18deg)}}.game-screen[data-game=unstable-unicorns] .mythic-card img{aspect-ratio:4/3;object-fit:cover;border-radius:8px;width:100%;max-height:10rem;display:block}.game-screen[data-game=unstable-unicorns] .mythic-card h5,.game-screen[data-game=unstable-unicorns] .mythic-card p{margin:.35rem 0;position:relative}.mythic-counts{opacity:.85;margin:.3rem 0 0;font-size:.8rem}.mythic-banner{text-align:center;border:2px solid;border-radius:10px;margin:.8rem 0 0;padding:.5rem .9rem;font-size:.88rem;font-weight:700}.mythic-self{border:1px solid color-mix(in srgb, currentColor 30%, transparent);border-radius:12px;margin-top:1rem;padding:.8rem}.mythic-self[data-active=true]{outline:3px solid var(--halo,#b98aff)}.mythic-others{gap:.6rem;padding:.8rem 0 .2rem;display:flex;overflow-x:auto}.mythic-other{border:1px solid color-mix(in srgb, currentColor 25%, transparent);border-radius:12px;flex:0 0 clamp(150px,44vw,220px);padding:.6rem;font-size:.8rem}.mythic-other[data-active=true]{outline:3px solid var(--halo,#b98aff)}.mythic-other h4{margin:0 0 .2rem}.mythic-thumbs{flex-wrap:wrap;gap:.25rem;margin-top:.4rem;display:flex}.mythic-thumbs img{border-radius:4px;width:34px}.mythic-thumbs__chip{border:1px solid;border-radius:6px;padding:.1rem .35rem;font-size:.68rem}.game-screen[data-game=warewolf]{--wolf-silver:#dbe4f7;--wolf-blood:#c23b43;color:#c5d0e6;background:radial-gradient(circle at 86% 16%,#f6f8ff 0 2.6rem,#dce6ff59 2.6rem 3.4rem,#0000 6rem),radial-gradient(140% 90% at 80% -5%,#9fb8e629,#0000 55%),radial-gradient(120% 120% at 10% 110%,#7864b424,#0000 55%),linear-gradient(#0c1424,#080c18);border:1px solid #9fb8e638}.game-screen[data-game=warewolf] :where(h2,h3){letter-spacing:.04em;color:var(--wolf-silver);-webkit-text-fill-color:var(--wolf-silver);text-shadow:0 0 18px #9fb8e659;background:0 0;font-family:Cinzel,Georgia,serif;font-weight:700}.game-screen[data-game=warewolf] .moonlit-board header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.game-screen[data-game=warewolf] .moonlit-board header h2{font-size:clamp(1.5rem,1.1rem + 2.2vw,2.6rem)}.game-screen[data-game=warewolf] .moonlit-board header p{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:#8fa0c4;font-size:.8rem}.game-screen[data-game=warewolf] .moonlit-grid{grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr));gap:.75rem;margin-top:1.5rem;display:grid}.game-screen[data-game=warewolf] .moonlit-grid article{background:linear-gradient(#9fb8e61f,#9fb8e608);border:1px solid #9fb8e647;border-radius:10px;padding:.9rem;box-shadow:inset 0 0 20px -8px #9fb8e680}.game-screen[data-game=warewolf] .moonlit-grid article h3{text-shadow:none;font-size:1.1rem}.game-screen[data-game=warewolf] .moonlit-grid article p{color:#9db0d4;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;margin:.35rem 0 0;font-size:.76rem}.game-screen[data-game=warewolf] .moonlit-grid .eliminated{filter:grayscale();opacity:.5;background:#c23b4314;border-color:#c23b438c;position:relative}.game-screen[data-game=warewolf] .moonlit-grid .eliminated:after{content:"†";color:var(--wolf-blood);font-size:1.1rem;position:absolute;top:.5rem;right:.7rem}.game-screen[data-game=warewolf] .moonlit-result{color:#f0cdd0;background:#c23b431a;border:1px solid #c23b4366;border-radius:10px;margin-top:1.25rem;padding:.9rem 1.1rem}.game-screen[data-game=warewolf] .moonlit-role{background:#080c18a6;border:1px solid #9fb8e659;border-radius:10px;align-items:flex-start;gap:1rem;margin:1.25rem 0;padding:1rem 1.1rem;display:flex}.game-screen[data-game=warewolf] .moonlit-role img{border-radius:8px;flex-shrink:0;width:clamp(72px,18vw,120px)}.game-screen[data-game=warewolf] .moonlit-role h3{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:#8fa0c4;margin:0 0 .4rem;font-size:.8rem}.game-screen[data-game=warewolf] .moonlit-role p{color:#d7e0f2;margin:.25rem 0}.game-screen[data-game=warewolf] [aria-label=Revealed\ deaths],.game-screen[data-game=warewolf] [aria-label=Dawn\ clues]{background:#080c1880;border:1px solid #9fb8e633;border-radius:10px;padding:1rem 1.1rem}.game-screen[data-game=warewolf] .moonlit-board ul{padding-inline-start:1.25rem}.game-screen[data-game=warewolf] .moonlit-board li{margin:.25rem 0}.game-screen[data-game=warewolf] .moonlit-board :where(h3,p,li){overflow-wrap:anywhere}@media (width<=520px){.game-screen[data-game=warewolf] .moonlit-board header{flex-direction:column;align-items:flex-start}.game-screen[data-game=warewolf] .moonlit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.game-screen[data-game=cards-against-humanity] button:not(.audio-controls__button):not(.seg):not(.playing-card){color:#0a0a0a;box-shadow:none;background:#fafafa;border-radius:8px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700}.game-screen[data-game=cards-against-humanity] button:not(.audio-controls__button):not(.seg):not(.playing-card):not(:disabled):hover{color:#fafafa;filter:none;background:#0a0a0a;box-shadow:inset 0 0 0 1px #fafafa}.game-screen[data-game=what-do-you-meme] button:not(.audio-controls__button):not(.seg):not(.playing-card){color:#141414;text-transform:uppercase;letter-spacing:.04em;background:#ffe600;border-radius:4px;font-family:Impact,Haettenschweiler,sans-serif;box-shadow:4px 4px #141414}.game-screen[data-game=what-do-you-meme] button:not(.audio-controls__button):not(.seg):not(.playing-card):not(:disabled):hover{filter:none;transform:translate(-2px,-2px);box-shadow:6px 6px #141414}.game-screen[data-game=exploding-kittens] button:not(.audio-controls__button):not(.seg):not(.playing-card){background:var(--ek-red);color:#fff;border:2px solid var(--ek-ink);box-shadow:3px 3px 0 var(--ek-ink);letter-spacing:.04em;border-radius:6px;font-family:Bangers,cursive;font-size:1.15rem}.game-screen[data-game=exploding-kittens] button:not(.audio-controls__button):not(.seg):not(.playing-card):not(:disabled):hover{box-shadow:4px 4px 0 var(--ek-ink);filter:none;transform:translate(-1px,-1px)}.game-screen[data-game=unstable-unicorns] button:not(.audio-controls__button):not(.seg):not(.playing-card){color:#3f326b;border-radius:var(--r-pill);background:linear-gradient(120deg,#ff9ecd,#b79cff,#9ef0d0) 0 0/200% 200%;font-family:Fredoka,system-ui,sans-serif;font-weight:600;box-shadow:0 8px 20px -10px #b79cffe6}.game-screen[data-game=unstable-unicorns] button:not(.audio-controls__button):not(.seg):not(.playing-card):not(:disabled):hover{filter:none;background-position:100%;transform:translateY(-2px)}.game-screen[data-game=warewolf] button:not(.audio-controls__button):not(.seg):not(.playing-card){color:var(--wolf-silver);letter-spacing:.04em;background:#9fb8e624;border:1px solid #9fb8e673;border-radius:8px;font-family:Cinzel,Georgia,serif;font-weight:600;box-shadow:0 0 18px -6px #9fb8e680}.game-screen[data-game=warewolf] button:not(.audio-controls__button):not(.seg):not(.playing-card):not(:disabled):hover{filter:none;background:#9fb8e642;box-shadow:0 0 26px -4px #9fb8e6b3}.game-screen[data-game=cards-against-humanity] :focus-visible,.game-screen[data-game=what-do-you-meme] :focus-visible,.game-screen[data-game=exploding-kittens] :focus-visible,.game-screen[data-game=unstable-unicorns] :focus-visible{outline-offset:2px;outline:3px solid #141414}.game-screen[data-game] fieldset{border-radius:var(--r-sm);opacity:.95;border:1px solid;margin-top:.75rem;padding:.75rem}.game-screen[data-game] legend{padding:0 .4rem;font-weight:700}.game-over__backdrop{z-index:70;background:color-mix(in srgb, var(--ink) 82%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-content:center;padding:1.5rem;display:grid;position:fixed;inset:0}.game-over{border-radius:var(--r-md);text-align:center;background:var(--surface-2);min-width:min(90vw,22rem);padding:clamp(1.5rem,4vw,2.5rem);box-shadow:0 24px 60px -20px #0009}.game-over__eyebrow{text-transform:uppercase;letter-spacing:.14em;opacity:.7;margin:0;font-size:.75rem;font-weight:700}.game-over__title{margin:.35rem 0 1.25rem;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:800}.game-over__actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.immersive__quit{white-space:nowrap;appearance:none;cursor:pointer;border-radius:var(--r-pill);box-shadow:none;color:var(--paper);background:0 0;border:2px solid;padding:.5rem 1.1rem;font-family:inherit;font-size:.85rem;font-weight:700;transition:opacity .15s}.immersive__quit:hover{opacity:.75}.immersive[data-game=cards-against-humanity] .immersive__quit{color:#fdfdf8}.immersive[data-game=what-do-you-meme] .immersive__quit{color:#ffe600}.immersive[data-game=exploding-kittens] .immersive__quit{color:#f4c430}.immersive[data-game=warewolf] .immersive__quit{color:#dbe4f7}.immersive[data-game=unstable-unicorns] .immersive__quit,.immersive__bar{color:var(--paper)}.game-screen[data-game=cards-against-humanity] .game-over{background:#111;border:1px solid #2e2e2e}.game-screen[data-game=what-do-you-meme] .game-over{color:#ffe600;background:#141414}.game-screen[data-game=exploding-kittens] .game-over{background:var(--ek-yellow);border:3px solid var(--ek-ink);box-shadow:5px 5px 0 var(--ek-ink)}.game-screen[data-game=unstable-unicorns] .game-over{background:#ffffffb8;border:1px solid #ffffffe6}.game-screen[data-game=warewolf] .game-over{color:#f0cdd0;background:#c23b431a;border:1px solid #c23b4366}.judge-alert{z-index:60;text-align:center;background:color-mix(in srgb, var(--ink) 88%, transparent);cursor:pointer;place-content:center;display:grid;position:fixed;inset:0}.judge-alert__title{font-size:clamp(1.6rem,6vw,3rem);font-weight:800}.judge-alert__hint{opacity:.75}.judge-waiting{text-align:center;opacity:.8}.uno-callout{z-index:65;text-align:center;pointer-events:auto;cursor:pointer;background:radial-gradient(60% 40%,#e2453d59,#0000 70%);place-content:center;animation:.25s ease-out uno-callout-pop;display:grid;position:fixed;inset:0}.uno-callout__title{letter-spacing:.02em;color:#ffe600;text-shadow:0 0 24px #e2453dcc,0 4px #00000059;margin:0;font-size:clamp(2rem,9vw,4.5rem);font-weight:900}@keyframes uno-callout-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.game-screen[data-game=uno]{background:radial-gradient(120% 70% at 50% -10%,#7a1f168c,#0000 60%),linear-gradient(#12323b,#08161a)}.uno-board{gap:1rem;display:grid}.uno-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.uno-status{flex-wrap:wrap;gap:.5rem;display:flex}.uno-chip{border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:.35rem .7rem;font-size:.85rem;font-weight:700}.uno-chip--color{text-transform:capitalize;box-shadow:0 0 0 2px var(--halo,transparent), 0 0 18px -2px var(--halo,transparent)}.uno-table{justify-content:center;align-items:center;gap:1.5rem;padding:.5rem 0;display:flex}.uno-pile{border-radius:12px;place-items:center;width:88px;height:126px;font-weight:800;display:grid}.uno-pile--draw{color:#cfe;background:repeating-linear-gradient(45deg,#12323b,#12323b 6px,#16414c 6px 12px)}.uno-pile--discard{background:var(--surface-2);box-shadow:0 0 0 3px var(--halo,transparent), 0 0 28px -4px var(--halo,transparent);position:relative;overflow:hidden}.uno-pile--discard img{object-fit:cover;width:100%;height:100%}.uno-players{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.uno-player{border:1px solid var(--line);border-radius:var(--r-pill);align-items:center;gap:.5rem;padding:.35rem .7rem;display:flex}.uno-player[data-active=true]{outline:2px solid var(--volt)}.uno-player__count{font-family:var(--font-mono);color:var(--muted);font-size:.8rem}.uno-howto{color:var(--muted);margin-top:.5rem;font-size:.85rem}.uno-howto summary{cursor:pointer;color:var(--paper);font-weight:700}.uno-howto ul{gap:.25rem;margin:.5rem 0 0;padding-left:1.1rem;display:grid}.audio-controls{color:var(--paper,#f5efe0);flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.audio-controls__button{font-family:var(--font-mono,inherit);cursor:pointer;border:1px solid var(--line-strong,#ffffff2e);width:3.4rem;min-height:2.4rem;color:var(--paper,#f5efe0);background:#ffffff14;border-radius:8px;justify-content:center;align-items:center;margin:0;padding:0;font-size:.76rem;font-weight:700;transition:border-color .15s,background .15s;display:inline-flex}.audio-controls__button[aria-pressed=true]{border-color:var(--volt,#4de1c1);color:var(--volt,#4de1c1)}.audio-controls__button[aria-pressed=false]{opacity:.56}.audio-controls__volume{background:#ffffff0f;border:1px solid #ffffff2e;border-radius:6px;align-items:center;gap:.5rem;min-height:2.4rem;padding:0 .7rem;font-size:.74rem;font-weight:900;display:inline-flex}.audio-controls__volume input{width:clamp(5.5rem,16vw,8rem);accent-color:var(--gold,#d4af37)}:root{--brand-primary:#2a6572;--brand-secondary:#9cbd2b;--brand-tertiary:#6a329c;--ink:#08161a;--ink-2:#0c1f24;--surface:#12323b;--surface-2:#16414c;--line:#ffffff17;--line-strong:#ffffff2b;--halo:var(--brand-primary);--halo-up:#2e7b8c;--halo-deep:#1b444e;--halo-text:#5fb0c2;--volt:var(--brand-secondary);--gold:var(--brand-tertiary);--gold-text:#b184e0;--danger:#ff6b6b;--paper:#eef5f5;--muted:#8fa9b1;--font-display:"Bricolage Grotesque", "Instrument Sans", system-ui, sans-serif;--font-body:"Instrument Sans", system-ui, -apple-system, sans-serif;--font-mono:"Space Mono", ui-monospace, "SFMono-Regular", monospace;--r-sm:10px;--r-md:16px;--r-lg:24px;--r-pill:999px;--glow-halo:0 0 0 1px #5fb0c273, 0 8px 30px -6px #2a6572bf;--shadow-card:0 1px 0 #ffffff0d inset, 0 24px 48px -24px #000000e6}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font-body);color:var(--paper);background:var(--ink);background-image:radial-gradient(120% 90% at 12% -10%, #2a657266, transparent 55%), radial-gradient(110% 85% at 92% 4%, #9cbd2b1a, transparent 55%), radial-gradient(140% 120% at 50% 120%, #6a329c2e, transparent 60%), linear-gradient(180deg, var(--ink-2), var(--ink));-webkit-font-smoothing:antialiased;margin:0;font-size:clamp(1rem,.95rem + .2vw,1.0625rem);line-height:1.55}img{max-width:100%;height:auto}::selection{background:var(--halo);color:#fff}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .4em;font-weight:700;line-height:1.05}h1{font-size:clamp(2.1rem,1.5rem + 3vw,3.6rem)}h2{font-size:clamp(1.35rem,1.1rem + 1vw,1.9rem)}h3{font-size:1.15rem}p{margin:0 0 1rem}a{color:var(--volt);font-weight:600;text-decoration:none}a:hover{color:#7ff0d8}.app{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#08161ab8;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem clamp(1rem,4vw,2.5rem);display:flex;position:sticky;top:0}.wordmark{font-family:var(--font-display);letter-spacing:-.02em;color:var(--paper);white-space:nowrap;align-items:center;gap:.6rem;font-size:1.1rem;font-weight:800;display:inline-flex}.wordmark:hover{color:var(--paper)}.wordmark__mut{color:var(--muted);font-weight:600}.topbar__start{align-items:center;gap:.9rem;min-width:0;display:flex}.topbar__tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--muted);white-space:nowrap;font-size:.72rem}.settings-menu{position:relative}.settings-menu__toggle{appearance:none;cursor:pointer;border:1px solid var(--line-strong);width:2.4rem;height:2.4rem;color:var(--paper);background:#ffffff0f;border-radius:8px;flex-direction:column;justify-content:center;gap:.3rem;padding:0 .6rem;transition:border-color .15s,background .15s;display:inline-flex}.settings-menu__toggle:hover,.settings-menu__toggle[aria-expanded=true]{border-color:var(--halo-text);background:#2a65724d}.settings-menu__bar{background:currentColor;border-radius:1px;width:100%;height:2px;display:block}.settings-menu__popup{z-index:60;background:linear-gradient(180deg, var(--surface), var(--surface-2));border:1px solid var(--line-strong);border-radius:var(--r-md);min-width:17rem;box-shadow:var(--shadow-card);color:var(--paper);padding:1rem 1.1rem;position:absolute;top:calc(100% + .6rem)}.settings-menu__popup--end{right:0}.settings-menu__popup--start{left:0}.settings-menu__title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin:0 0 .75rem;font-size:.7rem}@media (width<=520px){.topbar__tag,.wordmark__mut{display:none}}main{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem) clamp(1rem,4vw,2.5rem) 4rem}.btn,main button:not(.audio-controls__button):not(.seg):not(.playing-card):not(.immersive__quit){appearance:none;font-family:var(--font-display);letter-spacing:-.01em;color:#fff;border-radius:var(--r-pill);background:linear-gradient(140deg, var(--halo-up), var(--halo-deep));cursor:pointer;border:0;padding:.85rem 1.5rem;font-size:1rem;font-weight:700;transition:transform .12s,box-shadow .2s,filter .2s;box-shadow:inset 0 0 0 1px #ffffff2e,0 10px 26px -10px #08161ae6}.btn:hover,main button:not(.audio-controls__button):not(.seg):not(.playing-card):not(.immersive__quit):not(:disabled):hover{filter:saturate(1.15)brightness(1.08);transform:translateY(-2px);box-shadow:inset 0 0 0 1px #ffffff4d,0 16px 34px -10px #08161af2}.btn:active,main button:not(.audio-controls__button):not(.seg):not(.playing-card):not(.immersive__quit):active{transform:translateY(0)}.btn:disabled,main button:disabled{cursor:not-allowed;filter:grayscale(.5)brightness(.7);box-shadow:none;transform:none}.btn--ghost{color:var(--paper);box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0}.btn--ghost:hover{box-shadow:inset 0 0 0 1px var(--halo)}label{color:var(--muted);margin-bottom:.9rem;font-size:.82rem;font-weight:600;display:block}input[type=text],input:not([type]),input[type=search]{width:100%;font:inherit;color:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:#00000047;margin-top:.4rem;padding:.8rem 1rem;transition:border-color .15s,box-shadow .15s;display:block}input::placeholder{color:#9e96c099}input:focus-visible{border-color:var(--halo);outline:none;box-shadow:0 0 0 3px #2a657266}:focus-visible{outline:2px solid var(--volt);outline-offset:2px}[role=alert]{color:#ffd9d9;border-radius:var(--r-sm);background:#ff6b6b1f;border:1px solid #ff6b6b66;margin:.6rem 0 0;padding:.6rem .85rem;font-size:.9rem}.panel{background:linear-gradient(180deg, var(--surface), var(--surface-2));border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:clamp(1.25rem,3vw,2rem)}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.24em;color:var(--halo-text);margin:0 0 .75rem;font-size:.72rem}.lede{color:var(--muted);max-width:46ch;font-size:1.1rem}.hero{padding-top:clamp(1rem,4vw,3rem)}.hero h1{background:linear-gradient(120deg, #fff 20%, var(--halo-text) 60%, var(--gold-text));color:#0000;-webkit-background-clip:text;background-clip:text;max-width:16ch}.hero__glow{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-weight:800}.doors{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-top:2.25rem;display:grid}.door{position:relative;overflow:hidden}.door:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(80% 60% at 80% 0,#2a657259,#0000 60%);position:absolute;inset:0}.door--join:after{background:radial-gradient(80% 60% at 80% 0,#9cbd2b24,#0000 60%)}.door h2{margin-bottom:.35rem}.door p{color:var(--muted)}.door form{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}.door form input{margin-top:0}.identity{border-radius:var(--r-pill);border:1px solid var(--line);background:#00000040;align-items:center;gap:.55rem;padding:.4rem .4rem .4rem .9rem;font-size:.9rem;display:inline-flex}.identity strong{color:var(--gold-text);font-weight:700}.catalog{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.25rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.game-card{background:linear-gradient(180deg, var(--surface), var(--surface-2));border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-card);flex-direction:column;gap:.5rem;padding:1.4rem 1.4rem 1.5rem;transition:transform .15s,border-color .2s;display:flex;position:relative;overflow:hidden}.game-card:before{content:"";background:linear-gradient(90deg, var(--halo), var(--gold), var(--volt));opacity:.85;height:4px;position:absolute;inset:0 0 auto}.game-card:hover{border-color:var(--line-strong);transform:translateY(-4px)}.game-card h2{margin:.3rem 0 0;padding-right:2.4rem;font-size:1.3rem}.game-card p{color:var(--muted);flex:1;font-size:.95rem}.game-card button{align-self:flex-start;margin-top:.4rem}.game-card__info{width:1.7rem;height:1.7rem;font-family:var(--font-mono);color:var(--halo-text);border:1px solid var(--line-strong);border-radius:var(--r-pill);cursor:pointer;background:0 0;justify-content:center;align-self:auto;align-items:center;margin:0;padding:0;font-size:.85rem;font-style:italic;line-height:1;transition:border-color .15s,color .15s,background .15s;display:inline-flex;position:absolute;top:.85rem;right:.85rem}.game-card__info:hover,.game-card__info:focus-visible{color:var(--paper);border-color:var(--halo-text);background:var(--halo-deep)}.info-dialog__backdrop{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#08161ab8;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.info-dialog{background:linear-gradient(180deg, var(--surface), var(--surface-2));border:1px solid var(--line-strong);border-radius:var(--r-md);width:min(34rem,100%);max-height:min(85dvh,42rem);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.info-dialog__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.4rem .75rem;display:flex}.info-dialog__head h2{margin:0 0 .6rem}.info-dialog__eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin:0 0 .35rem;font-size:.7rem}.info-dialog__close{width:2rem;height:2rem;color:var(--muted);border:1px solid var(--line-strong);border-radius:var(--r-pill);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;display:inline-flex}.info-dialog__close:hover,.info-dialog__close:focus-visible{color:var(--paper);border-color:var(--halo-text)}.info-dialog__body{padding:1rem 1.4rem 1.3rem;overflow-y:auto}.info-dialog__body h3{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.22em;color:var(--halo-text);margin:1rem 0 .35rem;font-size:.72rem}.info-dialog__body section:first-child h3{margin-top:0}.info-dialog__body p{color:var(--paper);margin:0;font-size:.95rem}.status-note{color:var(--muted)}.session-code{flex-direction:column;gap:.55rem;margin:0 0 1.75rem;display:flex}.session-code__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.28em;color:var(--muted);font-size:.72rem}.session-code__cells{flex-wrap:wrap;gap:.5rem;display:flex}.session-code__copy{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.22em;color:#eafcff;cursor:pointer;background:#5fb0c224;border:1px solid #5fb0c273;border-radius:999px;align-self:flex-start;margin-top:.9rem;padding:.5rem 1.1rem;font-size:.72rem;transition:background .15s,border-color .15s}.session-code__copy:hover{background:#5fb0c247;border-color:#5fb0c2b3}.session-code__copy:focus-visible{outline-offset:2px;outline:2px solid #5fb0c2e6}.session-code__cell{width:clamp(2.6rem,8vw,4rem);height:clamp(3.4rem,10vw,5.2rem);font-family:var(--font-mono);color:#fff;box-shadow:var(--glow-halo), 0 14px 30px -14px #000000e6;background:linear-gradient(#16414c,#0b2229);border:1px solid #5fb0c266;border-radius:12px;place-items:center;font-size:clamp(1.8rem,5vw,3rem);font-weight:700;animation:3.2s ease-in-out infinite cell-pulse;display:grid;position:relative}.session-code__cell:after{content:"";background:#0000008c;height:1px;position:absolute;top:50%;left:8%;right:8%}.session-code__cell:nth-child(2){animation-delay:.2s}.session-code__cell:nth-child(3){animation-delay:.4s}.session-code__cell:nth-child(4){animation-delay:.6s}.session-code__cell:nth-child(5){animation-delay:.8s}.session-code__cell:nth-child(6){animation-delay:1s}@keyframes cell-pulse{0%,to{box-shadow:0 0 0 1px #5fb0c259,0 6px 20px -8px #5fb0c266,0 14px 30px -14px #000000e6}50%{box-shadow:0 0 0 1px #5fb0c2b3,0 10px 34px -6px #5fb0c2b3,0 14px 30px -14px #000000e6}}.lobby-grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=800px){.lobby-grid{grid-template-columns:1.4fr 1fr;align-items:start}}.status-pill{border-radius:var(--r-pill);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;border:1px solid var(--line);color:var(--muted);background:#ffffff0f;align-items:center;gap:.5rem;padding:.35rem .85rem;font-size:.74rem;display:inline-flex}.status-pill:before{content:"";background:var(--muted);border-radius:50%;width:.55rem;height:.55rem}.status-pill[data-state=connected]{color:var(--volt);border-color:#9cbd2b66}.status-pill[data-state=connected]:before{background:var(--volt);box-shadow:0 0 10px var(--volt)}.status-pill[data-state=connecting]{color:var(--gold-text);border-color:#6a329c80}.status-pill[data-state=connecting]:before{background:var(--gold-text);animation:1s steps(2,end) infinite blink}.status-pill[data-state=disconnected]{color:var(--danger);border-color:#ff6b6b66}.status-pill[data-state=disconnected]:before{background:var(--danger)}@keyframes blink{50%{opacity:.3}}.roster{gap:.55rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.roster__player{border:1px solid var(--line);border-radius:var(--r-sm);background:#00000038;align-items:center;gap:.75rem;padding:.7rem .9rem;display:flex}.roster__avatar{width:2.2rem;height:2.2rem;font-family:var(--font-display);color:var(--ink);background:linear-gradient(140deg, var(--volt), #7d9a1f);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.roster__player[data-host=true] .roster__avatar{background:linear-gradient(140deg, var(--gold), #4b2470);color:#fff}.roster__player[data-connected=false]{opacity:.5}.roster__name{flex:1;font-weight:600}.roster__badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;border-radius:var(--r-pill);color:var(--gold-text);background:#6a329c40;padding:.2rem .5rem;font-size:.66rem}.roster__conn{color:var(--muted);font-size:.78rem;font-family:var(--font-mono)}.start-cta{margin-top:1.25rem}.start-cta .btn,.start-cta button{padding:1rem 2rem;font-size:1.15rem}.waiting-note{color:var(--muted);font-family:var(--font-mono);font-size:.85rem}.pack-picker{flex-direction:column;gap:.4rem;max-width:22rem;margin-bottom:1rem;display:flex}.pack-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;display:inline-flex}.pack-toggle__input{opacity:0;width:0;height:0;position:absolute}.pack-toggle__track{background:#ffffff2e;border:1px solid #ffffff47;border-radius:999px;flex:none;width:2.6rem;height:1.5rem;transition:background .15s;position:relative}.pack-toggle__thumb{background:#fff;border-radius:50%;width:1.2rem;height:1.2rem;transition:transform .15s;position:absolute;top:2px;left:2px}.pack-toggle__input:checked+.pack-toggle__track{background:var(--accent,#6a329c);border-color:var(--accent,#6a329c)}.pack-toggle__input:checked+.pack-toggle__track .pack-toggle__thumb{transform:translate(1.1rem)}.pack-toggle__input:focus-visible+.pack-toggle__track{outline:2px solid var(--accent,#6a329c);outline-offset:2px}.pack-toggle__label{font-size:.95rem}.waiting-state{text-align:center;color:var(--muted);place-items:center;gap:.75rem;padding:3rem 1rem;display:grid}.waiting-state:before{content:"";border:3px solid #ffffff1f;border-top-color:var(--halo-text);border-radius:50%;width:2.4rem;height:2.4rem;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.app--immersive{background:0 0}.immersive{flex-direction:column;min-height:100dvh;display:flex}.immersive__bar{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#08161ab8;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem clamp(1rem,4vw,2rem);display:flex;position:sticky;top:0}.immersive__bar-start{align-items:center;gap:.9rem;min-width:0;display:flex}.immersive__bar-end{align-items:center;gap:.7rem;display:flex}.immersive__info{color:var(--paper);border-color:color-mix(in srgb, var(--paper) 45%, transparent);position:static}.immersive__info:hover,.immersive__info:focus-visible{color:var(--ink,#16161a);background:var(--paper);border-color:var(--paper)}.immersive__code{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;opacity:.85;font-size:.8rem}.immersive .game-screen[data-game]{border-radius:0;flex:1;min-height:calc(100dvh - 3rem);margin-top:0}.countdown-pill{font-family:var(--font-mono);background:color-mix(in srgb, var(--volt) 18%, transparent);color:var(--volt);border:1px solid;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .7rem;font-weight:700;display:inline-flex}.countdown-pill--urgent{background:color-mix(in srgb, var(--halo) 30%, transparent);color:var(--halo-text);animation:1s ease-in-out infinite countdown-pulse}@keyframes countdown-pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
