.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)}.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>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>header p{color:#8a8a8a;margin:.15rem 0 0;font-size:.8rem}.game-screen[data-game=cards-against-humanity] .judge-prompt{background:#111;border:1px solid #2e2e2e;border-radius:14px;min-height:12rem;margin-top:1.5rem;padding:1.5rem 1.5rem 3.25rem;position:relative;box-shadow:0 20px 40px -20px #000,inset 0 1px #303030}.game-screen[data-game=cards-against-humanity] .judge-prompt h3{letter-spacing:-.03em;max-width:22ch;margin:0;font-size:clamp(1.5rem,1.1rem + 2.4vw,2.75rem);font-weight:800;line-height:1.1}.game-screen[data-game=cards-against-humanity] .judge-prompt:after{content:"Party Card Platform";letter-spacing:.02em;color:#d0d0d0;font-size:.72rem;font-weight:700;position:absolute;bottom:1.15rem;left:1.5rem}.game-screen[data-game=cards-against-humanity] .judge-prompt:before{content:"";background:#fff;border-radius:3px;width:1.4rem;height:1.4rem;position:absolute;bottom:.85rem;left:1.5rem;transform:translateY(-1.65rem)}.game-screen[data-game=cards-against-humanity] .judge-prompt img{filter:grayscale()contrast(1.05);border-radius:6px;margin-bottom:1rem}.game-screen[data-game=cards-against-humanity] .judge-board>ol{flex-wrap:wrap;gap:.9rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.game-screen[data-game=cards-against-humanity] .judge-board>ol>li{background:#fafafa;border-radius:12px;flex:0 15rem;min-height:9rem;padding:1.1rem 1.1rem 2.5rem;transition:transform .15s;position:relative;transform:rotate(-1.2deg);box-shadow:0 14px 26px -14px #000;color:#0a0a0a!important}.game-screen[data-game=cards-against-humanity] .judge-board>ol>li:nth-child(2n){transform:rotate(1.4deg)}.game-screen[data-game=cards-against-humanity] .judge-board>ol>li:hover{transform:rotate(0)translateY(-4px)}.game-screen[data-game=cards-against-humanity] .judge-board>ol>li strong{text-transform:uppercase;letter-spacing:.14em;margin-bottom:.5rem;font-size:.66rem;display:block;color:#9a9a9a!important}.game-screen[data-game=cards-against-humanity] .judge-board>ol>li p{-webkit-text-fill-color:#0a0a0a;margin:0;font-size:1.05rem;font-weight:700;line-height:1.2;color:#0a0a0a!important}.game-screen[data-game=cards-against-humanity] .judge-board>ol>li:after{content:"♠";color:#0a0a0a;font-size:.9rem;position:absolute;bottom:.8rem;left:1.1rem}.game-screen[data-game=cards-against-humanity] aside{border-top:1px solid #262626;margin-top:2rem;padding-top:1rem}.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>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>header p{color:#3a3a3a;margin:.35rem 0 0;font-weight:700}.game-screen[data-game=what-do-you-meme] .judge-prompt{background:#fff;border:4px solid #141414;max-width:34rem;margin-top:1.5rem;padding:0;overflow:hidden;box-shadow:8px 8px #141414}.game-screen[data-game=what-do-you-meme] .judge-prompt img{border-bottom:4px solid #141414;width:100%;display:block}.game-screen[data-game=what-do-you-meme] .judge-prompt h3{text-align:center;color:#fff;-webkit-text-fill-color:#fff;-webkit-text-stroke:1px #000;background:#141414;margin:0;padding:.9rem 1rem 1.1rem;font-size:clamp(1.4rem,1.1rem + 2vw,2.4rem);line-height:1.05}.game-screen[data-game=what-do-you-meme] .judge-board>ol{flex-wrap:wrap;gap:1rem;margin:1.75rem 0 0;padding:0;list-style:none;display:flex}.game-screen[data-game=what-do-you-meme] .judge-board>ol>li{background:#fff;border:3px solid #141414;flex:0 16rem;padding:.9rem 1rem;transform:rotate(-1.5deg);box-shadow:5px 5px #141414}.game-screen[data-game=what-do-you-meme] .judge-board>ol>li:nth-child(3n+2){transform:rotate(2deg)}.game-screen[data-game=what-do-you-meme] .judge-board>ol>li:nth-child(3n){transform:rotate(-.5deg)}.game-screen[data-game=what-do-you-meme] .judge-board>ol>li strong{text-transform:uppercase;letter-spacing:.08em;color:#b58900;font-family:Impact,Haettenschweiler,sans-serif;font-size:.75rem}.game-screen[data-game=what-do-you-meme] .judge-board>ol>li p{margin:.35rem 0 0;font-weight:600}.game-screen[data-game=what-do-you-meme] aside{color:#f3f1ea;background:#141414;margin-top:1.75rem;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){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(: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){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(: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){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(: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){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(:disabled):hover{filter:none;background-position:100%;transform:translateY(-2px)}.game-screen[data-game=warewolf] button:not(.audio-controls__button):not(.seg){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(: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}.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}:root{--ink:#0e0a1f;--ink-2:#140e29;--surface:#1a1436;--surface-2:#221a44;--line:#ffffff17;--line-strong:#ffffff2b;--halo:#ff2e88;--halo-deep:#c0186a;--volt:#4de1c1;--gold:#ffc24b;--danger:#ff6b6b;--paper:#f3eeff;--muted:#9e96c0;--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 #ff2e8880, 0 8px 30px -6px #ff2e888c;--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%, #ff2e8829, transparent 55%), radial-gradient(110% 85% at 92% 4%, #4de1c121, transparent 55%), radial-gradient(140% 120% at 50% 120%, #ffc24b14, 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:#0e0a1fb8;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__pip{border-radius:var(--r-sm);background:linear-gradient(140deg, var(--halo), var(--halo-deep));color:#fff;width:2rem;height:2rem;box-shadow:0 6px 18px -6px var(--halo);place-items:center;font-size:1.1rem;display:inline-grid}.wordmark__mut{color:var(--muted);font-weight:600}.topbar__tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--muted);white-space:nowrap;font-size:.72rem}@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){appearance:none;font-family:var(--font-display);letter-spacing:-.01em;color:#fff;border-radius:var(--r-pill);background:linear-gradient(140deg, var(--halo), var(--halo-deep));box-shadow:0 10px 26px -10px var(--halo);cursor:pointer;border:0;padding:.85rem 1.5rem;font-size:1rem;font-weight:700;transition:transform .12s,box-shadow .2s,filter .2s}.btn:hover,main button:not(.audio-controls__button):not(.seg):not(:disabled):hover{box-shadow:0 16px 34px -10px var(--halo);filter:saturate(1.1);transform:translateY(-2px)}.btn:active,main button:not(.audio-controls__button):not(.seg):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 #ff2e8840}: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);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) 60%, var(--gold));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,#ff2e8824,#0000 60%);position:absolute;inset:0}.door--join:after{background:radial-gradient(80% 60% at 80% 0,#4de1c129,#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);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__index{font-family:var(--font-mono);color:var(--muted);letter-spacing:.05em;font-size:.8rem;font-weight:700;position:absolute;top:.9rem;right:1rem}.game-card h2{margin:.3rem 0 0;padding-right:2.5rem;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}.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(#241a49,#150f2e);border:1px solid #ff2e8859;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 #ff2e8859,0 6px 20px -8px #ff2e8866,0 14px 30px -14px #000000e6}50%{box-shadow:0 0 0 1px #ff2e88b3,0 10px 34px -6px #ff2e88b3,0 14px 30px -14px #000000e6}}.lobby-grid{grid-template-columns:1fr;gap:1.25rem;margin-top:1.5rem;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:#4de1c166}.status-pill[data-state=connected]:before{background:var(--volt);box-shadow:0 0 10px var(--volt)}.status-pill[data-state=connecting]{color:var(--gold);border-color:#ffc24b66}.status-pill[data-state=connecting]:before{background:var(--gold);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), #2bb79c);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), #d99a1e)}.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);background:#ffc24b24;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);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;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem clamp(1rem,4vw,2rem);display:flex;position:sticky;top:0}.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}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
