:root{--ink:#f4f2e9;--muted:#9eaaa2;--yellow:#f6c915;--red:#ff4d37;--green:#31db81;--blue:#27a5ff;--felt:#0d2a1b;--deep:#06110b;--panel:#112219e0;--line:#ffffff24;--brand:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;--display:"Trebuchet MS", ui-rounded, "Arial Rounded MT Bold", system-ui, sans-serif;--body:"Trebuchet MS", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--deep)}body{color:var(--ink);background:var(--deep);font-family:var(--body);margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.landing-shell,.lobby-shell,.room-entry{background:linear-gradient(#ffffff05 1px,#0000 1px) 0 0/52px 52px,linear-gradient(90deg,#ffffff05 1px,#0000 1px) 0 0/52px 52px,radial-gradient(circle at 78% 28%,#184c2a 0,#0a2014 33%,#06110b 68%);min-height:100svh;position:relative;overflow:hidden}.ambient{filter:blur(80px);pointer-events:none;opacity:.22;border-radius:50%;position:absolute}.ambient-one{background:var(--yellow);width:36rem;height:36rem;top:-12rem;right:-20rem}.ambient-two{background:#007940;width:28rem;height:28rem;bottom:4rem;left:-16rem}.landing-nav,.room-header,.game-header{z-index:5;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:76px;padding:0 clamp(22px,5vw,78px);display:flex;position:relative}.wordmark{font:900 28px/1 var(--brand);letter-spacing:-.04em;transform:skew(-5deg)}.wordmark span{color:var(--yellow)}.wordmark.compact{font-size:24px}.nav-rule-link{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:13px;font-weight:700}.nav-rule-link:hover{color:var(--yellow)}.landing-nav-actions{align-items:center;gap:clamp(14px,2.5vw,34px);display:flex}.nav-app-link{color:#a9f4cc;letter-spacing:.12em;text-transform:uppercase;background:#31db8112;border:1px solid #31db815c;align-items:center;min-height:34px;padding:0 13px;font-size:10px;font-weight:900;transition:border-color .16s,background .16s,transform .16s;display:inline-flex}.nav-app-link:hover,.nav-app-link:focus-visible{border-color:var(--green);background:#31db8126;outline:none;transform:translateY(-1px)}.hero{z-index:2;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);align-items:center;gap:clamp(40px,8vw,120px);max-width:1460px;min-height:calc(100svh - 76px);margin:auto;padding:clamp(48px,8vw,110px) clamp(22px,5vw,78px) 90px;display:grid;position:relative}.eyebrow{color:#bac6be;font:700 12px/1.2 var(--body);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:10px;display:flex}.eyebrow span{background:var(--yellow);width:26px;height:2px;box-shadow:0 0 12px var(--yellow)}.hero h1,.lobby-top h1,.entry-card h1{font:900 clamp(60px, 7.2vw, 116px)/.96 var(--display);letter-spacing:-.045em;text-transform:uppercase;text-shadow:0 8px #00000047;margin:20px 0 22px}.hero h1 em,.lobby-top h1 em{color:var(--yellow);font-style:normal}.hero-lead{color:#bac2bc;max-width:580px;font-size:clamp(16px,1.4vw,20px);line-height:1.55}.play-panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#05100ab8;max-width:620px;margin-top:34px;padding:8px;box-shadow:0 22px 70px #00000061}.mode-tabs{border-bottom:1px solid var(--line);gap:4px;padding:0 10px;display:flex}.mode-tabs button{color:#7e8d83;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:14px 12px 12px;font-size:12px;font-weight:800}.mode-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--yellow)}.play-fields{grid-template-columns:1fr auto;align-items:end;gap:10px;padding:16px;display:grid}.play-fields:has(.code-input){grid-template-columns:minmax(130px,1fr) 120px auto}label{gap:7px;display:grid}label>span{color:#93a198;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:800}input{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#0a1911;border-radius:2px;outline:0;padding:0 14px}input:focus{border-color:var(--yellow);box-shadow:0 0 0 3px #f6c9151f}.code-input{text-transform:uppercase;letter-spacing:.18em;font-weight:900}.primary-button{background:var(--yellow);color:#151204;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;border:0;border-radius:2px;justify-content:center;align-items:center;gap:22px;min-height:48px;padding:0 20px;font-size:13px;font-weight:900;transition:transform .16s,box-shadow .16s,opacity .16s;display:inline-flex;box-shadow:0 8px 24px #f6c9151f}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 30px #f6c91540}.primary-button:disabled{opacity:.45;cursor:not-allowed}.primary-button span{font-size:20px}.play-note{color:#718076;margin:0 16px 12px;font-size:11px}.training-consent{cursor:pointer;background:#030f087a;border:1px solid #ffffff14;grid-column:1/-1;align-items:flex-start;padding:10px 12px;line-height:1.45;color:#8fa197!important;letter-spacing:.02em!important;text-transform:none!important;gap:9px!important;font-size:9px!important;font-weight:600!important;display:flex!important}.training-consent input{accent-color:#ffd217;flex:none;width:15px;height:15px;margin-top:1px}.training-consent a{color:#ffd217;text-underline-offset:2px;text-decoration:underline}.form-error{color:#ff8b7d;margin:0 16px 12px;font-size:12px}.app-download-card{background:linear-gradient(100deg,#31db811c,#07160dd1);border:1px solid #31db814d;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;width:min(100%,620px);min-height:72px;margin-top:12px;padding:12px 16px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;box-shadow:0 14px 34px #0003}.app-download-card:hover,.app-download-card:focus-visible{border-color:#31db81bf;outline:none;transform:translateY(-2px);box-shadow:0 18px 40px #0000004d,0 0 24px #31db8117}.app-download-icon{color:#06110b;background:var(--green);border-radius:50%;place-items:center;width:42px;height:42px;font-size:23px;font-weight:900;display:grid;box-shadow:0 0 18px #31db8140}.app-download-copy{gap:2px;min-width:0;display:grid}.app-download-copy small{color:#7dddaa;letter-spacing:.16em;font-size:8px;font-style:normal;font-weight:900}.app-download-copy strong{color:var(--ink);letter-spacing:.02em;font-size:14px}.app-download-copy em{color:#82958a;font-size:10px;font-style:normal}.app-download-card>b{color:var(--green);font-size:20px}.hero-cards{perspective:1100px;height:min(650px,68vw);min-height:470px;max-height:650px;position:relative}.hero-card{aspect-ratio:355/502;filter:drop-shadow(0 34px 28px #00000075);width:clamp(190px,20vw,285px);position:absolute}.hero-card img{object-fit:fill;border-radius:6%;width:100%;height:100%}.hero-card-back{opacity:.7;top:18%;left:5%;transform:rotate(-20deg)translateZ(-40px)}.hero-card-back img{object-fit:fill}.hero-card-ten{z-index:2;top:6%;left:30%;transform:rotate(-6deg)translateZ(20px)}.hero-card-roulette{top:25%;right:0;transform:rotate(14deg)}.threat-badge{z-index:4;background:var(--red);border:7px solid #0b1c12;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:128px;height:128px;display:flex;position:absolute;bottom:11%;left:8%;transform:rotate(-9deg);box-shadow:0 0 0 1px #ffffff40,0 18px 30px #0006}.threat-badge strong{font:900 42px/.8 var(--display)}.threat-badge span{font:800 9px/1.05 var(--body);letter-spacing:.1em;text-align:center;margin-top:8px}.rule-strip{z-index:2;border-top:1px solid var(--line);max-width:1460px;margin:0 auto;padding:90px clamp(22px,5vw,78px) 110px;position:relative}.section-heading span{color:var(--yellow);letter-spacing:.18em;font-size:11px;font-weight:800}.section-heading h2{font:800 clamp(38px, 4.3vw, 64px)/.95 var(--display);letter-spacing:-.025em;margin:8px 0 36px}.rule-grid{border:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.rule-grid article{border-right:1px solid var(--line);background:#0a1d1280;grid-template-rows:1fr auto;min-height:210px;padding:28px;display:grid}.rule-grid article:last-child{border:0}.rule-grid article>b{color:#ffffff14;font:900 66px/.8 var(--display)}.rule-grid h3{color:var(--yellow);font:800 28px/1 var(--display);text-transform:uppercase;margin:0 0 8px}.rule-grid p{color:#9da9a1;margin:0;font-size:13px;line-height:1.55}.landing-footer{color:#6f7d73;border-top:1px solid var(--line);justify-content:space-between;gap:20px;max-width:1460px;margin:auto;padding:28px clamp(22px,5vw,78px);font-size:10px;display:flex}.landing-footer span{color:var(--ink);font:900 18px/1 var(--display)}.landing-footer p{text-align:right;margin:0}.room-entry,.lobby-shell{place-items:center;padding:100px 22px 40px;display:grid}.room-entry>.wordmark{position:absolute;top:28px;left:32px}.entry-card{border:1px solid var(--line);background:#07140ce6;width:min(100%,520px);padding:clamp(28px,6vw,58px);box-shadow:0 30px 100px #00000080}.entry-card h1{font-size:clamp(46px,8vw,76px)}.entry-card>p:not(.eyebrow):not(.form-error){color:var(--muted);line-height:1.55}.entry-card form{gap:14px;margin-top:28px;display:grid}.text-button{color:var(--yellow);cursor:pointer;background:0 0;border:0;font-weight:800}.lobby-shell{padding-top:110px}.room-header{width:100%;position:absolute;top:0;left:0}.connection-pill{color:#8d9d92;text-transform:uppercase;letter-spacing:.13em;align-items:center;gap:8px;font-size:10px;font-weight:800;display:flex}.connection-pill i{background:#69736d;border-radius:50%;width:7px;height:7px}.connection-pill.online i{background:var(--green);box-shadow:0 0 11px var(--green)}.connection-pill.offline i{background:var(--red)}.lobby-card{border:1px solid var(--line);background:#06120be0;width:min(100%,1020px);padding:clamp(24px,5vw,54px);box-shadow:0 35px 100px #00000080}.lobby-top{justify-content:space-between;align-items:flex-start;gap:30px;display:flex}.lobby-top h1{margin-bottom:8px;font-size:clamp(54px,7vw,90px)}.room-code{border:1px solid var(--line);text-align:left;cursor:pointer;background:#ffffff09;min-width:190px;padding:17px 20px}.room-code small,.room-code span{color:#75837a;letter-spacing:.15em;font-size:9px;font-weight:800;display:block}.room-code strong{color:var(--yellow);font:900 38px/1 var(--display);letter-spacing:.15em;margin:6px 0 8px;display:block}.lobby-progress{color:#85938a;letter-spacing:.12em;align-items:center;gap:18px;margin:24px 0;font-size:10px;font-weight:800;display:flex}.lobby-progress i{background:#ffffff17;flex:1;height:3px}.lobby-progress b{background:var(--yellow);height:100%;transition:width .3s;display:block}.lobby-players{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.lobby-players article{border:1px solid var(--line);background:#ffffff06;align-items:center;gap:14px;min-height:70px;padding:11px 14px;display:flex}.avatar{width:42px;height:42px;color:var(--yellow);font:800 16px/1 var(--display);background:#17251c;border:1px solid #f6c91559;border-radius:50%;flex:none;place-items:center;display:grid}.lobby-players article>div:nth-child(2){flex:1;gap:3px;display:grid}.lobby-players strong{font-size:13px}.lobby-players span{color:#708077;letter-spacing:.12em;font-size:9px}.lobby-players article>i{background:var(--green);border-radius:50%;width:7px;height:7px}.lobby-players article.disconnected{opacity:.5}.lobby-players article.disconnected>i{background:var(--red)}.lobby-players article.bot-seat{background:linear-gradient(100deg,#2a74d317,#ffffff05);border-color:#4897ff47}.lobby-players article.bot-seat .avatar{color:#8ec4ff;border-color:#4897ff8c}.kick-player{color:#ff8b7d;letter-spacing:.1em;cursor:pointer;background:#ff4d3712;border:1px solid #ff4d3757;padding:7px 8px;font-size:7px;font-weight:900}.kick-player:hover,.kick-player:focus-visible{border-color:var(--red);background:#ff4d3729;outline:none}.kick-player:disabled{opacity:.4;cursor:wait}.lobby-players .empty-seat{color:#657369;border-style:dashed;justify-content:center}.empty-seat b{font-size:24px;font-weight:300}.lobby-actions{justify-content:space-between;align-items:center;gap:20px;margin-top:24px;display:flex}.lobby-actions p{color:#819087;margin:0;font-size:12px}.lobby-host-actions{align-items:stretch;gap:8px;display:flex}.add-bot-button{color:#9dccff;letter-spacing:.1em;cursor:pointer;background:#2a74d317;border:1px solid #4897ff61;min-width:118px;padding:0 14px;font-size:9px;font-weight:900}.add-bot-button span{color:#d8ebff;margin-right:5px;font-size:16px}.add-bot-button:hover,.add-bot-button:focus-visible{background:#2a74d32e;border-color:#5ca6ff;outline:none}.add-bot-button:disabled{opacity:.35;cursor:not-allowed}.waiting-host{color:var(--yellow);font:800 11px/1 var(--body);letter-spacing:.14em}.voice-dock{border:1px solid var(--line);background:#ffffff06;margin:0 0 18px;padding:10px}.voice-controls{align-items:center;gap:8px;min-width:0;display:flex}.voice-controls>small{color:#718077;letter-spacing:.12em;white-space:nowrap;margin-left:auto;font-size:8px;font-weight:800}.voice-primary,.voice-mute{border:1px solid var(--line);color:#b8c4bc;letter-spacing:.1em;cursor:pointer;background:#102219;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 11px;font-size:8px;font-weight:900;display:inline-flex}.voice-primary:disabled{opacity:.5;cursor:wait}.voice-primary i{background:#68766d;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #ffffff0a}.voice-dock.online .voice-primary{color:var(--ink);border-color:#31db816b}.voice-dock.online .voice-primary i{background:var(--green);box-shadow:0 0 10px #31db81bf}.voice-primary.speaking i{animation:.8s ease-in-out infinite alternate voice-pulse}.voice-mute{background:0 0}.voice-mute.muted{color:#ff8b7d;border-color:#ff4d3773}.voice-members{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:5px;margin-top:9px;display:grid}.voice-member{background:#030c076b;border:1px solid #ffffff12;grid-template-rows:1fr 1fr;grid-template-columns:9px 1fr;align-items:center;column-gap:7px;min-width:0;min-height:35px;padding:6px 8px;display:grid}.voice-member>i{background:#728078;border-radius:50%;grid-row:1/3;width:7px;height:7px}.voice-member>span{text-overflow:ellipsis;white-space:nowrap;align-self:end;font-size:9px;font-weight:800;overflow:hidden}.voice-member>small{color:#68766d;letter-spacing:.1em;align-self:start;font-size:6px}.voice-member.speaking{border-color:#31db816b}.voice-member.speaking>i{background:var(--green);animation:.8s ease-in-out infinite alternate voice-pulse;box-shadow:0 0 9px #31db81bf}.voice-member.muted>i{background:var(--red);box-shadow:none;animation:none}.voice-error{color:#ff9a8d;margin:8px 0 0;font-size:9px;line-height:1.35}.voice-dock.compact{background:0 0;border:0;margin:0;padding:0}.voice-dock.compact .voice-primary,.voice-dock.compact .voice-mute{min-height:30px;padding-inline:8px}.voice-dock.compact .voice-controls>small{margin-left:0}.voice-dock.compact .voice-error{z-index:45;background:#35140f;border:1px solid #ff4d3773;max-width:min(300px,80vw);margin:0;padding:8px 10px;position:fixed;top:66px;right:14px;box-shadow:0 8px 28px #00000073}.game-header-tools{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.game-shell{background:radial-gradient(at 50% 46%,#19442c 0,#0d2a1b 46%,#06120b 100%);grid-template-rows:58px auto minmax(0,1fr) clamp(150px,23vh,220px);width:100%;min-width:0;max-width:100vw;height:100dvh;min-height:100dvh;display:grid;position:relative;overflow:hidden}.game-shell:fullscreen{width:100dvw;max-width:100dvw;height:100dvh;min-height:100dvh}.game-shell:before{content:"";pointer-events:none;opacity:.24;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0}.game-shell.viewer-danger:after{content:"";z-index:12;pointer-events:none;border:2px solid var(--screen-danger-edge);background:radial-gradient(ellipse at 50% 46%, transparent 58%, var(--screen-danger-haze) 100%);box-shadow:inset 0 0 86px 10px var(--screen-danger-glow);animation:screen-danger-pulse var(--screen-danger-speed) ease-in-out infinite alternate;position:absolute;inset:0}.game-shell.viewer-danger.danger-warning{--screen-danger-edge:#ff8f2380;--screen-danger-haze:#852a0c33;--screen-danger-glow:#ff571a2e;--screen-danger-speed:1s}.game-shell.viewer-danger.danger-high{--screen-danger-edge:#ff4c26b3;--screen-danger-haze:#991c0e47;--screen-danger-glow:#ff341f40;--screen-danger-speed:.78s}.game-shell.viewer-danger.danger-critical{--screen-danger-edge:#ff2d26e0;--screen-danger-haze:#af141033;--screen-danger-glow:#ff221d3d;--screen-danger-speed:.56s}.game-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:18;background:#040d08b8;width:100%;min-width:0;height:58px;padding:0 22px}.turn-banner{align-items:center;gap:9px;display:flex}.turn-banner small{color:#6e7e74;letter-spacing:.15em;font-size:8px}.turn-banner strong{font:800 16px/1 var(--display);text-transform:uppercase;letter-spacing:.03em}.direction-arrow{color:var(--yellow);text-shadow:0 0 10px #f6c91573;font-size:22px;transition:transform .2s}.game-shell.self-turn .turn-banner strong{color:#fff4ad;animation:.78s ease-in-out infinite alternate turn-label-pulse}.game-utility-button{border:1px solid var(--line);color:#9aaba0;min-height:32px;font:800 7px/1 var(--body);letter-spacing:.08em;cursor:pointer;background:#ffffff09;align-items:center;gap:5px;padding:5px 8px;display:inline-flex}.game-utility-button:hover,.game-utility-button:focus-visible{border-color:var(--yellow);color:var(--yellow);outline:none}.game-utility-button b{color:var(--yellow);font-size:15px;line-height:1}.reaction-control{position:relative}.reaction-toggle b{font-size:18px}.reaction-picker{z-index:30;background:#05110af7;border:1px solid #f6c91566;grid-template-columns:repeat(3,1fr);gap:5px;width:174px;padding:7px;display:grid;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 18px 45px #0000008c,0 0 22px #f6c9151a}.reaction-picker:before{content:"";background:#07140c;border-top:1px solid #f6c91566;border-left:1px solid #f6c91566;width:10px;height:10px;position:absolute;top:-6px;right:13px;transform:rotate(45deg)}.reaction-picker button{z-index:1;aspect-ratio:1;cursor:pointer;background:#ffffff0b;border:1px solid #ffffff1a;border-radius:8px;place-items:center;min-width:0;font-size:25px;transition:transform .14s,border-color .14s,background .14s;display:grid;position:relative}.reaction-picker button:hover,.reaction-picker button:focus-visible{border-color:var(--yellow);background:#f6c9151f;outline:none;transform:translateY(-2px)scale(1.08)}.fullscreen-button{border-color:#ff4d3759}.fullscreen-button b{color:#ff796a}.mini-code{border:1px solid var(--line);color:#77867c;letter-spacing:.12em;cursor:pointer;background:#ffffff08;padding:8px 10px;font-size:8px}.mini-code b{color:var(--yellow);margin-left:5px;font-size:11px}.opponent-rail{z-index:2;scrollbar-width:none;border-bottom:1px solid #ffffff12;justify-content:center;gap:7px;width:100%;min-width:0;padding:9px 16px;display:flex;position:relative;overflow-x:auto}.opponent-rail::-webkit-scrollbar{display:none}.opponent-rail article{border:1px solid var(--line);background:#05110aad;align-items:center;gap:8px;width:clamp(132px,13vw,174px);min-width:132px;height:58px;padding:7px;transition:border-color .2s,transform .2s,filter .25s,opacity .25s;display:flex;position:relative}.opponent-rail article:not(.active):not(.eliminated){opacity:.68;filter:brightness(.7)saturate(.75)}.opponent-rail article.active{background:linear-gradient(100deg,#f6c91521,#05110adb 52%);border-color:#ffe85f;outline:1px solid #f6c91561;animation:.78s ease-in-out infinite alternate opponent-turn-glow;transform:translateY(2px)scale(1.025)}.turn-light{z-index:3;background:#27332b;border:1px solid #536157;border-radius:50%;width:10px;height:10px;margin-left:-5px;position:absolute;top:-6px;left:50%;box-shadow:0 0 0 3px #030b06c7}.opponent-rail article.active .turn-light{background:#ffe33c;border-color:#fff6bb;width:12px;height:12px;margin-left:-6px;animation:.78s ease-in-out infinite alternate turn-light-pulse;top:-7px}.opponent-rail article.eliminated{opacity:.35;filter:grayscale()}.opponent-rail article.disconnected:not(.eliminated){border-style:dashed}.opponent-rail article.voice-speaking{border-color:var(--green);box-shadow:inset 0 -2px var(--green), 0 0 18px #31db8121}.opponent-rail .avatar{width:34px;height:34px;font-size:12px}.opponent-name{flex:1;gap:4px;min-width:0;display:grid}.opponent-name strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.opponent-name span{color:#75847a;letter-spacing:.08em;font-size:7px}.card-count{width:25px;height:39px;position:relative}.card-count img{border-radius:2px;width:100%;height:100%}.card-count b{background:var(--yellow);color:#171305;border-radius:50%;place-items:center;width:17px;height:17px;font-size:8px;display:grid;position:absolute;bottom:-4px;right:-5px}.opponent-rail article.hand-danger{opacity:.9;filter:brightness(.9)saturate()}.opponent-rail article.danger-warning{background:linear-gradient(100deg,#ffab181a,#05110ad1 60%);border-color:#ffad238f}.opponent-rail article.danger-high{background:linear-gradient(100deg,#ff5b1e29,#05110ad1 62%);border-color:#ff632ab3}.opponent-rail article.danger-critical{background:linear-gradient(100deg,#ff2a1f3d,#05110ad1 65%);border-color:#ff3a2deb}.opponent-rail article.hand-danger:before{content:"";z-index:0;pointer-events:none;border:1px solid var(--seat-danger-edge);background:var(--seat-danger-fill);box-shadow:0 0 22px 7px var(--seat-danger-glow);animation:danger-seat-pulse var(--seat-danger-speed) ease-in-out infinite alternate;border-radius:2px;position:absolute;inset:-4px}.opponent-rail article.danger-warning{--seat-danger-edge:#ff9a20b3;--seat-danger-fill:#ff701814;--seat-danger-glow:#ff5c1961;--seat-danger-speed:1s}.opponent-rail article.danger-high{--seat-danger-edge:#ff4c26e0;--seat-danger-fill:#ff381d21;--seat-danger-glow:#ff301d8a;--seat-danger-speed:.76s}.opponent-rail article.danger-critical{--seat-danger-edge:#ff2f28;--seat-danger-fill:#ff201c33;--seat-danger-glow:#ff1f1cb8;--seat-danger-speed:.54s}.opponent-rail article.danger-warning .card-count b{background:#ffad23;animation:.88s ease-in-out infinite alternate danger-badge-warning}.opponent-rail article.danger-high .card-count b{color:#fff;background:#ff622e;animation:.68s ease-in-out infinite alternate danger-badge-high}.opponent-rail article.danger-critical .card-count b{color:#fff;background:#ff302d;animation:.48s ease-in-out infinite alternate danger-badge-critical}.opponent-rail article.hand-danger .opponent-name span{color:#ffc15b}.opponent-rail article.danger-high .opponent-name span,.opponent-rail article.danger-critical .opponent-name span{color:#ff8066}.opponent-rail em{background:var(--red);font:800 8px/1 var(--display);padding:2px 4px;position:absolute;top:-5px;right:2px;transform:rotate(5deg)}.reaction-stage{z-index:17;pointer-events:none;justify-items:center;gap:5px;width:min(90vw,430px);display:grid;position:absolute;top:clamp(118px,27vh,250px);left:50%;transform:translate(-50%)}.table-reaction{background:#05110ae6;border:1px solid #f6c9155c;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-width:138px;max-width:100%;min-height:58px;padding:7px 16px 7px 9px;animation:3s cubic-bezier(.18,.78,.2,1) forwards reaction-float;display:flex;box-shadow:0 14px 35px #00000073,0 0 24px #f6c9151f}.table-reaction span{filter:drop-shadow(0 5px 5px #00000059);font-size:clamp(30px,4vw,48px);line-height:1}.table-reaction strong{color:#fff5bf;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;min-width:0;max-width:170px;font-size:10px;overflow:hidden}.voice-presence{color:#90a097;letter-spacing:.08em;background:#17241c;border:1px solid #ffffff26;padding:2px 4px;font-size:6px;font-weight:900;position:absolute;top:-5px;left:7px}.voice-presence.speaking{border-color:var(--green);color:#aaffce;background:#0f3924}.voice-presence.muted{color:#ff9b8e;background:#341612;border-color:#ff4d3773}.table-zone{z-index:1;grid-template-columns:minmax(130px,.7fr) minmax(260px,1.5fr) minmax(130px,.7fr);align-items:center;gap:12px;width:100%;min-width:0;min-height:0;padding:10px clamp(16px,4vw,52px);display:grid;position:relative}.event-feed{align-self:center;max-height:180px;overflow:hidden}.event-feed h2{color:#748279;font:800 9px/1 var(--body);letter-spacing:.15em;margin:0 0 12px}.event-feed p{color:#91a097;gap:7px;margin:7px 0;font-size:9px;line-height:1.35;display:flex}.event-feed p i{background:var(--yellow);flex:none;width:4px;height:4px;margin-top:4px}.piles{isolation:isolate;justify-content:center;align-items:center;gap:clamp(22px,4vw,58px);min-width:0;display:flex;position:relative}.play-direction{z-index:0;aspect-ratio:2.05;pointer-events:none;opacity:.82;filter:drop-shadow(0 14px 18px #00000042);width:clamp(490px,55vw,760px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.direction-loop{transform-origin:50%;display:block;position:absolute;inset:0}.direction-arc{border:clamp(20px,2.4vw,35px) solid #00090594;width:86%;height:50%;position:absolute;left:7%}.direction-arc-top{border-bottom:0;border-radius:50% 50% 0 0/100% 100% 0 0;top:0}.direction-arc-bottom{border-top:0;border-radius:0 0 50% 50%/0 0 100% 100%;bottom:0}.direction-arc:after{content:"";border-top:clamp(25px,2.8vw,41px) solid #0000;border-bottom:clamp(25px,2.8vw,41px) solid #0000;border-left:clamp(45px,4.8vw,72px) solid #00090594;width:0;height:0;position:absolute}.direction-arc-top:after{bottom:clamp(-26px,-1.8vw,-15px);right:clamp(-50px,-3.4vw,-30px);transform:rotate(18deg)}.direction-arc-bottom:after{top:clamp(-26px,-1.8vw,-15px);left:clamp(-50px,-3.4vw,-30px);transform:rotate(198deg)}.play-direction.counter .direction-loop{transform:scaleX(-1)}.direction-pulse .play-direction{animation:.72s ease-out direction-flash}.direction-pulse .direction-arrow{animation:.72s ease-out direction-header-flash}.draw-pile,.discard-pile{aspect-ratio:355/502;filter:drop-shadow(0 18px 18px #0000006b);background:0 0;border:0;width:clamp(88px,10vw,142px);padding:0;position:relative}.draw-pile,.discard-pile,.current-colour{z-index:2}.draw-pile{cursor:pointer;transition:transform .16s}.draw-pile:not(:disabled):hover{transform:translateY(-6px)}.draw-pile:disabled{cursor:not-allowed;opacity:.75}.draw-pile:before,.draw-pile:after{content:"";z-index:-1;background:#ede9d9;border-radius:6%;position:absolute;inset:0}.draw-pile:before{opacity:.5;transform:translate(5px,-4px)rotate(2deg)}.draw-pile:after{opacity:.25;transform:translate(9px,-7px)rotate(3deg)}.draw-pile img,.discard-pile img{object-fit:fill;border-radius:6%;width:100%;height:100%}.draw-pile>span{border:1px solid var(--line);background:#15241b;border-radius:20px;place-items:center;min-width:25px;height:25px;padding:0 5px;font-size:9px;display:grid;position:absolute;top:-9px;right:-10px}.discard-pile{transform:rotate(3deg)}.discard-pile>strong{background:var(--red);min-width:56px;height:56px;font:900 26px/1 var(--display);border:4px solid #0c2417;border-radius:50%;place-items:center;display:grid;position:absolute;top:-20px;right:-26px;transform:rotate(-8deg);box-shadow:0 8px 20px #00000059}.current-colour{aspect-ratio:1;z-index:3;background:#030d08eb;border:2px solid #ffffff29;border-radius:50%;width:clamp(38px,4.1vw,58px);padding:4px;position:absolute;top:-56px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #00000057}.current-colour span{border-radius:inherit;width:100%;height:100%;display:block}.current-colour.red span{background:#ef3127;box-shadow:0 0 18px #ef3127e6,0 0 36px #ef312773}.current-colour.yellow span{background:#f6d315;box-shadow:0 0 18px #f6d315e6,0 0 36px #f6d3156b}.current-colour.green span{background:#2fc66b;box-shadow:0 0 18px #2fc66be6,0 0 36px #2fc66b6b}.current-colour.blue span{background:#2788f5;box-shadow:0 0 18px #2788f5e6,0 0 36px #2788f573}.current-colour.wild span{background:conic-gradient(#ef3127 0 25%, #f6d315 0 50%, #2fc66b 0 75%, #2788f5 0);box-shadow:0 0 22px #f4f2e970}.action-dock{justify-self:end;justify-items:center;gap:8px;display:grid}.uno-button,.catch-button{aspect-ratio:1;background:var(--red);width:clamp(74px,8vw,102px);font:900 clamp(22px, 2.4vw, 34px)/1 var(--display);cursor:pointer;border:5px solid #17241c;border-radius:50%;transform:rotate(-5deg);box-shadow:0 0 0 1px #ffffff2e,0 12px 25px #00000059}.uno-button:disabled{filter:grayscale(.8);opacity:.32;cursor:not-allowed}.catch-button{aspect-ratio:auto;background:var(--yellow);color:#171305;border-width:2px;border-radius:2px;width:auto;padding:8px 12px;font-size:13px}.action-dock p{color:#849188;text-align:center;max-width:120px;margin:0;font-size:9px}.my-hand{z-index:13;isolation:isolate;width:100%;min-width:0;min-height:0;padding:24px max(14px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));background:linear-gradient(#040e0866,#040b07f0);border-top:1px solid #ffffff1a;transition:border-color .25s,filter .25s;position:relative}.my-hand.active-turn{background:radial-gradient(at 50% 0,#f6c91521,#0000 52%),linear-gradient(#040e0880,#040b07f5);border-top-color:#ffe45b;animation:.78s ease-in-out infinite alternate self-turn-glow}.my-hand.waiting-turn .hand-card{filter:brightness(.58)saturate(.72)drop-shadow(0 8px 8px #00000080);opacity:.65}.self-turn-light{z-index:4;background:#27332b;border:1px solid #536157;border-radius:50%;width:13px;height:13px;margin-left:-6px;position:absolute;top:-7px;left:50%;box-shadow:0 0 0 4px #030b06cc}.my-hand.active-turn .self-turn-light{background:#ffe33c;border-color:#fff6bb;width:15px;height:15px;margin-left:-7px;animation:.78s ease-in-out infinite alternate turn-light-pulse;top:-8px}.my-hand.hand-danger:after{content:"";z-index:0;pointer-events:none;border-top:2px solid var(--danger-colour);background:radial-gradient(ellipse at 50% 0, var(--danger-glow), transparent 58%);animation:hand-danger-pulse var(--danger-speed) ease-in-out infinite alternate;position:absolute;inset:0}.my-hand.danger-warning{--danger-colour:#ffad23;--danger-glow:#ffad232b;--danger-speed:.88s}.my-hand.danger-high{--danger-colour:#ff622e;--danger-glow:#ff542738;--danger-speed:.68s}.my-hand.danger-critical{--danger-colour:#ff302d;--danger-glow:#ff231f4d;--danger-speed:.48s}.my-hand.hand-danger .hand-label b{color:var(--danger-colour);text-shadow:0 0 10px var(--danger-glow)}.hand-label{z-index:60;color:#a5b2aa;letter-spacing:.08em;pointer-events:none;justify-content:space-between;align-items:center;font-size:clamp(9px,.7vw,11px);font-weight:800;display:flex;position:absolute;top:6px;left:18px;right:18px}.hand-label b{color:var(--yellow);letter-spacing:.06em;text-shadow:0 0 12px #f6c91559;font-size:clamp(11px,.9vw,15px)}.hand-scroll{--hand-card-max:124px;--hand-card-overhang:34px;width:100%;min-width:0;max-width:100%;height:100%;padding:6px calc(var(--hand-card-overhang) + 8px) 2px 8px;justify-content:center;align-items:end;display:grid;overflow:visible}.hand-card{width:clamp(42px, calc(100% + var(--hand-card-overhang)), var(--hand-card-max));max-width:var(--hand-card-max);aspect-ratio:355/502;filter:drop-shadow(0 8px 8px #00000080);transform-origin:50% 100%;will-change:transform;background:0 0;border:0;border-radius:6%;justify-self:start;min-width:0;height:auto;min-height:0;padding:0;transition:transform .2s cubic-bezier(.2,.8,.2,1),filter .2s,opacity .16s;position:relative}.hand-card img{object-fit:fill;border-radius:6%;width:100%;height:100%}.hand-card:disabled{opacity:.66}.hand-card.playable{cursor:pointer;opacity:1}.hand-card.playable:hover,.hand-card.playable:focus-visible{filter:drop-shadow(0 18px 16px #000000ad)drop-shadow(0 0 10px #38e575c7)drop-shadow(0 0 28px #38e57585);z-index:50;outline:none;transform:translateY(-48px)scale(1.28)}.choice-backdrop{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020804c2;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.choice-modal{border:1px solid var(--line);background:#0a1b11;width:min(100%,620px);max-height:90svh;padding:clamp(24px,5vw,46px);overflow-y:auto;box-shadow:0 30px 100px #0000009e}.choice-modal h2{font:900 clamp(38px, 6vw, 64px)/.9 var(--display);letter-spacing:-.03em;margin:14px 0 28px}.choice-modal h2 em{color:var(--yellow);font-style:normal}.colour-choices{grid-template-columns:1fr 1fr;gap:9px;display:grid}.colour-choices button{border:1px solid var(--line);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;background:#ffffff08;align-items:center;gap:13px;min-height:64px;padding:12px 16px;font-weight:900;display:flex}.colour-choices i{border-radius:50%;width:30px;height:30px}.colour-choices .red i{background:#ef3c2f}.colour-choices .yellow i{background:#f5d223}.colour-choices .green i{background:#21bd68}.colour-choices .blue i{background:#258de8}.colour-choices button:hover{border-color:var(--yellow)}.cancel-power-button{color:#b7c5bb;width:100%;min-height:46px;font:800 10px/1 var(--body);letter-spacing:.11em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #ffffff2e;margin-top:12px;transition:border-color .16s,color .16s,background .16s}.cancel-power-button:hover,.cancel-power-button:focus-visible{color:#ff9b8e;background:#ff4d3714;border-color:#ff796a;outline:none}.cancel-power-button:disabled{opacity:.5;cursor:wait}.swap-choices{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.swap-choices button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#ffffff08;grid-template-rows:1fr 1fr;grid-template-columns:auto 1fr;align-items:center;gap:0 12px;min-height:72px;padding:10px;display:grid}.swap-choices .avatar{grid-row:1/3}.swap-choices strong{align-self:end}.swap-choices small{color:#738178;align-self:start}.winner-modal{text-align:center}.winner-modal .eyebrow{justify-content:center}.winner-modal>p:not(.eyebrow){color:var(--muted)}.winner-modal .primary-button{margin-top:18px}.connection-overlay{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#030a06d9;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:fixed;inset:0}.connection-overlay i{border:3px solid #ffffff26;border-top-color:var(--yellow);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}.connection-overlay strong{font:800 19px/1 var(--display);letter-spacing:.06em}.connection-overlay span{color:var(--muted);font-size:11px}.game-error{z-index:40;cursor:pointer;background:#3b1511;border:1px solid #ff4d3780;gap:14px;max-width:min(90vw,520px);padding:10px 12px;font-size:11px;display:flex;position:fixed;bottom:calc(clamp(160px,24vh,230px) + 12px);left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0006}.game-error span{font-size:16px}.immersive-backdrop{z-index:55;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#010703db;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.immersive-card{text-align:center;background:radial-gradient(circle at 50% 0,#f6c9151f,#0000 40%),#091910;border:1px solid #f6c91557;width:min(92vw,470px);padding:clamp(25px,6vw,42px);box-shadow:0 28px 90px #000000a6}.immersive-card .eyebrow{justify-content:center;margin:10px 0 0}.immersive-card h2{font:900 clamp(42px, 9vw, 68px)/.86 var(--display);margin:13px 0 8px}.immersive-card>p:not(.eyebrow){max-width:330px;color:var(--muted);margin:0 auto 24px;font-size:12px;line-height:1.65}.immersive-card>div{justify-content:center;align-items:center;gap:15px;display:flex}.immersive-card .primary-button{min-width:220px}.immersive-icon{background:var(--yellow);color:#171305;border-radius:50%;place-items:center;width:64px;height:64px;margin:auto;font-size:31px;display:grid;box-shadow:0 0 35px #f6c9154d}@keyframes spin{to{transform:rotate(360deg)}}@keyframes voice-pulse{0%{opacity:.65;transform:scale(.82)}to{opacity:1;transform:scale(1.28)}}@keyframes turn-label-pulse{0%{text-shadow:0 0 4px #f6c91540}to{text-shadow:0 0 14px #f6c915d1}}@keyframes turn-light-pulse{0%{opacity:.52;box-shadow:0 0 0 3px #030b06c7,0 0 9px 2px #f6c91557}to{opacity:1;box-shadow:0 0 0 3px #030b06c7,0 0 28px 11px #f6c915db}}@keyframes opponent-turn-glow{0%{box-shadow:inset 0 0 10px #f6c9151f,inset 0 -3px #f6c915a6,0 0 10px #f6c9152e}to{box-shadow:inset 0 0 24px #f6c91540,inset 0 -3px #ffe85f,0 0 32px 4px #f6c91580}}@keyframes self-turn-glow{0%{box-shadow:inset 0 10px 24px #f6c9150f,0 -2px 13px #f6c9152e}to{box-shadow:inset 0 18px 48px #f6c9152e,0 -4px 38px 5px #f6c9157a}}@keyframes danger-badge-warning{to{transform:scale(1.08);box-shadow:0 0 13px 4px #ffad23ad}}@keyframes danger-badge-high{to{transform:scale(1.12);box-shadow:0 0 17px 5px #ff5427c2}}@keyframes danger-badge-critical{to{transform:scale(1.17);box-shadow:0 0 22px 7px #ff231fe6}}@keyframes hand-danger-pulse{0%{opacity:.4}to{opacity:1;box-shadow:inset 0 18px 38px var(--danger-glow), 0 -3px 24px var(--danger-glow)}}@keyframes danger-seat-pulse{0%{opacity:.48;transform:scale(.985)}to{opacity:1;box-shadow:0 0 34px 12px var(--seat-danger-glow);transform:scale(1.035)}}@keyframes screen-danger-pulse{0%{opacity:.38}to{opacity:.86;box-shadow:inset 0 0 105px 16px var(--screen-danger-glow)}}@keyframes direction-flash{0%{opacity:.52;filter:brightness();transform:translate(-50%,-50%)scale(.84)}45%{opacity:1;filter:brightness(2.35);transform:translate(-50%,-50%)scale(1.1)}to{opacity:.82;filter:brightness();transform:translate(-50%,-50%)scale(1)}}@keyframes direction-header-flash{50%{color:#fff6bd;text-shadow:0 0 16px var(--yellow);transform:scale(1.45)}}@keyframes reaction-float{0%{opacity:0;transform:translateY(24px)scale(.72)}14%,70%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-85px)scale(1.16)}}@media (max-width:900px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:65px}.hero-copy{max-width:700px}.hero-cards{justify-self:center;width:min(100%,620px);height:560px}.hero-card{width:clamp(190px,34vw,260px)}.rule-grid{grid-template-columns:1fr 1fr}.rule-grid article:nth-child(2){border-right:0}.rule-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.table-zone{grid-template-columns:110px 1fr 100px;padding-inline:14px}.event-feed p:nth-of-type(n+4){display:none}}@media (max-width:640px){.landing-nav{height:60px;padding-inline:18px}.wordmark{font-size:24px}.landing-nav-actions{gap:10px}.nav-app-link{min-height:30px;padding-inline:9px;font-size:8px}.nav-rule-link{font-size:9px}.hero{gap:20px;padding:42px 18px 64px}.hero h1{font-size:clamp(54px,18vw,78px)}.hero-lead{font-size:15px}.play-panel{margin-top:26px}.app-download-card{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;min-height:66px;padding:10px 12px}.app-download-icon{width:38px;height:38px}:is(.play-fields,.play-fields:has(.code-input)){grid-template-columns:1fr}.primary-button{width:100%}.hero-cards{height:110vw;min-height:390px;max-height:500px}.hero-card{width:clamp(160px,47vw,220px)}.hero-card-back{left:-1%}.hero-card-ten{left:23%}.hero-card-roulette{right:-4%}.threat-badge{border-width:5px;width:94px;height:94px;bottom:9%;left:2%}.threat-badge strong{font-size:32px}.rule-strip{padding:58px 18px 70px}.rule-grid{grid-template-columns:1fr}.rule-grid article{border-right:0;border-bottom:1px solid var(--line);grid-template-rows:1fr;grid-template-columns:80px 1fr;align-items:center;gap:12px;min-height:150px;padding:22px}.rule-grid article:nth-child(3){border-bottom:1px solid var(--line)}.rule-grid article:last-child{border-bottom:0}.rule-grid article>b{font-size:54px}.landing-footer{flex-direction:column}.landing-footer p{text-align:left;line-height:1.5}.room-entry{padding-inline:16px}.room-entry>.wordmark{left:18px}.lobby-shell{align-items:start;padding:80px 12px 18px}.room-header{height:60px;padding-inline:18px}.lobby-card{padding:22px 16px}.lobby-top{display:grid}.lobby-top h1{font-size:54px}.room-code{width:100%}.lobby-players{grid-template-columns:1fr;max-height:39svh;overflow-y:auto}.lobby-actions{flex-direction:column;align-items:stretch}.waiting-host{text-align:center;padding:15px}.lobby-host-actions{grid-template-columns:minmax(105px,.65fr) 1fr;display:grid}.voice-members{grid-template-columns:1fr 1fr}.game-shell{grid-template-rows:50px 66px minmax(0,1fr) clamp(148px,25vh,205px)}.game-header{height:50px;padding:0 10px}.game-header .wordmark{font-size:19px}.turn-banner small{display:none}.turn-banner strong{white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:14px;overflow:hidden}.mini-code{padding:6px}.game-header-tools{gap:4px}.game-utility-button{justify-content:center;width:32px;min-height:30px;padding:0}.game-utility-button span{display:none}.reaction-picker{width:166px;position:fixed;top:56px;right:8px}.reaction-picker:before{display:none}.reaction-stage{top:132px}.table-reaction{min-width:118px;min-height:48px;padding:5px 12px 5px 7px}.table-reaction strong{font-size:8px}.voice-dock.compact .voice-primary,.voice-dock.compact .voice-mute{width:32px;min-height:30px;padding:0}.voice-dock.compact .voice-primary span,.voice-dock.compact .voice-controls>small{display:none}.voice-dock.compact .voice-mute{color:#0000;font-size:0;overflow:hidden}.voice-dock.compact .voice-mute:after{content:"M";color:#b8c4bc;font-size:8px}.voice-dock.compact .voice-mute.muted:after{content:"ON";color:#ff8b7d}.opponent-rail{scroll-snap-type:x proximity;justify-content:flex-start;padding:7px 9px}.opponent-rail article{scroll-snap-align:start;min-width:126px;height:50px}.opponent-rail .avatar{width:30px;height:30px}.table-zone{grid-template-rows:1fr auto;grid-template-columns:1fr auto;padding:4px 10px 8px}.event-feed{display:none}.piles{grid-area:1/1/auto/3;gap:42px}.play-direction{width:min(96vw,470px)}.draw-pile,.discard-pile{width:clamp(79px,23vw,104px)}.current-colour{width:clamp(34px,10vw,44px);padding:3px;top:-38px}.action-dock{flex-direction:row-reverse;align-items:center;display:flex;position:absolute;bottom:5px;right:8px}.uno-button{border-width:4px;width:64px;font-size:22px}.action-dock p{display:none}.my-hand{padding-top:23px}.hand-scroll{--hand-card-max:110px;--hand-card-overhang:30px;padding-left:8px;padding-right:calc(var(--hand-card-overhang) + 8px)}.hand-card{width:clamp(40px, calc(100% + var(--hand-card-overhang)), var(--hand-card-max))}.hand-card.playable:hover,.hand-card.playable:focus-visible{transform:translateY(-24px)scale(1.16)}.hand-card.playable:active{transform:translateY(-9px)}.colour-choices{grid-template-columns:1fr}.colour-choices button{min-height:52px}.swap-choices{grid-template-columns:1fr}.choice-modal{padding:26px 20px}.immersive-card>div{flex-direction:column}.immersive-card .primary-button{width:100%;min-width:0}.game-error{bottom:calc(clamp(148px,25vh,205px) + 8px)}}@media (orientation:landscape) and (max-height:600px){.game-shell{grid-template-rows:42px 48px minmax(0,1fr) clamp(94px,29vh,120px)}.game-header{height:42px;padding-inline:10px}.game-header .wordmark{font-size:17px}.turn-banner{gap:5px}.turn-banner small{display:none}.turn-banner strong{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:12px;overflow:hidden}.direction-arrow{font-size:16px}.mini-code{padding:5px 7px}.game-utility-button{justify-content:center;width:28px;min-height:26px;padding:0}.game-utility-button span{display:none}.game-utility-button b{font-size:13px}.reaction-picker{grid-template-columns:repeat(3,1fr);gap:3px;width:142px;padding:5px;top:47px;right:7px}.reaction-picker button{font-size:19px}.reaction-stage{top:92px}.table-reaction{min-height:40px}.table-reaction span{font-size:27px}.voice-dock.compact .voice-primary,.voice-dock.compact .voice-mute{width:28px;min-height:26px}.voice-dock.compact .voice-error{top:45px;right:7px}.opponent-rail{justify-content:center;gap:4px;padding:4px 6px;overflow:hidden}.opponent-rail article{flex:1 1 0;gap:4px;width:auto;min-width:0;max-width:108px;height:40px;padding:4px}.opponent-rail .avatar{display:none}.opponent-name{gap:2px}.opponent-name strong{font-size:9px}.opponent-name span{text-overflow:ellipsis;white-space:nowrap;font-size:6px;overflow:hidden}.voice-presence{padding:1px 2px;font-size:5px;top:-3px;left:3px}.card-count{flex:none;width:18px;height:28px}.card-count b{width:14px;height:14px;font-size:7px;bottom:-3px;right:-3px}.table-zone{grid-template-columns:1fr;padding:2px 10px 4px}.event-feed{display:none}.piles{gap:clamp(24px,7vw,48px)}.play-direction{width:clamp(400px,58vw,540px)}.draw-pile,.discard-pile{width:clamp(52px,17vh,70px)}.draw-pile>span{min-width:19px;height:19px;font-size:7px;top:-6px;right:-7px}.discard-pile>strong{border-width:3px;min-width:38px;height:38px;font-size:18px;top:-12px;right:-17px}.current-colour{width:32px;padding:3px;top:-29px}.action-dock{flex-direction:row-reverse;align-items:center;display:flex;position:absolute;bottom:6px;right:9px}.uno-button{border-width:3px;width:48px;font-size:17px}.catch-button{padding:5px 8px;font-size:10px}.action-dock p{display:none}.my-hand{padding:18px 8px 4px}.hand-label{font-size:8px;top:3px;left:10px;right:10px}.hand-label b{font-size:10px}.hand-scroll{--hand-card-max:clamp(50px, 16vh, 70px);--hand-card-overhang:24px;padding:2px calc(var(--hand-card-overhang) + 5px) 0 5px}.hand-card{width:clamp(32px, calc(100% + var(--hand-card-overhang)), var(--hand-card-max))}.hand-card.playable:hover,.hand-card.playable:focus-visible{transform:translateY(-18px)scale(1.14)}.choice-backdrop{padding:8px}.choice-modal{width:min(92vw,620px);max-height:94svh;padding:14px 18px}.choice-modal h2{margin:7px 0 12px;font-size:clamp(28px,8vh,42px)}.immersive-card{text-align:left;grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-items:center;gap:3px 16px;width:min(86vw,560px);padding:12px 20px;display:grid}.immersive-icon{grid-row:1/3;width:48px;height:48px;font-size:24px}.immersive-card .eyebrow{justify-content:flex-start;margin:0}.immersive-card h2{margin:0;font-size:clamp(31px,10vh,48px)}.immersive-card>p:not(.eyebrow){display:none}.immersive-card>div{flex-direction:column;grid-area:1/3/3;gap:5px}.immersive-card .primary-button{width:auto;min-width:160px;min-height:38px;padding:8px 12px}.colour-choices{grid-template-columns:repeat(4,1fr);gap:5px}.colour-choices button{gap:7px;min-height:40px;padding:6px 8px;font-size:10px}.colour-choices i{width:20px;height:20px}.cancel-power-button{min-height:38px;margin-top:7px}.swap-choices{grid-template-columns:repeat(2,1fr);max-height:54vh;overflow-y:auto}.swap-choices button{min-height:52px}.game-error{padding:7px 10px;bottom:calc(clamp(94px,29vh,120px) + 6px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.public-shell{background:linear-gradient(#ffffff05 1px,#0000 1px) 0 0/52px 52px,linear-gradient(90deg,#ffffff05 1px,#0000 1px) 0 0/52px 52px,radial-gradient(circle at 72% 4%,#2f975447,#0000 32%),#06110b;min-height:100svh}.public-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;background:#040e08b8;justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:0 clamp(22px,5vw,78px);display:flex;position:relative}.public-header nav{align-items:center;gap:clamp(13px,2.4vw,32px);display:flex}.public-header nav a{color:#96a49b;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}.public-header nav a:hover,.public-header nav a:focus-visible{color:var(--yellow);outline:none}.info-page{width:min(100% - 36px,1080px);margin:0 auto;padding:clamp(58px,9vw,120px) 0 clamp(74px,10vw,130px)}.info-hero{border-bottom:1px solid var(--line);max-width:860px;padding-bottom:clamp(36px,6vw,66px)}.info-hero>p,.content-kicker{color:var(--yellow);letter-spacing:.18em;text-transform:uppercase;margin:0 0 15px;font-size:10px;font-weight:900}.info-hero h1{max-width:920px;font:900 clamp(48px, 8vw, 90px)/.9 var(--display);letter-spacing:-.045em;text-transform:uppercase;margin:0 0 22px}.info-hero>div{color:#afbbb3;max-width:760px;font-size:clamp(16px,2vw,20px);line-height:1.65}.info-body{gap:16px;padding-top:34px;display:grid}.info-section,.info-callout,.faq-item,.step-card,.feature-card{border:1px solid var(--line);background:#08190fc7;box-shadow:0 18px 54px #00000029}.info-section{padding:clamp(24px,4.5vw,46px)}.info-section h2,.content-section h2{font:900 clamp(26px, 4vw, 42px)/1 var(--display);letter-spacing:-.025em;text-transform:uppercase;margin:0 0 15px}.info-section h3{color:var(--yellow);margin:27px 0 8px;font-size:15px}.info-section p,.info-section li,.info-callout p,.faq-item p{color:#a5b1aa;font-size:14px;line-height:1.72}.info-section p:last-child,.info-callout p:last-child,.faq-item p:last-child{margin-bottom:0}.info-section a,.info-callout a,.faq-item a,.inline-link{color:#85e8b2;text-underline-offset:3px;text-decoration:underline}.info-section ul,.info-section ol{padding-left:22px}.info-callout{background:linear-gradient(110deg,#f6c91517,#08190fcc);border-color:#f6c91559;padding:22px 25px}.info-callout strong{color:var(--yellow)}.info-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.public-button,.public-button-secondary{border:1px solid var(--yellow);background:var(--yellow);color:#171305;letter-spacing:.1em;text-transform:uppercase;justify-content:center;align-items:center;min-height:48px;padding:0 19px;font-size:11px;font-weight:900;display:inline-flex}.public-button-secondary{border-color:var(--line);color:var(--ink);background:#ffffff09}.info-callout .public-button,.info-section .public-button{color:#171305;text-decoration:none}.info-callout .public-button-secondary,.info-section .public-button-secondary{color:var(--ink);text-decoration:none}.public-button:hover,.public-button-secondary:hover{transform:translateY(-1px)}.data-table{border-collapse:collapse;width:100%;margin:18px 0 0;font-size:13px}.data-table th,.data-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:13px 12px}.data-table th{color:var(--yellow);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.data-table td{color:#a9b5ad;line-height:1.55}.hash{overflow-wrap:anywhere;color:#9ce9bd;background:#031008;border:1px solid #31db8140;padding:15px;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;display:block}.faq-list{gap:10px;display:grid}.faq-item{padding:24px}.faq-item h2,.faq-item h3{margin:0 0 9px;font-size:17px}.rule-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.rule-cards .info-section{min-width:0}.public-footer{border-top:1px solid var(--line);background:#030b06c7;grid-template-columns:minmax(250px,1.3fr) minmax(280px,.7fr);gap:40px;padding:38px clamp(22px,5vw,78px);display:grid}.public-footer>div p{color:#718077;max-width:700px;margin:14px 0 0;font-size:10px;line-height:1.65}.public-footer nav{grid-template-columns:repeat(2,1fr);gap:9px 20px;display:grid}.public-footer nav a{color:#8f9d94;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.public-footer nav a:hover{color:var(--yellow)}.home-content{z-index:2;max-width:1460px;margin:0 auto;padding:0 clamp(22px,5vw,78px) 110px;position:relative}.home-content-section{border-top:1px solid var(--line);padding:clamp(60px,8vw,100px) 0}.home-content-section .section-heading{max-width:760px}.home-content-section .section-heading p{color:#9da9a1;line-height:1.65}.step-grid,.feature-grid{grid-template-columns:repeat(4,1fr);gap:9px;margin-top:32px;display:grid}.step-card,.feature-card{min-height:185px;padding:25px}.step-card b{color:#ffffff1a;font:900 45px/1 var(--display)}.step-card h3,.feature-card h3{color:var(--yellow);margin:25px 0 8px;font-size:17px}.step-card p,.feature-card p{color:#96a39a;margin:0;font-size:12px;line-height:1.58}.feature-grid{grid-template-columns:repeat(3,1fr)}.feature-card{min-height:155px}.feature-card h3{margin-top:0}.home-trust{color:#708077;max-width:620px;margin-top:15px;font-size:10px;line-height:1.55}.feedback-section{position:relative;overflow:hidden}.feedback-form{gap:20px;margin-top:26px;display:grid}.feedback-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.feedback-form label{position:relative}.feedback-form input,.feedback-form select,.feedback-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#07170e;border-radius:2px;outline:0;padding:0 14px}.feedback-form select{appearance:auto;min-height:48px}.feedback-form textarea{resize:vertical;min-height:180px;padding-block:13px;line-height:1.55}.feedback-form input:focus,.feedback-form select:focus,.feedback-form textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 3px #f6c9151f}.feedback-form input::placeholder,.feedback-form textarea::placeholder{color:#64746a}.feedback-count{color:#77867d;background:#07170ee0;padding:3px 5px;font-size:9px;position:absolute;bottom:8px;right:10px}.feedback-honeypot{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}.feedback-submit-row{align-items:center;gap:18px;display:flex}.feedback-submit-row .public-button{cursor:pointer;border:0;flex:none}.feedback-submit-row .public-button:disabled{cursor:wait;opacity:.55}.feedback-submit-row p{color:#75847b;max-width:500px;margin:0;font-size:10px;line-height:1.55}.feedback-submit-row a{color:#9ce7bd;text-underline-offset:3px;text-decoration:underline}.feedback-result{border:1px solid var(--line);margin:0;padding:13px 15px;font-size:12px}.feedback-result.success{color:#a0eac1;background:#31db8114;border-color:#31db816b}.feedback-result.failure{color:#ff9b8e;background:#ff4d3714;border-color:#ff4d3773}@media (max-width:820px){.step-grid,.feature-grid{grid-template-columns:repeat(2,1fr)}.public-footer{grid-template-columns:1fr}}@media (max-width:560px){.public-header{min-height:62px;padding-inline:18px}.public-header nav a:nth-child(n+3){display:none}.info-page{width:min(100% - 28px,1080px);padding-top:50px}.info-hero h1{font-size:clamp(45px,15vw,68px)}.rule-cards,.step-grid,.feature-grid,.feedback-two-column{grid-template-columns:1fr}.data-table{display:block;overflow-x:auto}.public-footer nav{gap:12px 16px}.feedback-submit-row{flex-direction:column;align-items:stretch}.feedback-submit-row .public-button{width:100%}}
