@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-hebrew-wght-normal-DdnsCkLr.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-ext-wght-normal-CYrqKuxd.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-wght-normal-DM6njrJ3.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-0:#180809;--bg-1:#2a1114;--bg-2:#3a171b;--panel:#421a1d;--panel-2:#4e1f23;--panel-3:#5b262b;--gold:#f6da63;--gold-2:#ffd600;--gold-deep:#b88622;--cream:#fff4cf;--text:#fff8ef;--muted:#e7c8c2;--muted-2:#c99f98;--cyan:#4fe5ea;--group-2:#ff6fb5;--group-3:#b98cff;--group-4:#ffa84a;--danger:#ff7768;--green-ok:#62d58a;--red:#eb4d3d;--green:#44aa61;--yellow:#f6da63;--blue:#6c83bf;--red-pastel:#fcd8d6;--green-pastel:#b5dfbe;--yellow-pastel:#fdf6d2;--blue-pastel:#d4def2;--red-dark:#a82719;--green-dark:#1f6b35;--yellow-dark:#9e731b;--blue-dark:#2c4482;--line:#ffffff1f;--shadow-panel:0 4px 0 #00000038, 0 12px 26px #00000040}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{width:100%;height:100%}html{background:var(--bg-0)}body{color:var(--text);background:radial-gradient(circle at 50% -10%, #55232a 0%, transparent 48%), radial-gradient(circle at 10% 110%, #4a1d21 0%, transparent 42%), var(--bg-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;touch-action:none;-webkit-user-select:none;user-select:none;margin:0;font-family:Nunito Variable,Segoe UI,system-ui,sans-serif;font-weight:600;overflow:hidden}button,input{font:inherit}button{-webkit-user-select:none;user-select:none;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}button:disabled{cursor:not-allowed}h1,h2,h3,b,.mini-brand-name,.player-name,.seat-name,.start-btn,.turn-copy b{font-family:Fredoka Variable,Nunito Variable,sans-serif;font-weight:600}.ambient{z-index:0;pointer-events:none;background:radial-gradient(at 50% 0,#ffd6a014,#0000 45%),radial-gradient(at 50% 100%,#00000073,#0000 60%);position:fixed;inset:0;overflow:hidden}.ambient-orb{filter:blur(55px);opacity:.16;border-radius:50%;width:38vmax;height:38vmax;position:absolute}.orb-red{background:var(--red);top:-18vmax;left:-12vmax}.orb-green{background:var(--green);opacity:.1;top:20%;right:-22vmax}.orb-yellow{background:var(--yellow);opacity:.1;bottom:-22vmax;left:10%}.orb-blue{background:var(--blue);opacity:.12;bottom:8%;right:-16vmax}.ambient-grain{opacity:.22;mix-blend-mode:overlay;background-image:radial-gradient(#ffffff0f .7px,#0000 .7px),radial-gradient(#0000001a .7px,#0000 .7px);background-position:0 0,11px 9px;background-size:17px 17px,23px 23px;position:absolute;inset:0}.app-shell{z-index:1;width:min(100vw,540px);height:100dvh;padding:max(8px, var(--game-safe-top,env(safe-area-inset-top,0px))) 10px max(10px, var(--game-safe-bottom,env(safe-area-inset-bottom,0px)));margin:0 auto;position:relative;overflow:hidden}@media (max-width:899px){html.game-live .app-shell{height:var(--game-vh);max-height:var(--game-vh)}}.screen-guard{z-index:999;background:radial-gradient(circle at 50% 30%,#f6da631c,#0000 45%),#180809;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.screen-guard-card{text-align:center;background:#421a1ddb;border:1px solid #f6da633d;border-radius:20px;max-width:300px;padding:24px 20px;box-shadow:0 24px 60px #00000080}.screen-guard-mark{background:conic-gradient(var(--red) 0 25%, var(--green) 25% 50%, var(--yellow) 50% 75%, var(--blue) 75% 100%);color:#fff4cf;text-shadow:0 1px 3px #0009;border:2px solid #1c0c0e;border-radius:15px;place-items:center;width:52px;height:52px;margin:0 auto 12px;font-family:Fredoka Variable,sans-serif;font-size:1rem;font-weight:600;display:grid;box-shadow:0 4px #00000059}.screen-guard-card h2{color:var(--cream);margin:0 0 6px;font-size:1.4rem}.screen-guard-card p{color:var(--muted);margin:0;font-size:.72rem;line-height:1.5}@media (max-width:319px),(max-height:539px),(orientation:landscape) and (max-height:640px){.screen-guard{display:flex}}.brand-mark{background:conic-gradient(var(--red) 0 25%, var(--green) 25% 50%, var(--yellow) 50% 75%, var(--blue) 75% 100%);border:2px solid #1c0c0e;border-radius:11px;flex-shrink:0;width:36px;height:36px;display:inline-block;position:relative;box-shadow:0 3px #0006,inset 0 1px #fff6}.brand-mark:after{content:"";border:2px solid var(--gold);background:#2a1114;border-radius:50%;position:absolute;inset:27%}.brand-mark.small{border-radius:9px;width:30px;height:30px}.mini-brand{align-items:center;gap:7px;min-width:0;display:flex}.mini-brand-name{letter-spacing:.2px;color:var(--cream);font-size:1.02rem}.icon-btn{width:36px;height:36px;color:var(--cream);cursor:pointer;background:#0000003d;border:1px solid #ffffff21;border-radius:11px;flex-shrink:0;place-items:center;padding:0;transition:transform .14s,background .14s,border-color .14s;display:grid;position:relative}.icon-btn svg{width:19px;height:19px}.icon-btn:hover{background:#ffffff17;border-color:#ffffff38}.icon-btn:active{transform:scale(.92)}.setup-screen{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex}.setup-topbar{flex-shrink:0;justify-content:space-between;align-items:center;padding:2px 2px 0;display:flex}.setup-head-actions{align-items:center;gap:7px;display:flex}.local-pill{letter-spacing:.12em;color:var(--gold);background:#f6da6314;border:1px solid #f6da6347;border-radius:999px;padding:4px 7px;font-size:.52rem;font-weight:900}.setup-scroll{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;flex-direction:column;flex:1;gap:14px;min-height:0;padding:0 2px 10px;display:flex;overflow-y:auto}.setup-scroll::-webkit-scrollbar{display:none}.setup-scroll>*{flex-shrink:0}.setup-hero{text-align:center;padding:16px 10px 6px;position:relative;overflow:hidden}.hero-orbit{pointer-events:none;position:absolute;inset:0}.hero-orbit span{background:var(--dot);width:7px;height:7px;box-shadow:0 0 18px var(--dot);opacity:.8;border-radius:50%;animation:4.5s ease-in-out infinite alternate orbitFloat;position:absolute}.hero-orbit span:first-child{top:28%;left:18%}.hero-orbit span:nth-child(2){animation-delay:-1.2s;top:16%;right:20%}.hero-orbit span:nth-child(3){animation-delay:-2.1s;bottom:26%;left:11%}.hero-orbit span:nth-child(4){animation-delay:-.6s;bottom:18%;right:15%}.brand-mark.hero{border-radius:23px;width:76px;height:76px;margin:0 auto 10px;box-shadow:0 8px #00000052,0 20px 38px #00000059,inset 0 2px #fff6}.brand-mark.hero:after{border-width:3px;inset:25%}.brand-mark.hero i{z-index:2;color:var(--cream);text-shadow:0 2px 2px #00000080;place-items:center;font-size:1.4rem;font-style:normal;display:grid;position:absolute;inset:0}.brand-mark.hero i:before{content:"♛"}.setup-hero h1{letter-spacing:.5px;color:var(--cream);text-shadow:0 3px #1a0b0c,0 10px 25px #0006;margin:0;font-size:clamp(2.45rem,10vw,3.05rem);line-height:.95}.setup-hero p{color:var(--muted);margin:7px 0 10px;font-size:.82rem;font-weight:700}.hero-tags{justify-content:center;gap:5px;display:flex}.hero-tags span{letter-spacing:.15em;color:var(--gold);background:#f6da6312;border:1px solid #f6da6338;border-radius:999px;padding:3px 7px;font-size:.48rem;font-weight:900}.setup-section{flex-direction:column;gap:7px;display:flex}.section-head{justify-content:space-between;align-items:baseline;padding:0 3px;display:flex}.section-label{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-size:.58rem;font-weight:900}.section-note{color:var(--muted-2);font-size:.56rem;font-weight:700}.preset-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.preset-btn{background:linear-gradient(150deg, #ffffff12, #0000001f), var(--panel);color:var(--text);cursor:pointer;border:1px solid #ffffff1f;border-radius:13px;flex-direction:column;align-items:center;gap:1px;padding:9px 5px 8px;transition:transform .14s,border-color .14s;display:flex;box-shadow:0 3px #00000042}.preset-btn:hover{border-color:#f6da634d}.preset-btn:active{transform:translateY(2px);box-shadow:0 1px #00000042}.preset-icon{border-radius:9px;place-items:center;width:27px;height:27px;margin-bottom:1px;font-size:.9rem;display:grid}.preset-icon.solo{color:var(--cyan);background:#4fe5ea1c}.preset-icon.duel{color:var(--red);background:#eb4d3d1f}.preset-icon.party{color:var(--yellow);background:#f6da631a}.preset-btn b{font-size:.79rem;font-weight:600}.preset-btn small{color:var(--muted-2);font-size:.53rem}.live-banner{background:linear-gradient(135deg, #4fe5ea1f, #00000029), var(--panel);border:1px solid #4fe5ea57;border-radius:13px;align-items:center;gap:9px;padding:8px 10px;display:flex;box-shadow:0 3px #0003}.live-banner.finished{background:linear-gradient(135deg, #f6da631a, #00000029), var(--panel);border-color:#f6da634d}.live-beacon{background:var(--cyan);width:9px;height:9px;box-shadow:0 0 0 3px #4fe5ea29, 0 0 12px var(--cyan);border-radius:50%;flex-shrink:0;animation:1.5s ease-in-out infinite dotPulse}.live-banner.finished .live-beacon{background:var(--gold);box-shadow:0 0 0 3px #f6da6329, 0 0 12px var(--gold);animation:none}.live-copy{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.live-copy b{color:var(--cream);font-size:.74rem}.live-copy small{color:var(--muted-2);font-size:.53rem}.live-resume{color:var(--cyan);letter-spacing:.04em;cursor:pointer;background:#4fe5ea1f;border:1px solid #4fe5ea73;border-radius:8px;flex-shrink:0;padding:6px 9px;font-size:.58rem;font-weight:900}.live-banner.finished .live-resume{color:var(--gold);background:#f6da631a;border-color:#f6da6373}.mode-grid{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.mode-card{background:linear-gradient(150deg, #ffffff0f, #0000001f), var(--panel);color:var(--text);text-align:left;cursor:pointer;border:1px solid #ffffff1f;border-radius:13px;flex-direction:column;align-items:flex-start;gap:1px;padding:9px 10px 8px;transition:transform .14s,border-color .14s,background .14s;display:flex;box-shadow:0 3px #0000003d}.mode-card:hover:not(:disabled){border-color:#f6da634d}.mode-card:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #0000003d}.mode-card.active{border-color:color-mix(in srgb, var(--cyan) 58%, #2a1114);background:linear-gradient(150deg, #4fe5ea29, #0000001f), var(--panel);box-shadow:0 0 0 1px #4fe5ea38,0 3px #0000003d}.mode-card:disabled{opacity:.45;cursor:not-allowed;box-shadow:0 2px #0003}.mode-symbol{border-radius:8px;place-items:center;width:24px;height:24px;margin-bottom:2px;font-size:.78rem;display:grid}.mode-symbol.free{color:var(--gold);background:#f6da631f}.mode-symbol.teams{color:var(--cyan);background:#4fe5ea1c}.mode-card b{font-size:.76rem;font-weight:600}.mode-card small{color:var(--muted-2);font-size:.52rem}.pairing-grid{grid-template-columns:repeat(3,1fr);gap:5px;margin-top:1px;display:grid}.pairing-btn{color:var(--muted);cursor:pointer;background:#0000002e;border:1px solid #ffffff1c;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:6px 3px 5px;transition:border-color .14s,background .14s,transform .14s;display:flex}.pairing-btn.active{color:var(--cream);background:#f6da631a;border-color:#f6da638c;box-shadow:0 0 0 1px #f6da6329}.pairing-btn:active{transform:translateY(1px)}.pairing-visual{align-items:center;gap:3px;display:flex}.pairing-side{align-items:center;display:flex}.pairing-side i{border:1.5px solid #00000059;border-radius:50%;width:9px;height:9px;margin-left:-2px;box-shadow:0 1px #0000003d}.pairing-side i:first-child{margin-left:0}.pairing-vs{color:var(--muted-2);text-transform:uppercase;font-size:.43rem;font-weight:900}.pairing-btn b{letter-spacing:.02em;white-space:nowrap;font-size:.52rem;font-weight:900}.seat-list{flex-direction:column;gap:7px;display:flex}.seat-card{border:1px solid #ffffff1c;border-left:4px solid var(--seat);background:linear-gradient(145deg, #ffffff0e, #0000001f), var(--panel);border-radius:13px;flex-direction:column;gap:7px;padding:8px 9px;transition:opacity .2s,border-color .2s;display:flex;position:relative;box-shadow:0 3px #0003}.seat-card.seat-off{opacity:.62;border-left-color:#ffffff2e}.seat-top{justify-content:space-between;align-items:center;gap:7px;min-width:0;display:flex}.seat-identity{align-items:center;gap:6px;min-width:0;display:flex}.seat-dot{border-radius:50%;flex-shrink:0;width:11px;height:11px;box-shadow:0 0 0 2px #00000042}.seat-name{color:var(--cream);font-size:.9rem}.seat-live{letter-spacing:.1em;color:var(--seat);background:#ffffff12;border:1px solid #ffffff1a;border-radius:4px;padding:1.5px 4px;font-size:.45rem;font-weight:900}.seat-live.off{color:var(--muted-2)}.seat-team{border:1px solid color-mix(in srgb, var(--team) 52%, #2a1114);background:color-mix(in srgb, var(--team) 16%, #00000047);color:color-mix(in srgb, var(--team) 55%, white 45%);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:4px;align-items:center;gap:3px;padding:1.5px 4px;font-size:.45rem;font-weight:900;line-height:1.2;display:inline-flex}.seat-team.dim{opacity:.55}.seat-team-dots{display:inline-flex}.seat-team-dots i{border:1px solid #00000059;border-radius:50%;width:6px;height:6px;margin-left:-1px}.seat-team-dots i:first-child{margin-left:0}.role-pills{flex-shrink:0;gap:3px;display:flex}.role-pill{color:var(--muted-2);cursor:pointer;background:#0003;border:1px solid #ffffff1f;border-radius:6px;padding:4px 5px;font-size:.54rem;font-weight:900;transition:background .14s,color .14s,transform .14s}.role-pill.active{background:var(--gold);color:#2a1114;border-color:#2a1114;box-shadow:0 2px #1b0b0d}.role-pill.active[data-role=dumb]{color:#0b2a23;background:linear-gradient(160deg,#a8f0df,#79dbc2 58%,#41a88f);border-color:#103b32;box-shadow:0 2px #071d18}.role-pill.active[data-role=regular]{color:#341f05;background:linear-gradient(160deg,#ffdb9c,#f0b25b 58%,#c17f2a);border-color:#3d2507;box-shadow:0 2px #201304}.role-pill.active[data-role=intelligent]{color:#320810;background:linear-gradient(160deg,#ffb0b0,#ff7676 58%,#c93f4f);border-color:#3d0d16;box-shadow:0 2px #1e0409}.role-pill:active{transform:translateY(1px)}.role-pill:disabled{opacity:.32;cursor:not-allowed;transform:none}.seat-dice-row{align-items:center;gap:7px;display:flex}.dice-mode{background:#00000038;border-radius:8px;flex-shrink:0;gap:2px;padding:2px;display:flex}.mode-pill{color:var(--muted-2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 7px;font-size:.55rem;font-weight:900}.mode-pill.active{background:var(--seat);color:#25100f;box-shadow:0 1px #00000038}.luck-control{flex:1;justify-content:flex-end;align-items:center;gap:6px;min-width:0;transition:opacity .2s;display:flex}.luck-control.dim{opacity:.3;pointer-events:none}.luck-slider{width:100%;max-width:128px;height:4px;accent-color:var(--seat);cursor:pointer;touch-action:pan-y}.luck-value{text-align:right;min-width:31px;color:var(--cream);font-size:.58rem;font-weight:900}.seat-off-note{color:var(--muted-2);margin:0;font-size:.58rem}.fairness-card{background:linear-gradient(135deg, #f6da6314, #00000024), var(--panel);border:1px solid #f6da632e;border-radius:13px;justify-content:space-between;align-items:center;gap:10px;padding:10px 11px;display:flex}.fairness-copy p{max-width:220px;color:var(--muted-2);margin:4px 0 0;font-size:.55rem;line-height:1.4}.fairness-copy p b{color:var(--gold);font-family:inherit;font-weight:900}.fairness-controls{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:5px;display:flex}.fairness-value{color:var(--gold);font-family:Fredoka Variable,sans-serif;font-size:1.15rem;font-weight:600;line-height:1}.fairness-value.small{text-align:center;min-width:36px;font-size:.8rem}.cap-buttons{gap:4px;display:flex}.fairness-tilt{letter-spacing:.04em;color:var(--muted-2);cursor:pointer;align-items:center;gap:4px;font-size:.48rem;font-weight:800;display:flex}.fairness-tilt input{width:62px;height:14px;accent-color:var(--gold);cursor:pointer;margin:0}.fairness-tilt b{min-width:26px;color:var(--gold);text-align:right;font-variant-numeric:tabular-nums;font-size:.56rem}.mini-btn{width:26px;height:25px;color:var(--gold);cursor:pointer;background:#f6da6314;border:1px solid #f6da6359;border-radius:7px;padding:0;font-size:.78rem;font-weight:900;line-height:1}.mini-btn:active{transform:scale(.93)}.mini-btn.infinity{font-size:.9rem}.setup-note{text-align:center;color:#e7c8c28c;margin:0 3px 2px;font-size:.54rem}.setup-footer{flex-direction:column;flex-shrink:0;gap:6px;padding-top:3px;display:flex}.start-meta{justify-content:space-between;gap:8px;padding:0 2px;display:flex}.meta-pill{color:var(--muted);font-size:.52rem;font-weight:800}.meta-pill.quiet{color:#e7c8c28c}.start-btn{background:linear-gradient(180deg, #fff0a1 0%, var(--gold) 48%, #e4b437 100%);color:#2a1114;letter-spacing:.35px;cursor:pointer;border:2px solid #1b0b0d;border-radius:14px;justify-content:center;align-items:center;gap:9px;width:100%;padding:12px 16px;font-size:1.02rem;transition:transform .13s,box-shadow .13s,filter .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 5px #6a4a14,0 12px 24px #00000052,inset 0 1px #ffffff8c}.start-btn svg{width:18px;height:18px}.start-btn:before{content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000);width:32%;height:100%;animation:4.2s ease-in-out infinite sheen;position:absolute;top:0;left:-45%;transform:skew(-22deg)}.start-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px #6a4a14,0 6px 14px #00000047,inset 0 1px #ffffff8c}.start-btn:disabled{filter:grayscale(.5)brightness(.8);opacity:.62;box-shadow:0 3px #4a3513}.start-hint{text-align:center;color:var(--danger);margin:0;font-size:.56rem}.footer-actions{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.footer-actions .start-btn{padding:11px 12px}.restart-btn{background:linear-gradient(150deg, #ffffff0f, #0000002e), var(--panel);color:var(--muted);letter-spacing:.03em;cursor:pointer;border:1px solid #ffffff29;border-radius:13px;padding:0 13px;font-size:.68rem;font-weight:900;transition:border-color .14s,color .14s,transform .12s}.restart-btn:hover:not(:disabled){color:var(--cream);border-color:#f6da6366}.restart-btn:active:not(:disabled){transform:translateY(2px)}.restart-btn:disabled{opacity:.42;cursor:not-allowed}.game-screen{flex-direction:column;gap:0;height:100%;min-height:0;padding:0 1px;display:flex}.game-topbar{flex-shrink:0;align-items:center;gap:7px;padding:1px 2px 0;display:flex}.game-topbar .mini-brand-name{font-size:1rem}.turn-chip{background:#00000038;border:1px solid #ffffff17;border-radius:11px;flex:1;justify-content:center;align-items:center;gap:7px;min-width:0;padding:4px 8px;display:flex}.turn-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.7s ease-in-out infinite dotPulse;box-shadow:0 0 0 2px #00000047,0 0 10px}.turn-copy{text-align:center;flex-direction:column;align-items:center;min-width:0;line-height:1.12;display:flex}.turn-copy b{color:var(--cream);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.turn-copy small{color:var(--muted-2);white-space:nowrap;text-overflow:ellipsis;font-size:.62rem;overflow:hidden}.turn-chip.tone-success{background:#1d533138;border-color:#62d58a85;box-shadow:inset 0 0 16px #62d58a12}.turn-chip.tone-success .turn-copy small{color:#b8f0c9}.turn-chip.tone-danger{background:#681a1d3d;border-color:#ff776894;box-shadow:inset 0 0 16px #ff776814}.turn-chip.tone-danger .turn-copy small{color:#ffc4bc}.top-actions{flex-shrink:0;gap:4px;display:flex}.top-actions .icon-btn{border-radius:9px;width:31px;height:31px}.top-actions .icon-btn svg{width:17px;height:17px}.top-actions .icon-btn.active{color:var(--cyan);background:#4fe5ea1f;border-color:#4fe5ea8c;box-shadow:0 0 12px #4fe5ea29}.top-actions .icon-btn.roster-btn.attention{color:var(--gold);background:#f6da6324;border-color:#f6da639e;animation:1.7s ease-in-out infinite rosterGlow}@keyframes rosterGlow{0%,to{box-shadow:0 0 #f6da6300}50%{box-shadow:0 0 0 3px #f6da631f,0 0 18px #f6da638c}}.roster-badge{background:var(--gold);color:#2a1e08;min-width:15px;height:15px;box-shadow:0 0 0 2px var(--bg-0);border-radius:999px;place-items:center;padding:0 3px;font-size:.46rem;font-weight:900;line-height:1;display:inline-grid;position:absolute;top:-5px;right:-5px}.game-body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.game-chat-side{min-width:0;min-height:0;display:none}.game-table{--emote-size:clamp(46px, 12vw, 58px);flex:1;grid-template:"red green"minmax(0,1fr)"board board""blue yellow"minmax(0,1fr)/minmax(0,1fr) minmax(0,1fr);place-content:center;gap:4px 8px;min-height:0;padding:2px 0;display:grid}.seat-rail{display:contents}.seat-panel{z-index:3;flex-direction:column;justify-content:center;gap:4px;min-width:0;min-height:0;display:flex;position:relative}.seat-panel.slot-red{grid-area:red}.seat-panel.slot-green{grid-area:green}.seat-panel.slot-blue{grid-area:blue}.seat-panel.slot-yellow{grid-area:yellow}.player-row{z-index:3;flex:1 1 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;min-height:86px;max-height:126px;margin:0;display:grid;position:relative}.player-row.top-row{margin-bottom:0}.player-row.bottom-row{margin-top:0}.player-slot{align-items:center;min-width:0;min-height:0;display:grid}.slot-red,.slot-blue{grid-column:1}.slot-green,.slot-yellow{grid-column:2}.player-card{background:linear-gradient(180deg, #00000042 0 6px, transparent 6px), linear-gradient(145deg, #ffffff0e, #00000024), var(--panel);border:1px solid #ffffff1c;border-radius:14px;flex-direction:column;justify-content:center;min-height:0;padding:6px 0 0;transition:box-shadow .2s,border-color .2s,background .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 3px #0000002e}.player-card:before{content:"";background:var(--seat);z-index:2;width:4px;position:absolute;inset:6px auto 0 0}.player-card.is-current{border-color:color-mix(in srgb, var(--seat) 60%, white 20%);background:linear-gradient(180deg, #00000042 0 6px, transparent 6px), linear-gradient(145deg, color-mix(in srgb, var(--seat) 18%, transparent), #0000002e), var(--panel);box-shadow:0 0 0 1.5px var(--seat), 0 0 18px color-mix(in srgb, var(--seat) 26%, transparent), 0 4px 0 #0003}.player-card.is-finished{border-color:color-mix(in srgb, var(--medal,var(--gold)) 58%, transparent);background:linear-gradient(145deg, color-mix(in srgb, var(--gold) 12%, transparent), #00000029), var(--panel)}.player-card.is-off{box-shadow:none;background:#0000001f;border-style:dashed;border-color:#ffffff14}.player-card.is-off:before{opacity:.28}.player-card.is-off .player-name,.player-card.is-off .player-dot{opacity:.5}.player-main{flex-direction:row;flex:1;align-items:stretch;gap:6px;min-width:0;min-height:0;padding:4px 6px 4px 10px;display:flex}.player-card.right .player-main{flex-direction:row-reverse;padding:4px 10px 4px 6px}.player-side{flex:auto;grid-template-rows:1fr 1fr;align-items:center;min-width:0;min-height:0;display:grid}.player-card.has-stats{--stats-line:15px}.player-card.has-stats .player-main{flex:none;min-height:64px}.player-row.top-row .player-card.has-stats{margin-top:var(--stats-line)}.player-row.bottom-row .player-card.has-stats{margin-bottom:var(--stats-line)}.off-tag{color:var(--muted-2);background:#ffffff0d}.player-off-note{color:#e7c8c27a;padding:0 12px 5px;font-size:.68rem;font-weight:700}.off-dock{color:#e7c8c24d;place-items:center;width:38px;height:38px;display:grid}.off-dock svg{width:22px;height:22px}.player-head{flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;min-width:0;display:flex}.player-card.right .player-head{align-items:flex-end}.player-id{justify-content:flex-start;align-items:center;gap:6px;min-width:0;max-width:100%;font-size:1.18rem;display:flex}.player-card.right .player-id{justify-content:flex-end}.player-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;box-shadow:0 0 0 1.5px #00000042}.player-name-viewport{flex:0 auto;min-width:0;max-width:100%;display:inline-block;position:relative;overflow:hidden}.player-name-track{white-space:nowrap;will-change:transform;align-items:baseline;gap:16px;display:inline-flex}.player-name-track.marquee{animation:7s linear infinite nameMarquee}.player-name{min-width:0;font-size:inherit;letter-spacing:.2px;white-space:nowrap;line-height:1;display:inline-block}.name-clone{opacity:.9}.role-icon{width:1em;height:1em;font-size:inherit;color:color-mix(in srgb, var(--seat) 72%, white 28%);filter:drop-shadow(0 1px 1px #00000059);flex:none;place-items:center;display:grid}.role-icon svg{width:100%;height:100%;display:block}.role-icon.bot{color:var(--cyan)}.role-icon.role-dumb{color:#79dbc2;filter:drop-shadow(0 0 4px #79dbc257)}.role-icon.role-regular{color:#f0b25b;filter:drop-shadow(0 0 4px #f0b25b57)}.role-icon.role-intelligent{color:#ff7676;filter:drop-shadow(0 0 5px #ff606080)}.role-icon.off{color:var(--muted-2);opacity:.52}.bot-icon{place-items:center;width:100%;height:100%;display:grid}.bot-icon svg{width:100%;height:100%;display:block}.place-chip{color:#2a1114;background:linear-gradient(160deg, #fff7d2, var(--gold) 62%, #d7a630);border:1px solid #2a1114;border-radius:999px;flex-shrink:0;place-items:center;padding:1px 5px;font-family:Fredoka Variable,sans-serif;font-size:.55rem;font-weight:600;line-height:1.2;display:inline-grid;box-shadow:0 1px #00000047}.place-chip.place-2{background:linear-gradient(160deg,#fbfdff,#dfe5ef 60%,#aeb8c9)}.place-chip.place-3{background:linear-gradient(160deg,#ffe3ca,#d9925b 60%,#aa6836)}.place-chip.place-4{background:linear-gradient(160deg,#e9eef5,#a6b2c3 60%,#7b8798)}.player-team{border:1px solid color-mix(in srgb, var(--team) 58%, #2a1114);background:color-mix(in srgb, var(--team) 20%, #00000052);color:color-mix(in srgb, var(--team) 58%, white 42%);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;flex-shrink:0;place-items:center;padding:1px 4px;font-size:.48rem;font-weight:900;line-height:1.2;display:inline-grid}.player-card.is-team-turn{border-color:color-mix(in srgb, var(--seat) 42%, white 12%);background:linear-gradient(145deg, color-mix(in srgb, var(--seat) 10%, transparent), #00000029), var(--panel);box-shadow:0 0 0 1px color-mix(in srgb, var(--seat) 34%, transparent), 0 0 12px color-mix(in srgb, var(--seat) 18%, transparent), 0 3px 0 #0000002e}.player-stats-strip{min-width:0;height:var(--stats-line,15px);min-height:var(--stats-line,15px);border-bottom:1px solid color-mix(in srgb, var(--seat) 42%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--seat) 16%, transparent), transparent 55%), #0000002e;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:2px 6px;padding:0 9px;display:flex}.player-card.bottom .player-stats-strip{border-bottom:0;border-top:1px solid color-mix(in srgb, var(--seat) 42%, transparent);order:-1}.metric-chip{min-width:0;color:var(--muted);white-space:nowrap;background:#00000047;border-radius:4px;align-items:center;gap:3px;padding:0 5px;font-family:Nunito Variable,sans-serif;font-size:.7rem;font-weight:800;line-height:1;display:inline-flex}.metric-chip small{letter-spacing:.04em;color:#e7c8c28a;font-size:.46rem;font-weight:900}.metric-chip b{color:var(--gold);font-variant-numeric:tabular-nums;font-family:Fredoka Variable,sans-serif;font-size:.8rem;font-weight:500;line-height:1;display:inline-flex}.metric-chip.avg-chip b{color:var(--cyan)}.metric-chip .rolling-number{align-items:center}.metric-max{color:#e7c8c280;font-size:.52rem;font-weight:700}.rolls{color:var(--muted-2);font-size:.52rem}.rolling-number{font-variant-numeric:tabular-nums;align-items:baseline;display:inline-flex}.rn-cell{vertical-align:baseline;width:.62em;height:1.05em;display:inline-block;position:relative;overflow:hidden}.rn-digit{font-variant-numeric:tabular-nums;place-items:center;display:grid;position:absolute;inset:0}.rn-in{animation:.42s cubic-bezier(.2,.85,.35,1) both digitRollInUp}.rn-out{animation:.42s cubic-bezier(.2,.85,.35,1) both digitRollOutUp}.rn-digit.down.rn-in{animation-name:digitRollInDown}.rn-digit.down.rn-out{animation-name:digitRollOutDown}.rn-sep{text-align:center;opacity:.82;width:.3em;display:inline-block}.finish-dock-medal{color:#2a1114;background:linear-gradient(160deg, #fff7cf 0%, var(--gold) 52%, #d7a630 100%);border:1.5px solid #2a1114;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:100%;height:100%;animation:.55s cubic-bezier(.2,1.4,.4,1) both medalPop;display:flex;box-shadow:0 2px #2a11148c,inset 0 1px #ffffff8c}.finish-dock-medal svg{fill:currentColor;width:55%;height:55%}.finish-dock-medal b{letter-spacing:.04em;text-transform:uppercase;font-family:Fredoka Variable,sans-serif;font-size:.55rem;font-weight:600;line-height:1}.finish-dock-medal.place-2{background:linear-gradient(160deg,#fff 0%,#dfe5ef 55%,#aeb8c9 100%)}.finish-dock-medal.place-3{background:linear-gradient(160deg,#ffe6d0 0%,#d9925b 55%,#a96532 100%)}.finish-dock-medal.place-4{background:linear-gradient(160deg,#edf1f7 0%,#a6b2c3 55%,#7b8798 100%)}.roll-tray{opacity:.18;flex-direction:row;flex-shrink:0;justify-content:center;justify-self:end;align-items:center;gap:2px;width:63px;height:19px;transition:opacity .18s;display:flex;position:relative}.player-card.right .roll-tray{justify-self:start}.roll-tray:after{content:"";opacity:.5;background:linear-gradient(90deg,#0000,#f6da636b,#0000);border-radius:999px;height:1px;position:absolute;bottom:-1px;left:5px;right:5px}.roll-tray.has-dice{opacity:1}.tray-die{transform-origin:50%;will-change:transform;background:linear-gradient(145deg,#fffaf0 0%,#f4e6ca 55%,#e3cda6 100%);border:1.5px solid #c9a45a;border-radius:4.5px;flex-shrink:0;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:1.5px;width:19px;height:19px;padding:2px;display:grid;position:relative;box-shadow:0 2px #5b3c22,inset 0 1px #fff6}.tray-pip{background:0 0;border-radius:50%;width:100%;height:100%}.tray-pip.on{background:#2a191b}.tray-pip.on.accent{background:#c23b2f}.dice-dock{background:#00000038;border:1.5px dashed #ffffff24;border-radius:12px;flex-shrink:0;align-self:stretch;place-items:center;width:56px;min-height:56px;transition:border-color .2s,background .2s;display:grid}.dice-dock.active-dock{border-color:var(--seat);background:color-mix(in srgb, var(--seat) 12%, #0003)}.current-die{place-items:center;width:100%;height:100%;transition:opacity 80ms linear;display:grid}.current-die.travelling{opacity:0}.auto-toggle{color:#e7c8c294;cursor:pointer;background:linear-gradient(145deg,#ffffff0f,#0003),#00000047;border:1.5px solid #ffffff29;border-radius:11px;place-items:center;width:40px;height:40px;padding:0;transition:color .18s,border-color .18s,background .18s,box-shadow .18s,transform .12s;display:grid;position:relative}.auto-toggle svg{width:22px;height:22px}.auto-toggle:active{transform:translateY(1px)scale(.97)}.auto-toggle.on{color:var(--cream);border-color:color-mix(in srgb, var(--seat) 78%, white 10%);background:linear-gradient(145deg, color-mix(in srgb, var(--seat) 30%, transparent), #0000002e), #00000057;box-shadow:inset 0 1px 1px #ffffff29, 0 0 0 1px color-mix(in srgb, var(--seat) 48%, transparent), 0 0 13px color-mix(in srgb, var(--seat) 42%, transparent)}.auto-toggle.on svg{animation:5.5s linear infinite autoRollSpin}.bot-dock{width:38px;height:38px;color:color-mix(in srgb, var(--seat) 54%, var(--muted-2));opacity:.76;background:#00000029;border:1px solid #ffffff14;border-radius:11px;place-items:center;display:grid}.bot-dock svg{width:23px;height:23px}.bot-dock.role-dumb{color:#79dbc2;background:#25766829;border-color:#79dbc257;box-shadow:inset 0 0 12px #79dbc21f}.bot-dock.role-regular{color:#f0b25b;background:#8052162e;border-color:#f0b25b5c;box-shadow:inset 0 0 12px #f0b25b1f}.bot-dock.role-intelligent{color:#ff7676;background:#751c2638;border-color:#ff76766b;box-shadow:inset 0 0 14px #ff5a5a29,0 0 10px #ff5a5a14}.dice-btn{--die-face-top:#fffaf0;--die-face-mid:#f4e6ca;--die-face-low:#e3cda6;--die-rim:#c9a45a;--die-edge:#5b3c22;--die-pip:radial-gradient(circle at 35% 30%, #5a3b32 0%, #2a191b 62%, #1b0f11 100%);--die-pip-accent:radial-gradient(circle at 35% 30%, #ef7a64 0%, #c23b2f 58%, #8f211d 100%);--die-pip-shadow:inset 0 1px 2px #0000008c, 0 1px 0 #ffffff52;--die-texture:radial-gradient(circle at 30% 22%, #fffffff2, transparent 38%);--die-inner:inset 0 1px 0 #fffffff5, inset 0 -2px 5px #78502329, inset 0 0 0 1px #c9a45a3d;border:1.5px solid var(--die-rim);background:linear-gradient(135deg, #fff3, transparent 42%), var(--die-texture), linear-gradient(145deg, var(--die-face-top) 0%, var(--die-face-mid) 52%, var(--die-face-low) 100%);width:51px;height:51px;box-shadow:0 3px 0 var(--die-edge), 0 5px 10px #00000057, var(--die-inner);cursor:pointer;border-radius:11px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:3px;padding:7px;transition:transform .14s,box-shadow .14s,opacity .14s;display:grid;position:relative}.dice-btn:active:not(:disabled){box-shadow:0 1px 0 var(--die-edge), 0 2px 4px #00000047, var(--die-inner);transform:translateY(2px)}.dice-btn:disabled{cursor:default}.dice-btn.ready{box-shadow:0 3px 0 var(--die-edge), 0 5px 10px #00000057, 0 0 0 1px #f6da632e, 0 0 14px #f6da6329, var(--die-inner);animation:none}.dice-btn.waiting{--die-face-top:#e3d6c1;--die-face-mid:#cbb99d;--die-face-low:#b09a7b;--die-rim:#8b6b48;--die-edge:#5e4935;box-shadow:0 2px 0 var(--die-edge), 0 3px 7px #00000042, inset 0 1px 0 #ffffff70, inset 0 -2px 4px #50371e29, inset 0 0 0 1px #8b6b483d}.dice-btn.spent{box-shadow:0 1px 0 var(--die-edge), 0 2px 5px #0000003d, var(--die-inner);opacity:.94}.dice-btn.rolling{animation:feltRock var(--dice-spin,.78s) cubic-bezier(.36, .68, .3, 1) both;transform-origin:50% 72%;will-change:transform}.dice-pip{background:0 0;border-radius:50%;width:100%;height:100%}.dice-pip.on{background:var(--die-pip);box-shadow:var(--die-pip-shadow)}.dice-pip.on.accent{background:var(--die-pip-accent)}.dice-flyer{z-index:5;aspect-ratio:1;pointer-events:none;will-change:transform;filter:drop-shadow(0 10px 14px #00000073);position:fixed;top:0;left:0}.dice-flyer-face{background:linear-gradient(145deg,#fffdf6 0%,#f6ecd8 100%);border:2px solid #1e1213;border-radius:11px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:3px;width:100%;height:100%;padding:7px;display:grid;box-shadow:0 3px #1e1213,inset 0 1px #fffc}.board-stage{isolation:isolate;flex:none;grid-area:board;justify-content:center;align-items:center;min-width:0;min-height:0;padding:0;display:flex;position:relative;container-type:size}.board-halo{aspect-ratio:1;background:radial-gradient(circle, color-mix(in srgb, var(--turn) 25%, transparent) 0%, transparent 68%);filter:blur(22px);z-index:-1;opacity:.75;border-radius:50%;width:82%;transition:background .4s;position:absolute}.ludo-board{aspect-ratio:1;width:min(100vw - 20px,100dvh - 222px,520px);box-shadow:0 0 0 2px #160a0b, 0 0 0 5px #f6da638c, 0 20px 42px #00000085, 0 0 36px color-mix(in srgb, var(--turn) 14%, transparent);transform-origin:50%;touch-action:manipulation;background:#fffdf6;border-radius:10px;flex-shrink:0;position:relative;overflow:hidden}.ludo-board:after{content:"";z-index:9;pointer-events:none;border-radius:9px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #00000047}.board-grid{background:#fffdf8;grid-template-rows:repeat(15,1fr);grid-template-columns:repeat(15,1fr);display:grid;position:absolute;inset:0}.cell{background:#fffdf8;border:.5px solid #8f8d86;justify-content:center;align-items:center;display:flex;position:relative}.cell.path-red{background:var(--red)}.cell.path-green{background:var(--green)}.cell.path-yellow{background:var(--yellow)}.cell.path-blue{background:var(--blue)}.cell.start-cell{box-shadow:inset 0 0 0 2px #ffffff59}.safe-star{font-size:calc(var(--cell-size,24px) * .88);color:#241b1861;pointer-events:none;text-shadow:0 1px #ffffff38;line-height:.72;position:absolute;transform:translateY(-.02em)}.path-red .safe-star,.path-green .safe-star,.path-blue .safe-star{color:#fffaf094}.path-yellow .safe-star{color:#38250894}.entry-arrow{opacity:.66;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.entry-arrow svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #0000002e);width:74%;height:74%}.arrow-red{color:var(--red-dark)}.arrow-green{color:var(--green-dark);transform:rotate(90deg)}.arrow-yellow{color:#b98617;transform:rotate(180deg)}.arrow-blue{color:var(--blue-dark);transform:rotate(-90deg)}.yard{border:1px solid #48453f;justify-content:center;align-items:center;padding:7.2%;transition:filter .3s,opacity .3s;display:flex;position:relative}.yard-red{background:var(--red-pastel);grid-area:1/1/7/7}.yard-green{background:var(--green-pastel);grid-area:1/10/7/16}.yard-yellow{background:var(--yellow-pastel);grid-area:10/10/16/16}.yard-blue{background:var(--blue-pastel);grid-area:10/1/16/7}.yard.inactive-yard{filter:grayscale(.9)brightness(.85);opacity:.32}.yard[data-place="1"]{--medal:#f6da63;--medal-deep:#a8730f}.yard[data-place="2"]{--medal:#e4e9f3;--medal-deep:#7c879b}.yard[data-place="3"]{--medal:#d9925b;--medal-deep:#7e451d}.yard[data-place="4"]{--medal:#a6b2c3;--medal-deep:#4f5a68}.yard.finished-yard .yard-ring{opacity:.38;filter:saturate(.65)}.yard-medal{opacity:0;pointer-events:none;z-index:4;flex-direction:column;justify-content:center;align-items:center;gap:1.5%;transition:opacity .3s,transform .3s;display:flex;position:absolute;inset:0;transform:scale(.55)rotate(-8deg)}.yard.finished-yard .yard-medal{opacity:1;animation:.62s cubic-bezier(.2,1.35,.4,1) both yardMedalIn;transform:scale(1)rotate(0)}.yard-medal:before{content:"";aspect-ratio:1;background:radial-gradient(circle, color-mix(in srgb, var(--medal) 38%, transparent) 0%, transparent 68%);filter:blur(2px);border-radius:50%;width:62%;position:absolute}.yard[data-place="1"] .yard-medal:before{animation:2.6s ease-in-out infinite medalGlow}.yard-medal-crown{width:44%;color:var(--medal);filter:drop-shadow(0 2px 0 var(--medal-deep)) drop-shadow(0 4px 7px #00000057);position:relative}.yard-medal-crown svg{fill:currentColor;stroke:#2a1114;stroke-width:.65px;stroke-linejoin:round;width:100%;height:auto;display:block}.yard-medal-place{background:linear-gradient(160deg, #fff9df 0%, var(--medal) 48%, var(--medal-deep) 100%);color:#2a1114;letter-spacing:.03em;text-transform:uppercase;border:1.5px solid #2a1114;border-radius:999px;place-items:center;min-width:2.9em;padding:.12em .5em .16em;font-family:Fredoka Variable,sans-serif;font-size:clamp(9px,2vw,17px);font-weight:600;line-height:1;display:grid;position:relative;box-shadow:0 2px #2a111466,0 4px 10px #0000003d}.yard-ring{border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;padding:6.5%;display:flex}.yard-red .yard-ring{border:3px dashed #c93b2b}.yard-green .yard-ring{border:3px dashed #2e7743}.yard-yellow .yard-ring{border:3px dashed #8c6028}.yard-blue .yard-ring{border:3px dashed #1f305e}.yard-inner{border-radius:50%;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;place-items:center;gap:10%;width:100%;height:100%;padding:13%;display:grid}.yard-red .yard-inner{background:var(--red)}.yard-green .yard-inner{background:var(--green)}.yard-yellow .yard-inner{background:var(--yellow)}.yard-blue .yard-inner{background:var(--blue)}.yard-slot{border-radius:50%;place-items:center;width:78%;height:78%;display:grid;position:relative}.yard-slot-mark{opacity:0;pointer-events:none;place-items:center;transition:opacity .24s,transform .24s;display:grid;position:absolute;inset:0;transform:scale(.76)}.yard-slot[data-state=field] .yard-slot-field,.yard-slot[data-state=home] .yard-slot-home{opacity:1;transform:scale(1)}.yard-slot-mark svg{width:64%;height:64%;display:block}.yard-slot-field svg{opacity:.58}.yard-red .yard-slot-field{color:var(--red-dark)}.yard-green .yard-slot-field{color:var(--green-dark)}.yard-yellow .yard-slot-field{color:var(--yellow-dark)}.yard-blue .yard-slot-field{color:var(--blue-dark)}.yard-slot-home{color:var(--gold)}.yard-slot-home svg{filter:drop-shadow(0 1px 1px #00000057)drop-shadow(0 0 3px #f6da638c)}.yard-red .yard-slot{border:2px solid var(--red-dark);box-shadow:0 0 0 2.5px var(--red), 0 0 0 4px var(--red-dark);background:#f59c93}.yard-green .yard-slot{border:2px solid var(--green-dark);box-shadow:0 0 0 2.5px var(--green), 0 0 0 4px var(--green-dark);background:#97cfa6}.yard-yellow .yard-slot{border:2px solid var(--yellow-dark);box-shadow:0 0 0 2.5px var(--yellow), 0 0 0 4px var(--yellow-dark);background:#faea9f}.yard-blue .yard-slot{border:2px solid var(--blue-dark);box-shadow:0 0 0 2.5px var(--blue), 0 0 0 4px var(--blue-dark);background:#abb9dc}.center-home{background:#fffdf8;border:1.5px solid #2b2925;grid-area:7/7/10/10;position:relative;overflow:hidden}.center-home svg{width:100%;height:100%;display:block}.cell-hits-layer{z-index:6;pointer-events:none;position:absolute;inset:0}.cell-hit{pointer-events:auto;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:6px;padding:0;position:absolute;transform:translate(-50%,-50%)}.cell-hit:focus{outline:none}.cell-hit:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.cell-hit.is-selected{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--gold) 62%, transparent)}@media (hover:hover){.cell-hit:hover{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--turn) 38%, transparent)}}.tokens-layer{z-index:5;pointer-events:none;position:absolute;inset:0}.token{aspect-ratio:1;pointer-events:auto;cursor:default;filter:drop-shadow(0 2px 2px #00000059);will-change:transform;touch-action:manipulation;border-radius:50%;outline:none;width:5.85%;position:absolute;top:0;left:0}.token:after{content:"";border-radius:50%;position:absolute;inset:-32%}.token-inner{border:1.5px solid;border-radius:50%;place-items:center;width:100%;height:100%;display:grid;box-shadow:inset 0 -2px 2px #00000038,0 1px 1px #00000040}.token-inner svg{box-sizing:content-box;filter:drop-shadow(0 1px #0000002e);background:#fffdf7;border-radius:50%;width:52%;height:52%;padding:13%}.token-red .token-inner{background:var(--red);border-color:var(--red-dark)}.token-red .token-inner svg{fill:var(--red)}.token-green .token-inner{background:var(--green);border-color:var(--green-dark)}.token-green .token-inner svg{fill:var(--green)}.token-yellow .token-inner{background:var(--yellow);border-color:var(--yellow-dark)}.token-yellow .token-inner svg{fill:#c79228}.token-blue .token-inner{border-color:var(--blue-dark);background:#3b66b0}.token-blue .token-inner svg{fill:#3b66b0}.token.selectable{cursor:pointer;z-index:40!important}.token.selectable .token-inner{box-shadow:0 0 0 2px #1e1414, 0 0 0 4px var(--cream), 0 0 14px #f6da63e6;animation:.8s ease-in-out infinite alternate tokenBreathe}.token.selected{--group-accent:var(--cyan);cursor:pointer;z-index:42!important}.token.selected.group-2{--group-accent:var(--group-2)}.token.selected.group-3{--group-accent:var(--group-3)}.token.selected.group-4{--group-accent:var(--group-4)}.token.selected .token-inner{box-shadow:0 0 0 2px #1e1414, 0 0 0 5px var(--group-accent), 0 0 20px color-mix(in srgb, var(--group-accent) 80%, transparent);animation:none;transform:scale(1.12)}.token.combined-piece:before{content:"";border:1px dashed color-mix(in srgb, var(--gold) 72%, transparent);opacity:.72;pointer-events:none;border-radius:50%;position:absolute;inset:-15%}.token.combined-piece.selected:before{border-color:var(--group-accent);opacity:.95;border-style:solid}.token.stack-leader{z-index:44!important}.token-count{border:1.5px solid var(--gold);min-width:44%;height:44%;color:var(--cream);letter-spacing:-.04em;pointer-events:none;z-index:3;background:#1e1213;border-radius:999px;place-items:center;padding:0 2px;font-family:Nunito Variable,sans-serif;font-size:clamp(7px,1.35vw,11px);font-weight:900;line-height:1;display:grid;position:absolute;bottom:-18%;right:-20%;box-shadow:0 1px 3px #0000008c}.token-count:empty{display:none}.token.selected .token-count{border-color:var(--group-accent);color:#fff;box-shadow:0 0 0 1px #1e1213cc, 0 0 7px color-mix(in srgb, var(--group-accent) 70%, transparent)}.token-paths-layer{z-index:4;pointer-events:none;position:absolute;inset:0}.path-dot{width:calc(var(--cell-size,24px) * .26);aspect-ratio:1;background:radial-gradient(circle at 35% 30%, #fffdf4 0 17%, transparent 19%), var(--seat);border:1px solid color-mix(in srgb, var(--seat) 65%, white 35%);min-width:5px;box-shadow:0 0 0 1px #1e121342, 0 0 8px color-mix(in srgb, var(--seat) 60%, transparent);opacity:.86;animation:.26s cubic-bezier(.2,.9,.3,1.3) both pathDotIn;animation-delay:calc(var(--i) * 18ms);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.path-dot.group-2{--seat:var(--group-2);width:calc(var(--cell-size,24px) * .3);border-style:dashed;border-width:2px;box-shadow:0 0 0 1px #1e121347,0 0 10px #ff6fb5bf}.path-dot.group-3{--seat:var(--group-3);width:calc(var(--cell-size,24px) * .33);background:radial-gradient(circle at 35% 30%, #fffdf4 0 12%, transparent 14%), radial-gradient(circle, #1e1213 0 27%, var(--group-3) 29% 100%);border-color:color-mix(in srgb, var(--group-3) 55%, white 45%);box-shadow:0 0 0 1px #1e12134d,0 0 11px #b98cffd9}.path-dot.group-4{--seat:var(--group-4);width:calc(var(--cell-size,24px) * .33);border-width:2px;border-color:color-mix(in srgb, var(--group-4) 55%, white 45%);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);filter:drop-shadow(0 0 6px #ffa84ad9);border-radius:0}.destinations-layer{z-index:12;pointer-events:none;position:absolute;inset:0}.destination-marker{aspect-ratio:1;background:linear-gradient(160deg, #fff6b8 0%, var(--gold) 52%, #e8b93f 100%);color:#2a1114;cursor:pointer;pointer-events:auto;touch-action:manipulation;border:2px solid #1e1213;border-radius:50%;place-items:center;width:7.6%;min-width:17px;padding:0;font-family:Nunito Variable,sans-serif;font-weight:900;line-height:1;animation:.75s ease-in-out infinite alternate destinationPulse;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #fff8e7eb,0 4px 8px #0006,0 0 16px #f6da63bf}.destination-marker span{font-size:clamp(11px,3vw,16px);transform:translateY(-.5px)}.destination-marker:active{filter:brightness(1.12)}.destination-marker.group-2,.destination-marker.group-3,.destination-marker.group-4{--marker:var(--group-2);background:linear-gradient(160deg, color-mix(in srgb, var(--marker) 42%, white) 0%, var(--marker) 54%, color-mix(in srgb, var(--marker) 68%, black) 100%);border-color:color-mix(in srgb, var(--marker) 48%, white);color:#211018;animation:.75s ease-in-out infinite alternate groupMarkerPulse}.destination-marker.group-2{--marker:var(--group-2);border-style:dashed;box-shadow:0 0 0 2px #fff8e7eb,0 4px 8px #0006,0 0 16px #ff6fb5cc}.destination-marker.group-3{--marker:var(--group-3);box-shadow:0 0 0 2px #fff8e7eb, 0 0 0 4px color-mix(in srgb, var(--group-3) 52%, transparent), 0 4px 8px #0000006b, 0 0 18px #b98cffe6;border-width:3px}.destination-marker.group-4{--marker:var(--group-4);border-radius:24%;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 0 0 2px #fff8e7eb,0 4px 8px #0000006b,0 0 18px #ffa84ae6}.destination-marker.group-4>span{transform:rotate(-45deg)}.marker-count{border:1px solid var(--marker,var(--gold));color:#fff;letter-spacing:-.02em;white-space:nowrap;background:#1e1213;border-radius:999px;padding:1px 4px;font-size:clamp(7px,1.55vw,10px);font-weight:900;line-height:1.2;position:absolute;top:-26%;right:-26%;box-shadow:0 1px 3px #00000080}.token.home-token{z-index:9!important}.token.home-token .token-inner{box-shadow:0 0 0 2px #fff8e7,0 0 12px #f6da63e6}.token.animating-token{filter:drop-shadow(0 7px 8px #0000006b);z-index:60!important}.token.capture-return{filter:drop-shadow(0 0 10px #ffc496e6)drop-shadow(0 8px 10px #00000075);z-index:70!important}.token.capture-return .token-inner{box-shadow:0 0 0 2px #fff8e7,0 0 18px #ff7768d1}.token.captured{pointer-events:none}.fx-canvas{z-index:8;pointer-events:none;position:absolute;inset:0}.board-gloss{z-index:7;pointer-events:none;mix-blend-mode:soft-light;background:linear-gradient(128deg,#ffffff3d 0%,#0000 24%),radial-gradient(circle at 78% 12%,#ffffff24,#0000 28%);border-radius:9px;position:absolute;inset:0}.winner-glow{box-shadow:0 0 0 2px #160a0b,0 0 0 5px #f6da63cc,0 20px 42px #00000085,0 0 60px #f6da6373}.modal-backdrop{z-index:600;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0c0406bd;justify-content:center;align-items:center;padding:16px;animation:.18s ease-out both backdropIn;display:flex;position:fixed;inset:0}.modal-card{touch-action:pan-y;scrollbar-width:none;background:radial-gradient(circle at 20% 0,#f6da6314,#0000 38%),linear-gradient(160deg,#4b1f24 0%,#2b1114 70%);border:1px solid #f6da6366;border-radius:20px;width:100%;max-width:360px;max-height:calc(100dvh - 32px);padding:15px;animation:.24s cubic-bezier(.2,.9,.3,1.12) both modalIn;overflow-y:auto;box-shadow:0 26px 60px #000000a6,inset 0 1px #ffffff1a}.modal-card::-webkit-scrollbar{display:none}.modal-head{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:11px;display:flex}.modal-eyebrow{letter-spacing:.16em;color:var(--gold);font-size:.5rem;font-weight:900}.modal-head h2{color:var(--cream);margin:2px 0 0;font-size:1.3rem}.menu-grid{flex-direction:column;gap:7px;margin:11px 0;display:flex}.menu-toggle{width:100%;color:var(--text);text-align:left;cursor:pointer;background:#0000002e;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:9px;padding:9px 10px;display:flex}.menu-toggle-icon{width:29px;height:29px;color:var(--gold);background:#f6da631a;border-radius:8px;flex-shrink:0;place-items:center;font-weight:900;display:grid}.menu-toggle-copy{flex-direction:column;flex:1;gap:1px;display:flex}.menu-toggle-copy b{font-size:.76rem;font-weight:600}.menu-toggle-copy small{color:var(--muted-2);font-size:.53rem}.switch{background:#ffffff1f;border:1px solid #ffffff24;border-radius:999px;flex-shrink:0;width:32px;height:18px;transition:background .18s;position:relative}.switch:after{content:"";background:var(--muted);border-radius:50%;width:12px;height:12px;transition:transform .18s,background .18s;position:absolute;top:2px;left:2px}.switch.on{background:#f6da634d;border-color:#f6da638c}.switch.on:after{background:var(--gold);transform:translate(14px)}.menu-row{background:#0000002e;border:1px solid #ffffff1a;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.menu-row>div:first-child{flex-direction:column;gap:2px;display:flex}.menu-row b{font-size:.72rem}.menu-row small{color:var(--muted-2);font-size:.53rem}.live-spread{color:var(--cyan);font-weight:900}.menu-actions{grid-template-columns:1fr 1fr;gap:7px;margin:11px 0;display:grid}.menu-action{color:var(--text);text-align:left;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:11px;align-items:center;gap:7px;padding:9px;display:flex}.menu-action>span{width:27px;height:27px;color:var(--gold);background:#f6da631a;border-radius:8px;flex-shrink:0;place-items:center;font-size:.9rem;display:grid}.menu-action.reset>span{color:var(--danger);background:#eb4d3d1f}.menu-action div{flex-direction:column;gap:1px;min-width:0;display:flex}.menu-action b{font-size:.67rem;font-weight:600}.menu-action small{color:var(--muted-2);white-space:nowrap;font-size:.48rem}.modal-primary,.modal-secondary{cursor:pointer;border:1.5px solid #1b0b0d;border-radius:11px;width:100%;padding:10px;font-family:Fredoka Variable,sans-serif;font-size:.86rem;font-weight:600}.modal-primary{background:linear-gradient(180deg, #fff0a1, var(--gold) 55%, #e4b437);color:#2a1114;box-shadow:0 3px #6a4a14}.modal-primary:active{transform:translateY(2px);box-shadow:0 1px #6a4a14}.modal-secondary{color:var(--cream);background:#ffffff0f;border-color:#ffffff29}.modal-footnote{text-align:center;color:#e7c8c273;margin:8px 0 0;font-size:.48rem}.win-backdrop{background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--gold) 12%, transparent), transparent 55%), #0c0406c7}.win-card{border:1.5px solid color-mix(in srgb, var(--seat) 60%, white 15%);background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--seat) 22%, transparent), transparent 50%), linear-gradient(160deg, #4b1f24 0%, #2a1013 75%);width:100%;max-width:350px;box-shadow:0 30px 70px #000000b3, 0 0 40px color-mix(in srgb, var(--seat) 18%, transparent), inset 0 1px 0 #ffffff1f;text-align:center;border-radius:24px;padding:22px 17px 15px;animation:.28s cubic-bezier(.2,.9,.3,1.12) both modalIn;position:relative;overflow:hidden}.trophy{background:linear-gradient(160deg, #fff3ac, var(--gold) 50%, #c6922d);border:2px solid #2a1114;border-radius:50%;place-items:center;width:78px;height:78px;margin:0 auto 7px;animation:.7s cubic-bezier(.2,1.4,.4,1) both trophyPop;display:grid;position:relative;box-shadow:0 6px #6a4a14,0 14px 30px #0000004d}.trophy-glow{background:radial-gradient(circle,#f6da6347,#0000 68%);border-radius:50%;position:absolute;inset:-16px}.trophy-cup{color:#3b2410;font-size:2rem;line-height:1;position:relative}.win-eyebrow{letter-spacing:.2em;color:var(--gold);font-size:.5rem;font-weight:900}.win-card h2{color:var(--cream);margin:4px 0;font-size:1.65rem}.win-sub{max-width:250px;color:var(--muted);margin:0 auto;font-size:.66rem;line-height:1.45}.win-stats{grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0;display:grid}.win-stats>div{background:#00000038;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:2px;padding:7px 4px;display:flex}.win-stats small{letter-spacing:.1em;color:var(--muted-2);font-size:.44rem;font-weight:900}.win-stats b{color:var(--cream);font-size:1rem}.win-podium{text-align:left;flex-direction:column;gap:5px;margin:0 0 13px;display:flex}.podium-row{background:#0003;border:1px solid #ffffff17;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:26px 8px minmax(0,1fr) auto;align-items:center;column-gap:7px;padding:6px 8px;display:grid}.podium-row.champion{background:linear-gradient(90deg,#f6da631f,#0000 62%),#0003;border-color:#f6da6373}.podium-medal{color:#2a1114;background:linear-gradient(160deg,#fff7d2,#f6da63 55%,#c6922d);border:1px solid #2a1114;border-radius:50%;grid-row:1/3;place-items:center;width:26px;height:26px;font-family:Fredoka Variable,sans-serif;font-size:.7rem;font-weight:600;display:grid;box-shadow:0 2px #2a111473}.podium-medal svg{fill:currentColor;width:16px;height:16px}.podium-medal.place-2{background:linear-gradient(160deg,#fff,#dfe5ef 55%,#aab5c7)}.podium-medal.place-3{background:linear-gradient(160deg,#ffe6d0,#d9925b 55%,#a96532)}.podium-medal.place-4{background:linear-gradient(160deg,#edf1f7,#a6b2c3 55%,#7b8798)}.podium-seat{border-radius:50%;grid-row:1/3;width:8px;height:8px;box-shadow:0 0 0 1px #00000059}.podium-name{color:var(--cream);font-size:.76rem;font-weight:800}.podium-place{color:var(--gold);text-transform:uppercase;place-self:start end;font-family:Fredoka Variable,sans-serif;font-size:.58rem;font-weight:600}.podium-line{color:var(--muted-2);grid-column:3/5;font-size:.55rem}.win-actions{flex-direction:column;gap:6px;display:flex}.win-close{color:var(--muted-2);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-top:9px;font-size:.6rem;font-weight:800;text-decoration:underline}@keyframes orbitFloat{0%{opacity:.45;transform:translateY(-3px)scale(.85)}to{opacity:.9;transform:translateY(5px)scale(1.15)}}@keyframes sheen{0%,62%{left:-45%}78%,to{left:125%}}@keyframes dotPulse{0%,to{opacity:.75;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}@keyframes yardMedalIn{0%{opacity:0;transform:scale(.5)rotate(-10deg)}70%{opacity:1;transform:scale(1.08)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes medalGlow{0%,to{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.08)}}@keyframes medalPop{0%{opacity:0;transform:scale(.65)rotate(-9deg)}70%{opacity:1;transform:scale(1.07)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes digitRollInUp{0%{opacity:.15;transform:translateY(108%)}to{opacity:1;transform:translateY(0)}}@keyframes digitRollOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-108%)}}@keyframes digitRollInDown{0%{opacity:.15;transform:translateY(-108%)}to{opacity:1;transform:translateY(0)}}@keyframes digitRollOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(108%)}}@keyframes nameMarquee{0%,14%{transform:translate(0)}86%,to{transform:translate(calc(-50% - 8px))}}@keyframes feltRock{0%{transform:perspective(190px)translateY(0)rotate(0)scale(1)}12%{transform:perspective(190px)translateY(-1px)rotate(-12deg)scale(1.02)}28%{transform:perspective(190px)translateY(-2px)rotate(11deg)scale(.99)}44%{transform:perspective(190px)translateY(-1px)rotate(-9deg)scale(1.03,.98)}60%{transform:perspective(190px)translateY(-1px)rotate(7deg)scale(1.01)}74%{transform:perspective(190px)translateY(0)rotate(-4deg)scale(1.02,.96)}86%{transform:perspective(190px)translateY(0)rotate(2deg)scale(.99,1.02)}to{transform:perspective(190px)translateY(0)rotate(0)scale(1)}}@keyframes autoRollSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes tokenBreathe{0%{transform:scale(1)}to{transform:scale(1.14)}}@keyframes pathDotIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.35)}70%{opacity:.95;transform:translate(-50%,-50%)scale(1.18)}to{opacity:.86;transform:translate(-50%,-50%)scale(1)}}@keyframes destinationPulse{0%{filter:brightness(.98);box-shadow:0 0 0 2px #fff8e7eb,0 4px 8px #0006,0 0 12px #f6da63a6}to{filter:brightness(1.1);box-shadow:0 0 0 3px #fff8e7fa,0 4px 10px #00000073,0 0 22px #f6da63f2}}@keyframes groupMarkerPulse{0%{filter:brightness(.97)}to{filter:brightness(1.12)}}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes trophyPop{0%{opacity:0;transform:scale(.4)rotate(-10deg)}70%{transform:scale(1.08)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (max-height:680px){.game-screen.stats-on .ludo-board{width:min(100vw - 20px,100dvh - 263px,520px)}.player-card.has-stats .player-main{min-height:76px}.setup-hero{padding-top:8px}.brand-mark.hero{border-radius:19px;width:62px;height:62px;margin-bottom:6px}.setup-hero h1{font-size:2.35rem}.setup-hero p{margin:5px 0 7px}.setup-scroll{gap:11px}.seat-card{padding:7px 8px}.player-row{min-height:78px;max-height:122px}.player-card{min-height:78px}}@media (min-height:700px) and (max-width:699px){.player-row{max-height:150px}}@media (min-height:800px) and (max-width:699px){.player-row{max-height:175px}}@media (min-height:900px) and (max-width:699px){.player-row{max-height:190px}}@media (max-width:520px){.place-chip{display:none}}@media (max-width:409px){.player-dot,.player-card .role-icon{display:none}.player-stats-strip{gap:2px 4px;padding-left:7px;padding-right:7px}.metric-chip{gap:2px;padding:0 3px;font-size:.66rem}.metric-chip small{font-size:.42rem}.metric-chip b{font-size:.78rem}}@media (max-width:380px){.player-main{padding-top:5px;padding-bottom:5px}.player-id{gap:4px;font-size:1.04rem}.player-dot{width:8px;height:8px}}@media (max-width:370px){.setup-topbar .local-pill{display:none}.role-pill{padding:4px;font-size:.51rem}.seat-name{font-size:.84rem}.game-topbar .mini-brand-name{display:none}.turn-copy small{font-size:.58rem}.player-row{gap:6px}.player-main{column-gap:4px;padding-left:10px}.player-card.right .player-main{padding-left:6px;padding-right:10px}.player-id{font-size:1.02rem}.dice-dock{width:50px;min-height:50px}.dice-btn{gap:2.5px;width:45px;height:45px;padding:6px}.auto-toggle{border-radius:9px;width:36px;height:36px}.auto-toggle svg{width:20px;height:20px}.bot-dock{border-radius:9px;width:34px;height:34px}.bot-dock svg{width:20px;height:20px}.roll-tray{gap:1.5px;width:51px;height:15px}.tray-die{border-radius:3.5px;gap:1px;width:15px;height:15px;padding:1.5px}.metric-chip{padding:0 2px;font-size:.64rem}.player-stats-strip{gap:2px 4px;padding-left:6px;padding-right:6px}.metric-chip b{font-size:.74rem}}@media (max-width:340px){.player-id{gap:3px;font-size:.94rem}.player-team{letter-spacing:.02em;padding:1px 3px;font-size:.42rem}.metric-chip{padding:0 2px;font-size:.6rem}.metric-chip small{font-size:.38rem}.metric-chip b{font-size:.7rem}}@media (min-width:700px){.app-shell{padding-left:14px;padding-right:14px}.ludo-board{width:min(100vw - 28px,100dvh - 222px,512px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell.wide{width:min(100vw,960px)}.app-shell.lobby-shell{width:min(100vw,1180px)}.primary-btn,.secondary-btn,.text-btn,.mini-action,.menu-toggle,.claim-btn,.chat-send{font:inherit;cursor:pointer}.primary-btn{background:linear-gradient(180deg, #fff0a1, var(--gold) 55%, #e4b437);color:#2a1114;border:1.5px solid #1b0b0d;border-radius:11px;padding:10px 15px;font-family:Fredoka Variable,sans-serif;font-size:.82rem;font-weight:600;transition:transform .12s,box-shadow .12s;box-shadow:0 3px #6a4a14}.primary-btn:hover:not(:disabled){filter:brightness(1.04)}.primary-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #6a4a14}.primary-btn:disabled,.secondary-btn:disabled{opacity:.45}.primary-btn.small{padding:7px 12px;font-size:.72rem}.primary-btn.wide{width:100%}.secondary-btn{color:var(--cream);background:#ffffff0f;border:1px solid #ffffff29;border-radius:11px;padding:9px 13px;font-size:.72rem;font-weight:800}.secondary-btn:hover{border-color:#f6da6359}.text-btn{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;padding:5px 4px;font-size:.66rem;font-weight:800;text-decoration:underline}.text-btn:hover{color:var(--gold)}.mini-action{color:var(--cream);white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff29;border-radius:8px;padding:6px 9px;font-size:.6rem;font-weight:800}.mini-action:hover{color:var(--gold);border-color:#f6da6366}.text-input{width:100%;min-width:0;color:var(--text);-webkit-user-select:text;user-select:text;touch-action:manipulation;background:#0000003d;border:1px solid #ffffff24;border-radius:10px;outline:none;padding:9px 11px;font-size:.76rem;font-weight:700}.text-input::placeholder{color:#e7c8c273}.text-input:focus{border-color:#4fe5ea99;box-shadow:0 0 0 2px #4fe5ea1f}select.text-input{appearance:none;cursor:pointer}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>span,.field>label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);font-size:.56rem;font-weight:900}.field-hint{color:var(--muted-2);margin:2px 0 0;font-size:.54rem;line-height:1.4}.field-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.segmented{background:#00000038;border:1px solid #ffffff1a;border-radius:10px;gap:3px;padding:3px;display:flex}.segmented.wrap{flex-wrap:wrap}.segmented button{min-width:0;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;padding:6px 5px;font-size:.62rem;font-weight:800}.segmented button.active{background:linear-gradient(180deg, #fff0a1, var(--gold));color:#2a1114;box-shadow:0 1px #6a4a14}.stepper{background:#00000038;border:1px solid #ffffff1a;border-radius:10px;justify-content:space-between;align-items:center;gap:4px;padding:3px;display:flex}.stepper button{width:26px;height:26px;color:var(--cream);cursor:pointer;background:#ffffff14;border:0;border-radius:7px;font-size:1rem;line-height:1}.stepper button:disabled{opacity:.35}.stepper b{color:var(--cream);text-align:center;min-width:20px;font-size:.9rem}.form-error{color:#ffc4bc;background:#ff776814;border:1px solid #ff776866;border-radius:9px;margin:0;padding:8px 10px;font-size:.68rem}.muted-copy{color:var(--muted-2);margin:0;font-size:.66rem;line-height:1.45}.mini-tag{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:1px 5px;font-size:.45rem;font-style:normal;font-weight:900;display:inline-flex}.mini-tag.you{color:var(--cyan);background:#4fe5ea1a;border:1px solid #4fe5ea59}.mini-tag.host{color:var(--gold);background:#f6da631a;border:1px solid #f6da6352}.mini-tag.quiet{color:var(--muted-2);background:#ffffff0d;border:1px solid #ffffff26}.presence-dot{background:#8a6a67;border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 2px #00000040}.presence-dot.online{background:var(--green-ok);box-shadow:0 0 0 2px #00000040,0 0 8px #62d58a80}.status-dot{background:var(--green-ok);border-radius:50%;width:7px;height:7px;display:inline-block}.home-screen{flex-direction:column;height:100%;min-height:0;display:flex}.home-topbar{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:2px 2px 6px;display:flex}.home-status{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:#0003;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:.56rem;font-weight:900;display:inline-flex}.home-status[data-status=open]{color:#b8f0c9;border-color:#62d58a4d}.home-status[data-status=open] .status-dot{box-shadow:0 0 10px #62d58ab3}.home-status[data-status=reconnecting] .status-dot,.home-status[data-status=connecting] .status-dot{background:var(--gold);animation:1.4s ease-in-out infinite dotPulse}.home-status[data-status=replaced] .status-dot,.home-status[data-status=protocol-mismatch] .status-dot{background:var(--danger)}.home-scroll{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;flex-direction:column;flex:1;gap:16px;width:100%;max-width:780px;min-height:0;margin:0 auto;padding:10px 4px 26px;display:flex;overflow-y:auto}.home-hero{text-align:center;isolation:isolate;flex-direction:column;align-items:center;padding:20px 8px 8px;display:flex;position:relative}.home-hero h1{color:var(--cream);text-shadow:0 3px #1a0b0c,0 12px 32px #00000073;margin:8px 0 4px;font-size:clamp(2.8rem,12vw,4rem);line-height:.92}.home-hero p{color:var(--muted);margin:3px 0 12px;font-size:.86rem;font-weight:700}.hero-orbit{z-index:-1;pointer-events:none;height:190px;position:absolute;inset:-20px 0 auto}.hero-orbit span{background:var(--dot);width:9px;height:9px;box-shadow:0 0 18px var(--dot);opacity:.7;transform-origin:0 0;border-radius:50%;animation:16s linear infinite heroOrbit;position:absolute;top:50%;left:50%}.hero-orbit span:first-child{animation-delay:0s}.hero-orbit span:nth-child(2){animation-delay:-4s}.hero-orbit span:nth-child(3){animation-delay:-8s}.hero-orbit span:nth-child(4){animation-delay:-12s}@keyframes heroOrbit{0%{transform:rotate(0)translate(120px)rotate(0)}to{transform:rotate(360deg)translate(120px)rotate(-360deg)}}.home-alert,.resume-card{background:linear-gradient(140deg, #f6da6314, #0000001a), var(--panel);border:1px solid #f6da6342;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;display:flex}.home-alert{background:#ff776814;border-color:#ff776866;flex-wrap:wrap}.home-alert b{color:#ffc4bc;font-size:.65rem}.home-alert span{min-width:140px;color:var(--muted);flex:1;font-size:.63rem}.resume-card{flex-wrap:wrap;justify-content:space-between}.resume-card>div:first-child{flex-direction:column;gap:1px;min-width:0;display:flex}.resume-card h2{color:var(--cream);margin:0;font-size:1.1rem}.resume-card small{color:var(--muted-2);font-size:.58rem}.resume-actions{align-items:center;gap:8px;display:flex}.invite-name-card,.identity-card,.create-panel,.home-section,.practice-card{background:linear-gradient(150deg, #ffffff0b, #00000014), var(--panel);border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 4px #00000029}.invite-name-card{background:linear-gradient(150deg, #4fe5ea14, #00000014), var(--panel);border-color:#4fe5ea40;flex-direction:column;gap:8px;padding:16px;display:flex}.invite-kicker{letter-spacing:.16em;color:var(--cyan);font-size:.5rem;font-weight:900}.invite-name-card h2{color:var(--cream);margin:0;font-size:1.25rem}.invite-name-card p{color:var(--muted-2);margin:0;font-size:.68rem;line-height:1.45}.inline-field{gap:7px;display:flex}.inline-field .primary-btn{flex-shrink:0}.identity-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;display:flex}.identity-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.identity-copy h2{color:var(--cream);margin:1px 0 0;font-size:1.15rem}.identity-copy small{color:var(--muted-2);font-size:.56rem}.identity-edit{align-items:center;gap:6px;min-width:min(240px,100%);display:flex}.identity-edit .text-input.compact{padding:7px 9px;font-size:.7rem}.home-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.home-action{background:linear-gradient(150deg, #ffffff0d, #0000001a), var(--panel);color:var(--text);text-align:left;cursor:pointer;border:1px solid #ffffff1f;border-radius:15px;align-items:center;gap:10px;padding:13px;display:flex;box-shadow:0 3px #0003}.home-action.primary{background:linear-gradient(150deg, #f6da6329, #00000014), var(--panel);border-color:#f6da6359}.home-action-icon{width:38px;height:38px;color:var(--gold);background:#f6da631f;border-radius:11px;flex-shrink:0;place-items:center;font-family:Fredoka Variable,sans-serif;font-size:1.15rem;display:grid}.home-action span:last-child{flex-direction:column;gap:1px;min-width:0;display:flex}.home-action b{color:var(--cream);font-size:.8rem}.home-action small{color:var(--muted-2);font-size:.53rem}.join-code-row{align-items:center;gap:8px;display:flex}.code-input{letter-spacing:.28em;text-transform:uppercase;font-family:Fredoka Variable,sans-serif;font-size:.94rem}.create-panel{flex-direction:column;gap:12px;padding:15px;display:flex}.home-section{padding:14px}.home-section .section-head{margin-bottom:10px}.room-list{grid-template-columns:1fr;gap:8px;margin:0;padding:0;list-style:none;display:grid}.room-card{background:#0000002e;border:1px solid #ffffff17;border-radius:12px;flex-direction:column;gap:6px;padding:11px 12px;display:flex}.room-card-top{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.room-code{letter-spacing:.12em;color:var(--gold);font-family:Fredoka Variable,sans-serif;font-size:.86rem;font-weight:600}.room-badge{letter-spacing:.1em;color:var(--muted-2);background:#ffffff0a;border:1px solid #ffffff24;border-radius:999px;padding:2px 6px;font-size:.42rem;font-weight:900}.room-badge.live{color:#ffb9ae;background:#eb4d3d1a;border-color:#eb4d3d5c}.room-name{color:var(--cream);font-size:.94rem}.room-card-meta{color:var(--muted-2);flex-wrap:wrap;gap:3px 12px;font-size:.58rem;display:flex}.room-card .primary-btn{align-self:flex-start}.empty-state{text-align:center;color:var(--muted-2);border:1px dashed #ffffff1f;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:22px 10px;display:flex}.empty-mark{color:#f6da6359;font-size:1.5rem}.empty-state b{color:var(--muted);font-size:.76rem}.empty-state small{font-size:.56rem}.practice-card{background:#0000001f;border-style:dashed;justify-content:space-between;align-items:center;gap:12px;padding:14px 15px;display:flex}.practice-card>div{flex-direction:column;gap:1px;min-width:0;display:flex}.practice-card b{color:var(--cream);font-size:.82rem}.practice-card small{color:var(--muted-2);font-size:.55rem;line-height:1.4}.lobby-screen{flex-direction:column;height:100%;min-height:0;display:flex}.lobby-room-id{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.lobby-room-id>b{text-overflow:ellipsis;white-space:nowrap;max-width:200px;color:var(--cream);font-size:.9rem;overflow:hidden}.room-code-chip{color:var(--gold);letter-spacing:.12em;cursor:pointer;background:#f6da6314;border:1px solid #f6da6342;border-radius:7px;align-items:center;gap:4px;padding:3px 7px;font-family:Fredoka Variable,sans-serif;font-size:.7rem;display:inline-flex}.copy-flash{letter-spacing:.02em;color:var(--green-ok);text-transform:uppercase;font-family:Nunito Variable,sans-serif;font-size:.42rem}.chat-top-btn{position:relative}.unread-badge{background:var(--danger);color:#2a0c0c;border-radius:999px;place-items:center;min-width:15px;height:15px;padding:0 3px;font-size:.46rem;font-weight:900;line-height:1;display:inline-grid}.top-actions .unread-badge,.chat-top-btn .unread-badge,.lobby-mobile-tabs .unread-badge{box-shadow:0 0 0 2px var(--bg-0);position:absolute;top:-4px;right:-4px}.lobby-main{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;flex-direction:column;gap:11px;min-height:0;padding:1px 2px 22px;display:flex;overflow-y:auto}.lobby-summary{background:linear-gradient(145deg, #ffffff0d, #0000001a), var(--panel);border:1px solid #ffffff1a;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;display:flex}.lobby-summary-main{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.lobby-summary-main h1{color:var(--cream);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.25rem;line-height:1.1;overflow:hidden}.room-name-edit{display:flex}.room-name-input{color:var(--cream);background:0 0;border-color:#0000;border-radius:8px;padding:5px 8px;font-family:Fredoka Variable,sans-serif;font-size:1.12rem;font-weight:600}.room-name-input:hover,.room-name-input:focus{background:#00000029;border-color:#ffffff2e}.lobby-meta{flex-wrap:wrap;gap:4px;display:flex}.meta-pill{color:var(--gold);letter-spacing:.04em;background:#f6da6312;border:1px solid #f6da633d;border-radius:999px;padding:3px 8px;font-size:.5rem;font-weight:900}.meta-pill.quiet{color:var(--muted-2);background:#ffffff0a;border-color:#ffffff1a}.lobby-settings,.matrix-card,.start-card,.invite-card{background:linear-gradient(150deg, #ffffff0a, #00000014), var(--panel);border:1px solid #ffffff1a;border-radius:15px;padding:13px;box-shadow:0 3px #00000029}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:9px;display:grid}.matrix-card{flex-direction:column;gap:8px;display:flex}.matrix-wrap{touch-action:pan-x pan-y;scrollbar-width:thin;border-radius:10px;overflow-x:auto}.control-matrix{border-collapse:separate;border-spacing:3px;table-layout:fixed;width:100%}.control-matrix th,.control-matrix td{vertical-align:middle;padding:0}.matrix-person-head{text-align:left;letter-spacing:.12em;text-transform:uppercase;width:37%;color:var(--muted-2);font-size:.5rem;font-weight:900;padding-left:4px!important}.matrix-color-head{width:100%;color:var(--text);cursor:pointer;background:#0000002e;border:1px solid #ffffff17;border-radius:9px;flex-direction:column;align-items:center;gap:1px;padding:6px 2px 5px;display:flex}.matrix-color-head:hover{border-color:#f6da6352}.matrix-color-dot{background:var(--seat);width:10px;height:10px;box-shadow:0 0 8px color-mix(in srgb, var(--seat) 60%, transparent);border-radius:50%}.matrix-color-name{color:var(--cream);font-family:Fredoka Variable,sans-serif;font-size:.8rem;line-height:1}.matrix-color-head small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--muted-2);font-size:.42rem;overflow:hidden}.matrix-person{text-align:left;background:#0000001f;border-radius:9px;padding:4px!important}tr.is-you .matrix-person{box-shadow:inset 2px 0 0 var(--cyan);background:#4fe5ea12}tr.is-offline .matrix-person-name{opacity:.6}.matrix-person-name{align-items:center;gap:5px;min-width:0;display:flex}.matrix-name-text{text-overflow:ellipsis;white-space:nowrap;color:var(--cream);font-family:Fredoka Variable,sans-serif;font-size:.74rem;font-weight:600;overflow:hidden}.matrix-tags{flex-wrap:wrap;gap:2px;margin-top:1px;display:flex}.matrix-count{color:var(--muted-2);font-size:.44rem;font-weight:800;display:block}.matrix-cell{aspect-ratio:1;color:#ffffff47;cursor:pointer;background:#00000026;border:1px solid #ffffff14;border-radius:9px;place-items:center;width:100%;max-height:44px;font-size:.8rem;transition:background .12s,border-color .12s,color .12s;display:grid}.matrix-cell.filled{color:var(--gold);background:#f6da6324;border-color:#f6da6366}.matrix-cell:disabled{cursor:default}.matrix-cell:not(:disabled):hover{border-color:#4fe5ea80}.matrix-empty{text-align:center;color:var(--muted-2);margin:4px;font-size:.62rem}.matrix-bulk{flex-wrap:wrap;gap:6px;display:flex}.lobby-chat{min-width:0;min-height:0;display:flex}.lobby-mobile-tabs{flex-shrink:0;gap:4px;padding-top:6px;display:none}.lobby-mobile-tabs button{color:var(--muted);cursor:pointer;background:#0003;border:1px solid #ffffff1a;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:5px;padding:9px;font-size:.66rem;font-weight:800;display:flex;position:relative}.lobby-mobile-tabs button.active{color:var(--gold);background:#f6da631a;border-color:#f6da634d}.lobby-mobile-tabs svg{width:17px;height:17px}.sheet-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0803049e;justify-content:center;align-items:flex-end;padding:14px;animation:.16s backdropIn;display:flex;position:fixed;inset:0}.color-sheet{overscroll-behavior:contain;touch-action:pan-y;border:1px solid #ffffff24;border-top:3px solid var(--seat);background:linear-gradient(160deg, #ffffff0d, #0000001f), var(--panel);border-radius:20px;width:min(100%,470px);max-height:min(86dvh,720px);padding:16px;animation:.18s modalIn;overflow-y:auto;box-shadow:0 20px 70px #0009}.color-sheet-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.color-sheet-head h2{color:var(--cream);align-items:center;gap:7px;margin:3px 0 0;font-size:1.35rem;display:flex}.color-sheet-dot{background:var(--seat);width:15px;height:15px;box-shadow:0 0 14px color-mix(in srgb, var(--seat) 70%, transparent);border-radius:50%}.color-state-row{background:#0000002e;border:1px solid #ffffff14;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;margin:14px 0;padding:10px 12px;display:flex}.color-state-row>div{flex-direction:column;gap:1px;display:flex}.color-state-row b{color:var(--cream);font-size:.78rem}.color-state-row small{color:var(--muted-2);font-size:.54rem}.menu-toggle.inline{gap:7px;width:auto;padding:5px 9px}.color-sheet-section{border-top:1px solid #ffffff14;flex-direction:column;gap:6px;padding:12px 0;display:flex}.controller-list{touch-action:pan-y;flex-direction:column;gap:4px;max-height:190px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.controller-row{width:100%;color:var(--text);cursor:pointer;text-align:left;background:#00000026;border:1px solid #ffffff14;border-radius:9px;align-items:center;gap:7px;padding:7px 9px;display:flex}.controller-row.checked{background:#f6da6314;border-color:#f6da6359}.controller-row:disabled{cursor:default}.controller-box{color:#2a1114;border:1px solid #ffffff3d;border-radius:5px;flex-shrink:0;place-items:center;width:17px;height:17px;font-size:.65rem;font-weight:900;display:grid}.controller-row.checked .controller-box{background:var(--gold);border-color:var(--gold)}.controller-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--cream);flex:1;font-size:.68rem;overflow:hidden}.bot-grid{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.bot-grid button{color:var(--muted);cursor:pointer;background:#0000002e;border:1px solid #ffffff1f;border-radius:9px;padding:8px 4px;font-size:.58rem;font-weight:800}.bot-grid button.active{color:var(--gold);background:#f6da631f;border-color:#f6da6366}.bot-grid button:disabled{opacity:.4;cursor:not-allowed}.color-sheet-actions{justify-content:flex-end;display:flex}.invite-card{flex-direction:column;gap:9px;display:flex}.invite-copy{color:var(--muted-2);margin:0;font-size:.6rem;line-height:1.5}.invite-builder{grid-template-columns:1.2fr 1fr auto;align-items:end;gap:7px;display:grid}.compact-field .text-input{padding:7px 8px;font-size:.64rem}.invite-create{padding:8px 11px;font-size:.68rem}.invite-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.invite-row{background:#00000029;border:1px solid #ffffff14;border-radius:9px;align-items:center;gap:6px;padding:5px 7px;display:flex}.invite-seat{color:var(--cream);white-space:nowrap;align-items:center;gap:4px;font-size:.55rem;font-weight:800;display:inline-flex}.invite-seat i{background:var(--seat);border-radius:50%;width:8px;height:8px}.invite-url{min-width:0;color:var(--muted);flex:1;padding:5px 7px;font-size:.52rem}.invite-expiry{color:var(--muted-2);white-space:nowrap;font-size:.46rem}.chat-panel{background:radial-gradient(circle at 18% 0,#f6da6314,#0000 42%),radial-gradient(circle at 100% 100%,#0000003d,#0000 58%),linear-gradient(160deg,#3a1a20 0%,#261014 72%,#1e0c10 100%);border:1px solid #c9a45a4d;border-radius:16px;flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff0b,0 3px #00000029}.chat-head{border-bottom:1px solid #c9a45a33;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px 8px;display:flex}.chat-head>div{flex-direction:column;gap:1px;min-width:0;display:flex}.chat-head b{color:var(--cream);font-size:.78rem}.chat-live{letter-spacing:.08em;text-transform:uppercase;color:var(--green-ok);align-items:center;gap:5px;font-size:.48rem;font-weight:900;display:inline-flex}.chat-log-wrap{flex:1;min-height:0;position:relative}.chat-log{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;flex-direction:column;gap:9px;height:100%;padding:10px 11px;display:flex;overflow-y:auto}.chat-empty{text-align:center;color:var(--muted-2);flex-direction:column;align-items:center;gap:3px;margin:auto;padding:20px;display:flex}.chat-empty>span{color:#f6da6359;font-size:1.4rem}.chat-empty b{color:var(--muted);font-size:.72rem}.chat-empty small{max-width:220px;font-size:.54rem;line-height:1.45}.chat-system{text-align:center;margin:1px 0}.chat-system span{color:#d9b98a;background:#f6da630f;border:1px solid #c9a45a24;border-radius:999px;padding:3px 8px;font-size:.5rem;font-weight:700;line-height:1.4;display:inline-block}.chat-message{align-items:flex-start;gap:7px;display:flex}.chat-message.mine{flex-direction:row-reverse}.chat-avatar{width:24px;height:24px;color:var(--gold);background:#f6da631a;border:1px solid #ffffff1f;border-radius:8px;flex-shrink:0;place-items:center;font-family:Fredoka Variable,sans-serif;font-size:.64rem;display:grid}.chat-body{flex-direction:column;gap:2px;min-width:0;max-width:84%;display:flex}.chat-message.mine .chat-body{align-items:flex-end}.chat-meta{flex-wrap:wrap;align-items:center;gap:5px;padding:0 2px;display:flex}.chat-meta b{text-overflow:ellipsis;white-space:nowrap;max-width:130px;color:var(--muted);font-size:.55rem;overflow:hidden}.chat-meta time{color:#e7c8c28c;font-size:.44rem}.chat-color-dots{gap:1.5px;display:inline-flex}.chat-color-dots i{border-radius:50%;width:6px;height:6px}.chat-bubble{color:#3a2118;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;background:linear-gradient(145deg,#ffffff80,#0000 42%),linear-gradient(145deg,#f8ecd2 0%,#ecd8b3 58%,#dcc196 100%);border:1px solid #8b6b488c;border-radius:10px 10px 10px 3px;margin:0;padding:6px 9px;font-size:.64rem;line-height:1.42;box-shadow:inset 0 1px #ffffffa6,0 1px #00000026}.chat-message.mine .chat-bubble{background:linear-gradient(145deg,#ffffff8c,#0000 42%),linear-gradient(145deg,#fff4d8 0%,#f1dca9 58%,#dfc184 100%);border-color:#b88622a6;border-radius:10px 10px 3px}.chat-jump{background:var(--panel-2);color:var(--gold);cursor:pointer;white-space:nowrap;border:1px solid #f6da634d;border-radius:999px;padding:4px 9px;font-size:.48rem;font-weight:800;position:absolute;bottom:7px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0006}.chat-typing{min-height:18px;color:var(--muted-2);flex-shrink:0;align-items:center;gap:5px;padding:0 12px;font-size:.48rem;font-weight:700;display:flex}.typing-dots{gap:2px;display:inline-flex}.typing-dots i{background:var(--cyan);border-radius:50%;width:4px;height:4px;animation:1s ease-in-out infinite typingBounce}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-composer{background:#00000029;border-top:1px solid #c9a45a2e;flex-shrink:0;align-items:center;gap:5px;padding:7px 9px;display:flex}.chat-input{color:#f3dfb8;-webkit-user-select:text;user-select:text;background:#00000042;border:1px solid #c9a45a38;border-radius:10px;flex:1;min-width:0;padding:8px 10px;font-size:.68rem}.chat-input:focus{border-color:#f6da638c;outline:none}.chat-send{background:linear-gradient(180deg, #fff0a1, var(--gold) 55%, #e4b437);color:#2a1114;border:1.5px solid #1b0b0d;border-radius:9px;flex-shrink:0;place-items:center;width:33px;height:33px;display:grid}.chat-send:disabled{opacity:.4}.chat-send svg{width:16px;height:16px}.chat-emoji-tray{background:linear-gradient(#f6da6309,#00000029),#261014;border-top:1px solid #c9a45a2e;flex-shrink:0;padding:8px 9px 5px;animation:.16s ease-out both emojiPickerIn}.chat-emoji-tray .emoji-grid{gap:3px}.chat-emoji-tray .emoji-cell{height:42px;min-height:42px}.chat-emoji-btn{width:33px;height:33px;color:var(--muted);cursor:pointer;background:#00000038;border:1px solid #ffffff1f;border-radius:9px;flex-shrink:0;place-items:center;padding:0;display:grid}.chat-emoji-btn[aria-expanded=true]{color:var(--gold);background:#f6da631f;border-color:#f6da6380}.chat-emoji-btn svg{width:18px;height:18px}.chat-compose-trigger{cursor:text;text-align:left;width:100%}.chat-compose-placeholder{min-width:0;color:var(--muted-2);white-space:nowrap;text-overflow:ellipsis;background:#00000038;border:1px solid #ffffff1f;border-radius:10px;flex:1;padding:8px 10px;font-size:.68rem;overflow:hidden}.chat-compose-icon{background:linear-gradient(180deg, #fff0a1, var(--gold) 55%, #e4b437);color:#2a1114;border:1.5px solid #1b0b0d;border-radius:9px;flex-shrink:0;place-items:center;width:33px;height:33px;display:grid}.chat-compose-icon svg{width:16px;height:16px}.control-strip{flex-shrink:0;align-items:center;gap:8px;min-width:0;padding:2px 4px 3px;display:flex}.control-role{color:var(--muted-2);white-space:nowrap;text-overflow:ellipsis;font-size:.52rem;font-weight:800;overflow:hidden}.control-role b{color:var(--gold);letter-spacing:.04em}.control-role.spectator{color:var(--cyan);background:#4fe5ea14;border:1px solid #4fe5ea4d;border-radius:999px;padding:1px 6px}.control-status{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);white-space:nowrap;margin-left:auto;font-size:.46rem;font-weight:900}.control-status.host-note{color:var(--gold)}.claim-options{flex-wrap:wrap;gap:4px;display:flex}.claim-btn{border:1px solid color-mix(in srgb, var(--seat) 45%, #ffffff1f);background:color-mix(in srgb, var(--seat) 12%, transparent);color:var(--cream);border-radius:7px;align-items:center;gap:4px;padding:4px 8px;font-size:.55rem;font-weight:800;display:inline-flex}.claim-btn i{background:var(--seat);border-radius:50%;width:6px;height:6px}.game-screen.online-game .ludo-board{width:min(100vw - 20px,100dvh - 250px,520px)}.seat-mine,.seat-away{flex-shrink:0}.player-card.is-mine .player-main{box-shadow:inset 0 0 0 1px #4fe5ea59}.player-card.is-away .player-name{opacity:.7}.player-card.is-away .player-dot{filter:grayscale(.6)}.drawer-backdrop{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0803049e;justify-content:center;align-items:flex-end;padding:12px;animation:.16s backdropIn;display:flex;position:fixed;inset:0}.game-chat-drawer{width:min(100%,520px);height:min(calc(var(--game-vh) * .74), 600px);min-height:320px;animation:.2s modalIn;display:flex}.chat-panel.drawer{border-color:#f6da6333;border-radius:18px;height:100%;box-shadow:0 24px 70px #0000008c}@media (max-width:899px){html.game-live .drawer-backdrop{height:var(--game-vh);inset:0 0 auto}}.roster-sheet{overscroll-behavior:contain;touch-action:pan-y;background:linear-gradient(160deg, #ffffff0d, #0000001f), var(--panel);border:1px solid #ffffff24;border-radius:20px;flex-direction:column;gap:10px;width:min(100%,470px);max-height:min(82dvh,640px);padding:16px;animation:.2s modalIn;display:flex;overflow-y:auto;box-shadow:0 24px 70px #0009}.roster-claim{background:linear-gradient(150deg, #4fe5ea17, #0000001a), var(--panel);border:1px solid #4fe5ea47;border-radius:11px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.roster-claim.pending{background:linear-gradient(150deg, #f6da6314, #0000001a), var(--panel);border-color:#f6da634d}.roster-claim-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.roster-claim-copy b{color:var(--cream);font-size:.7rem}.roster-claim-copy small{color:var(--muted-2);font-size:.5rem}.roster-toolbar{justify-content:space-between;align-items:center;gap:8px;padding:0 2px;display:flex}.roster-toolbar .request-switch{margin-left:0}.roster-list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.roster-list li{background:#00000029;border:1px solid #ffffff14;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.roster-list li.is-you{background:#4fe5ea0d;border-color:#4fe5ea47}.roster-list li.offline{opacity:.7}.roster-person{flex-direction:column;flex:1;gap:1px;min-width:90px;display:flex}.roster-person b{color:var(--cream);font-size:.72rem}.roster-tags{flex-wrap:wrap;gap:2px;display:flex}.roster-colors{flex-wrap:wrap;justify-content:flex-end;gap:3px;display:flex}.roster-color{border:1px solid color-mix(in srgb, var(--seat) 35%, #ffffff1a);background:color-mix(in srgb, var(--seat) 10%, transparent);color:var(--muted);border-radius:999px;align-items:center;gap:3px;padding:2px 6px;font-size:.48rem;font-weight:800;display:inline-flex}.roster-color i{background:var(--seat);border-radius:50%;width:6px;height:6px}.roster-spectator{color:var(--muted-2);font-size:.5rem;font-weight:800}.roster-bots{border-top:1px solid #ffffff14;flex-direction:column;gap:5px;padding:9px 0;display:flex}.roster-bots>div{flex-wrap:wrap;gap:3px;display:flex}.connection-banner{top:max(8px, env(safe-area-inset-top,0px));z-index:120;width:min(100vw - 20px,620px);color:var(--cream);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2a1114f0;border:1px solid #f6da6352;border-radius:11px;align-items:center;gap:8px;padding:8px 11px;font-size:.62rem;font-weight:700;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000080}.connection-banner.terminal{border-color:#ff776866}.connection-banner>span:nth-child(2){flex:1;min-width:0}.connection-beacon{background:var(--gold);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.2s ease-in-out infinite dotPulse}.connection-banner.terminal .connection-beacon{background:var(--danger);animation:none}.menu-live-setup{background:#00000029;border:1px solid #ffffff17;border-radius:12px;flex-direction:column;gap:6px;margin:10px 0;padding:10px;display:flex}.menu-live-setup .section-head{padding:0}.menu-live-setup .menu-action{width:100%}.remove-color-list{flex-wrap:wrap;gap:4px;display:flex}.remove-color-btn{color:#ffc4bc;cursor:pointer;background:#ff776814;border:1px solid #ff776859;border-radius:8px;align-items:center;gap:4px;padding:5px 8px;font-size:.55rem;font-weight:800;display:inline-flex}.remove-color-btn i{background:var(--seat);border-radius:50%;width:6px;height:6px}.menu-arrow{color:var(--muted-2);margin-left:auto;font-size:1rem}.seat-role-note{color:var(--muted-2);background:#ffffff0a;border-radius:7px;margin:4px 0 1px;padding:4px 7px;font-size:.52rem;line-height:1.35}.win-room-note{text-align:center;color:var(--muted-2);margin:4px 0 0;font-size:.5rem}@media (min-width:700px){.room-list{grid-template-columns:1fr 1fr}.home-actions{gap:11px}.color-sheet,.roster-sheet{margin-bottom:4vh}.sheet-backdrop,.drawer-backdrop{align-items:center}}@media (min-width:900px){.lobby-body{grid-template-columns:minmax(0,1fr) 330px;gap:14px}.lobby-main{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-content:start;gap:11px;padding-bottom:4px;display:grid}.lobby-summary,.matrix-card{grid-column:1/-1}.start-card{grid-column:1}.invite-card{grid-column:2}.settings-grid{grid-template-columns:1fr}.lobby-chat{height:100%}.lobby-mobile-tabs{display:none!important}.control-matrix{border-spacing:4px}.matrix-cell{max-height:50px;font-size:.92rem}}@media (max-width:899px){.lobby-body{display:block;position:relative;overflow:hidden}.lobby-main{height:100%;padding-bottom:64px}.lobby-chat{height:100%;padding-bottom:62px;display:none}.lobby-body[data-tab=chat] .lobby-main{display:none}.lobby-body[data-tab=chat] .lobby-chat{display:flex}.lobby-mobile-tabs{left:10px;right:10px;bottom:max(10px, env(safe-area-inset-bottom,0px));z-index:10;background:0 0;padding:0;display:flex;position:absolute}.lobby-mobile-tabs button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2a1114f0;box-shadow:0 6px 20px #0006}.lobby-screen{position:relative}.invite-builder{grid-template-columns:1fr 1fr}.invite-create{grid-column:1/-1}.invite-url{display:none}}@media (max-width:620px){.lobby-topbar .lobby-room-id>b{display:none}.lobby-room-id{gap:4px}.lobby-topbar .room-badge{display:none}.lobby-summary{padding:10px 11px}.lobby-summary-main h1,.room-name-input{font-size:1.05rem}.room-name-input{max-width:180px}.settings-grid{grid-template-columns:1fr}.lobby-settings,.matrix-card,.start-card,.invite-card{padding:11px}.matrix-cell{max-height:38px}.matrix-person-head{width:34%}}@media (max-width:420px){.home-actions{grid-template-columns:1fr}.home-action{padding:10px 12px}.identity-card{align-items:stretch}.identity-edit{min-width:100%}.control-strip{padding-bottom:1px}.control-role{font-size:.48rem}.game-screen.online-game .ludo-board{width:min(100vw - 20px,100dvh - 266px,520px)}.top-actions .icon-btn{width:28px;height:28px}.top-actions .icon-btn svg{width:16px;height:16px}.unread-badge,.roster-badge{min-width:13px;height:13px;font-size:.4rem}}@media (max-height:700px){.home-hero{padding-top:8px}.home-hero h1{font-size:2.4rem}.home-hero p{margin-bottom:8px;font-size:.74rem}.home-scroll{gap:12px}.lobby-main{gap:8px}.control-strip{display:none}.game-screen.online-game .ludo-board{width:min(100vw - 20px,100dvh - 238px,520px)}}.request-card{background:linear-gradient(150deg, #ffffff0a, #00000014), var(--panel);border:1px solid #ffffff1a;border-radius:15px;padding:13px;box-shadow:0 3px #00000029}.request-options{margin-top:6px}.request-self{color:var(--muted-2);margin:4px 0 0;font-size:.62rem}.request-self b{color:var(--cream)}.request-list{flex-direction:column;gap:4px;margin:7px 0 0;padding:0;list-style:none;display:flex}.request-list li{background:#f6da630a;border:1px solid #f6da632e;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:5px 7px;display:flex}.request-list.compact{margin-top:3px}.request-who{min-width:0;color:var(--muted-2);align-items:center;gap:5px;font-size:.56rem;display:flex}.request-who b{color:var(--cream);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.request-color{border:1px solid color-mix(in srgb, var(--seat) 42%, #ffffff1f);background:color-mix(in srgb, var(--seat) 10%, transparent);color:var(--cream);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 6px;font-size:.52rem;font-weight:800;display:inline-flex}.request-color i{background:var(--seat);border-radius:50%;width:5px;height:5px}.request-actions{flex:none;gap:3px;display:inline-flex}.mini-action.accept{color:#b7f5cd;background:#79d99a17;border-color:#79d99a5c}.mini-action.deny{color:#ffb6b6;background:#ff767614;border-color:#ff767657}.request-switch{color:var(--muted-2);flex:none;margin-left:4px}.request-switch.on{color:var(--gold);background:#f6da6314;border-color:#f6da6357}.roster-request{border-top:1px dashed #ffffff12;grid-column:1/-1;justify-content:space-between;align-items:center;gap:6px;width:100%;padding-top:4px;display:flex}.human-dock{color:#e7c8c266;background:#00000029;border:1px solid #ffffff17;border-radius:11px;place-items:center;width:38px;height:38px;display:grid;position:relative}.human-dock svg{width:20px;height:20px}.human-dock.auto-on{color:color-mix(in srgb, var(--seat) 60%, var(--cream));border-color:color-mix(in srgb, var(--seat) 42%, transparent)}.human-dock b{border:1px solid color-mix(in srgb, var(--seat) 48%, transparent);background:var(--panel);width:15px;height:15px;color:var(--gold);border-radius:50%;place-items:center;font-size:.46rem;line-height:1;display:grid;position:absolute;bottom:-3px;right:-3px}.menu-toggle:disabled{opacity:.55;cursor:not-allowed}.menu-toggle .unread-badge{margin-left:auto}.menu-action.danger{color:#ffb1b1;background:#ff76760d;border-color:#ff76764d}.menu-action.danger:hover{background:#ff76761a;border-color:#ff767685}.delete-zone{margin-top:8px}.delete-confirm{background:#ff76760f;border:1px solid #ff767657;border-radius:9px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:9px;display:flex}.delete-confirm>div:first-child{flex-direction:column;gap:2px;display:flex}.delete-confirm b{color:#ffd1d1;font-size:.72rem}.delete-confirm small{color:var(--muted-2);font-size:.52rem}.delete-actions{gap:5px;display:flex}.danger-btn{color:#ffe0e0;background:#ff767629;border:1px solid #ff767680;border-radius:8px;padding:6px 10px;font-size:.58rem;font-weight:900}.danger-btn:hover{background:#ff767642}@media (max-width:620px){.request-list li{flex-direction:column;align-items:flex-start}.request-actions{width:100%}.request-actions .mini-action{flex:1}}.roster-assign{border-top:1px dashed #ffffff12;grid-column:1/-1;justify-content:flex-end;width:100%;padding-top:4px;display:flex}.roster-assign select{max-width:170px;height:26px;color:var(--cream);background:#00000038;border:1px solid #ffffff1f;border-radius:7px;padding:0 24px 0 8px;font-size:.56rem;font-weight:800}.seat-auto-toggle{color:#e7c8c280;background:#0000002e;border:1px solid #ffffff1f;border-radius:5px;flex:none;place-items:center;width:18px;height:18px;padding:0;display:grid}.seat-auto-toggle svg{width:11px;height:11px}.seat-auto-toggle.on{color:var(--gold);border-color:color-mix(in srgb, var(--seat) 46%, #ffffff1f);background:color-mix(in srgb, var(--seat) 12%, #0000002e);box-shadow:0 0 8px color-mix(in srgb, var(--seat) 18%, transparent)}.seat-auto-toggle:hover{color:var(--cream);border-color:color-mix(in srgb, var(--seat) 60%, white 12%)}.app-shell.game-shell{width:min(100vw,1320px)}@media (min-width:900px){html{font-size:17.5px}.game-screen{padding:0 4px}.game-body{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:14px;display:grid}.game-body.has-chat{grid-template-columns:minmax(0,1fr) clamp(248px,20vw,300px)}.game-chat-side{z-index:6;height:100%;min-height:0;padding-top:2px;display:flex;position:relative}.game-chat-side .chat-panel{border-radius:16px;height:100%}.game-table{grid-template:repeat(4,minmax(0,1fr))/clamp(196px,15vw,232px) minmax(0,1fr);align-content:stretch;gap:4px 12px;width:100%;height:100%;margin:0;padding:0;display:grid}.seat-rail{display:contents}.rail-left,.rail-right{grid-area:auto}.seat-panel.slot-red{grid-area:1/1/2/2}.seat-panel.slot-green{grid-area:2/1/3/2}.seat-panel.slot-blue{grid-area:3/1/4/2}.seat-panel.slot-yellow{grid-area:4/1/5/2}.board-stage{grid-area:1/2/5/3}.seat-panel{justify-content:center;gap:5px;min-width:0;min-height:0}.player-card.compact .player-main{flex:none;gap:4px;min-height:58px;padding:5px 5px 5px 8px}.player-card.compact.right .player-main{padding:5px 8px 5px 5px}.player-card.compact .player-id{gap:5px;font-size:1.04rem}.player-card.compact .dice-dock{border-radius:10px;width:48px;min-height:48px}.player-card.compact .dice-btn{border-radius:9px;gap:2.5px;width:44px;height:44px;padding:6px}.player-card.compact .bot-dock,.player-card.compact .human-dock{width:34px;height:34px}.player-card.compact .bot-dock svg{width:21px;height:21px}.player-card.compact .roll-tray{width:58px;height:17px}.player-card.compact .tray-die{width:17px;height:17px}.player-card.compact.has-stats{--stats-line:24px}.player-card.compact.has-stats .player-main{min-height:58px}.player-card.compact .player-stats-strip{flex-wrap:wrap;gap:2px 4px;height:auto;min-height:24px;padding:3px 6px}.player-card.compact .metric-chip{gap:3px;padding:0 4px;font-size:.82rem}.player-card.compact .metric-chip small,.player-card.compact .metric-max,.player-card.compact .rolls{font-size:.76rem}.player-card.compact .metric-chip b{font-size:.92rem}.game-table .mini-tag{padding:2px 6px;font-size:.72rem}.game-table .player-team{padding:2px 5px;font-size:.72rem}.game-table .place-chip{padding:2px 7px;font-size:.78rem}.game-table .finish-dock-medal b{font-size:.78rem}.player-card.compact .player-off-note{padding:0 9px 4px;font-size:.56rem}.game-screen .ludo-board,.game-screen.online-game .ludo-board{width:min(100%,100dvh - 150px,780px)}.game-topbar{grid-template-columns:auto auto minmax(0,1fr) auto;gap:10px;display:grid}.game-topbar>.topbar-brand{grid-column:1}.room-chip{grid-column:2}.turn-chip{border-radius:12px;flex:none;grid-column:3;justify-self:center;width:min(100%,540px);padding:6px 12px}.menu-btn{grid-column:4;justify-self:end}.turn-copy b{font-size:.95rem}.turn-copy small{font-size:.68rem}.game-topbar .mini-brand-name{font-size:1.15rem}.top-actions .icon-btn{border-radius:10px;width:36px;height:36px}.top-actions .icon-btn svg{width:19px;height:19px}.control-strip{font-size:.72rem}.control-strip small,.control-status{font-size:.62rem}}@media (min-width:1200px){html{font-size:19px}.game-table{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:min(100%,100dvh - 275px,820px)}}.menu-motion{background:#00000029;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:6px;padding:8px;display:flex}.motion-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.motion-chip{min-width:0;color:var(--muted);cursor:pointer;background:#00000038;border:1px solid #ffffff1a;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:7px 4px;transition:border-color .14s,background .14s,color .14s;display:flex}.motion-chip b{color:inherit;font-size:.68rem;line-height:1.1}.motion-chip small{color:#e7c8c299;text-align:center;font-size:.5rem;line-height:1.1}.motion-chip.on{color:var(--cream);background:#f6da6324;border-color:#f6da6399}.motion-chip.on small{color:#fff4cfb8}.motion-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.motion-device{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:.54rem;overflow:hidden}.motion-toast{left:50%;bottom:max(14px, env(safe-area-inset-bottom,0px));z-index:130;width:min(100vw - 20px,540px);color:var(--cream);pointer-events:none;background:#2a1114f5;border:1px solid #f6da6357;border-radius:12px;align-items:center;gap:8px;padding:9px 11px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 32px #00000080}.motion-toast .mini-action{pointer-events:auto}@media (max-width:899px){.motion-toast{bottom:max(104px, calc(env(safe-area-inset-bottom,0px) + 104px))}}@media (min-width:900px){.motion-toast{width:auto;max-width:540px;margin-inline:auto;bottom:18px;left:16px;right:330px;transform:none}}.motion-toast p{flex:1;min-width:0;margin:0;font-size:.64rem;font-weight:700;line-height:1.35}.motion-toast-icon{width:22px;height:22px;color:var(--gold);background:#f6da6329;border-radius:50%;flex-shrink:0;place-items:center;font-size:.82rem;font-weight:900;display:grid}html[data-motion=reduced] .ambient-orb,html[data-motion=off] .ambient-orb,html[data-motion=off] .ambient-grain,html[data-motion=reduced] .board-halo,html[data-motion=off] .board-halo,html[data-motion=reduced] .board-gloss,html[data-motion=off] .board-gloss,html[data-motion=reduced] .fx-canvas,html[data-motion=off] .fx-canvas,html[data-motion=reduced] .dice-flyer,html[data-motion=off] .dice-flyer{display:none}html[data-motion=reduced] .token,html[data-motion=off] .token{will-change:auto;filter:none}html[data-motion=reduced] .dice-btn.ready,html[data-motion=reduced] .dice-btn.rolling,html[data-motion=reduced] .token.selectable .token-inner,html[data-motion=reduced] .path-dot,html[data-motion=reduced] .destination-marker,html[data-motion=reduced] .start-btn:before,html[data-motion=reduced] .player-name-track.marquee,html[data-motion=reduced] .auto-toggle.on svg,html[data-motion=reduced] .yard[data-place="1"] .yard-medal:before,html[data-motion=reduced] .hero-orbit span,html[data-motion=reduced] .typing-dots i,html[data-motion=reduced] .connection-beacon{animation:none}html[data-motion=off] *,html[data-motion=off] :before,html[data-motion=off] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}html[data-motion=off] .modal-backdrop,html[data-motion=off] .sheet-backdrop,html[data-motion=off] .drawer-backdrop,html[data-motion=off] .connection-banner,html[data-motion=off] .lobby-mobile-tabs button{-webkit-backdrop-filter:none;backdrop-filter:none}html[data-motion=off] .ludo-board{box-shadow:0 0 0 2px #160a0b,0 0 0 5px #f6da638c}html[data-motion=off] .token.capture-return,html[data-motion=off] .token.animating-token{filter:none}.room-chip{min-width:0;max-width:42%;color:var(--cream);text-align:center;cursor:pointer;background:#00000038;border:1px solid #ffffff1a;border-radius:11px;justify-content:center;align-items:center;gap:5px;padding:6px 9px;display:inline-flex;position:relative}.topbar-brand{cursor:pointer;background:#00000038;border:1px solid #ffffff1f;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;padding:0;transition:transform .14s,border-color .14s;display:grid}.topbar-brand .brand-mark{border-width:1.5px;border-radius:9px;width:28px;height:28px}.topbar-brand:hover{border-color:#f6da6373}.topbar-brand:active{transform:scale(.93)}.room-chip-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);font-size:.48rem;font-weight:900}.room-chip b{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.04em;min-width:0;font-family:Fredoka Variable,sans-serif;font-size:.86rem;line-height:1;overflow:hidden}.room-chip-flash{background:var(--gold);color:#2a1114;letter-spacing:.04em;border-radius:999px;padding:1px 5px;font-size:.42rem;font-weight:900;position:absolute;bottom:-10px;right:4px;box-shadow:0 2px 6px #0006}.menu-btn{background:linear-gradient(150deg, #f6da6329, #0000002e), var(--panel);width:44px;min-width:44px;height:44px;color:var(--cream);cursor:pointer;border:1.5px solid #f6da6357;border-radius:13px;flex:none;place-items:center;padding:0;display:grid;position:relative}.menu-btn svg{width:22px;height:22px}.menu-btn:active{transform:translateY(1px)}.menu-btn.attention{color:var(--gold);border-color:#f6da63d9;animation:2.4s ease-in-out infinite menuBreath;box-shadow:0 0 0 2px #f6da6347,0 0 18px #f6da6373}.menu-btn-dot{border:2px solid var(--bg-0);background:var(--gold);border-radius:50%;width:10px;height:10px;position:absolute;top:-3px;right:-3px}@keyframes menuBreath{0%,to{box-shadow:0 0 0 2px #f6da6333,0 0 10px #f6da634d}50%{box-shadow:0 0 0 2px var(--gold), 0 0 20px #f6da6399}}.player-card.timer-live,.player-card.timer-warning{border-color:color-mix(in srgb, var(--seat) 58%, #f6da6366)}.player-card.timer-live:after,.player-card.timer-warning:after{content:"";z-index:6;pointer-events:none;background:linear-gradient(90deg, var(--timer-color,#62d58a) 0 var(--timer-progress,0%), #00000073 var(--timer-progress,0%) 100%);height:3px;box-shadow:0 0 8px color-mix(in srgb, var(--timer-color,#62d58a) 45%, transparent), inset 0 1px 0 #ffffff3d;border-radius:999px;position:absolute;inset:1px 10px auto}.player-card.timer-warning:after{animation:.9s ease-in-out infinite timerRailPulse}@keyframes timerRailPulse{0%,to{opacity:1}50%{opacity:.62}}.chat-dock{z-index:6;padding:5px 8px max(5px, var(--game-safe-bottom,env(safe-area-inset-bottom,0px)));background:linear-gradient(#0000000f,#0003),#2a11148c;border-top:1px solid #c9a45a33;flex-shrink:0;position:relative}.chat-dock-main{z-index:1;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:7px;min-height:58px;display:grid;position:relative}.chat-preview{min-width:0;min-height:58px;max-height:220px;color:var(--text);text-align:left;cursor:pointer;background:#0000002e;border:1px solid #ffffff17;border-radius:12px;flex-direction:column;grid-column:1;justify-content:center;align-items:stretch;gap:2px;padding:5px 8px;display:flex;position:relative}.chat-preview.picker-open{cursor:default}.chat-preview.has-offer{gap:3px}.chat-preview-head{align-items:center;gap:4px;min-width:0;line-height:1.1;display:flex}.chat-preview-head b{text-overflow:ellipsis;white-space:nowrap;max-width:55%;color:var(--muted);font-size:.56rem;overflow:hidden}.chat-preview-text{-webkit-line-clamp:3;line-clamp:3;color:var(--cream);overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:.6rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.chat-actions{flex-direction:column;grid-column:2;justify-content:center;gap:0;display:flex}.emoji-btn,.chat-btn{color:#d9b98a;cursor:pointer;background:#00000038;border:1px solid #c9a45a3d;place-items:center;width:40px;height:31px;padding:0;display:grid}.emoji-btn{border-bottom:0;border-radius:11px 11px 0 0}.chat-btn{border-radius:0 0 11px 11px}.emoji-btn svg,.chat-btn svg{width:18px;height:18px}.emoji-btn.on{color:var(--gold);background:#f6da631f}.chat-dock-composer{grid-column:1;align-items:stretch;gap:5px;min-width:0;display:flex}.chat-dock-input{min-width:0;color:var(--text);-webkit-user-select:text;user-select:text;background:#0000004d;border:1px solid #4fe5ea66;border-radius:11px;flex:1;padding:0 10px;font-size:.68rem}.chat-dock-input:focus{border-color:#4fe5eab8;outline:none}.chat-dock-send{background:linear-gradient(180deg, #fff0a1, var(--gold) 55%, #e4b437);color:#2a1114;border:1.5px solid #1b0b0d;border-radius:11px;flex-shrink:0;place-items:center;width:38px;font-size:1.05rem;font-weight:900;display:grid}.chat-dock-send:disabled{opacity:.4}html{--game-vh:100dvh}html.chat-composing{overscroll-behavior:none;overflow:hidden}html.chat-composing body{overflow:hidden}html.chat-composing .screen-guard{display:none}.chat-composer-layer{z-index:560;padding:12px max(10px, env(safe-area-inset-left,0px)) calc(var(--keyboard-inset,0px) + max(9px, env(safe-area-inset-bottom,0px)));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0803049e;justify-content:center;align-items:flex-end;animation:.16s both backdropIn;display:flex;position:fixed;inset:0}.chat-notepad{background:radial-gradient(circle at 18% 0,#4fe5ea1a,#0000 42%),linear-gradient(155deg,#472027 0%,#261014 78%);border:1px solid #4fe5ea61;border-radius:18px;flex-direction:column;gap:7px;width:min(100%,520px);padding:10px;animation:.2s cubic-bezier(.2,.9,.3,1.08) both modalIn;display:flex;box-shadow:0 22px 54px #000000a8,inset 0 1px #ffffff14}.chat-notepad-head{justify-content:space-between;align-items:center;gap:8px;padding:0 2px;display:flex}.chat-notepad-head span{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-size:.56rem;font-weight:900}.chat-notepad-head .icon-btn{min-width:30px;min-height:30px}.chat-notepad-form{align-items:stretch;gap:6px;min-width:0;display:flex}.chat-notepad .chat-dock-input{height:46px;font-size:.86rem}.chat-notepad .chat-dock-send{width:46px}.emoji-picker{z-index:2;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c9a45a61 transparent;border-radius:inherit;width:auto;min-width:0;box-shadow:none;background:radial-gradient(circle at 18% 0,#f6da6312,#0000 42%),linear-gradient(#ffffff06,#00000029),#261014;border:1px solid #c9a45a38;flex-direction:column;padding:9px 10px;animation:.16s ease-out both emojiPickerIn;display:flex;position:absolute;inset:0;overflow:hidden}.chat-preview.picker-open>:not(.emoji-picker){visibility:hidden}.emoji-grid{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-gutter:stable;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));align-content:start;gap:3px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.emoji-cell{cursor:pointer;background:linear-gradient(145deg,#f6da630b,#0000001f),#0000001f;border:1px solid #c9a45a24;border-radius:10px;place-items:center;min-width:0;height:42px;min-height:42px;padding:3px;line-height:1;transition:transform .12s,background .14s,border-color .14s;display:grid}.emoji-cell:hover,.emoji-cell:focus-visible{background:linear-gradient(145deg,#f6da631f,#0000001f),#f6da630d;border-color:#f6da6373}.emoji-cell:active{transform:scale(.94)}.emoji-foot{text-align:center;color:#b8946a;flex:none;margin:5px 0 0;font-size:.54rem;font-weight:700}@keyframes emojiPickerIn{0%{opacity:0;transform:translateY(8px)scale(.97)}}.chat-preview-request{min-width:0}.chat-preview-request .request-card{box-shadow:none;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:5px 6px;display:grid}.chat-preview-request .request-card-main{gap:6px}.chat-preview-request .request-card-seat{border-radius:7px;width:22px;height:22px}.chat-preview-request .request-card-seat i{width:8px;height:8px}.chat-preview-request .request-card-copy b{font-size:.58rem}.chat-preview-request .request-card-copy small{font-size:.46rem}.chat-preview-request .request-card-timer{font-size:.58rem}.chat-preview-request .request-card-actions{gap:4px;margin-top:0;display:flex}.chat-preview-request .request-btn{border-radius:7px;padding:5px 8px;font-size:.52rem}@keyframes requestCardIn{0%{opacity:0;transform:translateY(8px)}}.request-card{border:1px solid color-mix(in srgb, var(--seat,var(--gold)) 42%, #ffffff1f);background:linear-gradient(150deg, color-mix(in srgb, var(--seat,var(--gold)) 12%, transparent), #00000029), var(--panel);border-radius:14px;padding:11px;box-shadow:0 3px #0000002e}.request-card.compact{padding:9px}.request-card.resolved{opacity:.92}.request-card-main{align-items:center;gap:9px;min-width:0;display:flex}.request-card-seat{border:1px solid color-mix(in srgb, var(--seat) 58%, #ffffff24);background:color-mix(in srgb, var(--seat) 16%, transparent);border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.request-card-seat i{background:var(--seat);width:12px;height:12px;box-shadow:0 0 8px color-mix(in srgb, var(--seat) 55%, transparent);border-radius:50%}.request-card-copy{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.request-card-copy b{text-overflow:ellipsis;color:var(--cream);font-size:.7rem;line-height:1.2;overflow:hidden}.request-card-copy small{color:var(--muted-2);font-size:.52rem;line-height:1.3}.request-card-timer{color:var(--gold);font-variant-numeric:tabular-nums;flex:none;font-size:.72rem;font-weight:900}.request-card-timer.warning{color:var(--danger)}.request-card-actions{grid-template-columns:1fr 1fr;gap:6px;margin-top:9px;display:grid}.request-btn{cursor:pointer;border-radius:9px;padding:9px;font-size:.66rem;font-weight:900}.request-btn.reject{color:var(--muted);background:#ffffff0d;border:1px solid #ffffff24}.request-btn.accept{background:linear-gradient(180deg, #fff0a1, var(--gold) 55%, #e4b437);color:#2a1114;border:1.5px solid #1b0b0d;box-shadow:0 2px #6a4a14}.chat-pinned-request{flex-shrink:0;padding:0 9px 7px}.chat-role-eye{color:var(--muted-2);justify-content:center;align-items:center;display:inline-flex}.chat-role-eye svg{width:11px;height:11px}.menu-card{max-width:520px;padding:12px}.menu-card .modal-head{align-items:center;padding-bottom:8px}.menu-card .modal-eyebrow{letter-spacing:.1em;font-size:.56rem}.menu-quick-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:9px 0 7px;display:grid}.menu-quick-row.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-quick-row>.quick-chip:last-child:nth-child(odd){grid-column:1/-1}.menu-visibility{background:#00000029;border:1px solid #ffffff1a;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;margin:0 0 7px;padding:4px 5px 4px 8px;display:grid}.menu-visibility-label{color:var(--muted-2);letter-spacing:.08em;text-transform:uppercase;font-size:.5rem;font-weight:900}.menu-visibility .strip-group{min-width:0}.motion-cycle small{color:var(--gold);text-transform:uppercase;letter-spacing:.04em;margin-left:auto;font-size:.5rem;font-weight:900}.quick-spacer{min-width:0}.quick-chip{min-width:0;color:var(--muted);text-align:left;cursor:pointer;background:#0000002e;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:5px;padding:7px;display:flex}.quick-chip.on{color:var(--cream);background:#f6da6314;border-color:#f6da6361}.quick-icon{width:20px;height:20px;color:var(--gold);background:#f6da631f;border-radius:6px;flex:none;place-items:center;font-size:.7rem;font-weight:900;display:grid}.quick-chip b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.56rem;font-weight:700;overflow:hidden}.quick-chip small{color:var(--muted-2);text-transform:uppercase;flex:none;font-size:.44rem;font-weight:800}.quick-chip .switch{width:24px;height:14px}.quick-chip .switch:after{width:10px;height:10px;top:1px;left:1px}.quick-chip .switch.on:after{transform:translate(10px)}.menu-motion-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 0 7px;display:grid}.menu-motion-row .motion-chip{border-radius:7px;min-height:0;padding:5px 2px;font-size:.54rem;font-weight:800}.menu-requests{background:#00000029;border:1px solid #f6da632e;border-radius:12px;flex-direction:column;gap:5px;margin:0 0 8px;padding:8px;display:flex}.requests-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.requests-toggle{min-width:0;color:var(--muted);cursor:pointer;background:#0003;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:6px;padding:3px 6px 3px 8px;display:flex}.requests-toggle b{white-space:nowrap;font-size:.52rem;font-weight:800}.requests-toggle .switch{width:26px;height:15px}.requests-toggle .switch:after{width:9px;height:9px}.requests-toggle .switch.on:after{transform:translate(11px)}.request-line{color:var(--cream);margin:0;font-size:.58rem;line-height:1.35}.request-line.quiet{color:var(--muted-2)}.request-row{background:#00000024;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:6px;min-width:0;padding:5px 6px;display:flex}.request-row.quiet{opacity:.86}.request-person{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--cream);flex:1;font-size:.58rem;font-weight:700;overflow:hidden}.request-seat{border:1px solid color-mix(in srgb, var(--seat) 42%, #ffffff1f);background:color-mix(in srgb, var(--seat) 10%, transparent);color:var(--cream);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:3px;padding:2px 5px;font-size:.5rem;font-weight:800;display:inline-flex}.request-seat i{background:var(--seat);border-radius:50%;width:5px;height:5px}.request-status{color:var(--muted-2);white-space:nowrap;flex:none;font-size:.48rem;font-weight:700}.request-row .request-actions{flex:none;gap:3px;display:flex}.request-row .mini-action{padding:3px 6px;font-size:.48rem}.menu-body{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:8px;margin:7px 0;display:grid;position:relative}.menu-body.offline-body{grid-template-columns:1fr}.menu-colours{grid-template-columns:1fr 1fr;align-content:start;gap:3px;display:grid}.menu-color-cell{aspect-ratio:1;border:2px solid color-mix(in srgb, var(--seat) 70%, #1b0b0d);background:linear-gradient(155deg, color-mix(in srgb, var(--seat) 26%, transparent), #0003), var(--panel);min-width:0;color:var(--cream);text-align:left;cursor:default;border-radius:10px;flex-direction:column;gap:3px;padding:6px;display:flex;overflow:hidden}.menu-color-cell.inactive{opacity:.42;filter:grayscale(.55)}.menu-color-cell.current{box-shadow:0 0 0 2px var(--gold)}.menu-color-cell.offerable{cursor:pointer}.menu-color-cell.locked{cursor:default}.menu-color-head{align-items:center;gap:4px;min-width:0;display:flex}.menu-color-dot{background:var(--seat);border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 1px #00000047}.menu-color-name{text-overflow:ellipsis;white-space:nowrap;color:var(--seat);letter-spacing:.04em;text-transform:uppercase;font-size:.54rem;font-weight:900;overflow:hidden}.menu-color-people{flex-direction:column;flex:1;justify-content:center;gap:2px;min-height:0;display:flex}.menu-person-box{border:1px solid color-mix(in srgb, var(--seat) 34%, #ffffff1a);min-width:0;min-height:17px;color:var(--cream);text-overflow:ellipsis;white-space:nowrap;background:#00000047;border-radius:5px;align-items:center;gap:3px;padding:2px 4px;font-size:.52rem;font-weight:700;line-height:1.1;display:flex;overflow:hidden}.menu-person-box.bot{color:var(--gold);justify-content:center}.menu-person-box.bot svg{width:16px;height:16px}.menu-person-box.off{color:var(--muted-2);background:#0000001f;border-style:dashed}.menu-color-cell.count-2 .menu-person-box{min-height:15px;font-size:.48rem}.menu-color-cell.count-3 .menu-person-box{min-height:13px;font-size:.44rem}.menu-color-cell.count-4 .menu-person-box{min-height:11px;font-size:.4rem}.menu-members{flex-direction:column;gap:5px;min-height:0;display:flex;overflow:visible}.menu-members-head{justify-content:space-between;align-items:center;gap:5px;min-height:23px;display:flex}.members-online{color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-size:.54rem;font-weight:800;display:inline-flex}.members-online i{background:#62d58a;border-radius:50%;width:6px;height:6px;box-shadow:0 0 7px #62d58a99}.members-accept{min-width:0;color:var(--muted);cursor:pointer;background:#0003;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:5px;padding:3px 6px;font-size:.5rem;font-weight:800;display:inline-flex}.members-accept .switch{width:24px;height:14px}.members-accept .switch:after{width:8px;height:8px}.members-accept .switch.on:after{transform:translate(10px)}.menu-members-list{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;flex-direction:column;gap:3px;min-height:0;max-height:42dvh;display:flex;overflow-y:auto}.menu-member-row{min-width:0;color:var(--cream);text-align:left;cursor:default;background:#00000029;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:5px;padding:5px 6px;display:flex}.menu-member-row.is-you{background:#4fe5ea0d;border-color:#4fe5ea4d}.menu-member-row.offline{opacity:.6}.menu-member-row.tappable{cursor:pointer}.menu-member-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.6rem;font-weight:700;overflow:hidden}.menu-member-colors{flex:none;align-items:center;gap:2px;display:flex}.menu-member-colors i{border-radius:50%;width:7px;height:7px}.menu-host-mark{width:13px;height:13px;color:var(--gold);flex:none;place-items:center;display:grid}.menu-host-mark svg{width:12px;height:12px}.menu-offer-sheet{background:#0003;border:1px solid #f6da634d;border-radius:11px;flex-direction:column;gap:6px;margin:0 0 8px;padding:8px;display:flex}.offer-sheet-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.offer-sheet-head b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.6rem;overflow:hidden}.offer-targets{flex-wrap:wrap;gap:4px;display:flex}.offer-target{color:var(--cream);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff24;border-radius:8px;align-items:center;gap:4px;padding:6px 9px;font-size:.56rem;font-weight:800;display:inline-flex}.offer-target i{background:var(--seat);border-radius:50%;width:6px;height:6px}.menu-actions{margin:8px 0}.menu-action.setup>span{color:var(--cyan);background:#4fe5ea1a}.menu-color-cell.tappable,.menu-color-cell.offerable{cursor:pointer}.menu-color-cell.assignable{border-color:var(--gold);animation:1.4s ease-in-out infinite assignGlow}.menu-color-cell.sheet-open{box-shadow:0 0 0 2px var(--gold), 0 0 24px color-mix(in srgb, var(--seat) 45%, transparent)}.menu-member-row.assignable{border-color:var(--gold);cursor:pointer;background:#f6da631a;animation:1.4s ease-in-out infinite assignGlow}.menu-member-row.selected{border-color:var(--gold);background:#f6da631f}@keyframes assignGlow{0%,to{box-shadow:0 0 0 1px #f6da6340,0 0 8px #f6da632e}50%{box-shadow:0 0 0 2px #f6da63cc,0 0 20px #f6da6373}}.menu-cell-sheet{z-index:7;border:1px solid color-mix(in srgb, var(--seat) 52%, #ffffff1f);background:linear-gradient(155deg, color-mix(in srgb, var(--seat) 16%, transparent), #0003), linear-gradient(160deg, #4b1f24, #2b1114 78%);border-radius:13px;flex-direction:column;gap:5px;width:min(60%,232px);padding:8px;animation:.16s ease-out both menuSheetIn;display:flex;position:absolute;top:0;left:0;box-shadow:0 18px 40px #0000009e}@keyframes menuSheetIn{0%{opacity:0;transform:translateY(-4px)scale(.97)}}.sheet-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.sheet-color{color:var(--seat);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:5px;font-size:.58rem;font-weight:900;display:inline-flex}.sheet-color i{background:var(--seat);border-radius:50%;width:8px;height:8px}.sheet-action{border:1px solid color-mix(in srgb, var(--seat) 34%, #ffffff1f);width:100%;color:var(--cream);text-align:left;cursor:pointer;background:#ffffff0d;border-radius:8px;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 8px;display:flex}.sheet-action b{font-size:.56rem}.sheet-action small{color:var(--muted-2);font-size:.44rem}.sheet-action.off{color:#ffc2c2;background:#ff767612;border-color:#ff767657}.sheet-levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;display:grid}.sheet-level{color:var(--muted);cursor:pointer;background:#0003;border:1px solid #ffffff1f;border-radius:7px;padding:5px 2px;font-size:.46rem;font-weight:800}.sheet-level.on{color:var(--gold);background:#f6da6324;border-color:#f6da6399}.menu-assign-hint{z-index:8;background:linear-gradient(180deg, #fff0a1, var(--gold) 58%, #e4b437);color:#2a1114;white-space:nowrap;cursor:pointer;border:1px solid #6a4a14;border-radius:999px;align-items:center;gap:7px;max-width:calc(50% - 10px);padding:6px 10px;font-size:.54rem;font-weight:900;animation:.16s ease-out both menuSheetIn;display:flex;position:absolute;bottom:3px;left:auto;right:4px;transform:none;box-shadow:0 8px 24px #0000007a}.menu-assign-hint span{text-overflow:ellipsis;overflow:hidden}.menu-assign-hint b{background:#2a111424;border-radius:50%;place-items:center;width:15px;height:15px;font-size:.5rem;display:grid}.menu-inline-actions{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:5px;margin:8px 0;display:grid}.menu-inline-btn{min-width:0;min-height:40px;color:var(--cream);cursor:pointer;background:#0000002e;border:1px solid #ffffff1f;border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:7px 5px;font-size:.56rem;font-weight:800;display:flex}.menu-inline-btn span{width:20px;height:20px;color:var(--gold);background:#ffffff0f;border-radius:7px;flex:none;place-items:center;font-size:.68rem;display:grid}.menu-inline-btn b{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.menu-inline-btn.danger{color:#ffc2c2;background:#ff76760f;border-color:#ff767652}.menu-inline-btn.danger span{color:#ff9b9b;background:#ff76761f}.menu-confirm-layer{z-index:9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#080304c7;place-items:center;padding:18px;animation:.16s both backdropIn;display:grid;position:fixed;inset:0}.menu-confirm-card{text-align:center;background:radial-gradient(circle at 50% 0,#ff76761f,#0000 46%),linear-gradient(160deg,#4b1f24 0%,#2b1114 76%);border:1px solid #ff767670;border-radius:18px;flex-direction:column;align-items:center;gap:5px;width:min(100%,320px);padding:20px 18px 16px;animation:.22s cubic-bezier(.2,.9,.3,1.1) both modalIn;display:flex;box-shadow:0 24px 60px #000000b3,inset 0 1px #ffffff14}.menu-confirm-mark{color:#ffb0b0;background:#ff767624;border:1px solid #ff767680;border-radius:50%;place-items:center;width:34px;height:34px;margin-bottom:3px;font-size:1.05rem;font-weight:900;display:grid}.menu-confirm-card b{color:#ffd6d6;font-size:1rem}.menu-confirm-card small{max-width:230px;color:var(--muted);font-size:.6rem;line-height:1.45}.menu-confirm-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:10px;display:grid}.menu-confirm-actions .secondary-btn,.menu-confirm-actions .danger-btn{border-radius:10px;padding:9px;font-size:.64rem}@media (max-width:899px){.game-screen{gap:0;padding:0}.game-topbar{gap:6px;padding:0 0 2px}.room-chip{border-radius:12px;max-width:38%;min-height:44px;padding:6px 9px}.room-chip-label{display:none}.room-chip b{font-size:.9rem}.turn-chip{border-radius:12px;justify-content:center;min-height:44px;padding:5px 10px}.turn-dot{width:10px;height:10px}.turn-copy b{font-size:.84rem}.turn-copy small{font-size:.54rem}.game-table{width:min(100%, calc(var(--game-vh) - 260px));row-gap:clamp(0px, calc(var(--game-vh) - 700px), 3px);flex:0 auto;grid-template:"red green""board board""blue yellow"/minmax(0,1fr) minmax(0,1fr);place-content:center stretch;column-gap:4px;height:auto;min-height:0;margin:auto;padding:0;display:grid}.board-stage{aspect-ratio:1;width:100%}.game-screen:not(.online-game) .game-table{width:min(100%, calc(var(--game-vh) - 196px))}.seat-rail{display:contents}.seat-panel{z-index:3;justify-content:stretch;gap:0;padding:0}.player-row{gap:0;min-height:0;max-height:none}.player-card{border-radius:10px;height:auto;min-height:0}.player-card.bottom{border-top:1px solid #ffffff1c;border-bottom:1px solid #ffffff1c;border-radius:10px}.player-card.compact .player-main{min-height:46px;padding:2px 5px 2px 8px}.player-card.compact.right .player-main{padding:2px 8px 2px 5px}.game-table .player-card.compact .player-off-note{display:none}.player-card.compact .player-id{gap:4px;font-size:.96rem}.player-card.compact .dice-dock{border-radius:9px;width:46px;min-height:46px}.player-card.compact .dice-btn{border-radius:8px;gap:2px;width:42px;height:42px;padding:5px}.player-card.compact .bot-dock,.player-card.compact .human-dock{border-radius:9px;width:32px;height:32px}.player-card.compact .roll-tray{width:56px;height:16px}.player-card.compact .tray-die{width:16px;height:16px}.player-card.compact.has-stats{--stats-line:14px}.player-card.compact.has-stats .player-main,.player-card.has-stats .player-main{min-height:46px}.player-card.has-stats{--stats-line:14px}.player-row.top-row .player-card.has-stats,.player-row.bottom-row .player-card.has-stats{margin-top:0;margin-bottom:0}.board-stage{grid-area:2/1/auto/-1;min-height:0;padding:0}.game-screen .ludo-board,.game-screen.online-game .ludo-board{width:min(100%,100cqh);max-width:100%;box-shadow:0 12px 30px #0000006b, 0 0 24px color-mix(in srgb, var(--turn) 12%, transparent);border-radius:0}.ludo-board:after{border-radius:0}.chat-dock{margin-top:0}.menu-card{max-width:430px}}@media (min-width:900px){.chat-dock{display:none}.game-topbar{gap:8px}.room-chip{max-width:none;padding:6px 12px}.turn-chip{flex:0 auto;min-width:210px}}html[data-motion=off] .menu-btn.attention,html[data-motion=off] .emoji-picker,html[data-motion=off] .chat-emoji-tray,html[data-motion=off] .chat-dock>.request-card,html[data-motion=off] .player-card.timer-live:after,html[data-motion=off] .player-card.timer-warning:after,html[data-motion=reduced] .player-card.timer-warning:after{animation:none}.app-shell.home-shell{width:min(100vw,760px)}.home-screen{flex-direction:column;gap:9px;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.home-brand{align-items:center;gap:9px;min-width:0;display:flex}.home-brand>b{color:var(--cream);letter-spacing:.02em;text-shadow:0 2px #00000059;font-size:1.28rem}.home-brand-mark{border-radius:11px;width:36px;height:36px}.home-top-actions{align-items:center;gap:7px;margin-left:auto;display:flex}.home-topbar{gap:10px;padding:0}.home-identity{background:linear-gradient(145deg, #ffffff0a, #00000014), var(--panel);border:1px solid #ffffff1a;border-radius:14px;align-items:center;gap:10px;padding:9px 11px;display:flex}.home-identity-copy{flex-direction:column;flex:none;gap:1px;display:flex}.home-identity-copy small{color:var(--muted-2);font-size:.5rem}.home-name-edit{flex:1;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.home-name-edit .text-input.compact{max-width:220px;padding:7px 9px;font-size:.72rem}.home-toast{left:50%;bottom:calc(82px + env(safe-area-inset-bottom,0px));z-index:60;width:min(92vw,400px);color:var(--cream);background:#1c0c0ef5;border:1px solid #ffffff24;border-radius:13px;align-items:center;gap:8px;padding:10px 13px;font-size:.72rem;font-weight:700;line-height:1.3;animation:.22s ease-out homeToastIn;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 16px 36px #00000080}.home-toast.danger{background:linear-gradient(150deg,#ff776829,#0003),#280e10f7;border-color:#ff77688c}.home-toast.success{border-color:#62d58a80}.home-toast-icon{background:#ffffff1f;border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:.68rem;font-weight:900;display:grid}.home-toast.danger .home-toast-icon{color:#ffd7d1;background:#ff776842}@keyframes homeToastIn{0%{opacity:0;transform:translate(-50%,10px)scale(.97)}to{opacity:1;transform:translate(-50%)scale(1)}}.home-join-row{flex-shrink:0;align-items:stretch;gap:6px;min-width:0;display:flex}.home-create-btn{background:linear-gradient(150deg, #f6da6329, #0000001a), var(--panel);min-height:40px;color:var(--cream);font:inherit;white-space:nowrap;cursor:pointer;border:1px solid #f6da6357;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:5px;padding:7px 9px;font-size:.66rem;font-weight:800;display:inline-flex}.home-create-btn svg{width:15px;height:15px;color:var(--gold)}.home-code-input{letter-spacing:0;text-align:center;text-transform:none;flex:1;min-width:0;min-height:40px;padding:0 10px;font-size:.66rem;line-height:1}.home-code-input::placeholder{letter-spacing:0;text-align:center;text-transform:none}.home-join-btn{flex:none;justify-content:center;min-height:40px;padding:8px 12px;font-size:.72rem}.home-rooms{background:linear-gradient(150deg, #ffffff0a, #00000017), var(--panel);border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;flex:1;min-height:0;padding:10px;display:flex;box-shadow:0 4px #00000029}.home-rooms-head{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:0 1px 7px;display:flex}.home-room-count{color:var(--muted-2);font-size:.54rem;font-weight:800}.home-room-scroll{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;flex-direction:column;flex:1;gap:8px;min-height:0;padding:0 2px 58px 1px;display:flex;overflow-y:auto}.home-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.home-room-card{background:linear-gradient(150deg,#f6da630b,#0000001f),#00000024;border:1px solid #ffffff1c;border-radius:12px;flex-direction:column;gap:5px;min-width:0;min-height:116px;padding:9px;display:flex}.home-room-card-top{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.home-room-card .room-code{font-size:.82rem}.home-room-card .room-badge{padding:1px 5px;font-size:.38rem}.home-room-card-meta{min-width:0;color:var(--muted-2);flex-direction:column;gap:1px;font-size:.53rem;line-height:1.25;display:flex}.home-room-join{width:100%;margin-top:auto;padding:6px 8px}.home-empty{flex:1;justify-content:center;min-height:140px}.home-resume{flex-shrink:0;padding:9px 11px}.home-resume h2{font-size:.95rem}.home-invite{flex-shrink:0;padding:12px}.home-offline-fab{z-index:5;background:linear-gradient(180deg, #fff0a1, var(--gold) 55%, #e4b437);color:#2a1114;font:inherit;cursor:pointer;border:1.5px solid #1b0b0d;border-radius:13px;align-items:center;gap:7px;padding:10px 14px;font-family:Fredoka Variable,sans-serif;font-size:.78rem;font-weight:700;display:inline-flex;position:absolute;bottom:1px;right:2px;box-shadow:0 4px #6a4a14,0 12px 28px #0000006b}.home-offline-fab svg{width:18px;height:18px}.home-offline-fab:active{transform:translateY(2px);box-shadow:0 2px #6a4a14,0 8px 18px #0006}.create-layer{z-index:610;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0c0406b8;place-items:center;padding:16px;animation:.18s ease-out both backdropIn;display:grid;position:fixed;inset:0}.home-create-panel{background:radial-gradient(circle at 20% 0,#f6da6314,#0000 38%),linear-gradient(160deg,#4b1f24 0%,#2b1114 70%);border:1px solid #f6da6366;border-radius:18px;width:min(100%,390px);max-height:calc(100dvh - 32px);padding:15px;animation:.22s cubic-bezier(.2,.9,.3,1.1) both modalIn;overflow-y:auto;box-shadow:0 26px 60px #000000a6}.home-create-panel .section-head{justify-content:space-between;align-items:center;gap:8px;display:flex}@media (min-width:700px){.home-room-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.home-identity{padding:10px 14px}}.menu-quick-row.four-up{grid-template-columns:repeat(2,minmax(0,1fr))}.pause-chip.on{background:#62d58a1a;border-color:#62d58a7a}.pause-chip.on .quick-icon{color:#b8f0c9;background:#62d58a29}.menu-color-cell.single .menu-color-people{align-items:center}.menu-color-cell.single .menu-person-box{aspect-ratio:1;text-align:center;justify-content:center;align-self:center;width:min(82%,68px);min-height:0;padding:4px;font-size:.58rem;line-height:1.15}.menu-color-cell.single .menu-person-box.bot svg{width:70%;height:70%}.menu-color-cell.single .menu-person-box.off{font-size:.56rem}.player-card.compact .player-name-track.marquee{animation:none}.player-card.compact .player-name-viewport{max-width:100%}.player-card.compact .player-id{gap:4px;font-size:.94rem}.player-card.compact .role-icon{width:.84em;height:.84em}@media (min-width:900px){.player-card.compact .seat-mine{display:none}.player-card.compact .player-id{gap:3px;font-size:.8rem}.player-card.compact .player-dot{display:none}}.menu-cell-sheet{overscroll-behavior:contain;scrollbar-width:thin;width:min(78%,304px);max-height:70dvh;overflow-y:auto}.sheet-label{color:var(--muted-2);letter-spacing:.08em;text-transform:uppercase;font-size:.46rem;font-weight:900}.sheet-controllers{flex-direction:column;gap:3px;display:flex}.sheet-controller{background:#0000002e;border:1px solid #ffffff1a;border-radius:7px;align-items:center;gap:6px;min-width:0;padding:4px 5px;display:flex}.sheet-controller>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--cream);flex:1;font-size:.56rem;font-weight:700;overflow:hidden}.sheet-remove{color:#ffc2c2;font:inherit;cursor:pointer;background:#ff767614;border:1px solid #ff767652;border-radius:6px;flex:none;padding:3px 6px;font-size:.46rem;font-weight:800}.sheet-note{color:var(--muted-2);font-size:.48rem;line-height:1.3}.modal-backdrop.menu-docked{z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;justify-content:stretch;align-items:stretch;width:100%;height:100%;padding:0;animation:none;display:flex;position:static;inset:auto}.menu-card.docked{background:linear-gradient(160deg, #ffffff0a, #0000001f), var(--panel);overscroll-behavior:contain;scrollbar-width:thin;border-color:#ffffff1f;border-radius:15px;width:100%;max-width:none;height:100%;max-height:none;padding:10px;animation:none;overflow-y:auto;box-shadow:0 3px #00000029}.menu-card.docked .menu-members-list{max-height:24dvh}.menu-card.docked .menu-cell-sheet{z-index:650;width:min(88vw,330px);max-height:min(78dvh,520px);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 26px 70px #000000b3}.chat-dock-main{grid-template-columns:minmax(0,1fr) 40px;min-height:116px}.chat-actions>.emoji-btn,.chat-actions>.chat-btn{flex:0 0 58px;height:58px;min-height:0}.chat-preview{contain:layout paint;background:radial-gradient(circle at 12% 0,#f6da6312,#0000 42%),linear-gradient(145deg,#ffffff09,#00000029),#2a1114;border-color:#c9a45a47;gap:5px;height:116px;min-height:116px;max-height:116px;padding:8px 10px;overflow:hidden;box-shadow:inset 0 1px #ffffff0b,0 2px #00000029}.chat-preview:hover,.chat-preview:focus-visible{border-color:#c9a45a75}.game-screen .chat-dock-main{grid-template-columns:minmax(0,1fr) 38px;min-height:92px}.game-screen .chat-actions>.emoji-btn,.game-screen .chat-actions>.chat-btn{flex:0 0 45px;height:45px}.game-screen .chat-preview{height:clamp(92px, calc(var(--game-vh) * .17), 146px);min-height:clamp(92px, calc(var(--game-vh) * .17), 146px);max-height:clamp(92px, calc(var(--game-vh) * .17), 146px)}.game-screen.stats-on .chat-preview{height:clamp(88px, calc(var(--game-vh) * .135), 118px);min-height:clamp(88px, calc(var(--game-vh) * .135), 118px);max-height:clamp(88px, calc(var(--game-vh) * .135), 118px)}@media (max-width:899px){.game-screen.online-game .game-body{flex:none}.game-screen.online-game .game-table{margin:0 auto}.game-screen.online-game .chat-dock{flex-direction:column;flex:auto;min-height:0;display:flex}.game-screen.online-game .chat-dock-main{flex:auto;min-height:0}.game-screen.online-game .chat-preview,.game-screen.online-game.stats-on .chat-preview{height:auto;min-height:0;max-height:none}}.chat-preview-line{flex-direction:row;align-items:baseline;gap:6px;width:100%;min-width:0;display:flex}.chat-preview-log{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0,#000 12px);mask-image:linear-gradient(#0000 0,#000 12px)}.chat-preview-log-inner{flex-direction:column;gap:4px;margin-top:auto;display:flex}.chat-preview-log .chat-preview-line{flex:none}.chat-preview-log .chat-preview-sender b{font-size:.62rem}.chat-preview-sender{flex:none;align-items:center;gap:4px;width:auto;min-width:0;max-width:42%;display:inline-flex}.chat-preview-sender b{text-overflow:ellipsis;white-space:nowrap;color:#d9b98a;min-width:0;font-size:.7rem;line-height:1.2;overflow:hidden}.chat-preview-text{white-space:nowrap;text-overflow:ellipsis;color:#f3dfb8;flex:auto;width:auto;min-width:0;font-size:.78rem;font-weight:600;line-height:1.25;display:block;overflow:hidden}.chat-preview-empty{color:#b8946a;font-size:.78rem}.chat-preview.has-offer{flex-direction:row;align-items:center;gap:9px}.chat-preview.has-offer .chat-preview-line{flex:1 1 0;width:auto;min-width:0}.chat-preview-request{flex:0 0 52%;width:52%;min-width:0;max-width:52%;margin-left:auto}.chat-preview-request .request-card{gap:4px;min-width:0;padding:4px 5px}.chat-preview-request .request-card-main{gap:4px;min-width:0}.chat-preview-request .request-card-copy small{display:none}.chat-preview-request .request-card-actions{gap:3px}.chat-preview-request .request-btn{padding:4px 5px;font-size:.46rem}.chat-preview .emoji-picker{flex-direction:column;width:100%;max-width:100%;height:100%;min-height:0;max-height:100%;display:flex;overflow:hidden}.chat-preview .emoji-picker .emoji-grid{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-gutter:stable;flex:auto;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));align-content:start;min-height:0;overflow-y:auto}.chat-preview .emoji-picker .emoji-foot{flex:none}.chat-emoji-tray{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;max-height:210px;display:flex;overflow:hidden}.chat-emoji-tray .emoji-grid{flex:auto;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));min-height:0;overflow-y:auto}.chat-compose-row{background:#0000001f;border-top:1px solid #ffffff12;align-items:stretch;gap:5px;padding:7px 9px;display:flex}.chat-compose-row .chat-composer{background:0 0;border-top:0;flex:1;min-width:0;padding:0}.chat-head-actions{align-items:center;gap:6px;display:flex}.chat-hide-btn{border-radius:9px;width:30px;height:30px}.chat-hide-btn svg{width:15px;height:15px}.chat-meta b{font-size:.68rem}.chat-meta time{font-size:.52rem}.chat-bubble{font-size:.78rem;line-height:1.45}.chat-system span{font-size:.62rem}.chat-input,.chat-compose-placeholder,.chat-typing{font-size:.74rem}.chat-empty b{font-size:.82rem}.chat-empty small{font-size:.62rem}.chat-emoji-tray-mobile{max-height:154px}@media (min-width:900px){.app-shell.game-shell{width:min(100vw,1600px)}.game-body{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.game-body.has-side{grid-template-columns:minmax(0,1fr) clamp(320px,31vw,440px)}.game-chat-side{display:none}.game-table{grid-template:"red green""board board""blue yellow"/minmax(0,1fr) minmax(0,1fr);place-content:center stretch;gap:6px 10px;width:min(100%,100dvh - 260px,780px);height:auto;max-height:100%;margin:auto;padding:0;display:grid}.seat-rail{display:contents}.rail-left,.rail-right{grid-area:auto}.seat-panel.slot-red{grid-area:red;place-self:stretch stretch}.seat-panel.slot-green{grid-area:green;place-self:stretch stretch}.seat-panel.slot-blue{grid-area:blue;place-self:stretch stretch}.seat-panel.slot-yellow{grid-area:yellow;place-self:stretch stretch}.game-table .player-card.compact .player-off-note{display:none}.game-table .seat-body>.player-card{flex:auto}.board-stage{aspect-ratio:1;grid-area:board;justify-content:center;align-items:center;width:100%;min-width:0;min-height:0;padding:0;display:flex}.game-screen .ludo-board,.game-screen.online-game .ludo-board{width:100%;max-width:100%;max-height:100%}.game-side{z-index:6;flex-direction:column;gap:10px;min-width:0;height:100%;min-height:0;padding-top:2px;display:flex;position:relative}.game-side-menu{flex:0 54%;min-height:0;display:flex;overflow:hidden}.game-side.chat-hidden .game-side-menu{flex:auto}.game-side-chat{flex:1 1 0;min-height:0;display:flex}.game-side-chat .chat-panel{border-radius:16px;height:100%}.game-topbar{grid-template-columns:auto auto minmax(0,1fr) auto auto;gap:9px;display:grid}.game-topbar>.topbar-brand{grid-column:1}.game-topbar>.room-chip{grid-column:2}.game-topbar>.turn-chip{grid-column:3;justify-self:center}.game-topbar>.side-toggle{grid-column:4;justify-self:end}.game-topbar>.menu-btn:not(.side-toggle){grid-column:5;justify-self:end}}@media (min-width:1200px){.game-table{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:14px;width:min(100%,100dvh - 275px,820px)}}@media (max-width:899px){.game-table{width:min(100%, calc(var(--game-vh) - 300px))}.game-screen:not(.online-game) .game-table{width:min(100%, calc(var(--game-vh) - 240px))}}@media (min-width:900px){.game-screen:not(.online-game) .game-table{width:min(100%,100dvh - 230px,820px)}}.lobby-topbar{flex-shrink:0;align-items:center;gap:7px;padding:1px 2px 0;display:flex}.lobby-status{background:#00000038;border:1px solid #ffffff17;border-radius:11px;flex:1;justify-content:center;align-items:center;gap:5px;min-width:0;padding:4px 8px;line-height:1.12;display:flex}.lobby-status b{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--cream);font-size:.76rem;overflow:hidden}.lobby-status small{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted-2);font-size:.54rem;overflow:hidden}.lobby-body{flex:1;grid-template-columns:minmax(0,1fr);gap:10px;min-height:0;display:grid;overflow:hidden}.lobby-main{overscroll-behavior:none;flex-direction:column;gap:7px;min-height:0;padding:4px 2px 0;display:flex;overflow:hidden}.lobby-main .seat-board{flex:0 auto;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);min-height:0;margin:0}.lobby-main .menu-colours-wrap{flex-direction:column;gap:5px;min-width:0;min-height:0;display:flex}.lobby-main .menu-colours{align-content:start;min-height:0}.lobby-main .menu-color-cell{aspect-ratio:1;min-height:0}.menu-bot-shortcuts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;display:grid}.bot-shortcut{border:1px solid color-mix(in srgb, var(--gold) 32%, #ffffff1a);min-width:0;min-height:30px;color:var(--gold);font:inherit;overflow-wrap:anywhere;white-space:normal;text-overflow:clip;cursor:pointer;background:#f6da6314;border-radius:8px;padding:5px 4px;font-size:.54rem;font-weight:800;line-height:1.15;overflow:hidden}.bot-shortcut.quiet{color:var(--muted);background:#0000002e;border-color:#ffffff1c}.bot-shortcut:disabled{opacity:.4;cursor:default}.lobby-main .menu-members{min-height:0}.lobby-main .menu-cell-sheet{max-height:100%}.lobby-main .menu-members-list{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;flex:auto;min-height:0;max-height:min(34dvh,300px);overflow-y:auto}.lobby-main .menu-members-list::-webkit-scrollbar{display:none}.members-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.members-requests{color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:#0003;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:4px;padding:3px 6px;font-size:.48rem;font-weight:800;display:inline-flex}.members-requests b{background:var(--danger);color:#2a0c0c;border-radius:999px;place-items:center;min-width:13px;height:13px;padding:0 3px;font-size:.42rem;font-weight:900;line-height:1;display:inline-grid}.members-requests.has{color:var(--gold);background:#f6da631a;border-color:#f6da6373}.members-requests:hover{color:var(--gold);border-color:#f6da638c}.menu-members-empty{color:var(--muted-2);text-align:center;border:1px dashed #ffffff1f;border-radius:9px;margin:4px 0;padding:10px;font-size:.56rem}.lobby-startbar{background:#0003;border:1px solid #ffffff1a;border-radius:12px;flex-shrink:0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:7px 8px;display:grid}.startbar-copy{flex-direction:column;gap:1px;min-width:0;line-height:1.16;display:flex}.startbar-copy b{color:var(--cream);font-size:.68rem}.startbar-copy small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted-2);font-size:.52rem;overflow:hidden}.startbar-stats{color:var(--muted);font:inherit;cursor:pointer;background:#0000002e;border:1px solid #ffffff1f;border-radius:9px;align-items:center;gap:4px;padding:6px 7px;font-size:.52rem;font-weight:800;display:inline-flex}.startbar-stats span:first-child{color:var(--gold);font-weight:900}.startbar-stats .switch{width:24px;height:14px}.startbar-stats .switch:after{width:8px;height:8px}.startbar-stats .switch.on:after{transform:translate(10px)}.startbar-stats.on{color:var(--cream);background:#f6da6314;border-color:#f6da6361}.lobby-start{white-space:nowrap;min-height:34px;padding:7px 12px;font-size:.66rem}.startbar-wait{color:var(--muted);white-space:nowrap;grid-column:2/-1;align-items:center;gap:5px;font-size:.54rem;font-weight:800;display:inline-flex}.lobby-strip{flex-shrink:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:5px;display:grid}.strip-group{background:#0003;border:1px solid #ffffff1a;border-radius:9px;grid-template-columns:1fr 1fr;gap:2px;padding:2px;display:grid}.strip-group button{min-width:0;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 3px;font-size:.54rem;font-weight:800}.strip-group button.active{background:linear-gradient(180deg, #fff0a1, var(--gold));color:#2a1114;box-shadow:0 1px #6a4a14}.strip-group button:disabled{cursor:default;opacity:.78}.strip-group button:disabled:not(.active){opacity:.45}.strip-chip{color:var(--muted);font:inherit;cursor:pointer;background:#0003;border:1px solid #ffffff1a;border-radius:9px;justify-content:center;align-items:center;gap:3px;padding:4px 8px;font-size:.5rem;display:inline-flex}.strip-chip b{color:var(--cream);font-family:Fredoka Variable,sans-serif;font-size:.76rem}.strip-chip i{color:var(--gold);font-size:.48rem;font-style:normal}.strip-chip:disabled{cursor:default}.lobby-invite{color:var(--cream);text-align:left;cursor:pointer;background:linear-gradient(90deg,#f6da6314,#0000 70%),#0000002e;border:1px solid #f6da6342;border-radius:12px;flex-shrink:0;align-items:center;gap:8px;padding:7px 9px;display:flex}.lobby-invite-icon{width:28px;height:28px;color:var(--gold);background:#f6da631f;border-radius:8px;flex:none;place-items:center;display:grid}.lobby-invite-icon svg{width:17px;height:17px}.lobby-invite-copy{flex-direction:column;flex:1;gap:1px;min-width:0;line-height:1.16;display:flex}.lobby-invite-copy b{font-size:.62rem}.lobby-invite-copy small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted-2);font-size:.5rem;overflow:hidden}.lobby-invite-action{letter-spacing:.04em;text-transform:uppercase;color:var(--gold);flex:none;font-size:.52rem;font-weight:900}.lobby-invite.closed{filter:saturate(.65);border-color:#ffffff1f}.lobby-side{min-height:0;display:flex}.lobby-side .chat-panel{height:100%}.lobby-main .chat-dock{background:linear-gradient(#0000000a,#00000029),#2a11148c;border:1px solid #c9a45a3d;border-radius:12px;flex-direction:column;flex:auto;min-height:116px;display:flex}@media (min-width:900px){.lobby-main .chat-dock{max-height:220px}}.lobby-main .chat-dock-main{flex:auto;min-height:0}.lobby-main .chat-preview{height:100%;min-height:0;max-height:none}.lobby-main .chat-actions{align-self:end;padding-bottom:2px}.menu-card.lobby-menu{max-width:380px}@media (min-width:900px){.lobby-topbar{grid-template-columns:auto auto minmax(0,1fr) auto auto;gap:9px;padding-bottom:4px;display:grid}.lobby-topbar>.topbar-brand{grid-column:1}.lobby-topbar>.room-chip{grid-column:2;max-width:none}.lobby-topbar>.lobby-status{grid-column:3;justify-self:center;min-width:210px}.lobby-topbar>.side-toggle{grid-column:4;justify-self:end}.lobby-topbar>.menu-btn:not(.side-toggle){grid-column:5;justify-self:end}.lobby-body.has-side{grid-template-columns:minmax(0,1fr) clamp(300px,27vw,390px)}.lobby-main{padding-bottom:2px}.lobby-startbar{padding:8px 10px}.lobby-start{padding:8px 15px;font-size:.7rem}}.requests-backdrop{z-index:700}.requests-card{border-radius:17px;flex-direction:column;width:min(100%,340px);height:auto;min-height:200px;max-height:min(470px,76dvh);padding:12px;display:flex;overflow:hidden}.requests-card .modal-head{flex-shrink:0;padding-bottom:6px}.requests-card .modal-eyebrow{font-size:.44rem}.requests-card .modal-head h2{font-size:1rem}.requests-card .icon-btn{width:26px;height:26px;font-size:.72rem}.requests-toolbar{border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;padding:7px 0;display:flex}.requests-toolbar>div{flex-direction:column;gap:1px;min-width:0;display:flex}.requests-toolbar b{color:var(--cream);font-size:.56rem}.requests-toolbar small{color:var(--muted-2);font-size:.44rem}.requests-toolbar .menu-toggle.inline{flex:none;width:auto;padding:3px 6px;font-size:.5rem}.requests-scroll{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;flex-direction:column;flex:1;gap:6px;min-height:0;padding:8px 2px 2px;display:flex;overflow-y:auto}.requests-scroll>.section-label{margin-top:2px;font-size:.46rem}.requests-scroll .request-card{border-radius:11px;padding:8px}.requests-scroll .request-card-seat{border-radius:8px;width:28px;height:28px}.requests-scroll .request-card-copy b{font-size:.62rem}.requests-scroll .request-card-copy small{font-size:.46rem}.requests-scroll .request-card-timer{font-size:.62rem}.requests-list{flex-direction:column;gap:5px;display:flex}.requests-actions{justify-content:flex-end;gap:5px;margin-top:-2px;display:flex}.requests-actions .mini-action{padding:4px 9px;font-size:.56rem}.request-row.resolved{opacity:.62}.requests-empty{text-align:center;flex-direction:column;align-items:center;gap:3px;margin:auto;padding:14px;display:flex}.requests-empty>span{color:var(--gold);font-size:.86rem}.requests-empty b{color:var(--cream);font-size:.62rem}.requests-empty small{max-width:210px;color:var(--muted-2);font-size:.48rem;line-height:1.4}.requests-scroll .request-btn{border-radius:7px;padding:7px;font-size:.58rem}.requests-scroll .request-card-actions{margin-top:7px}.capacity-backdrop{z-index:720}.capacity-card{background:radial-gradient(circle at 20% 0,#f6da6314,#0000 38%),linear-gradient(160deg,#4b1f24 0%,#2b1114 70%);border:1px solid #f6da6366;border-radius:16px;flex-direction:column;gap:7px;width:min(100%,258px);max-height:calc(100dvh - 32px);padding:11px;animation:.24s cubic-bezier(.2,.9,.3,1.12) both modalIn;display:flex;box-shadow:0 26px 60px #000000a6,inset 0 1px #ffffff1a}.capacity-card .modal-head{flex-shrink:0;padding-bottom:4px}.capacity-card .modal-eyebrow{font-size:.42rem}.capacity-card .modal-head h2{font-size:.86rem}.capacity-card .icon-btn{width:24px;height:24px;font-size:.66rem}.capacity-wheel-wrap{background:#00000029;border:1px solid #ffffff14;border-radius:11px;height:154px;margin:0;position:relative;overflow:hidden}.capacity-wheel-band{pointer-events:none;background:#f6da631a;border:1px solid #f6da6361;border-radius:8px;height:34px;position:absolute;top:60px;left:5px;right:5px;box-shadow:inset 0 0 18px #f6da6314}.capacity-wheel{z-index:1;scroll-snap-type:y mandatory;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;height:100%;padding:60px 0;position:relative;overflow-y:auto}.capacity-wheel::-webkit-scrollbar{display:none}.capacity-item{scroll-snap-align:center;width:100%;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;font-family:Fredoka Variable,sans-serif;font-size:.84rem;font-weight:600;display:flex}.capacity-item.active{color:var(--gold);font-size:1rem}.capacity-copy{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:2px;margin:0;font-size:.5rem;display:flex}.capacity-copy b{color:var(--cream)}.capacity-copy small{color:var(--muted-2);flex-basis:100%;font-size:.44rem;line-height:1.3}.capacity-actions{justify-content:flex-end;gap:5px;display:flex}.capacity-actions .primary-btn,.capacity-actions .secondary-btn{border-radius:8px;padding:6px 10px;font-size:.6rem}.room-sheet{flex-direction:column;width:min(100%,430px);max-height:min(86dvh,680px);display:flex;overflow:hidden}.room-sheet .modal-head{flex-shrink:0}.room-sheet-scroll{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;flex-direction:column;flex:1;gap:11px;min-height:0;padding:10px 2px 2px;display:flex;overflow-y:auto}.room-sheet-section{border-bottom:1px solid #ffffff14;flex-direction:column;gap:7px;padding-bottom:11px;display:flex}.room-sheet-section:last-child{border-bottom:0;padding-bottom:2px}.room-sheet-section-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.room-sheet-toggle{width:100%;color:var(--muted);text-align:left;cursor:pointer;background:#0000002e;border:1px solid #ffffff1f;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.room-sheet-toggle.on{background:#f6da630f;border-color:#f6da6352}.room-sheet-toggle:disabled{cursor:default}.room-sheet-toggle>span:first-child{flex-direction:column;gap:1px;min-width:0;display:flex}.room-sheet-toggle b{color:var(--cream);font-size:.64rem}.room-sheet-toggle small{color:var(--muted-2);font-size:.5rem}.room-sheet-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.room-sheet-row>span:first-child{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);font-size:.56rem;font-weight:900}.room-sheet-row.pairing-row{align-items:flex-start}.room-sheet-row.pairing-row .segmented{max-width:66%}.room-sheet-value{color:var(--muted);font:inherit;cursor:pointer;background:#0000002e;border:1px solid #ffffff24;border-radius:8px;align-items:center;gap:4px;padding:5px 8px;font-size:.56rem;display:inline-flex}.room-sheet-value b{color:var(--cream);font-family:Fredoka Variable,sans-serif;font-size:.78rem}.room-sheet-value span{color:var(--gold)}.room-sheet-value:disabled{cursor:default;opacity:.8}.room-sheet-code{width:100%;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:#f6da630f;border:1px solid #f6da633d;border-radius:10px;align-items:center;gap:8px;padding:7px 9px;display:flex}.room-sheet-code span{font-size:.54rem}.room-sheet-code b{min-width:0;color:var(--gold);letter-spacing:.14em;flex:1;font-family:Fredoka Variable,sans-serif;font-size:.86rem}.room-sheet-code small{text-transform:uppercase;color:var(--cream);font-size:.5rem;font-weight:900}.room-sheet-link{align-items:center;gap:6px;display:flex}.room-sheet-link-url{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);background:#0003;border:1px solid #ffffff1a;border-radius:8px;flex:1;padding:6px 8px;font-size:.52rem;overflow:hidden}.segmented.compact{border-radius:8px;gap:2px;padding:2px}.segmented.compact button{border-radius:6px;padding:5px 8px;font-size:.54rem}.chat-result-row{width:100%}.match-result{background:linear-gradient(160deg,#f6da6312,#0000 60%),#0003;border:1px solid #f6da6347;border-radius:12px;padding:8px}.match-result-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.match-result-head small{color:var(--muted-2);font-size:.48rem;font-weight:800}.match-result-list{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}.match-result-list li{border:1px solid color-mix(in srgb, var(--seat) 28%, #ffffff14);background:color-mix(in srgb, var(--seat) 9%, #00000029);border-radius:8px;align-items:center;gap:6px;min-width:0;padding:5px 6px;display:flex}.match-place{min-width:24px;color:var(--gold);flex:none;font-family:Fredoka Variable,sans-serif;font-size:.62rem;font-weight:600}.match-result-main{flex:1;align-items:center;gap:5px;min-width:0;display:flex}.match-result-colors{flex:none;display:flex}.match-result-colors i{border:1px solid #00000059;border-radius:50%;width:8px;height:8px;margin-left:-2px}.match-result-colors i:first-child{margin-left:0}.match-result-names{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--cream);font-size:.58rem;font-weight:700;overflow:hidden}.match-result-stats{flex-direction:column;flex:none;align-items:flex-end;gap:0;line-height:1.1;display:flex}.match-result-stats b{color:var(--cream);font-size:.64rem}.match-result-stats small{color:var(--muted-2);white-space:nowrap;font-size:.42rem}.match-result-note{color:var(--muted-2);margin:6px 0 0;font-size:.48rem}.winner-banner{border:1px solid color-mix(in srgb, var(--seat) 52%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--seat) 18%, transparent), transparent 72%), #0000003d;pointer-events:none;border-radius:11px;flex-shrink:0;align-items:center;gap:8px;margin:4px 2px 6px;padding:6px 9px;animation:.28s ease-out both winnerBannerIn;display:flex}.winner-banner-mark{background:color-mix(in srgb, var(--seat) 26%, #0000004d);width:26px;height:26px;color:var(--seat);border-radius:8px;flex:none;place-items:center;display:grid}.winner-banner-mark svg{width:16px;height:16px}.winner-banner-copy{flex-direction:column;gap:1px;min-width:0;line-height:1.16;display:flex}.winner-banner-copy b{text-overflow:ellipsis;white-space:nowrap;color:var(--cream);font-size:.7rem;overflow:hidden}.winner-banner-copy small{color:var(--muted-2);font-size:.5rem}@keyframes winnerBannerIn{0%{opacity:0;transform:translateY(-5px)}}.emote-image{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block}.emote-picker{width:clamp(21px,4.4vw,26px);height:clamp(21px,4.4vw,26px)}.emote-preview{width:clamp(18px,3.6vw,24px);height:clamp(18px,3.6vw,24px)}.emote-chat{width:38px;height:38px}.seat-body{flex-direction:column;flex:auto;justify-content:center;min-width:0;min-height:0;display:flex;position:relative}.seat-body>.player-card{flex:auto}.seat-emote{--emote-tail:clamp(6px, calc(var(--emote-size) * .19), 11px);z-index:6;width:var(--emote-size);height:var(--emote-size);border:2px solid color-mix(in srgb, var(--seat,var(--gold)) 58%, #ffffff47);background:radial-gradient(circle at 50% 34%, color-mix(in srgb, var(--seat,var(--gold)) 30%, #180a0ce0), #180a0ceb);pointer-events:none;border-radius:50%;place-items:center;animation:.26s cubic-bezier(.18,.9,.24,1.35) both seatEmoteIn;display:grid;position:absolute;box-shadow:0 7px 18px #00000075,0 0 0 2px #0000002e}.emote-bubble{width:calc(100% - 8px);height:calc(100% - 8px)}.seat-emote:after{content:"";width:var(--emote-tail);height:var(--emote-tail);background:color-mix(in srgb, var(--seat,var(--gold)) 20%, #180a0c);pointer-events:none;border-radius:2px;position:absolute;transform:rotate(45deg)}.slot-red .seat-emote:after{border-right:1.5px solid color-mix(in srgb, var(--seat,var(--gold)) 58%, #ffffff47);border-bottom:1.5px solid color-mix(in srgb, var(--seat,var(--gold)) 58%, #ffffff47);bottom:0;right:0}.slot-green .seat-emote:after{border-left:1.5px solid color-mix(in srgb, var(--seat,var(--gold)) 58%, #ffffff47);border-bottom:1.5px solid color-mix(in srgb, var(--seat,var(--gold)) 58%, #ffffff47);bottom:0;left:0}.slot-blue .seat-emote:after{border-right:1.5px solid color-mix(in srgb, var(--seat,var(--gold)) 58%, #ffffff47);border-top:1.5px solid color-mix(in srgb, var(--seat,var(--gold)) 58%, #ffffff47);top:0;right:0}.slot-yellow .seat-emote:after{border-left:1.5px solid color-mix(in srgb, var(--seat,var(--gold)) 58%, #ffffff47);border-top:1.5px solid color-mix(in srgb, var(--seat,var(--gold)) 58%, #ffffff47);top:0;left:0}.slot-red .seat-emote{top:calc(-1 * var(--emote-size) - 3px);left:-5px}.slot-green .seat-emote{top:calc(-1 * var(--emote-size) - 3px);right:-5px}.slot-blue .seat-emote{bottom:calc(-1 * var(--emote-size) - 3px);left:-5px}.slot-yellow .seat-emote{bottom:calc(-1 * var(--emote-size) - 3px);right:-5px}.game-table[data-emote-layout=edge] .slot-red .seat-emote,.game-table[data-emote-layout=edge] .slot-green .seat-emote{top:calc(100% + 3px);bottom:auto}.game-table[data-emote-layout=edge] .slot-blue .seat-emote,.game-table[data-emote-layout=edge] .slot-yellow .seat-emote{top:auto;bottom:calc(100% + 3px)}.game-table[data-emote-layout=edge] .slot-red .seat-emote:after{border:0;border-top:1.5px solid color-mix(in srgb, var(--seat,var(--gold)) 58%, #ffffff47);border-right:1.5px solid color-mix(in srgb, var(--seat,var(--gold)) 58%, #ffffff47);inset:0 0 auto auto}.game-table[data-emote-layout=edge] .slot-green .seat-emote:after{border:0;border-top:1.5px solid color-mix(in srgb, var(--seat,var(--gold)) 58%, #ffffff47);border-left:1.5px solid color-mix(in srgb, var(--seat,var(--gold)) 58%, #ffffff47);inset:0 auto auto 0}.game-table[data-emote-layout=edge] .slot-blue .seat-emote:after{border:0;border-bottom:1.5px solid color-mix(in srgb, var(--seat,var(--gold)) 58%, #ffffff47);border-right:1.5px solid color-mix(in srgb, var(--seat,var(--gold)) 58%, #ffffff47);inset:auto 0 0 auto}.game-table[data-emote-layout=edge] .slot-yellow .seat-emote:after{border:0;border-bottom:1.5px solid color-mix(in srgb, var(--seat,var(--gold)) 58%, #ffffff47);border-left:1.5px solid color-mix(in srgb, var(--seat,var(--gold)) 58%, #ffffff47);inset:auto auto 0 0}.chat-emote{background:linear-gradient(145deg,#ffffff80,#0000 42%),linear-gradient(145deg,#f8ecd2 0%,#ecd8b3 58%,#dcc196 100%);border:1px solid #8b6b488c;border-radius:12px 12px 12px 3px;place-items:center;width:46px;height:46px;padding:3px;display:inline-grid;box-shadow:inset 0 1px #ffffffa6,0 1px #00000026}.chat-message.mine .chat-emote{background:linear-gradient(145deg,#ffffff8c,#0000 42%),linear-gradient(145deg,#fff4d8 0%,#f1dca9 58%,#dfc184 100%);border-color:#b88622a6;border-radius:12px 12px 3px}.chat-emote.live{animation:.3s cubic-bezier(.18,.9,.24,1.3) both chatEmoteIn}.chat-preview-emote{flex:none;justify-content:flex-start;align-self:center;align-items:center;width:clamp(20px,4vw,26px);height:clamp(20px,4vw,26px);margin-left:0;display:inline-flex}.chat-preview-emote .emote-preview{width:100%;height:100%}@keyframes seatEmoteIn{0%{opacity:0;transform:scale(.35)translateY(6px)}62%{opacity:1;transform:scale(1.08)translateY(0)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes chatEmoteIn{0%{opacity:0;transform:scale(.5)}70%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}html[data-motion=off] .seat-emote,html[data-motion=off] .chat-emote.live{animation:none}
