:root{--brand-navy: #0f1620;--brand-red: #d63328;--brand-blue: #3a6fad;--brand-green: #5f8536;--brand-yellow: #ed9f18;--brand-cream: #ebe4cf;--brand-umber: #5c3a22;--game-red: var(--brand-red);--game-blue: var(--brand-blue);--game-green: var(--brand-green);--game-yellow: var(--brand-yellow);--game-umber: var(--brand-umber);--game-navy: var(--brand-navy);--felt: #2f6b4a;--felt-deep: #174f2b;--felt-blue: #1f3d5c;--felt-blue-deep: #152a40;--tile: var(--brand-cream);--tile-ink: var(--brand-umber);--radius: 5px;--radius-lg: 8px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--font: "Source Sans 3", system-ui, sans-serif;--font-brand: Fraunces, Georgia, "Times New Roman", serif;--tap-min: 2.75rem;--board-max: min(100%, 42rem);--play-gap: var(--space-3);--pew-pad: var(--space-3) var(--space-2) calc(var(--space-3) + env(safe-area-inset-bottom, 0px));--motion-fast: .12s;--motion-base: .2s;--motion-slow: .32s;--motion-duration: var(--motion-base);--ease-out: cubic-bezier(.2, .7, .2, 1);--ease-land: cubic-bezier(.3, 1.3, .5, 1);--motion-ease: var(--ease-out);--lift-0: 0 1px 0 rgb(42 36 28 / 25%);--lift-1: 0 4px 10px rgb(42 36 28 / 22%);--lift-2: 0 10px 24px rgb(42 36 28 / 28%);font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.4;font-size:16px}[data-motion=playful]{--motion-fast: .16s;--motion-base: .28s;--motion-slow: .45s;--motion-duration: var(--motion-base);--ease-land: cubic-bezier(.34, 1.5, .64, 1);--motion-ease: var(--ease-land)}[data-motion=reduced]{--motion-duration: 0ms;--motion-fast: 0ms;--motion-base: 0ms;--motion-slow: 0ms}:root,[data-theme=light]{--bg: #f4efe4;--surface: #ebe3d2;--surface-2: #fbf6ec;--ink: #2a241c;--ink-contrast: #fbf6ec;--muted: #6e6353;--line: #d9cdb8;--wait: #9a8b74;--hover: #e3d9c4;--hover-line: #c4b49a;--hover-strong: #3a3228;--accent: #3a6fad;--accent-ink: #fbf6ec;--turn: #7d9b5a;--you: var(--turn);--danger: #c75b4a;--warn: #e0b35a;color-scheme:light}[data-theme=white]{--bg: #f5f5f5;--surface: #eeeeee;--surface-2: #fafafa;--ink: #212121;--ink-contrast: #fafafa;--muted: #757575;--line: #e0e0e0;--wait: #9e9e9e;--hover: #e0e0e0;--hover-line: #bdbdbd;--hover-strong: #424242;--accent: var(--brand-blue);--accent-ink: #fafafa;--turn: var(--brand-green);--you: var(--turn);--danger: var(--brand-red);--warn: var(--brand-yellow);color-scheme:light}[data-theme=dark]{--bg: #122033;--surface: #1a2a42;--surface-2: #243550;--ink: #f5f0e0;--ink-contrast: #122033;--muted: #a8b8d0;--line: #3a4f6a;--wait: #8fa3bf;--hover: #2c4060;--hover-line: #5a7394;--hover-strong: #e8d48a;--accent: #8bb4e0;--accent-ink: #122033;--turn: #e8d48a;--you: var(--turn);--danger: #ef6a5a;--warn: #edc96a;color-scheme:dark}[data-theme=black]{--bg: #212121;--surface: #303030;--surface-2: #424242;--ink: #fafafa;--ink-contrast: #212121;--muted: #bdbdbd;--line: #616161;--wait: #9e9e9e;--hover: #424242;--hover-line: #757575;--hover-strong: #e0e0e0;--accent: #6a9fd4;--accent-ink: #212121;--turn: #8fbc5a;--you: var(--turn);--danger: #ef6a5a;--warn: #ed9f18;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input,select{font:inherit}a{color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell{container-type:inline-size;max-width:42rem;margin:0 auto;padding:calc(var(--space-4) + env(safe-area-inset-top,0px)) calc(var(--space-3) + env(safe-area-inset-right,0px)) calc(var(--space-5) + env(safe-area-inset-bottom,0px)) calc(var(--space-3) + env(safe-area-inset-left,0px));min-height:100dvh;display:flex;flex-direction:column;box-sizing:border-box}.shell--catalogue{max-width:min(100%,72rem);min-height:0;padding-top:calc(var(--space-2) + env(safe-area-inset-top,0px));padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px))}.main{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--space-4)}.main>.match-chrome{flex:1;min-height:0}.shell--catalogue .main{gap:var(--space-2)}.main:has(.match-chrome){gap:0}.bgio-client{flex:1;min-height:0;display:flex;flex-direction:column}.play-viewport{min-height:100dvh;max-width:none;margin:0;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);display:flex;flex-direction:column;box-sizing:border-box}.play-viewport>.bgio-client,.play-viewport>.match-chrome,.play-viewport .match-chrome,.play-viewport .game-shell{flex:1;min-height:0;display:flex;flex-direction:column}.play-viewport__error{margin:.5rem .75rem 0}.play-online-room-line{margin:0;padding:.35rem .75rem;font-size:.8rem;background:var(--game-shell-navy, #0f1620);color:#efe9d9;text-align:center}.play-viewport:has([data-testid=game-shell-rail]) .play-online-room-line{display:none}.topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--line)}.shell:has(.game-shell--tracks){max-width:none;margin-inline:0;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.shell:has(.game-shell--tracks) .topbar{margin-bottom:var(--space-1);padding-bottom:var(--space-1)}.topbar-start{justify-self:start;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);min-width:0}.topbar-center{min-width:0}.brand{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-brand);font-optical-sizing:auto;font-weight:600;font-size:1.25rem;color:var(--ink);text-decoration:none;letter-spacing:-.01em;min-width:0}.brand-wordmark{white-space:nowrap}.brand-mark{display:block;width:1.5rem;height:1.5rem;border-radius:.35rem;flex-shrink:0}.page-title{margin:0;font-size:1rem;font-weight:600;color:var(--muted);text-align:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-back{flex-shrink:0;min-height:var(--tap-min);padding-inline:.55rem;font-size:.88rem}.topbar-right{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-1);justify-self:end;flex-shrink:0}.topbar-trailing{display:flex;align-items:center;min-width:0}.shell:has(.play-table){padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px))}.shell:has(.play-table--tracks-grass){max-width:none;padding-left:0;padding-right:0;padding-bottom:0;padding-top:calc(var(--space-4) + env(safe-area-inset-top,0px));min-height:100dvh}.shell:has(.play-table--tracks-grass) .topbar{max-width:42rem;width:100%;margin-inline:auto;padding-inline:calc(var(--space-3) + env(safe-area-inset-left,0px)) calc(var(--space-3) + env(safe-area-inset-right,0px));box-sizing:border-box}.shell:has(.play-table--tracks-grass) .main{flex:1;min-height:0;gap:0}.shell:has(.play-table) .main{gap:.2rem}.shell:has(.play-table) .topbar{margin-bottom:.35rem;padding-bottom:.35rem}.shell:has(.play-table) .bgio-client{flex:1;min-height:0}.name-field input{width:9.5rem;min-height:var(--tap-min);padding:.25rem .5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--ink)}.name-field input:focus,.join-row input:focus,.join-row select:focus{outline:2px solid var(--accent);outline-offset:1px}@media(max-width:28rem){.shell{padding:calc(var(--space-3) + env(safe-area-inset-top,0px)) calc(var(--space-3) + env(safe-area-inset-right,0px)) calc(var(--space-5) + env(safe-area-inset-bottom,0px)) calc(var(--space-3) + env(safe-area-inset-left,0px))}.brand-wordmark{font-size:1.1rem}.page-title{font-size:.95rem}.name-field input{width:100%;max-width:12rem}}.icon-control{display:inline-grid;place-items:center;width:var(--tap-min);height:var(--tap-min);min-width:var(--tap-min);min-height:var(--tap-min);padding:0;line-height:1}.icon-control svg{display:block}.icon-control.is-pressed{outline:2px solid var(--you);outline-offset:1px}.topbar-right .icon-control{flex-shrink:0}.g2048-toolbar .icon-control{--toolbar-icon: 2.35rem;width:var(--toolbar-icon);height:var(--toolbar-icon);min-width:var(--toolbar-icon);min-height:var(--toolbar-icon)}.g2048-toolbar .icon-control svg{width:1.15rem;height:1.15rem}@media(max-width:28rem){.topbar-right .icon-control{--shell-icon: 2.45rem;width:var(--shell-icon);height:var(--shell-icon);min-width:var(--shell-icon);min-height:var(--shell-icon)}}.catalogue-group{display:grid;gap:var(--space-1)}.catalogue-group+.catalogue-group{padding-top:var(--space-1);border-top:1px solid var(--line)}.catalogue-group-title{margin:0;font-size:.9375rem;font-weight:600;color:var(--muted)}.game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-1)}@container (min-width: 40rem){.game-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@container (min-width: 52rem){.game-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@container (min-width: 64rem){.game-grid{grid-template-columns:repeat(12,minmax(0,1fr))}}.game-tile{--game-accent: var(--game-blue);display:grid;grid-template-rows:auto auto;min-height:0;padding:0;overflow:hidden;border:1px solid var(--line);border-left-width:3px;border-left-color:var(--game-accent);border-radius:var(--radius-lg);background:var(--surface);color:inherit;text-decoration:none;transition:border-color var(--motion-fast) var(--ease-out),background var(--motion-fast) var(--ease-out)}.game-tile:hover{border-color:color-mix(in srgb,var(--game-accent) 45%,var(--hover-line));background:var(--hover)}.game-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.game-tile h2,.game-tile h3{margin:0;padding:var(--space-1) var(--space-2) var(--space-2);font-size:.8125rem;font-weight:600;line-height:1.2;text-wrap:balance}.game-tile p{display:none}.launch-blurb{margin:0 0 .55rem;color:var(--muted);font-size:.9rem}.launch-modes{display:grid;gap:.55rem}.table-setup{min-height:0}.table-stage{display:grid;grid-template:"north north north" auto "west well east" minmax(12rem,1fr) "south south south" auto / minmax(0,1fr) minmax(12rem,1.35fr) minmax(0,1fr);gap:.65rem;align-items:center}.table-stage-5{grid-template:"north north north" auto "west well east" minmax(12rem,1fr) "southwest south southeast" auto / minmax(0,1fr) minmax(12rem,1.35fr) minmax(0,1fr)}.table-stage-6{grid-template:"northwest north north north northeast" auto "west well well well east" minmax(12rem,1fr) "southwest south south south southeast" auto / minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr)}.table-spot{position:relative;display:grid;gap:var(--space-1);justify-items:center;align-content:center;min-width:0;padding:var(--space-2);border:0;background:transparent;text-align:center;pointer-events:none}.table-spot-0{grid-area:north}.table-spot-1{grid-area:east}.table-spot-2{grid-area:south}.table-spot-3{grid-area:west}.table-stage-5 .table-spot-2{grid-area:southeast}.table-stage-5 .table-spot-3{grid-area:southwest}.table-stage-5 .table-spot-4{grid-area:west}.table-stage-6 .table-spot-0{grid-area:north}.table-stage-6 .table-spot-1{grid-area:northeast}.table-stage-6 .table-spot-2{grid-area:southeast}.table-stage-6 .table-spot-3{grid-area:south}.table-stage-6 .table-spot-4{grid-area:southwest}.table-stage-6 .table-spot-5{grid-area:west}.table-spot-piece,.table-spot-kind,.table-spot-hero,.table-spot-kind-hook{pointer-events:auto}.table-spot-token{display:flex;align-items:center;justify-content:center}.table-spot-token .tt-token{background:var(--seat-colour, var(--you))}.table-spot-piece{position:relative;display:flex;align-items:center;justify-content:center;width:calc(var(--tap-min) * 1.35);height:calc(var(--tap-min) * 1.35)}.table-spot-ring-btn,.table-spot-token-btn{padding:0;border:0;background:transparent;cursor:pointer}.table-spot-ring-btn{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;border-radius:50%}.table-spot-token-btn{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;border-radius:50%}.table-spot-token-btn:disabled{cursor:default}.table-spot-ring.is-filled{border-style:solid;border-color:var(--hover-line);background:transparent}.table-spot-piece:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.table-spot-ring{display:block;width:calc(var(--tap-min) * .82);height:calc(var(--tap-min) * .82);border:2px dashed var(--hover-line);border-radius:50%;background:color-mix(in srgb,var(--surface) 72%,transparent)}.table-spot.is-open .table-spot-piece:hover .table-spot-ring{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.table-spot-copy{display:grid;gap:.1rem}.table-spot-seat{display:none}.table-spot-status{color:var(--muted);font-size:.84rem;font-weight:600}.table-spot-kind{min-height:1.6rem;padding:.1rem .45rem;border:1px solid #d6ccb2;border-radius:var(--radius);background:var(--brand-cream, #ebe4cf);color:var(--ink);font-size:.84rem;font-weight:600;cursor:pointer}.table-spot-kind:hover{background:var(--hover);border-color:var(--hover-line)}.table-spot-kind:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.table-spot-hero{max-width:100%;padding:.15rem .35rem;border:0;background:transparent;color:var(--ink);font-size:.82rem;font-weight:600;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-underline-offset:.15rem;cursor:pointer}.table-spot-hero:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.table-spot-kind-hook{position:absolute;inset:auto}.table-well{grid-area:well;display:grid;gap:var(--space-2);align-content:center;justify-items:center;min-height:10rem;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(ellipse 85% 70% at 50% 45%,color-mix(in srgb,var(--surface-2) 90%,transparent),transparent),var(--surface);text-align:center}.table-well-copy{display:none}.table-year-strip{display:grid;gap:.35rem;justify-items:center}.table-year-label{color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.table-year-chips{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:center}.table-year-chip{min-width:2rem;min-height:2rem;padding:.2rem .45rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--ink);font-size:.86rem;font-weight:600;cursor:pointer}.table-year-chip.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));box-shadow:inset 0 0 0 1px var(--accent)}.table-year-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.table-year-name{margin:0;color:var(--muted);font-size:.82rem}.table-well .table-setup-hint{color:var(--danger)}.table-setup-action{display:flex;justify-content:center}.launch-mode,.launch-actions,.action-row,.join-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap-min);padding:.25rem .65rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);text-decoration:none;cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease)}.btn:hover:not(:disabled){background:var(--hover);border-color:var(--hover-line)}.btn:active:not(:disabled){background:var(--hover-line)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--ink-contrast);font-weight:600}.btn.primary:hover:not(:disabled){background:var(--hover-strong);border-color:var(--hover-strong)}.btn.ghost{background:transparent}.btn.secondary{background:var(--surface-2);border-color:var(--hover-line)}.table-setup-action .btn{min-width:7rem}.topbar-center--join{justify-self:stretch}.header-join{width:100%;max-width:28rem;margin-inline:auto}.header-join .join-panel--compact{padding-top:0;border-top:0}.empty-shelf{display:grid;gap:var(--space-3);padding:var(--space-2) 0}.empty-shelf__message{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.45}.empty-shelf__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.join-panel{padding-top:var(--space-2);border-top:1px solid var(--line)}.join-details>.join-panel{padding-top:var(--space-1);border-top:0}.join-details{padding-top:var(--space-2);border-top:1px solid var(--line)}.join-panel-summary{cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--muted);list-style:none}.join-panel-summary::-webkit-details-marker{display:none}.join-panel-summary:before{content:"+ ";color:var(--accent)}.join-panel[open] .join-panel-summary:before{content:"− "}.join-panel h2{margin:0 0 var(--space-1);font-size:.8125rem;font-weight:600;color:var(--muted)}.join-panel h2:empty{display:none}.join-row input,.join-row select{min-height:var(--tap-min);padding:.35rem .55rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--ink)}.join-row input{flex:1;min-width:7rem}.join-row input[data-testid=join-code]{letter-spacing:.1em;text-transform:uppercase}.join-name{flex:1 1 8rem;min-width:7rem}.join-panel--compact .join-row{flex-wrap:nowrap;gap:var(--space-1)}.join-panel--compact .join-name{flex:1 1 6rem;min-width:5rem}.join-panel--compact .join-row input[data-testid=join-code]{flex:0 1 6.5rem;min-width:5.5rem}.error{margin:.5rem 0 0;color:var(--danger);font-size:.9rem}.party-size{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.92rem}.party-size select{min-width:3.5rem}@media(max-width:28rem){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.table-setup{min-height:0}.table-stage{grid-template-areas:"well" "north" "east" "south" "west";grid-template-columns:minmax(0,1fr)}.table-stage-5 .table-spot,.table-stage-6 .table-spot{grid-area:auto}}.shell.shell--catalogue.shell--cabinet-home{max-width:100%;width:100%;margin:0;padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-left:env(safe-area-inset-left,0px);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px))}.shell--cabinet-home{max-width:100%;padding-inline:0}.shell--cabinet-home .main{padding-inline:var(--space-3);gap:var(--space-2)}.topbar--cabinet-home{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-2);box-sizing:border-box;width:100%;max-width:100%;overflow:hidden;margin-inline:0;margin-bottom:0;padding:var(--space-2) var(--space-3);background:var(--brand-navy);color:#efe9d9;border-bottom:none}.topbar--cabinet-home .topbar-start{flex:1 1 auto;flex-wrap:nowrap;min-width:0;gap:var(--space-2)}.topbar--cabinet-home .topbar-right{flex-shrink:0;gap:var(--space-2)}.topbar--cabinet-home .brand{color:#efe9d9;flex-shrink:0}.topbar-home-divider{display:none;width:1px;height:1.25rem;background:#ffffff38;flex-shrink:0}.topbar--cabinet-home .topbar-tagline{display:none;margin:0;font-size:.72rem;line-height:1.25;color:#b8c0cc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.topbar-right__join{display:flex;align-items:center;flex-shrink:0;min-width:0}.topbar--cabinet-home .header-join{width:auto;max-width:none;margin:0}.topbar--cabinet-home .join-panel__compact-label{font-size:.72rem;font-weight:600;color:#efe9d9;white-space:nowrap}.topbar--cabinet-home .join-panel--compact{display:flex;flex-flow:row nowrap;align-items:center;gap:var(--space-1)}.topbar--cabinet-home .join-panel--compact .join-row{display:flex;flex-flow:row nowrap;align-items:center;gap:.25rem;margin:0;flex:0 1 auto}.topbar--cabinet-home .join-panel--compact .join-row .room-code-boxes__cell{flex:0 0 1.75rem;min-width:1.75rem;width:1.75rem;max-width:1.75rem}.topbar--cabinet-home .join-panel--compact .join-submit{flex:0 0 auto;min-height:1.75rem;padding:.15rem .5rem;font-size:.72rem;white-space:nowrap;background:#0f1620a6;border-color:#ffffff38;color:#efe9d9}.topbar--cabinet-home .room-code-boxes{gap:.15rem;flex:0 0 auto}.topbar--cabinet-home .room-code-boxes__cell{width:1.75rem;height:1.75rem;padding:0;text-align:center;font-family:ui-monospace,Cascadia Mono,SF Mono,monospace;font-size:.7rem;font-weight:600;letter-spacing:0;line-height:1.75rem;text-transform:uppercase;background:#0f16208c;border:1px solid rgb(255 255 255 / 18%);border-radius:.25rem;color:#efe9d9}.topbar--cabinet-home .icon-control{color:#efe9d9;border-color:#ffffff38}.header-join__desktop{display:none}.header-join__mobile{min-height:var(--tap-min);padding:.35rem .65rem;border:1px solid rgb(255 255 255 / 28%);border-radius:var(--radius);background:transparent;color:#efe9d9;font-size:.78rem;font-weight:600;white-space:nowrap;cursor:pointer}.header-join__dialog{width:min(100%,22rem);margin:auto;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink)}.header-join__dialog::backdrop{background:#0f16208c}.header-join__dialog h2{margin:0 0 var(--space-2);font-size:1rem;font-weight:600}.header-join__dialog-close{margin-top:var(--space-2);width:100%}.room-code-boxes{display:inline-flex;gap:.35rem}@media(min-width:52rem){.topbar--cabinet-home .topbar-home-divider,.topbar--cabinet-home .topbar-tagline,.header-join__desktop{display:block}.header-join__mobile{display:none}}.cabinet-focus{margin-top:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid #d6ccb2}.cabinet-focus__main{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-2)}.cabinet-focus__copy{display:contents}.cabinet-focus__title{margin:0;font-family:var(--font-brand);font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:600;line-height:1.15;color:var(--ink)}.cabinet-focus__blurb{margin:0;font-size:.88rem;color:var(--muted)}.cabinet-focus__tags{display:inline-flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none}.cabinet-focus__tags li{padding:.15rem .5rem;border-radius:999px;background:#5c3a221a;font-size:.72rem;font-weight:600;color:var(--ink)}.cabinet-focus__actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-left:auto}.cabinet-focus__browse{display:inline-flex;align-items:center;gap:.15rem}.cabinet-focus__arrow{min-width:1.65rem;min-height:1.65rem;padding:0;border:1px solid #c9bfaa;border-radius:.35rem;background:#ffffff8c;color:var(--ink);font-size:.8rem;line-height:1;cursor:pointer}.cabinet-focus__browse-label{margin-left:.25rem;font-size:.72rem;font-weight:600;color:var(--muted);text-transform:lowercase}.cabinet-focus__play{min-width:5.5rem;min-height:2.25rem;background:var(--brand-navy);border-color:var(--brand-navy);color:#efe9d9}.cabinet-focus__play:hover{background:color-mix(in srgb,var(--brand-navy) 88%,#000)}@media(max-width:51.99rem){.cabinet-focus__main{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2)}.cabinet-focus__copy{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem var(--space-2)}.cabinet-focus__actions{margin-left:0;flex-direction:column;align-items:stretch;gap:var(--space-1)}.cabinet-focus__browse{display:none}.cabinet-focus__play{width:100%;text-align:center}}.cabinet-shelf{margin-top:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid #d6ccb2}.cabinet-shelf__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.cabinet-shelf__title{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cabinet-shelf__count{margin-left:.35rem;font-weight:600}.cabinet-shelf__see-all{font-size:.78rem;font-weight:600;color:var(--muted)}.cabinet-shelf__row{display:flex;flex-wrap:nowrap;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1);scroll-snap-type:x proximity}.cabinet-shelf--expanded .cabinet-shelf__row{overflow-x:auto}.game-lid{flex:0 0 8.75rem;width:8.75rem;scroll-snap-align:start;display:grid;grid-template-rows:1fr auto;min-height:8.75rem;border:2px solid #d6ccb2;border-radius:var(--radius-lg);background:#faf6ec;color:inherit;text-decoration:none;box-shadow:0 3px #5c3a221f;transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.game-lid:hover{border-color:color-mix(in srgb,var(--ink) 25%,#d6ccb2)}.game-lid.is-selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.game-lid__art{position:relative;min-height:5.75rem;overflow:hidden;border-radius:calc(var(--radius-lg) - 2px) calc(var(--radius-lg) - 2px) 0 0}.game-lid__lock{position:absolute;top:.35rem;left:.35rem;z-index:2;display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:999px;background:#0f1620b8;font-size:.65rem;line-height:1}.game-lid--placeholder .game-lid__art{display:grid;place-items:center;background:repeating-linear-gradient(-32deg,#ebe4cf,#ebe4cf 6px,#e2d9c4 6px,#e2d9c4 12px)}.game-lid__placeholder{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8a8175}.game-lid__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-top:1px solid #e0d6c2;background:#fffdf6}.game-lid__name{font-family:var(--font-brand);font-size:.82rem;font-weight:600;line-height:1.2;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-lid__players{display:inline-flex;align-items:center;gap:.2rem;font-size:.72rem;font-weight:600;color:var(--muted);white-space:nowrap}.game-lid__person{width:.72rem;height:.72rem;flex-shrink:0;color:var(--muted)}.game-lid--more{place-items:center;border-style:dashed;background:transparent;box-shadow:none;cursor:pointer;font:inherit}.game-lid__more-label{font-size:.82rem;font-weight:600;color:var(--muted)}@media(max-width:51.99rem){.game-lid{flex-basis:42vw;width:42vw}}.game-thumb{--game-accent: var(--game-blue);position:relative;overflow:hidden;border-radius:calc(var(--radius-lg) - 1px);background:color-mix(in srgb,var(--game-accent) 14%,var(--surface-2))}.game-thumb__scene{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:var(--space-1)}.game-thumb--launch{width:min(100%,9rem);margin-inline:auto;aspect-ratio:4 / 3;border:1px solid color-mix(in srgb,var(--game-accent) 35%,var(--line))}.game-thumb--lid{width:100%;height:100%;min-height:100%;border:0;border-radius:0;background:var(--game-accent);aspect-ratio:auto}.game-thumb--lid .game-thumb__scene{padding:0;width:100%;height:100%;min-height:5.25rem}.game-thumb--lid .game-thumb__svg--fill{width:100%;height:100%;max-height:none}.game-thumb--lid .game-thumb__checker,.game-thumb--lid .game-thumb__reversi,.game-thumb--lid .game-thumb__chess{width:88%;height:88%;max-height:none}.game-thumb--lid .game-thumb__cards,.game-thumb--lid .game-thumb__solitaire{width:92%;height:85%}.game-thumb--lid .game-thumb__cards img{width:34%}.game-thumb--lid .game-thumb__chess-piece{width:36%}.game-thumb--lid .game-thumb__chess-piece.pawn{width:28%}.game-thumb__tracks-photo{display:block;width:100%;height:100%;object-fit:cover}.game-tile .game-thumb{aspect-ratio:3 / 2;border-bottom:1px solid color-mix(in srgb,var(--game-accent) 28%,var(--line))}.game-thumb__svg{width:100%;height:100%;max-height:100%;object-fit:contain}.game-thumb__icon{width:42%;max-height:70%;object-fit:contain;filter:drop-shadow(var(--lift-0))}.game-thumb__fallback{display:block;width:60%;height:60%;border-radius:var(--radius)}.game-thumb__grid{display:grid;gap:2px;width:72%;aspect-ratio:1}.game-thumb__grid-cell{display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--game-accent) 18%,var(--surface));border:1px solid var(--line);font-size:.65rem;font-weight:700;color:var(--ink)}.game-thumb__checker,.game-thumb__reversi{display:grid;grid-template-columns:repeat(4,1fr);width:70%;aspect-ratio:1;border:1px solid var(--line)}.game-thumb__checker span,.game-thumb__reversi span{position:relative;display:block;aspect-ratio:1;background:#f5e6c8}.game-thumb__checker span.is-dark,.game-thumb__reversi span.is-dark{background:#8b5a2b}.game-thumb__disc{position:absolute;top:18%;right:18%;bottom:18%;left:18%;border-radius:50%;box-shadow:var(--lift-0)}.game-thumb__disc.light{background:#fbf6ec;border:1px solid #2a241c}.game-thumb__disc.dark{background:#2a241c}.game-thumb__dominoes{display:flex;gap:3px;transform:rotate(-8deg)}.game-thumb__bone{display:grid;place-items:center;min-width:1.35rem;padding:.15rem .2rem;border:1px solid #2a241c;border-radius:3px;background:#fbf6ec;font-size:.55rem;font-weight:700;box-shadow:var(--lift-0)}.game-thumb__2048{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;width:58%}.game-thumb__2048-cell{display:grid;place-items:center;aspect-ratio:1;border-radius:3px;background:color-mix(in srgb,var(--game-accent) 55%,#fbf6ec);font-size:.6rem;font-weight:700;box-shadow:var(--lift-0)}.game-thumb__dice{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;width:80%}.game-thumb__dice img{width:1.15rem;height:1.15rem;filter:drop-shadow(var(--lift-0))}.game-thumb__letters{display:flex;gap:.15rem;font-weight:700;font-size:.85rem;letter-spacing:.04em}.game-thumb__letters span{padding:.1rem .2rem;border:1px solid var(--line);border-radius:3px;background:var(--surface);box-shadow:var(--lift-0)}.game-thumb__cards{display:flex;align-items:flex-end;justify-content:center;gap:0;width:85%}.game-thumb__cards img{width:28%;margin-left:-8%;filter:drop-shadow(var(--lift-0))}.game-thumb__cards img:first-child{margin-left:0}.game-thumb__cards--fan img:last-child{transform:translateY(-4px) rotate(6deg)}.game-thumb__memory{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;width:62%}.game-thumb__memory img{width:100%;border-radius:2px;box-shadow:var(--lift-0)}.game-thumb__solitaire{position:relative;width:70%;height:70%}.game-thumb__solitaire img{position:absolute;width:38%;filter:drop-shadow(var(--lift-0))}.game-thumb__solitaire .game-thumb__stock{left:0;top:18%}.game-thumb__solitaire img:nth-child(2){left:34%;top:8%}.game-thumb__solitaire img:nth-child(3){left:52%;top:22%}.game-thumb__chess{position:relative;width:68%;aspect-ratio:1}.game-thumb__chess-board{display:grid;grid-template-columns:repeat(4,1fr);width:100%;height:100%;border:1px solid var(--line)}.game-thumb__chess-board span{display:block;background:#f5e6c8}.game-thumb__chess-board span.is-dark{background:#8b5a2b}.game-thumb__chess-piece{position:absolute;width:28%;filter:drop-shadow(var(--lift-0))}.game-thumb__chess-piece:first-of-type{left:52%;top:8%}.game-thumb__chess-piece.pawn{left:18%;top:48%;width:22%}.game-thumb__nim{display:grid;gap:4px}.game-thumb__nim-row{display:flex;gap:3px;justify-content:center}.game-thumb__stone{width:.55rem;height:.55rem;border-radius:50%;background:var(--game-accent);box-shadow:var(--lift-0)}.game-panel{display:grid;gap:.75rem;min-width:0;max-width:100%}.play-table{--play-info-min: 2.75rem;--play-pew-min: 3.5rem;flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--play-gap)}.play-table__info{display:grid;gap:.4rem;flex-shrink:0;min-height:var(--play-info-min);position:relative}.match-scoreboard-wrap{position:relative;display:grid;gap:.25rem}.match-scoreboard{display:flex;flex-wrap:wrap;gap:.65rem;color:var(--muted);font-size:.9rem}.match-scoreboard__item{white-space:nowrap}.match-scoreboard__value{color:var(--ink)}.play-table__board{flex:1 1 auto;min-height:0;display:grid;place-items:center;align-content:center;overflow:auto}.play-table__board:has(.dom-scroll),.play-table__board:has(.yatzy-card-wrap),.play-table__board:has(.ce-table),.play-table__board:has(.lw-play),.play-table__board:has(.klondike-board){place-items:stretch;align-content:start;overflow:visible;min-height:max(18rem,min-content)}.play-table__pew{flex-shrink:0;position:sticky;bottom:0;z-index:2;display:flex;flex-direction:column;gap:.5rem;min-height:var(--play-pew-min);padding:var(--pew-pad);margin:0 -.15rem;border-top:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius) var(--radius) 0 0}.play-table__pew-body{display:flex;flex-direction:column;gap:.5rem}.play-table__actions{display:flex;flex-direction:column;gap:.4rem}.action-surface{display:flex;flex-wrap:wrap;gap:.4rem;align-items:stretch;justify-content:center}.action-surface__btn{flex:1 1 8rem;max-width:20rem;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;line-height:1.2}.action-surface__label{display:block}.action-surface__reason{display:block;font-size:.8em;font-weight:400;color:var(--muted);max-width:100%}.play-table .btn{min-height:var(--tap-min)}.board-grid-fill{width:min(100%,var(--board-max));max-width:100%;margin:0 auto}.match-chrome{flex:1;min-height:0;display:flex;flex-direction:column;gap:.75rem}.match-chrome__stage{flex:1;min-height:0;display:flex;flex-direction:column}.shell .main>.match-chrome{flex:1;min-height:0}.match-chrome>.play-table{flex:1}.match-actions{margin-top:.15rem}.waiting-panel{padding:.7rem .75rem;border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface-2)}.waiting-title{margin:0 0 .35rem;font-weight:600}.waiting-seats{margin:0 0 .35rem;padding-left:1.1rem;color:var(--muted);font-size:.92rem}.waiting-hint,.join-hint{margin:0;color:var(--muted);font-size:.88rem}.join-name{flex:1;min-width:8rem}.join-name input{width:100%}.status{padding:.55rem .7rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);font-weight:600;font-size:.95rem}.play-table__info .status{margin:0}.status-you{border-color:var(--you);background:color-mix(in srgb,var(--you) 12%,var(--surface-2))}.status-wait{color:var(--muted)}.status-done{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface-2))}.room-chip{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.5rem;color:var(--muted);font-size:.9rem}.code-display{font-size:1.35rem;letter-spacing:.16em;font-weight:700}@media(max-height:32rem),(orientation:landscape)and (max-height:40rem){.play-table{--play-gap: .35rem;--pew-pad: .35rem .3rem calc(.35rem + env(safe-area-inset-bottom, 0px)) ;gap:var(--play-gap)}.match-chrome{gap:.4rem}.play-table__info{gap:.25rem}.match-scoreboard{gap:.3rem .5rem;font-size:.82rem}.play-table__info:has(.match-scoreboard){display:flex;flex-flow:row wrap;align-items:baseline;column-gap:.65rem;row-gap:.2rem}.play-table__info:has(.match-scoreboard) .status{flex:1 1 10rem;min-width:0}.play-table__info:has(.match-scoreboard) .match-scoreboard{flex:0 1 auto}.play-table__board{flex:1 1 auto;min-height:0;overflow:auto}.play-table__pew{gap:.3rem;padding:var(--pew-pad)}.play-table__pew-body{gap:.3rem}.play-table__actions{gap:.25rem}.play-table .status{padding:.4rem .55rem;font-size:.88rem}.play-table .room-chip{margin-bottom:.25rem;gap:.35rem .5rem;font-size:.82rem}.play-table .code-display{font-size:1.15rem}}@media(max-height:26rem){.play-table{--play-gap: .25rem;--pew-pad: .25rem .25rem calc(.25rem + env(safe-area-inset-bottom, 0px)) }.play-table__info{gap:.15rem}.play-table__pew{gap:.2rem}.play-table .status{padding:.3rem .45rem;font-size:.84rem}}.game-shell{--game-shell-navy: #0f1620;--game-shell-cream: #f4efe2;--game-shell-felt: #2f6b4a;display:flex;flex-direction:column;flex:1;min-height:0;gap:0}.match-chrome>.game-shell{flex:1;min-height:0}.game-shell-rail{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;min-height:3.5rem;padding:.35rem .5rem;background:var(--game-shell-navy);color:#efe9d9}.game-shell-rail:not(:has(.game-shell-rail__center)){grid-template-columns:1fr auto}.game-shell-rail__start{display:flex;align-items:center;gap:.45rem;min-width:0}.game-shell-rail__home{display:grid;place-items:center;flex-shrink:0}.game-shell-rail__title{margin:0;font-family:var(--font-brand);font-size:1rem;font-weight:600;line-height:1.2}.game-shell-rail__meta{font-size:.75rem;color:#9aa6b6}.game-shell-rail__quiet{margin:.1rem 0 0;font-size:.75rem;line-height:1.25;color:#b8c2d0;font-weight:400}.game-shell-rail .game-shell-rail__icon.icon-control{background:transparent;border:none;color:var(--game-shell-cream);opacity:1;min-width:2.5rem;min-height:2.5rem;padding:.35rem}.game-shell-rail .game-shell-rail__icon.icon-control:disabled{opacity:.35}.game-shell-rail .game-shell-rail__icon.icon-control.is-pressed{color:var(--brand-yellow, #ed9f18)}.game-shell-menu{display:flex;flex-direction:column;gap:.65rem}.game-shell-menu-defaults{display:flex;flex-direction:column;gap:.5rem}.game-shell-menu-link{color:var(--ink);font-weight:600;text-decoration:none}.game-shell-menu-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.game-shell-menu-label{font-size:.85rem;color:var(--muted)}.game-shell-menu-btn{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:.35rem .65rem;cursor:pointer}.game-shell-rail__center{justify-self:center}.game-shell-rail__actions{display:flex;justify-content:flex-end;justify-self:end;gap:.15rem}.game-shell-turn-plate{display:inline-flex;align-items:center;gap:.45rem;padding:.25rem .65rem .25rem .35rem;border-radius:999px;background:var(--turn-plate-seat, var(--brand-yellow, #ed9f18));color:#1c1915;max-width:min(100%,20rem)}.game-shell-turn-plate--wait{opacity:.92}.game-shell-turn-plate__avatar{display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:999px;background:#0000001f;font-weight:700;font-size:.85rem}.game-shell-turn-plate__copy{display:flex;flex-direction:column;gap:.05rem;min-width:0}.game-shell-turn-plate__name{font-family:var(--font-brand);font-weight:600;font-size:.9rem;line-height:1.15}.game-shell-turn-plate__hint{font-size:.72rem;opacity:.85}.game-shell-stage{position:relative;flex:1 1 auto;min-height:0;display:grid;place-items:center;padding:.65rem .4rem;width:100%}.game-shell-stage:has(.sol-board){place-items:stretch;align-content:stretch;padding:0}.game-shell-stage--felt-green{background:var(--game-shell-felt)}.game-shell-stage--felt-blue{background:#1f3d5c}.game-shell-stage__board{width:100%;display:grid;place-items:center}.game-shell-stage__board:has(.klondike-board),.game-shell-stage__board:has(.sol-board){place-items:stretch;align-content:start}.game-shell-stage__under{margin-top:.65rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem}.game-shell-stage__overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.game-shell-stage__overlay>*{pointer-events:auto}.game-shell-tray{flex-shrink:0;padding:.55rem .65rem .7rem;background:var(--game-shell-cream);border-top:1px solid #d6ccb2}.game-shell-tray__title{margin:0;font-family:var(--font-brand);font-weight:600}.game-shell-tray__hint{margin:.15rem 0 0;font-size:.8rem;color:#5b5347}.game-shell-seat-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;background:#0f1620b8;color:#efe9d9;font-size:.82rem}.game-shell-seat-chip.is-active{background:var(--game-shell-cream);color:#1c1915}.game-shell-seat-chip__dot{width:.55rem;height:.55rem;border-radius:999px;background:var(--seat-chip-colour, var(--brand-red))}.game-shell-end-strip{flex-shrink:0}.game-shell-end-strip:empty{display:none}.game-shell-end-strip .match-chrome__overlay{flex-shrink:0;padding:.35rem .65rem;border-top:1px solid #d6ccb2;background:var(--game-shell-cream)}.game-shell-bottom-bar{display:none;justify-content:space-around;gap:.25rem;padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom,0px));background:var(--game-shell-navy)}.game-shell-bottom-bar__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-width:3.25rem;padding:.2rem .35rem;border:none;background:transparent;color:#efe9d9;font:inherit;font-size:.62rem;line-height:1.1;cursor:pointer;opacity:1}.game-shell-bottom-bar__item:disabled{opacity:.35;cursor:default}.game-shell-bottom-bar__item.is-pressed{color:var(--brand-yellow, #ed9f18)}.game-shell-bottom-bar__icon{width:1.35rem;height:1.35rem}.game-shell-bottom-bar__label{font-weight:600;letter-spacing:.01em}.game-shell-sheet{padding:.5rem .65rem;background:var(--game-shell-cream);border-top:1px solid #d6ccb2}.game-shell--tracks{flex:1;min-height:0}.game-shell--tracks .game-shell-tracks-field{flex:1 1 0;min-height:0;display:flex;flex-direction:column}.game-shell--tracks .game-shell-stage{display:flex;flex-direction:column;flex:1 1 0;min-height:0;align-items:stretch;justify-content:flex-start;padding:0;background:transparent}.game-shell--tracks .game-shell-stage__board{flex:1 1 0;min-height:0;display:flex;flex-direction:column;align-items:stretch;overflow:hidden}@media(max-width:40rem){.game-shell-rail{grid-template-columns:auto 1fr auto}.game-shell-rail__actions{display:none}.game-shell-bottom-bar{display:flex}}.game-rules{margin:0;font-size:.82rem;color:var(--muted)}.game-rules__summary{cursor:pointer;font-weight:600;color:var(--ink);list-style:none}.game-rules__summary::-webkit-details-marker{display:none}.game-rules__summary:before{content:"▸ ";display:inline-block;transition:transform var(--motion-duration) var(--motion-ease)}.game-rules[open] .game-rules__summary:before{transform:rotate(90deg)}.game-rules__body{margin-top:.35rem;padding-left:.85rem}.game-rules__body p{margin:0 0 .35rem}.game-rules__body ul{margin:0;padding-left:1rem}.lb-scores{display:grid;gap:1rem;width:min(100%,22rem);margin:0 auto}.lb-scores h3{margin:0 0 .35rem;font-size:1rem}.lb-message{color:var(--muted);margin:0}.solo-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.solo-tabs .btn.is-active{outline:2px solid var(--you);outline-offset:1px}.tt-hand{display:flex;flex-wrap:nowrap;justify-content:center;align-items:flex-end;gap:0;overflow-x:auto;padding:.35rem .25rem .15rem;min-height:6.5rem;-webkit-overflow-scrolling:touch}.tt-hand__slot{flex:0 0 auto;margin-left:-1.1rem}.tt-hand__slot:first-child{margin-left:0}.tt-card{position:relative;width:3.6rem;height:5.1rem;border-radius:.45rem;border:1px solid #222;background:#fffef8;color:#1a1a1a;box-shadow:var(--lift-0);padding:0;display:grid;place-items:center;font-family:Georgia,Times New Roman,serif;touch-action:manipulation;min-height:0;overflow:hidden}.tt-card--art{border:none;background:transparent;box-shadow:var(--lift-1)}button.tt-card{cursor:pointer}button.tt-card:disabled,.tt-card.is-disabled{opacity:.55;cursor:not-allowed}.tt-card--red{color:var(--brand-red)}.tt-card--black{color:#1a1a1a}.tt-card.is-selected{outline:2px solid var(--accent, #3d7ea6);outline-offset:2px;transform:translateY(-.35rem);z-index:2}.tt-card.is-playable:not(.is-disabled){box-shadow:0 0 0 2px #3d7ea673}.tt-card__corner{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:1;font-size:.75rem}.tt-card__corner--tl{top:.25rem;left:.3rem}.tt-card__corner--br{bottom:.25rem;right:.3rem;transform:rotate(180deg)}.tt-card__pip{font-size:1.35rem;font-weight:700}.tt-card__img{width:100%;height:100%;object-fit:contain;border-radius:inherit;pointer-events:none}.tt-card--back{color:#e8f1ff}.tt-card__count{position:absolute;bottom:.2rem;right:.25rem;font-size:.7rem;font-family:system-ui,sans-serif;background:#0000008c;color:#fff;border-radius:999px;padding:.05rem .35rem;line-height:1.2}.tt-card__wild{position:absolute;left:50%;bottom:.35rem;transform:translate(-50%);font-family:system-ui,sans-serif;font-size:.55rem;font-weight:700;letter-spacing:.04em;color:#fff;background:#6c3483;border-radius:999px;padding:.12rem .35rem;pointer-events:none;box-shadow:0 1px 2px #00000059}.tt-card--empty{display:grid;place-items:center;color:var(--muted);font-size:.75rem;border-style:dashed;background:transparent}.tt-pile{display:flex;flex-direction:column;align-items:center;gap:.35rem}.tt-pile__suit{margin:0;font-size:.85rem;color:var(--muted)}.tt-suit-picker{grid-column:1 / -1;display:grid;gap:.5rem;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-2)}.tt-suit-picker:focus{outline:none}.tt-suit-picker:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tt-suit-picker__title{margin:0;font-weight:600}.tt-suit-picker__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.tt-suit-picker__btn{min-height:var(--tap-min)}@media(max-width:28rem){.tt-card{width:3.15rem;height:4.5rem}.tt-hand__slot{margin-left:-1.25rem}.tt-hand{min-height:5.6rem}}.tt-hand--compact .tt-hand__slot{margin-left:-1.55rem}.tt-hand--compact .tt-card{width:3.15rem;height:4.5rem}.tt-hand--list{flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:.4rem;overflow-x:hidden;overflow-y:hidden;min-height:0;max-height:18rem;padding:.25rem}.tt-hand__search{display:flex;flex-direction:column;gap:.2rem;flex:0 0 auto;font-size:.8rem}.tt-hand__search-label{color:inherit;opacity:.85}.tt-hand__search input{width:100%;box-sizing:border-box;padding:.35rem .5rem;border:1px solid #444;border-radius:.3rem;background:#fffef8;color:#1a1a1a;font:inherit}.tt-hand__scroll{display:flex;flex-direction:column;gap:.35rem;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0;flex:1 1 auto;padding:.1rem 0}.tt-hand--list .tt-hand__slot{margin-left:0;display:flex;justify-content:flex-start}.tt-hand--list .tt-card{width:100%;max-width:12rem;height:2.75rem;display:flex;align-items:center;justify-content:flex-start;padding:0 .45rem}.tt-hand--list .tt-card__pip,.tt-hand--list .tt-card__corner--br{display:none}.tt-hand--list .tt-card__corner--tl{position:static;display:flex;flex-direction:row;gap:.25rem;align-items:baseline}.tt-hand--list .tt-card__img{width:auto;height:2.35rem;object-fit:contain}.tt-dice{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;align-items:center}.tt-dice__slot{flex:0 0 auto}.tt-die{position:relative;width:var(--tap-min);height:var(--tap-min);min-width:var(--tap-min);min-height:var(--tap-min);border:1px solid color-mix(in srgb,var(--ink) 35%,transparent);border-radius:var(--radius, .35rem);background:color-mix(in srgb,var(--ink) 88%,#1a1a1a);color:var(--tile-ink, #1a1a1a);padding:.15rem;display:grid;place-items:center;touch-action:manipulation;overflow:hidden;transition:border-color var(--motion-duration, .16s) ease,box-shadow var(--motion-duration, .16s) ease,transform var(--motion-duration, .16s) ease}button.tt-die{cursor:pointer}button.tt-die:disabled,.tt-die.is-disabled{cursor:default;opacity:.85}.tt-die.is-held{border-color:var(--you, #3d7ea6);box-shadow:inset 0 0 0 2px var(--you, #3d7ea6);transform:translateY(-.12rem)}.tt-die__img{width:100%;height:100%;object-fit:contain;pointer-events:none}@media(prefers-reduced-motion:reduce){.tt-die{transition:none}.tt-die.is-held{transform:none}}[data-motion=reduced] .tt-die{transition:none}[data-motion=reduced] .tt-die.is-held{transform:none}.tt-counter{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;min-width:0;line-height:1.1;font-family:var(--font);color:inherit}.tt-counter__label{font-size:.65rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.75}.tt-counter__value{font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums}.tt-counter--emphasize .tt-counter__value{font-size:1.35rem}.tt-token{display:block;box-sizing:border-box;position:relative;border-radius:999px;flex:0 0 auto;box-shadow:inset 0 -2px 4px #00000047;background:var(--you, #7d9b5a);color:var(--ink-contrast, #fbf6ec);overflow:hidden;transition:box-shadow var(--motion-duration, .16s) ease,transform var(--motion-duration, .16s) ease}.tt-token--chip{box-shadow:inset 0 -2px 4px #00000047,inset 0 0 0 2px #ffffff38}.tt-token--pawn{border-radius:48% 48% 32% 32%/55% 55% 38% 38%;aspect-ratio:3 / 4;box-shadow:inset 0 -2px 3px #0000004d,inset 0 1px #ffffff1f}.tt-token--sm{width:1.35rem;height:1.35rem}.tt-token--pawn.tt-token--sm{width:1.05rem;height:1.4rem;aspect-ratio:auto}.tt-token--md{width:100%;height:100%;min-width:0;min-height:0;aspect-ratio:1}.tt-token--pawn.tt-token--md{width:auto;height:100%;max-width:85%;aspect-ratio:3 / 4}.tt-token--lg{width:calc(var(--tap-min, 2.75rem) * 1.15);height:calc(var(--tap-min, 2.75rem) * 1.15)}.tt-token--pawn.tt-token--lg{width:calc(var(--tap-min, 2.75rem) * .95);height:calc(var(--tap-min, 2.75rem) * 1.25);aspect-ratio:auto}.tt-token--p0{background:var(--you, #7d9b5a);color:var(--ink-contrast, #fbf6ec)}.tt-token--p1{background:var(--muted, #7a6f5f);color:var(--surface-2, #fbf6ec)}.tt-token--p2{background:var(--brand-blue, #3a6fad);color:var(--ink-contrast, #fbf6ec)}.tt-token--p3{background:var(--brand-yellow, #ed9f18);color:var(--brand-umber, #5c3a22)}.tt-token.is-selected{box-shadow:inset 0 -2px 4px #00000047,0 0 0 2px var(--you, #7d9b5a);transform:translateY(-.06rem)}.tt-token--art{background:transparent;box-shadow:none}.tt-token--glyph{overflow:visible;box-shadow:none;border-radius:0;-webkit-mask:var(--tt-token-glyph) center / contain no-repeat;mask:var(--tt-token-glyph) center / contain no-repeat;filter:drop-shadow(0 1px 1px rgb(0 0 0 / 35%))}.tt-token__img{width:100%;height:100%;object-fit:contain;pointer-events:none;display:block}.tt-token__badge{position:absolute;width:55%;height:55%;top:50%;left:50%;transform:translate(-50%,-50%);object-fit:contain;pointer-events:none;filter:invert(.12) sepia(1) saturate(8) hue-rotate(5deg) brightness(1.15)}@media(prefers-reduced-motion:reduce){.tt-token{transition:none}.tt-token.is-selected{transform:none}}[data-motion=reduced] .tt-token{transition:none}[data-motion=reduced] .tt-token.is-selected{transform:none}.ttt-board-wrap{position:relative;width:min(100%,18rem);aspect-ratio:1;margin:0 auto}.ttt-lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.ttt-line{position:absolute;background:var(--ink);border-radius:1px}.ttt-line--v{top:8%;bottom:8%;width:3px;transform:translate(-50%)}.ttt-line--v1{left:33.333%}.ttt-line--v2{left:66.666%}.ttt-line--h{left:8%;right:8%;height:3px;transform:translateY(-50%)}.ttt-line--h1{top:33.333%}.ttt-line--h2{top:66.666%}.ttt-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%}.ttt-cell{display:grid;place-items:center;padding:10%;border:0;background:transparent;cursor:default;touch-action:manipulation}.ttt-cell.is-open{cursor:pointer}.ttt-cell:disabled:not(.is-open){cursor:default}.ttt-mark{width:72%;aspect-ratio:1;stroke:var(--ink);stroke-width:.08;stroke-linecap:round}.ttt-mark--x line{stroke:var(--brand-red)}.ttt-mark--o circle{stroke:var(--brand-blue)}.ttt-win-line{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;pointer-events:none}.ttt-win-line line{stroke:var(--accent);stroke-width:.045;stroke-linecap:round}.play-table:has([data-testid=ttt-board]) .play-table__info{min-height:2.75rem}.match-chrome:has([data-testid=ttt-board]){position:relative}.match-chrome:has([data-testid=ttt-board]) .match-actions{position:absolute;left:0;right:0;bottom:0;z-index:4;margin:0;padding:.45rem .15rem calc(.45rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--surface) 92%,transparent);border-top:1px solid var(--line)}.c4-rack{position:relative;width:min(100%,var(--board-max));max-width:min(100%,calc((100dvh - 12rem) * 7 / 6));margin:0 auto;touch-action:manipulation}.c4-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:.35rem;padding:.7rem;border-radius:var(--radius-lg);background:#2c5f8a;aspect-ratio:7 / 6}.c4-slot{position:relative;aspect-ratio:1;min-width:0;min-height:0}.c4-slot:before{content:"";position:absolute;top:9%;right:9%;bottom:9%;left:9%;z-index:0;border-radius:50%;background:#0f1620;box-shadow:inset 0 2px 5px #0000006b,inset 0 -1px #ffffff0f}.c4-disc{position:absolute;top:9%;right:9%;bottom:9%;left:9%;z-index:1;display:grid;place-items:center}.c4-disc .tt-token{width:100%;height:100%}.c4-hole-mask{display:none}.c4-disc.is-dropping{animation:c4-drop .42s cubic-bezier(.33,1,.45,1) forwards}@keyframes c4-drop{0%{transform:translateY(calc(-1 * var(--c4-drop-rows, 1) * (100% + .35rem)))}to{transform:translateY(0)}}.c4-held{position:absolute;top:.15rem;z-index:4;width:calc(100% / 7 - .45rem);aspect-ratio:1;transform:translate(-50%) translateY(-100%);pointer-events:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.c4-held .tt-token{width:100%;height:100%}.c4-columns{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));z-index:3}.c4-col{border:0;background:transparent;cursor:default;min-height:0;padding:0}.c4-col.is-open{cursor:pointer}.c4-lip{position:absolute;top:0;left:0;right:0;height:.55rem;z-index:3;pointer-events:none}.c4-win-line{position:absolute;top:.7rem;right:.7rem;bottom:.7rem;left:.7rem;z-index:5;width:calc(100% - 1.4rem);height:calc(100% - 1.4rem);pointer-events:none}.c4-win-line line{stroke:var(--brand-cream);stroke-width:.05;stroke-linecap:round;filter:drop-shadow(0 0 2px rgb(0 0 0 / 45%))}.play-table:has([data-testid=c4-board]) .play-table__info{min-height:2.75rem}.match-chrome:has([data-testid=c4-board]) .match-chrome__overlay{flex-shrink:0;padding:.35rem .15rem calc(.35rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 96%,transparent)}.match-chrome:has([data-testid=c4-board]) .match-chrome__overlay .match-actions{margin:0}@media(prefers-reduced-motion:reduce){.c4-disc.is-dropping{animation:none}}[data-motion=reduced] .c4-disc.is-dropping{animation:none}.c4-cell.is-winning .tt-token{box-shadow:inset 0 -2px 4px #00000047,0 0 0 2px var(--brand-cream)}.checkers-stage{position:relative;width:min(100%,calc(var(--board-max) + 6rem),calc(100dvh - 8rem));max-width:min(100%,calc(100dvh - 8rem));margin:0 auto;aspect-ratio:1}.checkers-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));width:100%;height:100%;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;touch-action:none}.ck-sq{min-width:0;min-height:0;width:100%;height:100%;border:0;padding:6%;display:grid;place-items:center;touch-action:manipulation;transition:outline-color var(--motion-duration) var(--motion-ease),box-shadow var(--motion-duration) var(--motion-ease)}.ck-sq.light{background:#d8c3a5}.ck-sq.dark{background:#6b4a32}.ck-sq.selected{outline:3px solid var(--accent);outline-offset:-3px}.ck-sq.target{box-shadow:inset 0 0 0 3px var(--you)}.ck-piece{width:78%;height:78%;display:grid;place-items:center}.ck-piece.is-dragging{opacity:.25}.ck-sq .tt-token--p0{background:#c44949}.ck-sq .tt-token--p1{background:#2b2b2b}.ck-sq .tt-token,.ck-piece__cinematic{width:100%;height:100%}.ck-piece__cinematic{display:grid;place-items:center}.ck-piece__cinematic .tt-token{width:100%;height:100%}.ck-drag-ghost{position:fixed;z-index:20;width:calc(min(100vw,calc(100dvh - 8rem))*.09);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 3px 6px rgb(0 0 0 / 35%))}.ck-drag-ghost .tt-token{width:100%;height:100%}.ck-drag-ghost .tt-token--p0{background:#c44949}.ck-drag-ghost .tt-token--p1{background:#2b2b2b}.play-table:has([data-testid=checkers-board]) .play-table__info{min-height:2.75rem}.match-chrome:has([data-testid=checkers-board]){position:relative}.match-chrome:has([data-testid=checkers-board]) .match-actions{position:absolute;left:0;right:0;bottom:0;z-index:4;margin:0;padding:.45rem .15rem calc(.45rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--surface) 92%,transparent);border-top:1px solid var(--line)}.play-table:has(.dom-scroll){gap:var(--space-1)}.play-table:has(.dom-scroll) .play-table__info{gap:.2rem}.play-table:has(.dom-scroll) .status{padding:.38rem .55rem;font-size:.88rem}.play-table:has(.dom-scroll) .match-scoreboard{gap:.45rem .7rem;font-size:.78rem}.play-table:has(.dom-scroll) .play-table__pew{gap:.25rem;padding:.3rem .2rem calc(.3rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,#1a4d32 88%,var(--surface-2));border-top-color:#ffffff1f}.dom-scroll{position:relative;overflow:auto;width:100%;height:100%;min-height:0;padding:.35rem;border:0;border-radius:0;background:transparent;touch-action:pan-x pan-y;overscroll-behavior:contain}.dom-stage{position:relative;margin:0 auto;min-width:100%;min-height:100%}.dom-placed{position:absolute;display:grid;place-items:center;pointer-events:none;overflow:visible}.dom-tile-img{width:100%;height:100%;object-fit:contain;pointer-events:none;transform-origin:center center}.dom-starter{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);min-width:10rem;min-height:var(--tap-min);padding:.65rem 1rem;border:2px dashed rgb(255 255 255 / 35%);border-radius:var(--radius-lg);background:#0000002e;color:#f4f0e6;font-weight:600;cursor:default}.dom-starter.lit{border-color:var(--you);color:var(--ink-contrast);cursor:pointer}.dom-tile{--dom-width: 2rem;--dom-length: 4rem;width:var(--dom-width);height:var(--dom-length);display:grid;grid-template-columns:1fr 2px 1fr;align-items:center;gap:0;padding:.15rem;border:0;border-radius:.35rem;background:var(--tile);color:var(--tile-ink);box-shadow:0 1px #cbbba4;touch-action:none}.dom-tile.kenney{display:block;width:var(--dom-width);height:var(--dom-length);padding:0;background:transparent;box-shadow:none}.dom-tile.kenney img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.dom-hand-slot.is-dragging .dom-tile{opacity:.35}.dom-drag-ghost{--dom-width: 2rem;--dom-length: 4rem;position:fixed;z-index:4;width:var(--dom-width);height:var(--dom-length);pointer-events:none;opacity:.92;filter:drop-shadow(0 2px 4px rgb(0 0 0 / 25%))}.dom-placement-preview{position:absolute;display:grid;place-items:center;pointer-events:none;z-index:2;opacity:.78;filter:drop-shadow(0 0 .35rem color-mix(in srgb,var(--you) 80%,transparent))}.dom-end{position:absolute;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:transparent;font-size:0;min-width:var(--tap-min);min-height:var(--tap-min);display:grid;place-items:center;touch-action:manipulation;opacity:0}.dom-end.lit{cursor:pointer}.dom-end.snap{transform:none;box-shadow:none}.dom-hand{display:flex;flex-wrap:nowrap;gap:.05rem;justify-content:center;min-height:2.75rem;max-width:100%;overflow:visible}.dom-hand-slot{position:relative;display:grid;place-items:center;flex:0 1 auto;width:clamp(2.8rem,14vw,3.65rem);min-width:2.7rem;min-height:2.75rem;padding:.45rem .05rem;border:0;border-radius:var(--radius);background:transparent;cursor:grab;touch-action:none}.dom-hand-slot:active{cursor:grabbing}.dom-snap{display:block;width:fit-content;min-width:100%;min-height:100%;margin:0 auto}.dom-hand-slot .dom-tile{--dom-width: clamp(1.5rem, 8vw, 1.85rem);--dom-length: clamp(2.8rem, 14vw, 3.65rem);transition:transform var(--motion-duration) var(--motion-ease),filter var(--motion-duration) var(--motion-ease)}.dom-hand-slot.selected .dom-tile{transform:translateY(-.3rem);filter:drop-shadow(0 0 .35rem color-mix(in srgb,var(--accent) 80%,transparent))}.dom-hand-slot:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.g2048-play-area{position:relative;display:grid;place-items:center;width:100%;min-height:0;touch-action:none}.g2048-toolbar-wrap{display:grid;gap:.35rem}.g2048-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:.25rem;min-width:0}.g2048-toolbar__actions,.g2048-toolbar__links{display:flex;align-items:center;gap:.1rem;flex-shrink:0}.g2048-toolbar__scores{display:flex;flex-wrap:nowrap;align-items:baseline;justify-content:center;gap:.35rem .75rem;min-width:0;font-weight:700;font-variant-numeric:tabular-nums}.g2048-toolbar__score{display:inline-flex;align-items:baseline;gap:.25rem;white-space:nowrap;min-width:0}.g2048-toolbar__help{margin:0;padding:.4rem .55rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--muted);font-size:.88rem;line-height:1.35}.g2048-win-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 55%,transparent);pointer-events:none}.g2048-win-title{margin:0;padding:.5rem 1rem;border-radius:var(--radius);background:color-mix(in srgb,var(--brand-yellow) 85%,var(--surface));color:var(--brand-umber);font-weight:700}.g2048-scores{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 1.25rem}.g2048-board{display:grid;grid-template-columns:repeat(4,minmax(3.4rem,4.5rem));grid-template-rows:repeat(4,minmax(3.4rem,4.5rem));gap:.4rem;width:max-content;margin:0 auto;padding:.45rem;border-radius:var(--radius);background:color-mix(in srgb,var(--brand-umber) 35%,var(--surface-2))}.g2048-cell{display:grid;place-items:center;border-radius:calc(var(--radius) - 2px);background:color-mix(in srgb,var(--tile) 55%,transparent);color:var(--tile-ink);font-weight:700;font-size:1.25rem;transition:background var(--motion-duration) var(--motion-ease),color var(--motion-duration) var(--motion-ease),font-size var(--motion-duration) var(--motion-ease),transform var(--motion-duration) var(--motion-ease)}.g2048-cell.is-new{animation:g2048-pop var(--motion-duration) var(--motion-ease)}@keyframes g2048-pop{0%{transform:scale(.82)}45%{transform:scale(1.06)}to{transform:scale(1)}}.g2048-cell.v2{background:#eee4da}.g2048-cell.v4{background:#ede0c8}.g2048-cell.v8{background:#f2b179;color:#f9f6f2}.g2048-cell.v16{background:#f59563;color:#f9f6f2}.g2048-cell.v32{background:#f67c5f;color:#f9f6f2}.g2048-cell.v64{background:#f65e3b;color:#f9f6f2}.g2048-cell.v128,.g2048-cell.v256,.g2048-cell.v512{background:#edcf72;color:#f9f6f2;font-size:1.1rem}.g2048-cell.v1024,.g2048-cell.v2048{background:#edc22e;color:#f9f6f2;font-size:1rem}.g2048-cell.v4096{background:#e8b563;color:#f9f6f2;font-size:.95rem}.g2048-cell.v8192{background:#e4a84f;color:#f9f6f2;font-size:.9rem}.g2048-scoreline{display:flex;align-items:baseline;justify-content:center;gap:.45rem;font-weight:700;font-variant-numeric:tabular-nums}.g2048-score-label{color:var(--muted, color-mix(in srgb, var(--ink) 65%, transparent));font-weight:600}.g2048-score-value{font-size:1.15rem}.g2048-toolbar .g2048-score-label{font-size:.78rem;font-weight:600}.g2048-toolbar .g2048-score-value{font-size:.98rem;line-height:1.1}.g2048-controls{display:grid;gap:.65rem;justify-items:center}.g2048-undo{min-width:6.5rem}.g2048-pad{display:grid;grid-template-columns:repeat(3,minmax(4.5rem,1fr));grid-template-areas:". up ." "left down right";gap:.35rem;max-width:16rem;margin:0 auto}.g2048-pad-up{grid-area:up}.g2048-pad-left{grid-area:left}.g2048-pad-down{grid-area:down}.g2048-pad-right{grid-area:right}.yatzy-stage{display:grid;width:100%;max-width:46rem;max-height:min(100%,calc(100dvh - 8.75rem));margin-inline:auto;gap:.65rem;padding:.5rem .65rem .65rem;box-sizing:border-box;align-content:center;min-height:0;flex:0 1 auto}@media(min-width:48rem){.yatzy-stage{grid-template-columns:minmax(0,13.5rem) minmax(0,1fr);align-items:center;gap:1rem;padding:.65rem 1rem}}.yatzy-stage__card{min-height:0;max-height:min(100%,calc(100dvh - 11.5rem));overflow:auto}.yatzy-stage__play{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;min-height:0}.yatzy-stage__rolls{margin:0;font-size:.82rem;font-weight:600;color:#ffffffe0}.yatzy-dice{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;width:100%}.yatzy-dice .tt-die{width:4.25rem;height:4.25rem;min-width:4rem;min-height:4rem;background:color-mix(in srgb,var(--ink) 88%,#1a1a1a);border-color:color-mix(in srgb,var(--ink) 35%,transparent);box-shadow:0 2px 4px #00000047,inset 0 1px #ffffff1f}.yatzy-dice .tt-die__img{width:78%;height:78%;object-fit:contain}.yatzy-dice--idle .tt-die,.yatzy-dice--idle .tt-die.is-held{opacity:.52}.yatzy-dice.is-rolling .tt-die__img{animation:yatzy-die-tumble .34s ease}@keyframes yatzy-die-tumble{0%{transform:rotate(0) scale(1)}35%{transform:rotate(14deg) scale(1.06)}70%{transform:rotate(-10deg) scale(1.02)}to{transform:rotate(0) scale(1)}}@media(prefers-reduced-motion:reduce){.yatzy-dice.is-rolling .tt-die__img{animation:none}}.yatzy-stage .action-surface{width:100%;max-width:14rem}.yatzy-card-wrap{width:100%;margin:0 auto}.yatzy-roll{min-height:var(--tap-min);align-self:center}.yatzy-card{width:100%;border-collapse:collapse;font-size:.72rem;background:#f4efe2f5;border:1px solid #d6ccb2;border-radius:var(--radius)}.yatzy-card th,.yatzy-card td{border-bottom:1px solid #d6ccb2;padding:.18rem .24rem;text-align:center;line-height:1.15}.yatzy-card th[scope=row]{text-align:left;font-weight:600;font-size:.68rem;white-space:nowrap}.yatzy-card thead th{font-size:.68rem}.yatzy-card thead th.is-active{color:var(--you)}.yatzy-card td.is-empty{color:var(--muted)}.yatzy-score-btn{min-width:2rem;min-height:1.75rem;padding:.15rem .35rem;border:1px solid var(--you);border-radius:calc(var(--radius) - 2px);background:color-mix(in srgb,var(--you) 14%,var(--surface));color:var(--ink);font-weight:600;font-size:.78rem;cursor:pointer}.yatzy-sub td,.yatzy-sub th{color:var(--muted);font-weight:500;font-size:.68rem}.yatzy-total th,.yatzy-total td{font-weight:700;border-bottom:none}.game-shell-stage--felt-green:has(.yatzy-stage){place-items:stretch;align-content:stretch;padding:0}.game-shell-stage--felt-green:has(.yatzy-stage) .game-shell-stage__board{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0}@media(max-width:47.99rem){.yatzy-stage{grid-template-columns:1fr;grid-template-rows:auto auto}.yatzy-stage__play{order:1}.yatzy-stage__card{order:2;max-height:min(38vh,14rem)}.yatzy-dice .tt-die{width:3.35rem;height:3.35rem;min-width:3.35rem;min-height:3.35rem}}.lw-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;align-items:center}.lw-modes,.lw-actions{display:flex;flex-wrap:wrap;gap:.35rem}.lw-mode{transition:outline-color var(--motion-duration) var(--motion-ease),background var(--motion-duration) var(--motion-ease),border-color var(--motion-duration) var(--motion-ease)}.lw-mode.is-active{outline:2px solid var(--you);outline-offset:1px}.lw-play{container-type:inline-size;display:grid;gap:.5rem;width:100%;min-width:0;align-content:start}.lw-selected{text-align:center;font-size:1.35rem;font-weight:700;letter-spacing:.12em;min-height:1.6em;color:var(--tile-ink)}.lw-board{--lw-gap: .2rem;--lw-pad: .25rem;--lw-cell: min(2.8rem, calc((100cqw - 9 * var(--lw-gap) - 2 * var(--lw-pad)) / 8));display:grid;grid-template-columns:repeat(8,var(--lw-cell));grid-template-rows:repeat(8,var(--lw-cell));gap:var(--lw-gap);touch-action:none;-webkit-user-select:none;user-select:none;padding:var(--lw-pad);border-radius:var(--radius);background:color-mix(in srgb,var(--brand-umber) 30%,var(--surface-2));width:fit-content;max-width:100%;margin-inline:auto}.lw-cell{display:grid;place-items:center;border-radius:calc(var(--radius) - 2px);background:var(--tile);color:var(--tile-ink);font-weight:700;font-size:1.05rem;cursor:pointer;touch-action:none;transition:background var(--motion-duration) var(--motion-ease),color var(--motion-duration) var(--motion-ease)}.lw-cell.is-selected{background:color-mix(in srgb,var(--you) 70%,var(--tile));color:var(--ink-contrast)}.lw-actions{justify-content:center}.play-table__pew .lw-actions{display:flex}.lw-message{text-align:center;color:var(--muted);margin:0}.lw-score-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.lw-score-list li{display:grid;grid-template-columns:2.2rem 1fr auto;gap:.5rem;align-items:center}.lw-score-rank{color:var(--muted)}.lw-score-value{font-weight:700}.lw-scores-empty{color:var(--muted);margin:0}.lw-help{border:1px solid color-mix(in srgb,var(--tile-ink) 20%,transparent);border-radius:var(--radius);padding:.9rem 1rem;background:var(--surface-2);max-width:28rem;margin:0 auto}.lw-help h2{margin:0 0 .5rem;font-size:1.15rem}.lw-help ul{margin:.5rem 0 .75rem;padding-left:1.1rem}@media(max-width:28rem){.lw-board{--lw-gap: .15rem;--lw-pad: .15rem}}.orbits-board{display:grid;gap:1rem;text-align:left}.orbits-zone h3{margin:0 0 .5rem;font-size:.95rem}.orbits-empty,.orbits-hint{color:var(--muted, #888);font-size:.85rem;margin:.25rem 0}.orbits-cards{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0 0 .5rem}.orbits-card{border:1px solid var(--edge, #444);border-radius:6px;padding:.4rem .6rem;display:grid;gap:.35rem;font-size:.85rem}.orbits-satellite{border-color:var(--accent, #6aa9ff)}.orbits-upgrade{border-style:dashed}.orbits-upgrade.is-revealed{border-style:solid}.orbits-card-actions{display:flex;gap:.35rem}.orbits-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.orbits-scoreline{font-variant-numeric:tabular-nums;margin-bottom:.35rem}:root{--tracks-grass-tile: url(/assets/tracks/grass-tile.webp);--tracks-grass-tile-sm: url(/assets/tracks/grass-tile-768.webp);--tracks-buffer-red: #a7322c;--tracks-buffer-dark: #494d53;--tracks-hand-paper: color-mix(in srgb, var(--surface-2) 92%, #f5f0e4)}.match-chrome__stage:has(.play-table--tracks-grass),.match-chrome__stage:has(.game-shell--tracks){flex:1;min-height:0;display:flex;flex-direction:column}.play-table--tracks-grass{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;gap:0;width:100%}.play-table--tracks-grass .play-table__info--tracks{position:relative;z-index:2;flex-shrink:0;width:100%;max-width:42rem;margin-inline:auto;padding-inline:calc(var(--space-3) + env(safe-area-inset-left,0px)) calc(var(--space-3) + env(safe-area-inset-right,0px));padding-bottom:var(--space-2);background:transparent;box-sizing:border-box}.tracks-grass-field{position:relative;flex:1 1 0;min-height:0;width:100%;display:flex;flex-direction:column;align-self:stretch;background-color:#3d7a28;background-image:var(--tracks-grass-tile);background-repeat:repeat;background-size:calc(var(--tracks-cell, 5.75rem) * 1.5);background-position:0 0}@media(max-resolution:1.5dppx){.tracks-grass-field{background-image:var(--tracks-grass-tile-sm)}}.play-table--tracks-grass .play-table__board,.play-table--tracks-grass .play-table__pew--tracks{position:relative;z-index:1;background:transparent;border-top:none;margin:0;padding-left:0;padding-right:0}.play-table--tracks-grass .play-table__board{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow:hidden;padding:0;flex:1 1 0;min-height:0}.play-table:has(.tracks-pew--tracks) .play-table__pew--tracks{flex-shrink:0;max-width:100%;padding:0 var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom,0px));border-top:none;background:transparent}.tracks-play{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:100%;min-width:0;min-height:0;flex:1 1 0;box-sizing:border-box;padding:var(--space-2) 0 0}.tracks-play__stack{flex:0 1 auto;display:flex;flex-direction:column;align-items:center;margin-block:auto;min-height:0;width:100%;gap:0}.tracks-board-frame{position:relative;width:calc(8 * var(--tracks-cell) + 2 * var(--tracks-gutter));max-width:100%;margin-inline:auto;padding-inline:var(--tracks-gutter);box-sizing:border-box;flex-shrink:0}.tracks-grid{display:grid;grid-template-columns:repeat(8,var(--tracks-cell));grid-template-rows:repeat(3,var(--tracks-cell));gap:0;width:calc(8 * var(--tracks-cell));margin-inline:auto}.tracks-cell{position:relative;width:var(--tracks-cell);height:var(--tracks-cell);border:none;border-radius:0;background:transparent;padding:0;cursor:default;box-shadow:none}.tracks-cell:not(.is-filled){--tracks-tick: rgb(255 255 255 / .38);background:linear-gradient(var(--tracks-tick),var(--tracks-tick)) 0 0 / 8px 1.5px no-repeat,linear-gradient(var(--tracks-tick),var(--tracks-tick)) 0 0 / 1.5px 8px no-repeat,linear-gradient(var(--tracks-tick),var(--tracks-tick)) 100% 0 / 8px 1.5px no-repeat,linear-gradient(var(--tracks-tick),var(--tracks-tick)) 100% 0 / 1.5px 8px no-repeat,linear-gradient(var(--tracks-tick),var(--tracks-tick)) 0 100% / 8px 1.5px no-repeat,linear-gradient(var(--tracks-tick),var(--tracks-tick)) 0 100% / 1.5px 8px no-repeat,linear-gradient(var(--tracks-tick),var(--tracks-tick)) 100% 100% / 8px 1.5px no-repeat,linear-gradient(var(--tracks-tick),var(--tracks-tick)) 100% 100% / 1.5px 8px no-repeat}.tracks-cell.is-legal{cursor:pointer;box-shadow:inset 0 0 0 2px var(--accent, #2f9e44);background-color:color-mix(in srgb,var(--accent, #2f9e44) 22%,transparent)}.tracks-cell.is-legal:not(.is-filled){background:linear-gradient(var(--tracks-tick),var(--tracks-tick)) 0 0 / 8px 1.5px no-repeat,linear-gradient(var(--tracks-tick),var(--tracks-tick)) 0 0 / 1.5px 8px no-repeat,linear-gradient(var(--tracks-tick),var(--tracks-tick)) 100% 0 / 8px 1.5px no-repeat,linear-gradient(var(--tracks-tick),var(--tracks-tick)) 100% 0 / 1.5px 8px no-repeat,linear-gradient(var(--tracks-tick),var(--tracks-tick)) 0 100% / 8px 1.5px no-repeat,linear-gradient(var(--tracks-tick),var(--tracks-tick)) 0 100% / 1.5px 8px no-repeat,linear-gradient(var(--tracks-tick),var(--tracks-tick)) 100% 100% / 8px 1.5px no-repeat,linear-gradient(var(--tracks-tick),var(--tracks-tick)) 100% 100% / 1.5px 8px no-repeat,color-mix(in srgb,var(--accent, #2f9e44) 22%,transparent)}.tracks-cell.is-filled{cursor:default}.tracks-cell:focus-visible{outline:2px solid var(--accent, #2f9e44);outline-offset:1px}.tracks-cell__overlay{position:absolute;top:18%;right:18%;bottom:18%;left:18%;pointer-events:none}.tracks-tile-wrap{position:relative;width:100%;height:100%;border-radius:0;overflow:hidden}.tracks-tile{width:100%;height:100%;display:block;object-fit:cover}.tracks-tile__score{position:absolute;left:6%;bottom:4%;font-family:var(--font-brand);font-weight:700;font-size:38%;line-height:1;color:#111;-webkit-text-stroke:.14em #fff;paint-order:stroke fill;pointer-events:none}.tracks-terminal{position:absolute;left:0;right:auto;top:calc(var(--tracks-cell) * 1.5);width:var(--tracks-gutter);height:var(--tracks-cell);transform:translateY(-50%);pointer-events:none}.tracks-terminal--end{left:auto;right:0}.tracks-terminal__track{position:absolute;top:50%;left:0;width:100%;height:var(--tracks-cell);transform:translateY(-50%);pointer-events:none}.tracks-terminal--start .tracks-terminal__track{left:auto;right:0}.tracks-terminal__rail{position:absolute;top:50%;left:0;width:100%;height:calc(var(--tracks-cell) * .36);transform:translateY(-50%);background-image:url(/assets/tracks/512/straight.webp);background-size:cover;background-position:center;background-repeat:no-repeat}.tracks-terminal--start .tracks-terminal__rail{left:auto;right:0}.tracks-terminal__buffer{position:absolute;top:50%;width:7px;height:calc(var(--tracks-cell) * .44);transform:translateY(-50%);background:var(--tracks-buffer-red);border:1px solid var(--tracks-buffer-dark);box-sizing:border-box}.tracks-terminal--start .tracks-terminal__buffer{right:0}.tracks-terminal--end .tracks-terminal__buffer{left:0}.tracks-terminal__sign{position:absolute;top:calc(50% + var(--tracks-cell) * .08);left:50%;transform:translate(-50%);padding:.12rem .45rem;font-size:.55rem;font-weight:700;letter-spacing:.06em;line-height:1.2;color:var(--ink);background:#faf7f0;border:1px solid var(--tracks-buffer-dark);white-space:nowrap}.tracks-terminal__sign:before{content:"";position:absolute;left:50%;bottom:100%;width:2px;height:.35rem;margin-left:-1px;background:var(--tracks-buffer-dark)}.tracks-boardswitch{display:flex;gap:6px;justify-content:center;margin-bottom:.5rem;flex-wrap:wrap;padding-inline:var(--space-2);width:100%;flex-shrink:0}.tracks-boardswitch button{padding:.25rem .6rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);background:color-mix(in srgb,var(--surface) 88%,transparent)}.tracks-boardswitch button.is-active{background:var(--accent, #2f9e44);color:#fff}.tracks-board-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;max-width:min(100%,42rem)}.tracks-board-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;background:#0f1620b8;color:#efe9d9;font-size:.78rem;list-style:none}.tracks-board-chip-list{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0}.tracks-shell-tray{display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:end;width:100%;box-sizing:border-box}.tracks-shell-tray__scores{font-size:.75rem;min-width:4.5rem}.tracks-hand{display:flex;gap:clamp(.35rem,1.5vw,.85rem);justify-content:center;flex-wrap:nowrap;align-items:flex-end;width:100%;max-width:100%}.tracks-shell-tray__hand .tracks-hand{overflow-x:auto;overflow-y:hidden;justify-content:flex-start;padding-inline:.15rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.tracks-shell-tray__hand{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:0;overflow:hidden}.tracks-shell-tray__hand-label{margin:0;font-size:.75rem;color:#5b5347}.game-shell-tray .tracks-shell-tray{background:var(--game-shell-cream, #f4efe2)}.tracks-pew{display:flex;flex-direction:column;gap:var(--space-2);width:100%;max-width:none;margin-inline:auto;box-sizing:border-box}.tracks-pew__tray{background:var(--tracks-hand-paper);border:1px solid var(--line);border-radius:6px;padding:var(--space-2) var(--space-2) var(--space-3);box-shadow:0 1px color-mix(in srgb,var(--ink) 6%,transparent)}.tracks-hand__card{--tracks-hand-size: var(--tracks-hand-card, max(64px, calc(var(--tracks-cell, 4.5rem) * .8)));box-sizing:border-box;flex:0 0 var(--tracks-hand-size);width:var(--tracks-hand-size);min-width:var(--tracks-hand-size);max-width:var(--tracks-hand-size);display:flex;flex-direction:column;align-items:center;gap:2px;padding:0;border:2px solid transparent;border-radius:4px;background:transparent;font-size:clamp(.55rem,2.2vw,.7rem);cursor:pointer}.tracks-hand__card.is-selected{border-color:var(--accent, #2f9e44);background:color-mix(in srgb,var(--accent, #2f9e44) 10%,transparent)}.tracks-hand__card:disabled{cursor:default;opacity:.7}.tracks-hand__card .tracks-tile-wrap{flex:0 0 var(--tracks-hand-size);width:var(--tracks-hand-size);height:var(--tracks-hand-size);min-width:var(--tracks-hand-size);min-height:var(--tracks-hand-size)}.tracks-hand__card .tracks-tile-wrap .tracks-tile{width:100%;height:100%}.tracks-piles{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:var(--space-2)}.tracks-pile{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:4.5rem;font-size:.75rem}.tracks-pile .tracks-tile-wrap{width:min(3.25rem,calc(var(--tracks-cell) * .72));height:min(3.25rem,calc(var(--tracks-cell) * .72))}.tracks-pile__deck{width:min(3.25rem,calc(var(--tracks-cell) * .72));height:min(3.25rem,calc(var(--tracks-cell) * .72));border-radius:4px;background:linear-gradient(135deg,#8b5a2b,#5b3a1a);display:inline-block}.tracks-pile__empty{width:min(3.25rem,calc(var(--tracks-cell) * .72));height:min(3.25rem,calc(var(--tracks-cell) * .72));border:1px dashed color-mix(in srgb,currentColor 30%,transparent);border-radius:4px;display:inline-block;background:color-mix(in srgb,var(--surface) 40%,transparent)}.tracks-draft{text-align:center}.tracks-draft__cards{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.tracks-objective-card{display:flex;flex-direction:column;gap:4px;width:11rem;padding:.9rem;border-radius:10px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);background:color-mix(in srgb,currentColor 5%,transparent);cursor:pointer;text-align:left}.tracks-objective-card:hover{border-color:var(--accent, #2f9e44)}.tracks-objective-card em{font-style:normal;font-weight:600;color:var(--accent, #2f9e44)}.tracks-objectives{display:flex;gap:6px;list-style:none;padding:0;margin:.5rem 0 0;font-size:.75rem;flex-wrap:wrap}.tracks-objectives li{border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:999px;padding:.1rem .55rem}.tracks-hint{color:var(--brand-red);font-size:.8rem;text-align:center;margin:.4rem 0 0;padding-inline:var(--space-2)}.tracks-handoff{display:grid;place-items:center;align-content:center;gap:.75rem;min-height:18rem;text-align:center}.tracks-handoff strong{font-size:2rem}.tracks-handoff__ready{min-height:3rem;padding:0 1.5rem;font-size:1.1rem;border-radius:999px}.tracks-hand__card--drawn{outline:2px dashed var(--accent, #2f9e44)}.tracks-rules{position:relative}.tracks-rules summary{cursor:pointer}.tracks-rules ul{position:absolute;z-index:4;left:0;right:0;top:100%;margin:.25rem 0 0;padding:.5rem .5rem .5rem 1.1rem;font-size:.85rem;list-style:disc;background:var(--surface, #fff);border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:8px;box-shadow:0 4px 16px color-mix(in srgb,currentColor 12%,transparent)}.tracks-objectives__tag{font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin-right:.25rem}[data-theme=dark] .tracks-pew__tray{--tracks-hand-paper: color-mix(in srgb, var(--surface-2) 94%, #1a1814)}@media(max-width:30rem){.tracks-shell-tray{grid-template-columns:minmax(0,1fr) 3rem;grid-template-areas:"scores scores" "hand piles";align-items:stretch;gap:.35rem .4rem}.tracks-shell-tray__scores{grid-area:scores;min-width:0}.tracks-shell-tray__hand{grid-area:hand;align-items:stretch;min-width:0}.tracks-shell-tray__hand-label{align-self:flex-start}.tracks-shell-tray__piles.tracks-piles{grid-area:piles;flex-direction:column;flex-wrap:nowrap;gap:.25rem;width:3rem;min-width:3rem;max-width:3rem;margin-top:0;justify-content:flex-end}.tracks-shell-tray__piles .tracks-pile{min-width:0;font-size:0;gap:0}.tracks-shell-tray__piles .tracks-pile .tracks-tile-wrap,.tracks-shell-tray__piles .tracks-pile__deck,.tracks-shell-tray__piles .tracks-pile__empty{width:2.75rem;height:2.75rem}}@media(orientation:landscape)and (max-height:840px){.shell:has(.play-table--tracks-grass) .topbar{margin-bottom:.2rem;padding-bottom:.25rem}.play-table--tracks-grass .play-table__info--tracks{gap:.2rem;padding-bottom:.15rem}.play-table--tracks-grass .play-table__info--tracks .status{padding:.4rem .55rem;font-size:.88rem}.play-table--tracks-grass .match-scoreboard{font-size:.82rem;gap:.35rem .55rem}.tracks-objectives{margin-top:.15rem;font-size:.7rem}.tracks-pew__tray{padding:var(--space-1) var(--space-2) var(--space-2)}.tracks-play{padding-top:var(--space-1)}}.play-table:has(.hb-board){--play-gap: .3rem;--pew-pad: .28rem .2rem calc(.28rem + env(safe-area-inset-bottom, 0px)) ;gap:var(--play-gap)}.play-table:has(.hb-board) .play-table__info{gap:.2rem}.play-table:has(.hb-board) .status{padding:.38rem .55rem;font-size:.88rem}.play-table:has(.hb-board) .match-scoreboard{gap:.4rem .65rem;font-size:.8rem}.play-table:has(.hb-board) .play-table__board{place-items:stretch;align-content:stretch;overflow:hidden}.play-table:has(.hb-board) .play-table__pew{gap:.2rem;padding:var(--pew-pad)}.hb-board{--hb-card-gap: .12rem;--hb-sprite-w: clamp(3.4rem, 11vw, 5.4rem);--hb-sprite-h: calc(var(--hb-sprite-w) * 1.32);--hb-market-sprite-w: clamp(4.2rem, 14vw, 7rem);--hb-market-sprite-h: calc(var(--hb-market-sprite-w) * 1.32);--hb-location-sprite-w: clamp(4.5rem, 16vw, 8rem);--hb-location-sprite-h: calc(var(--hb-location-sprite-w) * .72);--hb-villain-sprite-w: clamp(3.6rem, 12vw, 6rem);--hb-villain-sprite-h: calc(var(--hb-villain-sprite-w) * 1.1);display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:.25rem;width:100%;height:100%;min-height:0;overflow:hidden}.hb-meta{margin:0;font-size:.78rem;opacity:.8}.hb-threat,.hb-market,.hb-allies,.hb-pew{display:flex;flex-direction:column;gap:.2rem;min-width:0}.hb-threat{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1.4fr);gap:.35rem;align-items:start}.hb-zone-label{display:block;margin-bottom:.1rem;font-size:.68rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;opacity:.65}.hb-location,.hb-dark-arts,.hb-villains{min-width:0}.hb-object-heading,.hb-card-detail,.hb-section-heading{display:flex;align-items:flex-start;gap:.35rem;min-width:0}.hb-location__copy,.hb-object-heading>div:last-child{display:flex;flex-direction:column;gap:.08rem;min-width:0}.hb-location__copy strong,.hb-object-heading strong{font-size:.86rem;line-height:1.15}.hb-location__copy span,.hb-object-heading span{font-size:.74rem;opacity:.8}.hb-dark-arts ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.2rem}.hb-dark-arts li{display:flex;align-items:center;gap:.2rem;min-height:0;font-size:.74rem}.hb-muted{opacity:.65}.hb-villain-row,.hb-ally-row,.hb-market__row,.hb-hand,.hb-play{display:flex;flex-wrap:nowrap;gap:var(--hb-card-gap);min-width:0}.hb-villain-row{flex-wrap:wrap}.hb-market{flex:1 1 auto;min-height:0;justify-content:center}.hb-market__row{flex:1 1 auto;align-items:stretch;justify-content:center;width:100%;min-height:0}.hb-villain{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1 1 8rem;max-width:12rem}.hb-villain__focus{display:flex;align-items:center;gap:.25rem;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.hb-villain__copy{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;min-width:0}.hb-villain__copy strong{font-size:.78rem;line-height:1.1}.hb-villain__copy span{font-size:.72rem;opacity:.85}.hb-villain__atk{display:flex;align-items:center;gap:.2rem}.hb-villain__atk button:not(.btn){min-width:1.6rem;min-height:1.6rem;padding:0}.hb-villain__atk .btn{min-height:1.75rem;padding:.15rem .45rem;font-size:.78rem}.hb-card{display:flex;flex-direction:column;align-items:stretch;gap:.08rem;margin:0;padding:0;border:0;border-radius:.2rem;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit;touch-action:manipulation}.hb-card--market{flex:1 1 0;min-width:0;max-width:8.5rem}.hb-card--hand{flex:0 0 var(--hb-sprite-w)}.hb-card--played{flex:0 0 calc(var(--hb-sprite-w) * .82)}.hb-card--empty{flex:1 1 0;min-width:0;max-width:8.5rem;min-height:var(--hb-market-sprite-h);border:1px dashed color-mix(in srgb,var(--ink) 18%,transparent);border-radius:.2rem;opacity:.35;pointer-events:none}.hb-card.is-disabled,.hb-card:disabled{opacity:.72;cursor:default}.hb-card__copy{display:none}.hb-card--market .hb-card__copy,.hb-card--hand:focus-visible .hb-card__copy{display:flex;flex-direction:column;gap:.05rem}.hb-card__title{font-weight:650;font-size:.68rem;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hb-card__sub{font-size:.62rem;opacity:.8;text-transform:capitalize}.hb-sprite{display:block;flex:0 0 auto;width:var(--hb-sprite-w);height:var(--hb-sprite-h);overflow:hidden;border:0;border-radius:.15rem;background:var(--surface-2);background-repeat:no-repeat;background-position:center;background-size:cover;color:var(--ink)}.hb-card--market .hb-sprite{width:100%;height:var(--hb-market-sprite-h)}.hb-card--played .hb-sprite{width:100%;height:calc(var(--hb-sprite-h) * .82)}.hb-location .hb-sprite{width:var(--hb-location-sprite-w);height:var(--hb-location-sprite-h)}.hb-villain .hb-sprite{width:var(--hb-villain-sprite-w);height:var(--hb-villain-sprite-h);flex-shrink:0}.hb-dark-arts .hb-sprite{width:calc(var(--hb-sprite-w) * .55);height:calc(var(--hb-sprite-h) * .55)}.hb-sprite__fallback{display:grid;place-items:center;width:100%;height:100%;padding:.1rem;background:color-mix(in srgb,var(--surface-2) 88%,transparent);font-size:.58rem;font-weight:600;line-height:1.05;overflow-wrap:anywhere;text-align:center}.hb-sprite--atlas{background-size:var(--hb-sprite-size, cover)}.hb-sprite--atlas .hb-sprite__fallback{opacity:0}.hb-villain.is-focused .hb-villain__focus .hb-sprite,.hb-card.is-selected .hb-sprite{outline:2px solid var(--accent, #8b4513);outline-offset:1px}.hb-card.is-playable:not(.is-disabled) .hb-sprite{box-shadow:0 0 0 2px color-mix(in srgb,var(--you) 55%,transparent)}.hb-allies{flex-flow:row wrap;gap:.35rem}.hb-ally{display:inline-flex;align-items:center;gap:.35rem;min-width:0;font-size:.78rem}.hb-ally.is-active strong{color:var(--accent, #8b4513)}.hb-ally strong,.hb-ally span{display:inline}.hb-proficiency{display:inline-flex;align-items:center}.hb-proficiency .btn{min-height:1.75rem;padding:.15rem .45rem;font-size:.74rem}.hb-section-heading{justify-content:space-between;align-items:baseline}.hb-section-heading h3{margin:0;font-size:.82rem}.hb-section-heading>span{color:var(--muted);font-size:.74rem}.hb-horcrux{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem}.hb-horcrux__active{display:grid;gap:.15rem}.hb-horcrux__active p,.hb-horcrux__active span{margin:0;font-size:.76rem}.hb-horcrux__sigil{display:grid;place-items:center;min-width:3.2rem;min-height:2.2rem;padding:.15rem;font-size:.62rem;font-weight:650;text-align:center;opacity:.85}.hb-horcrux__rewards{display:grid;gap:.25rem;font-size:.76rem}.hb-reward{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.hb-reward>span{min-width:0}.hb-reward .btn{min-height:1.75rem;padding:.15rem .45rem;font-size:.74rem}.hb-pew{gap:.2rem}.hb-card-detail{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;margin:0;font-size:.76rem;line-height:1.25;color:var(--muted)}.hb-card-detail strong{color:var(--ink);font-size:.8rem}.hb-resources{display:flex;flex-wrap:wrap;gap:.65rem;font-weight:600;font-size:.82rem}.hb-hand,.hb-play{overflow-x:auto;padding:.05rem 0;-webkit-overflow-scrolling:touch}.hb-hand{justify-content:center;min-height:calc(var(--hb-sprite-h) + .2rem)}.hb-play{justify-content:flex-start;min-height:calc(var(--hb-sprite-h) * .82)}.hb-actions{display:flex;flex-wrap:wrap;gap:.35rem}.hb-actions .btn{min-height:2rem;padding:.2rem .55rem;font-size:.82rem}.hb-choice{padding:.45rem;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:.25rem;background:color-mix(in srgb,var(--accent) 6%,var(--surface-2))}.hb-choice p{margin:0;font-size:.82rem}.hb-choice__options{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.35rem}@media(max-width:52rem){.hb-threat{grid-template-columns:1fr 1fr}.hb-villains{grid-column:1 / -1}}@media(max-width:36rem){.hb-threat{grid-template-columns:1fr}.hb-market__row{flex-wrap:wrap;justify-content:center}.hb-card--market,.hb-card--empty{flex:0 1 calc(33% - var(--hb-card-gap));max-width:none}}@media(max-height:32rem),(orientation:landscape)and (max-height:40rem){.hb-board{--hb-sprite-w: clamp(2.8rem, 10vw, 4.2rem);--hb-market-sprite-w: clamp(3.2rem, 11vw, 5rem);--hb-location-sprite-w: clamp(3.4rem, 12vw, 5.5rem);--hb-villain-sprite-w: clamp(2.8rem, 9vw, 4.2rem)}.hb-reward{align-items:flex-start;flex-direction:column}}.ce-table{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;place-items:center;padding:1rem .5rem;min-height:12rem}.ce-table .tt-card{width:clamp(5.25rem,26vw,7rem);height:clamp(7.4rem,37vw,9.9rem)}.ce-stock__cinematic,.ce-discard__cinematic{display:flex;justify-content:center;align-items:center;width:100%;transition:opacity var(--motion-duration) var(--motion-ease, ease)}.play-table:has(.ce-table) .tt-hand{min-height:8.5rem;padding:.5rem .35rem .25rem}.play-table:has(.ce-table) .tt-hand__slot{margin-left:-1.4rem}.play-table:has(.ce-table) .tt-hand .tt-card{width:clamp(4.5rem,22vw,5.85rem);height:clamp(6.4rem,31vw,8.3rem)}.play-table:has(.ce-table) .tt-hand__slot:first-child{margin-left:0}.reversi-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));width:min(100%,var(--board-max));max-width:min(100%,calc(100dvh - 12rem));aspect-ratio:1;margin:0 auto;gap:1px;padding:.45rem;border-radius:var(--radius-lg);background:#1f6b3a;border:1px solid var(--line);touch-action:manipulation}.reversi-cell{min-width:0;min-height:0;width:100%;height:100%;border:0;padding:10%;display:grid;place-items:center;background:#2f8a4e;border-radius:2px;cursor:default;touch-action:manipulation}.reversi-cell.is-open{cursor:pointer;box-shadow:inset 0 0 0 2px #ffffff59}.reversi-cell.is-open:hover,.reversi-cell.is-open:focus-visible{background:#3a9b5a}.reversi-cell .tt-token{width:100%;height:100%}.reversi-cell__cinematic{width:100%;height:100%;display:grid;place-items:center}.reversi-cell__cinematic .tt-token{width:100%;height:100%}.reversi-cell__flip{perspective:12rem}.reversi-cell .tt-token--p0{background:var(--brand-navy);color:var(--brand-cream)}.reversi-cell .tt-token--p1{background:var(--brand-cream);color:var(--brand-navy);box-shadow:inset 0 -2px 4px #0000001f,0 0 0 1px #0000001a}.memory-board{display:grid;gap:.45rem;width:min(100%,30rem);margin:0 auto;padding:.5rem}.memory-cell{min-width:0;aspect-ratio:5 / 7;padding:0;border:0;background:transparent;cursor:default;touch-action:manipulation}.memory-cell.is-open{cursor:pointer}.memory-card{width:100%;height:100%;perspective:40rem}.memory-card__inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .32s ease}.memory-cell.is-up .memory-card__inner{transform:rotateY(180deg)}.memory-card__back,.memory-card__face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border-radius:.45rem;overflow:hidden}.memory-card__face{transform:rotateY(180deg)}.memory-card .tt-card{width:100%;height:100%;border:0;box-shadow:none}.memory-card .tt-card--art{box-shadow:0 1px 2px #0000002e}@media(prefers-reduced-motion:reduce){.memory-card__inner{transition:none}}.mancala-board{display:grid;grid-template-columns:minmax(3.5rem,5rem) minmax(0,1fr) minmax(3.5rem,5rem);gap:.5rem;align-items:stretch;width:min(100%,var(--board-max));margin:0 auto;padding:.75rem;border-radius:var(--radius-lg);background:#3d6b4f}.mancala-rows{display:flex;flex-direction:column;gap:.5rem;min-width:0}.mancala-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem}.mancala-pit,.mancala-store{min-height:var(--tap-min);border-radius:999px;border:2px solid rgb(255 255 255 / 20%);background:#2a4a36;color:#f4f0e6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem}.mancala-stones{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:3px;max-width:92%;max-height:92%;padding:.15rem}.mancala-stones .tt-token{width:.55rem;height:.55rem}.mancala-stones .tt-token--p0{background:#d8c49a}.mancala-pit{aspect-ratio:1;padding:0;cursor:default;transition:background var(--motion-duration) var(--motion-ease),border-color var(--motion-duration) var(--motion-ease)}.mancala-pit.is-open{cursor:pointer;border-color:#f4f0e68c;background:#355c43}.mancala-pit.is-open:hover,.mancala-pit.is-open:focus-visible{background:#417251;border-color:#f4f0e6}.mancala-store{border-radius:var(--radius-lg);padding:.35rem .25rem;gap:.2rem}.mancala-store__label{font-size:.65rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.8}.play-table__board:has(.sol-board),.game-shell-stage:has(.sol-board){place-items:stretch;align-content:stretch;background:#1a6b38;padding:0}.sol-board{--sol-card-aspect: 140 / 190;--sol-card-pad: 2px;--sol-card-border: 1px;--sol-stack-step: calc(var(--sol-card-w, 4.5rem) * 190 / 140 * .22);flex:1 1 auto;display:flex;flex-direction:column;width:100%;min-height:min-content;box-sizing:border-box;padding:.5rem .4rem .65rem;gap:.65rem;background:#1a6b38;touch-action:manipulation;-webkit-user-select:none;user-select:none}.sol-board .tt-card{width:100%;height:auto;aspect-ratio:var(--sol-card-aspect);box-sizing:border-box;padding:var(--sol-card-pad);border:var(--sol-card-border) solid rgb(0 0 0 / 35%);background:#fffef8;border-radius:.35rem;box-shadow:0 1px 2px #00000038}.sol-board .tt-card--art{background:#fffef8}.sol-board .tt-card--empty{border-style:dashed;border-color:#ffffff73;background:#0000001f;color:#ffffffbf;font-size:.7rem}.sol-board .tt-card.is-selected{outline:2px solid #f5e6a8;outline-offset:1px;transform:translateY(-.2rem);z-index:2}.sol-board .tt-card.is-dragging{opacity:.35}.sol-board .tt-card__img{border-radius:.2rem}.sol-drag-ghost{position:fixed;z-index:1000;pointer-events:none;transform:translate(-50%,-50%);filter:drop-shadow(0 4px 10px rgb(0 0 0 / 45%))}.sol-drag-ghost .tt-card{width:var(--sol-ghost-w, 4.5rem);height:auto;aspect-ratio:var(--sol-card-aspect)}.sol-drag-ghost__stack .tt-card:not(:first-child){position:absolute;left:0;top:0}.sol-drop.is-lit{outline:2px solid #f5e6a8;outline-offset:2px;border-radius:.35rem}.klondike-board{--sol-card-w: min(5rem, calc((100% - 6 * .35rem) / 7));flex-shrink:0;min-height:max-content}.game-shell-stage .klondike-board{--sol-card-w: clamp(3.5rem, min(5.25rem, 11vw), 5.5rem);width:100%;max-width:52rem;margin-inline:auto}.match-chrome:has([data-testid=klondike-board]) .play-table__board{min-height:20rem}.klondike-top{display:grid;grid-template-columns:auto auto 1fr;gap:.65rem;align-items:start;flex-shrink:0}.klondike-top .tt-card,.klondike-foundation{width:var(--sol-card-w)}.klondike-waste{display:grid;place-items:start}.klondike-foundations{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.klondike-foundation{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;cursor:default}.klondike-tableau{flex:1 0 auto;min-height:22rem;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;align-content:start}.klondike-column{position:relative;min-height:calc(var(--sol-card-w, 5rem) * 190 / 140 + var(--sol-stack-step, 1rem) * 18)}.klondike-column__empty{width:100%}.klondike-slot{position:absolute;left:0;right:0}@media(max-width:40rem){.klondike-top{grid-template-columns:auto auto}.klondike-foundations{grid-column:1 / -1;justify-content:space-between}.klondike-tableau{gap:.2rem}}.freecell-board{--sol-card-w: min(4.5rem, calc((100% - 7 * .35rem) / 8))}.freecell-top{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;align-items:start;flex-shrink:0}.freecell-freecells,.freecell-foundations{display:flex;flex-wrap:wrap;gap:.45rem}.freecell-freecells .tt-card,.freecell-slot{width:var(--sol-card-w)}.freecell-foundations{justify-content:flex-end}.freecell-foundations .tt-card,.freecell-foundation{width:var(--sol-card-w)}.freecell-slot,.freecell-foundation{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;cursor:default}.freecell-cascades{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.35rem;align-content:start}.freecell-column{position:relative;min-height:6rem}.freecell-column__empty{width:100%}.freecell-slot-card{position:absolute;left:0;right:0}@media(max-width:40rem){.freecell-top{grid-template-columns:1fr}.freecell-foundations{justify-content:space-between}.freecell-cascades{gap:.2rem}}.go-board{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(9,minmax(0,1fr));width:min(100%,var(--board-max));max-width:min(100%,calc(100dvh - 12rem));aspect-ratio:1;margin:0 auto;gap:0;padding:.55rem;border-radius:var(--radius-lg);background:linear-gradient(rgba(60,40,20,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(60,40,20,.12) 1px,transparent 1px),#d4a574;background-size:calc(100% / 9) calc(100% / 9),calc(100% / 9) calc(100% / 9),auto;border:1px solid var(--line);touch-action:manipulation}.go-cell{min-width:0;min-height:0;width:100%;height:100%;border:0;padding:12%;display:grid;place-items:center;background:transparent;border-radius:0;cursor:default;touch-action:manipulation;position:relative}.go-cell.is-open{cursor:pointer}.go-cell.is-open:hover:after,.go-cell.is-open:focus-visible:after{content:"";position:absolute;top:28%;right:28%;bottom:28%;left:28%;border-radius:999px;background:#0000002e}.go-cell .tt-token{width:100%;height:100%}.go-cell .tt-token--p0{background:#1a1a1a}.go-cell .tt-token--p1{background:#f4f1ea;box-shadow:inset 0 -2px 4px #0000001f,0 0 0 1px #00000026}.chinese-checkers-board{position:relative;width:min(100%,var(--board-max));max-width:min(100%,calc(100dvh - 12rem));aspect-ratio:1;margin:0 auto;touch-action:manipulation;background:radial-gradient(circle at 50% 50%,color-mix(in oklab,var(--panel) 88%,#7a9bb8) 0%,transparent 62%),color-mix(in oklab,var(--panel) 92%,#2f4a3c);border:1px solid var(--line);border-radius:var(--radius-lg)}.cc-hole{position:absolute;width:7.2%;height:7.2%;transform:translate(-50%,-50%);border:1px solid color-mix(in oklab,var(--line) 70%,transparent);border-radius:999px;padding:0;margin:0;display:grid;place-items:center;background:color-mix(in oklab,var(--bg) 55%,#c9d6c3);touch-action:manipulation;transition:outline-color var(--motion-duration) var(--motion-ease),box-shadow var(--motion-duration) var(--motion-ease),background var(--motion-duration) var(--motion-ease)}.cc-hole.home-0{background:color-mix(in oklab,#c44949 22%,#d7c4b0)}.cc-hole.home-1{background:color-mix(in oklab,#3b6ea5 22%,#d7c4b0)}.cc-hole.selected{outline:3px solid var(--accent);outline-offset:1px}.cc-hole.target{box-shadow:inset 0 0 0 3px var(--you)}.cc-hole .tt-token{width:72%;height:72%}.cc-hole .tt-token--p0{background:#c44949}.cc-hole .tt-token--p1{background:#3b6ea5}.battleship-board{display:grid;gap:1.25rem;width:min(100%,calc(var(--board-max) + 2rem));margin:0 auto;justify-items:center}@media(min-width:48rem){.battleship-board{grid-template-columns:1fr 1fr;align-items:start}}.battleship-grid-wrap{width:min(100%,22rem)}.battleship-grid-label{margin:0 0 .4rem;text-align:center;font-family:var(--font);font-size:.9rem;color:var(--ink-muted, var(--ink))}.battleship-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:repeat(10,minmax(0,1fr));width:100%;aspect-ratio:1;gap:1px;padding:.4rem;border-radius:var(--radius-lg);background:#1a4a6e;border:1px solid var(--line);touch-action:manipulation}.battleship-cell{min-width:0;min-height:0;width:100%;height:100%;border:0;padding:0;border-radius:2px;background:#2a6a94;cursor:default;touch-action:manipulation;display:grid;place-items:center}.battleship-mark{width:72%;height:72%;object-fit:contain;pointer-events:none}.battleship-cell.is-ship{background:#6b7c8a}.battleship-cell.is-miss{background:#1e3a50;box-shadow:inset 0 0 0 2px #fff3}.battleship-cell.is-hit{background:#c45c26}.battleship-cell.is-sunk{background:#8b1e1e}.battleship-cell.is-open{cursor:pointer;box-shadow:inset 0 0 0 2px #ffffff59}.battleship-cell.is-open:hover,.battleship-cell.is-open:focus-visible{background:#3a7eab}.chess-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));width:min(100%,var(--board-max));max-width:min(100%,calc(100dvh - 12rem));aspect-ratio:1;margin:0 auto;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;touch-action:manipulation}.chess-sq{min-width:0;min-height:0;width:100%;height:100%;border:0;padding:6%;display:grid;place-items:center;touch-action:manipulation;transition:outline-color var(--motion-duration) var(--motion-ease),box-shadow var(--motion-duration) var(--motion-ease)}.chess-sq.light{background:#eed7b0}.chess-sq.dark{background:#b58863}.chess-sq.selected{outline:3px solid var(--accent);outline-offset:-3px}.chess-sq.target{box-shadow:inset 0 0 0 3px var(--you)}.chess-piece{width:82%;height:82%;object-fit:contain;pointer-events:none;display:block}.chess-piece.p0{filter:drop-shadow(0 1px 0 #fff) brightness(1.05)}.chess-piece.p1{filter:brightness(.18) drop-shadow(0 1px 0 rgba(255,255,255,.25))}.chess-piece__cinematic{width:82%;height:82%;display:grid;place-items:center}.chess-piece__cinematic .chess-piece{width:100%;height:100%}.nmm-board{position:relative;width:min(100%,var(--board-max));max-width:min(100%,calc(100dvh - 12rem));aspect-ratio:1;margin:0 auto;touch-action:manipulation;background:radial-gradient(circle at 50% 42%,color-mix(in oklab,#c4a574 35%,transparent) 0%,transparent 55%),color-mix(in oklab,var(--panel) 90%,#5c4030);border:1px solid var(--line);border-radius:var(--radius-lg)}.nmm-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.nmm-lines line{stroke:color-mix(in oklab,var(--ink) 55%,#5c4030);stroke-width:1.2;stroke-linecap:square}.nmm-point{position:absolute;width:9%;height:9%;transform:translate(-50%,-50%);border:2px solid color-mix(in oklab,var(--line) 80%,#5c4030);border-radius:999px;padding:0;margin:0;display:grid;place-items:center;background:color-mix(in oklab,var(--bg) 40%,#d8c4a0);touch-action:manipulation;cursor:default;transition:outline-color var(--motion-duration) var(--motion-ease),box-shadow var(--motion-duration) var(--motion-ease),background var(--motion-duration) var(--motion-ease)}.nmm-point:not(:disabled){cursor:pointer}.nmm-point.placeable,.nmm-point.target{box-shadow:inset 0 0 0 3px var(--you)}.nmm-point.selected{outline:3px solid var(--accent);outline-offset:1px}.nmm-point.removable{box-shadow:inset 0 0 0 3px #b33}.nmm-point .tt-token{width:auto;height:72%;max-width:72%}.nmm-point .tt-token--p0{background:#2a2a2a}.nmm-point .tt-token--p1{background:#f0ebe3;color:#5c4030;box-shadow:inset 0 -2px 4px #0000001f,inset 0 0 0 1px #8a8070}.bg-wrap{width:min(100%,var(--board-max));margin:0 auto}.bg-board{display:grid;grid-template-columns:minmax(2.5rem,3.5rem) minmax(0,1fr) minmax(2.5rem,3.5rem);gap:.35rem;align-items:stretch;padding:.5rem;border-radius:var(--radius-lg);background:#1f4d3a;color:#f2efe6}.bg-quads{display:flex;flex-direction:column;gap:.35rem;min-width:0}.bg-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.15rem}.bg-point{position:relative;min-height:clamp(2.5rem,12vw,3.75rem);padding:.15rem;border:1px solid rgba(255,255,255,.12);border-radius:.2rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.1rem;cursor:default;font-family:var(--font);color:inherit;transition:background var(--motion-duration) var(--motion-ease),border-color var(--motion-duration) var(--motion-ease)}.bg-point-light{background:#c4a574;color:#1a1a1a}.bg-point-dark{background:#6b3a2a;color:#f2efe6}.bg-point.is-open{cursor:pointer;border-color:#ffffffb3;box-shadow:inset 0 0 0 1px #ffffff59}.bg-point.is-open:hover,.bg-point.is-open:focus-visible{filter:brightness(1.08)}.bg-point-num{position:absolute;top:.1rem;font-size:.55rem;font-weight:600;opacity:.7;line-height:1}.bg-point .tt-token{width:1.05rem;height:1.05rem}.bg-point.has-p0 .tt-token--p0{background:#f2efe6}.bg-point.has-p1 .tt-token--p1{background:#1a1a1a}.bg-point-count{width:1.25rem;height:1.25rem;border-radius:999px;display:grid;place-items:center;font-size:.75rem;font-weight:700;background:#00000040}.bg-point.has-p0 .bg-point-count{background:#f2efe6;color:#1a1a1a}.bg-point.has-p1 .bg-point-count{background:#1a1a1a;color:#f2efe6}.bg-mid{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;min-height:var(--tap-min)}.bg-bar{min-width:var(--tap-min);min-height:var(--tap-min);padding:.35rem .5rem;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.25);background:#163828;color:#f2efe6;font-family:var(--font);font-size:.7rem;font-weight:600;display:flex;flex-direction:column;gap:.15rem;cursor:default}.bg-bar.is-open{cursor:pointer;border-color:#ffffffb3}.bg-bear{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.35rem;border-radius:var(--radius-md);background:#163828;border:1px solid rgba(255,255,255,.15);text-align:center}.bg-tray-label{font-size:.6rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;opacity:.75}.bg-tray-count{font-size:1.1rem;font-weight:700}.bg-dice-slot{font-size:.75rem;opacity:.8;min-height:var(--tap-min);min-width:var(--tap-min);border:1px dashed var(--line);border-radius:var(--radius);background:transparent;cursor:pointer;touch-action:manipulation}.bg-dice-slot.is-open{outline:2px solid var(--accent, currentColor);outline-offset:2px}.bg-dice-slot:disabled{cursor:default;opacity:.65}.bg-board .tt-dice{gap:.25rem}.bg-board .tt-die{width:2rem;height:2rem}@media(max-width:480px){.bg-board{grid-template-columns:1fr;grid-template-rows:auto auto auto}.bg-bear{flex-direction:row;justify-content:space-between;padding:.35rem .6rem}.bg-point{min-height:2.4rem}.bg-point-num{font-size:.5rem}}.dab-scores{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .65rem;margin-top:.25rem;color:var(--ink, #1c1917)}.dab-scores__sep{font-family:var(--font);font-size:1rem;font-weight:600;opacity:.55;line-height:1}.dab-board{width:min(100%,22rem);margin:0 auto;padding:.5rem}.dab-svg{display:block;max-width:100%;height:auto;background:#e8e0d4;border-radius:var(--radius-lg, .75rem)}.dab-dot{fill:#1c1917}.dab-line{stroke-width:4;stroke-linecap:round;pointer-events:none}.dab-line.open{stroke:#1c19172e}.dab-line.claimed.p0{stroke:var(--dab-p0, #b45309)}.dab-line.claimed.p1{stroke:var(--dab-p1, #1d4ed8)}.dab-line-hit{fill:transparent;cursor:default}.dab-line-hit.is-open{cursor:pointer}.dab-line-hit.is-open:hover,.dab-line-hit.is-open:focus-visible{fill:#b453091f}.dab-box{pointer-events:none;opacity:.35}.dab-box.p0{fill:var(--dab-p0, #b45309)}.dab-box.p1{fill:var(--dab-p1, #1d4ed8)}.sal-table{display:flex;flex-direction:column;gap:.65rem;width:min(100%,var(--board-max));margin:0 auto}.sal-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem}.sal-positions{display:flex;flex-wrap:wrap;gap:.65rem 1rem;font-family:var(--font);font-size:.9rem;font-weight:600;color:var(--ink)}.sal-goal{opacity:.7;font-weight:500}.sal-die-slot{min-height:var(--tap-min);min-width:var(--tap-min);display:grid;place-items:center;border:none;background:transparent;padding:.25rem;border-radius:var(--radius-lg);cursor:pointer;touch-action:manipulation}.sal-die-slot.is-open{outline:2px solid var(--accent, currentColor);outline-offset:2px}.sal-die-slot:disabled{cursor:default;opacity:.85}.sal-die-empty{font-family:var(--font);font-size:.8rem;color:var(--muted, var(--ink));opacity:.7;padding:.35rem .5rem;border:1px dashed var(--line);border-radius:var(--radius-lg)}.sal-die-cinematic{display:grid;place-items:center}.sal-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:2px;width:100%;padding:.35rem;border-radius:var(--radius-lg);background:#2f5c47;border:1px solid var(--line)}.sal-cell{position:relative;aspect-ratio:1;min-width:0;border-radius:3px;background:#f3efe4;color:#1c2a22;font-family:var(--font);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:.1rem;overflow:hidden}.sal-cell:nth-child(2n){background:#e7e0d0}.sal-cell.is-ladder{background:#d7ebc8}.sal-cell.is-snake{background:#f0d0c8}.sal-cell.is-finish{background:#d8c8f0;font-weight:700}.sal-cell-num{font-size:clamp(.45rem,2.2vw,.7rem);font-weight:700;line-height:1;opacity:.85}.sal-cell-tele{font-size:clamp(.4rem,1.8vw,.6rem);opacity:.7;line-height:1}.sal-cell-mark{position:absolute;top:22%;right:14%;bottom:30%;left:14%;width:auto;height:auto;object-fit:contain;opacity:.45;pointer-events:none}.sal-pawns{position:absolute;inset:auto .1rem .1rem .1rem;display:flex;gap:1px;justify-content:center;align-items:flex-end}.sal-pawns .tt-token{width:clamp(.45rem,2.2vw,.72rem);height:clamp(.65rem,3vw,1.05rem)}.sal-pawns .tt-token--p0{background:#2a6f97}.sal-pawns .tt-token--p1{background:#b85c38}.go-fish-table{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:1rem;place-items:center;padding:.75rem .5rem;min-height:9rem}.go-fish-books{display:flex;flex-direction:column;gap:.35rem;font-size:.95rem;line-height:1.3;text-align:left}.go-fish-books p{margin:0}.nim-table{display:flex;flex-direction:column;align-items:center;gap:1.25rem;width:min(100%,22rem);margin:0 auto;padding:.5rem 0 1rem}.nim-pile{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;max-width:16rem;min-height:2.5rem}.nim-stone{display:inline-flex;padding:.15rem;border:none;background:transparent;border-radius:999px;cursor:pointer;touch-action:manipulation}.nim-stone.is-open{outline:2px solid var(--accent, currentColor);outline-offset:2px}.nim-stone:disabled{cursor:default;opacity:.55}.war-table{width:100%;display:grid;grid-template-columns:minmax(4rem,1fr) minmax(8rem,1.4fr) minmax(4rem,1fr);gap:.75rem;place-items:center;padding:.75rem .5rem;min-height:11rem}.war-seat{display:flex;flex-direction:column;align-items:center;gap:.35rem}.war-seat__label{font-size:.85rem;opacity:.85}.war-battle{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:0}.war-fight{border:none;background:transparent;padding:.35rem;border-radius:.5rem;cursor:pointer;touch-action:manipulation}.war-fight.is-open{outline:2px solid var(--accent, currentColor);outline-offset:2px}.war-fight:disabled{cursor:default;opacity:.85}.war-battle__down{font-size:.8rem;opacity:.9}.war-battle__faces{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.war-battle__cinematic{display:block}@media(max-width:420px){.war-table{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.war-battle{grid-column:1 / -1;order:-1}}@media(prefers-reduced-motion:reduce){:root{--motion-duration: 0ms}.btn{transition:none}.dom-end.snap,.tt-card.is-selected{transform:none}.dom-hand-slot .dom-tile{transition:none}.game-tile,.ttt-cell,.c4-col,.c4-cell,.ck-sq,.ck-piece,.g2048-cell,.g2048-cell.is-new,.yatzy-score-btn,.lw-mode,.lw-cell{transition:none;animation:none}}[data-motion=reduced] .btn{transition:none}[data-motion=reduced] .dom-end.snap,[data-motion=reduced] .tt-card.is-selected{transform:none}[data-motion=reduced] .dom-hand-slot .dom-tile,[data-motion=reduced] .game-tile,[data-motion=reduced] .ttt-cell,[data-motion=reduced] .c4-col,[data-motion=reduced] .c4-cell,[data-motion=reduced] .ck-sq,[data-motion=reduced] .ck-piece,[data-motion=reduced] .g2048-cell,[data-motion=reduced] .g2048-cell.is-new,[data-motion=reduced] .yatzy-score-btn,[data-motion=reduced] .lw-mode,[data-motion=reduced] .lw-cell{transition:none;animation:none}[data-cinematic]{transition-property:transform,opacity;transition-duration:var(--motion-duration);transition-timing-function:var(--motion-ease)}[data-motion=reduced] [data-cinematic],[data-cinematic][data-motion=reduced]{transition:none;transform:none}
