.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}.card-hand{gap:.75rem;display:grid}.card-hand__title{opacity:.85;font-size:1rem}.card-hand__grid{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.card-hand__submit{justify-self:center}.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}.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-counts{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;display:grid}.game-screen[data-game=exploding-kittens] .ek-counts>div{border:3px solid var(--ek-ink);box-shadow:3px 3px 0 var(--ek-ink);background:#fff;border-radius:8px;padding:.75rem .9rem}.game-screen[data-game=exploding-kittens] .ek-counts dt{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.game-screen[data-game=exploding-kittens] .ek-counts dd{margin-top:.15rem;font-family:Bangers,cursive;font-size:2rem;line-height:1}.game-screen[data-game=exploding-kittens] .ek-deck{color:#fff;border-color:var(--ek-ink);animation:1.4s ease-in-out infinite ek-fuse;position:relative;background:var(--ek-red)!important}.game-screen[data-game=exploding-kittens] .ek-deck dt,.game-screen[data-game=exploding-kittens] .ek-deck dd{color:#fff}.game-screen[data-game=exploding-kittens] .ek-deck:after{content:"💥";font-size:1.6rem;position:absolute;top:-.8rem;right:-.6rem;transform:rotate(12deg)}@keyframes ek-fuse{0%,to{box-shadow:3px 3px 0 var(--ek-ink), 0 0 0 0 #e23b2e80}50%{box-shadow:3px 3px 0 var(--ek-ink), 0 0 22px 3px #e23b2ebf}}.game-screen[data-game=exploding-kittens] .ek-card,.game-screen[data-game=exploding-kittens] .ek-status,.game-screen[data-game=exploding-kittens] .ek-result{border:3px solid var(--ek-ink);box-shadow:5px 5px 0 var(--ek-ink);background:#fff;border-radius:10px;padding:1rem}.game-screen[data-game=exploding-kittens] .ek-result{background:var(--ek-yellow)}.game-screen[data-game=exploding-kittens] .ek-card{max-width:20rem;transform:rotate(-1.5deg)}.game-screen[data-game=exploding-kittens] .ek-card img{border:2px solid var(--ek-ink);border-radius:6px}.game-screen[data-game=exploding-kittens] .ek-roster ul{gap:.4rem;padding:0;list-style:none;display:grid}.game-screen[data-game=exploding-kittens] .ek-roster li{border:2px solid var(--ek-ink);background:#fff;border-radius:6px;padding:.45rem .75rem;font-weight:600}.game-screen[data-game=exploding-kittens] .ek-roster li[data-eliminated=true]{opacity:.55;background:#efe6cf;text-decoration:line-through}.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)}.game-screen[data-game=unstable-unicorns] .mythic-counts{grid-template-columns:repeat(3,minmax(5rem,1fr));gap:.5rem;margin:0;display:grid}.game-screen[data-game=unstable-unicorns] .mythic-counts div,.game-screen[data-game=unstable-unicorns] .mythic-status,.game-screen[data-game=unstable-unicorns] .mythic-tableau{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffb8;border:1px solid #ffffffe6;border-radius:16px;padding:.85rem;box-shadow:0 10px 24px -14px #3f326b80}.game-screen[data-game=unstable-unicorns] .mythic-counts dt{font-size:.78rem;font-weight:700}.game-screen[data-game=unstable-unicorns] .mythic-counts dd{overflow-wrap:anywhere;margin:0}.game-screen[data-game=unstable-unicorns] .mythic-tableaux{grid-template-columns:repeat(auto-fit,minmax(min(22rem,100%),1fr));gap:1rem;margin-top:1rem;display:grid}.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}.game-screen[data-game=unstable-unicorns] .mythic-tableau h4{text-transform:uppercase;letter-spacing:.08em;opacity:.75;margin:.75rem 0 .35rem;font-size:.8rem}.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] [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{border-radius:var(--r-md);text-align:center;margin-top:2rem;padding:clamp(1.25rem,3vw,2rem)}.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}.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)}.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;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__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}.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__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}}
