:root{--paper:#f5ead7;--paper-2:#f0dcc0;--paper-3:#fbf5ea;--ink:#1f1a14;--muted:#5f564a;--felt:#2c7a5c;--felt-2:#195640;--felt-3:#3a9470;--accent:#d24a3a;--accent-2:#b63e31;--panel:rgba(255, 255, 255, 0.8);--border:rgba(31, 26, 20, 0.14);--shadow:0 16px 30px -24px rgba(31, 26, 20, 0.35);--font-ui:"Space Grotesk",sans-serif;--font-display:"Fraunces",serif;--domino-face:#f9f2e8;--domino-face-2:#efe5d7;--domino-edge:rgba(53, 42, 33, 0.18);--domino-pip:#201812;--domino-back:#463d34;--domino-back-2:#312922;--domino-target:rgba(255, 247, 223, 0.88);--domino-target-border:rgba(255, 242, 205, 0.84);--domino-target-active:rgba(255, 228, 163, 0.96);--board-height:420px;--tile-length:76px;--tile-width:40px;--tile-step:72px;--domino-shadow:0 10px 24px -18px rgba(15, 11, 8, 0.65),0 8px 16px -12px rgba(15, 11, 8, 0.35)}body[data-theme=dark],html[data-theme=dark]{--paper:#1d1a17;--paper-2:#24211e;--paper-3:#2c2825;--ink:#f2ede3;--muted:#d6cbb9;--felt:#1d5743;--felt-2:#123a2d;--felt-3:#2a7458;--accent:#da6d62;--accent-2:#c65449;--panel:rgba(39, 35, 32, 0.92);--border:rgba(245, 239, 230, 0.16);--shadow:0 16px 30px -24px rgba(0, 0, 0, 0.45);--domino-face:#f3eadf;--domino-face-2:#e9dcc8;--domino-edge:rgba(27, 22, 19, 0.24);--domino-pip:#261f19;--domino-back:#5a4d42;--domino-back-2:#3f352d;--domino-target:rgba(250, 239, 212, 0.14);--domino-target-border:rgba(255, 235, 181, 0.72);--domino-target-active:rgba(255, 214, 132, 0.24);--domino-shadow:0 10px 24px -16px rgba(0, 0, 0, 0.65),0 10px 18px -12px rgba(0, 0, 0, 0.45)}*,::after,::before{box-sizing:border-box}body,html{min-height:100%}body{margin:0;color:var(--ink);font-family:var(--font-ui);background:radial-gradient(circle at top,#fff7e2 0,var(--paper) 42%,var(--paper-2) 100%);position:relative}body::before{content:"";position:fixed;inset:-10%;background:radial-gradient(circle at 10% 12%,rgba(47,109,164,.18),transparent 45%),radial-gradient(circle at 82% 76%,rgba(200,71,56,.16),transparent 45%);z-index:-2}body::after{content:"";position:fixed;inset:0;background-image:linear-gradient(120deg,rgba(255,255,255,.6),transparent 45%);opacity:.6;z-index:-1;pointer-events:none}body[data-theme=dark],html[data-theme=dark] body{background:radial-gradient(circle at top,#24211e 0,var(--paper) 45%,#171513 100%)}body[data-theme=dark]::before,html[data-theme=dark] body::before{background:radial-gradient(circle at 10% 12%,rgba(47,109,164,.15),transparent 45%),radial-gradient(circle at 82% 76%,rgba(224,98,82,.15),transparent 45%);opacity:.72}body[data-theme=dark]::after,html[data-theme=dark] body::after{background-image:linear-gradient(120deg,rgba(255,255,255,.1),transparent 45%);opacity:.45}a,button,select{font:inherit}button{border:0;cursor:pointer}body.help-open{overflow:hidden}.app{position:relative;max-width:1260px;margin:0 auto;min-height:100vh;padding:24px;display:flex;flex-direction:column;gap:24px}.top{position:relative;z-index:120;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.title{font-family:var(--font-display);font-size:clamp(28px, 5vw, 40px);letter-spacing:.04em;font-weight:600}.top-actions{display:flex;align-items:center;gap:clamp(4px,1.6vw,12px);flex-wrap:nowrap}.top-actions #helpBtn,.top-actions #newGameBtn,.top-actions .portal-link,.top-actions .theme-toggle{position:relative;transition:transform .15s ease,box-shadow .15s ease}.top-actions #helpBtn:hover,.top-actions #newGameBtn:hover,.top-actions .portal-link:hover,.top-actions .theme-toggle:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(31,26,20,.2)}#helpBtn,#newGameBtn,.portal-link,.theme-toggle{width:36px;height:36px;min-width:36px;padding:0;display:inline-grid;place-items:center;border-radius:999px;color:var(--paper-3);background:var(--ink);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.05);line-height:1}.control-icon,.portal-icon,.theme-toggle__icon{width:16px;height:16px;display:block;flex:0 0 16px;color:currentColor}.control-icon circle,.control-icon path,.portal-icon circle,.portal-icon path,.theme-toggle__icon circle,.theme-toggle__icon path{stroke:currentColor!important;fill:none!important}.control-icon circle[fill=currentColor]{fill:currentColor!important;stroke:none!important}.theme-toggle__icon--moon{display:none}body[data-theme=dark] .theme-toggle__icon--sun,html[data-theme=dark] .theme-toggle__icon--sun{display:none}body[data-theme=dark] .theme-toggle__icon--moon,html[data-theme=dark] .theme-toggle__icon--moon{display:block}.button-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.main{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;padding-top:8px}.board-wrap{display:flex;justify-content:center;width:100%;min-width:0;position:relative}.tabletop{--board-gutter:calc(var(--tile-width) + 58px);display:grid;grid-template-columns:minmax(0,1fr);gap:8px;position:relative;width:min(100%,860px);padding:12px 14px;border-radius:18px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 10px 18px -20px rgba(31,26,20,.28);border:1px solid rgba(255,255,255,.12);background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.24),transparent 45%),linear-gradient(160deg,var(--felt) 0,var(--felt-2) 100%)}.tabletop::before{content:"";position:absolute;inset:6px;border-radius:12px;border:1px solid rgba(255,255,255,.04);pointer-events:none}.tabletop::after{display:none}.hand-zone{display:flex;align-items:flex-start;justify-content:flex-start;position:relative;z-index:1;min-height:calc(var(--tile-length) + 30px);padding:0;border-radius:0;justify-self:start;width:calc(100% - var(--board-gutter))}.hand-zone::before{content:"";position:absolute;left:8px;right:8px;top:auto;bottom:0;border-radius:0;background:0 0;border-bottom:1px solid rgba(255,255,255,.07);box-shadow:none;pointer-events:none}.hand-zone>*{position:relative;z-index:1}.hand-zone--ai{padding-left:clamp(10px,2.4vw,18px);padding-top:8px;padding-bottom:12px;padding-right:0}.hand-zone--player{padding-left:clamp(10px,2.4vw,18px);padding-top:12px;padding-bottom:8px}.hand-zone--player::before{top:0;bottom:auto;border-top:1px solid rgba(255,255,255,.07);border-bottom:0}.boneyard-zone{position:absolute;right:0;top:14px;width:var(--board-gutter);z-index:5;display:flex;align-items:flex-start;justify-content:center;pointer-events:none}#boneyardBtn{position:relative;width:calc(var(--tile-width) + 18px);height:calc(var(--tile-length) + 18px);min-width:calc(var(--tile-width) + 18px);padding:0;display:inline-flex;align-items:center;justify-content:center;background:0 0;border:0;border-radius:0;box-shadow:none;color:inherit;pointer-events:auto;transition:opacity 160ms ease}#boneyardBtn::before{display:none}#boneyardBtn:disabled{opacity:.92;cursor:default}#boneyardBtn:focus-visible{outline:2px solid rgba(47,109,164,.58);outline-offset:6px;border-radius:8px}#boneyardBtn:not(:disabled):focus-visible .domino,#boneyardBtn:not(:disabled):hover .domino{transform:none}#boneyardBtn:not(:disabled):focus-visible,#boneyardBtn:not(:disabled):hover{background:0 0}.tabletop[data-draw-state=required] #boneyardBtn{background:0 0}.boneyard-stack{position:relative;width:var(--tile-width);height:var(--tile-length);z-index:1}.boneyard-stack .domino{position:absolute;left:0;top:0;box-shadow:none}.domino--boneyard{pointer-events:none}.domino--boneyard-required{border-color:rgba(154,104,23,.96);box-shadow:0 0 0 1px rgba(237,193,80,.98)}.hand-zone__meta{display:none}.board{position:relative;isolation:isolate;overflow:auto;min-height:var(--board-height,344px);height:var(--board-height);border-radius:0;padding:0;box-shadow:none;border:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;z-index:1;justify-self:stretch;width:100%;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.board::-webkit-scrollbar{width:0;height:0;display:none}.board::before{display:none}.board::after{display:none}.board:focus-visible{outline:2px solid rgba(47,109,164,.52);outline-offset:4px}.board-surface{display:none}.board-canvas{position:relative;min-width:100%;min-height:100%}.chain-layer,.drag-layer,.end-targets{position:absolute;inset:0}.chain-layer{z-index:2}.end-targets{z-index:3;pointer-events:none}.drag-layer{z-index:12;pointer-events:none}.domino-hand{min-height:calc(var(--tile-length) + 12px);display:flex;align-items:center;align-content:flex-start;flex-wrap:wrap;justify-content:flex-start;gap:6px;padding:0;user-select:none;-webkit-user-select:none}.domino-hand--ai{min-height:calc(var(--tile-length) + 12px);flex-direction:row;align-items:center;gap:6px}.domino-hand--player{justify-content:flex-start;gap:6px}.domino-hand--ai .domino{transform:translate(var(--flip-x),var(--flip-y));transform-origin:center center}.domino-hand--player .domino{position:relative;transform-origin:center center}.domino-hand--player .domino-button{appearance:none;background:0 0;padding:0;border:0}.domino{--flip-x:0px;--flip-y:0px;--tile-rotate:0deg;--lift-y:0px;width:var(--tile-length);height:var(--tile-width);border-radius:4px;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;overflow:hidden;box-shadow:none;background:#f5efe4;border:1.5px solid rgba(10,10,10,.92);transform-origin:center center;transition:transform 150ms cubic-bezier(.2, .7, .2, 1),box-shadow 150ms ease,opacity 150ms ease,border-color 150ms ease}.domino--upright{width:var(--tile-width);height:var(--tile-length);grid-template-columns:1fr;grid-template-rows:1fr 1fr}.domino::after{content:"";position:absolute;inset:0;border-radius:4px;box-shadow:none;pointer-events:none}.domino--upright .domino-half+.domino-half{border-left:0;border-top:1.5px solid rgba(10,10,10,.72)}.domino--chain{position:absolute;left:0;top:0;transform:translate(calc(var(--tile-x) + var(--flip-x)),calc(var(--tile-y) + var(--flip-y))) rotate(var(--tile-rotate))}.domino--chain-target{cursor:pointer;box-shadow:0 0 0 1px rgba(237,193,80,.98)}.domino--chain-target.is-hovered,.domino--chain-target:focus-visible,.domino--chain-target:hover{box-shadow:0 0 0 2px #edc150}.domino--chain-target:focus-visible{outline:2px solid rgba(47,109,164,.48);outline-offset:4px}.domino-button .domino{transform:translate(var(--flip-x),calc(var(--flip-y) + var(--lift-y))) rotate(0)}.domino-button.is-hovered .domino,.domino-button:focus-visible .domino,.domino-button:hover .domino{--lift-y:0px}.domino-button:focus-visible{outline:2px solid rgba(47,109,164,.5);outline-offset:4px;border-radius:16px}.domino-button[disabled]{cursor:not-allowed}.domino-button[disabled] .domino{opacity:1}.domino-button--playable .domino{border-color:rgba(154,104,23,.96);box-shadow:0 0 0 1px rgba(237,193,80,.98)}.domino--selected,.domino-button[aria-pressed=true] .domino{--lift-y:-2px;border-color:rgba(180,69,54,.98);box-shadow:0 0 0 1px rgba(216,92,73,.96)}.domino--forced{border-color:rgba(154,104,23,.96);box-shadow:0 0 0 1px rgba(237,193,80,.98)}.domino--playable{cursor:pointer}.domino--back{background:#40362f;border-color:rgba(10,10,10,.94)}.domino--back::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(45deg,rgba(255,255,255,.08) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.08) 75%,transparent 75%,transparent),linear-gradient(-45deg,rgba(255,255,255,.08) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.08) 75%,transparent 75%,transparent);background-size:8px 8px;opacity:.28}.domino--back.domino--boneyard-required{border-color:rgba(154,104,23,.96);box-shadow:0 0 0 2px #edc150}.domino--draw-reveal::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(45deg,rgba(255,255,255,.16) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.16) 50%,rgba(255,255,255,.16) 75%,transparent 75%,transparent),linear-gradient(-45deg,rgba(255,255,255,.16) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.16) 50%,rgba(255,255,255,.16) 75%,transparent 75%,transparent),linear-gradient(180deg,var(--domino-back) 0,var(--domino-back-2) 100%);background-size:10px 10px,10px 10px,100% 100%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);opacity:1;animation:domino-draw-reveal 420ms cubic-bezier(.22,.7,.18,1) forwards;pointer-events:none}.domino--draw-reveal .domino-half{opacity:.18;animation:domino-face-reveal 420ms cubic-bezier(.22,.7,.18,1) forwards}.domino--ghost{position:fixed;left:0;top:0;z-index:1000;pointer-events:none;transition:transform 170ms ease,opacity 170ms ease;opacity:.98}.domino-half{position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);place-items:center;padding:9%}.domino-half+.domino-half{border-left:1.5px solid rgba(10,10,10,.72)}.pip{width:42%;aspect-ratio:1;border-radius:50%;background:#171615;box-shadow:none}.pip--tl{grid-column:1;grid-row:1}.pip--tc{grid-column:2;grid-row:1}.pip--tr{grid-column:3;grid-row:1}.pip--ml{grid-column:1;grid-row:2}.pip--mc{grid-column:2;grid-row:2}.pip--mr{grid-column:3;grid-row:2}.pip--bl{grid-column:1;grid-row:3}.pip--bc{grid-column:2;grid-row:3}.pip--br{grid-column:3;grid-row:3}@keyframes domino-draw-reveal{0%{opacity:1;transform:scale(1)}48%{opacity:1;transform:scale(1.01)}100%{opacity:0;transform:scale(.96)}}@keyframes domino-face-reveal{0%{opacity:.18}45%{opacity:.22}100%{opacity:1}}@media (prefers-reduced-motion:reduce){.domino--draw-reveal .domino-half,.domino--draw-reveal::before{animation-duration:140ms}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:8px}.status{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--ink)}.status__text{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-width:0}#statusText{color:var(--accent);font-weight:700}#statusMessage{font-size:12px;color:rgba(31,26,20,.75)}body[data-theme=dark] #statusMessage,html[data-theme=dark] #statusMessage{color:rgba(245,239,230,.7)}.panel-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.label{text-transform:uppercase;letter-spacing:1px;font-size:12px;color:var(--muted)}.action-btn{min-height:38px;padding:0 12px;border-radius:999px;background:rgba(44,122,92,.12);color:var(--ink);border:1px solid rgba(44,122,92,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.3);font-family:var(--font-ui);font-weight:600;letter-spacing:.5px;font-size:.88rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:transform 140ms ease,box-shadow 140ms ease,background-color 140ms ease,opacity 140ms ease}.action-btn:focus-visible,.action-btn:hover{background:rgba(44,122,92,.18);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 6px 16px rgba(0,0,0,.12)}.action-btn:focus-visible{outline:2px solid rgba(47,109,164,.45);outline-offset:3px}.action-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.action-btn--strong{background:rgba(210,74,58,.14);border-color:rgba(210,74,58,.22)}.action-btn--strong:focus-visible,.action-btn--strong:hover{background:rgba(210,74,58,.2)}.site-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--font-ui);font-size:.95rem;color:var(--muted)}.site-footer a{color:inherit;text-decoration:none;font-weight:600}.site-footer a:hover{text-decoration:underline}.footer-copy{font-weight:600;letter-spacing:.02em}.help-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center}.help-modal[hidden]{display:none}.help-modal__backdrop{position:absolute;inset:0;background:rgba(22,17,13,.4)}.help-modal__sheet{position:relative;width:min(92vw,420px);background:rgba(255,255,255,.92);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 45px -24px rgba(0,0,0,.4);padding:14px 14px 12px;display:flex;flex-direction:column;gap:10px}body[data-theme=dark] .help-modal__sheet,html[data-theme=dark] .help-modal__sheet{background:rgba(32,36,44,.9);box-shadow:0 24px 54px -30px rgba(0,0,0,.72)}body[data-theme=dark] .action-modal__backdrop,body[data-theme=dark] .help-modal__backdrop,html[data-theme=dark] .action-modal__backdrop,html[data-theme=dark] .help-modal__backdrop{background:rgba(5,6,10,.54)}.help-modal__header{display:flex;align-items:center;justify-content:space-between;gap:10px}.help-modal__header h2{margin:0;font-family:var(--font-display);font-size:1.05rem;line-height:1.2;color:var(--ink)}.help-modal__close{width:36px;height:36px;min-width:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--ink);color:var(--paper-3)!important;line-height:1;-webkit-appearance:none;appearance:none}.help-modal__close:focus,.help-modal__close:focus-visible{outline:0;box-shadow:0 0 0 2px rgba(47,109,164,.55),0 6px 16px rgba(0,0,0,.2)}.help-modal__close .control-icon{width:16px;height:16px;display:block;flex:0 0 16px;margin:0;color:currentColor;opacity:1;visibility:visible}.help-modal__close .control-icon circle,.help-modal__close .control-icon path{stroke:currentColor!important;fill:none!important;opacity:1}.help-modal__list{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--ink);font-size:.9rem;line-height:1.35}.action-modal{position:absolute;inset:0;z-index:18;display:flex;align-items:center;justify-content:center;padding:14px;border-radius:inherit}.action-modal[hidden]{display:none}.action-modal__backdrop{position:absolute;inset:0;border-radius:inherit;background:rgba(22,17,13,.4)}.action-modal__sheet{position:relative;z-index:1;width:min(calc(100% - 32px),340px);margin:0;padding:12px 12px 10px;border-radius:14px;background:rgba(255,255,255,.92);border:1px solid var(--border);box-shadow:0 20px 45px -24px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:8px}body[data-theme=dark] .action-modal__sheet,html[data-theme=dark] .action-modal__sheet{background:rgba(32,36,44,.9);box-shadow:0 24px 54px -30px rgba(0,0,0,.72)}.action-modal__title{margin:0;font-family:var(--font-display);font-size:1.05rem;line-height:1.2;color:var(--ink)}.action-modal__message{margin:0;line-height:1.4;color:var(--muted);font-size:.92rem}.action-modal__actions{display:grid;gap:8px;padding-top:2px}.action-modal__actions .action-btn[hidden]{display:none}.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:999;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.92);border:1px solid rgba(31,26,20,.12);box-shadow:0 12px 30px -18px rgba(31,26,20,.35);color:var(--ink,#1f1a14);font-size:.85rem;line-height:1.4}body[data-theme=dark] .cookie-banner,html[data-theme=dark] .cookie-banner{background:rgba(38,34,30,.92);border-color:rgba(245,239,230,.12);color:var(--ink)}.cookie-text{margin:0;flex:1 1 320px}.cookie-text a{color:inherit;text-decoration:underline;font-weight:600}.cookie-actions{display:flex;gap:8px;flex:0 0 auto}.cookie-btn{border:0;border-radius:999px;padding:8px 14px;font-weight:600;cursor:pointer;font-family:var(--font-ui);font-size:.85rem}.cookie-accept{background:#1f1a14;color:#f9f2e6}.cookie-reject{background:rgba(31,26,20,.12);color:var(--ink)}body[data-theme=dark] .cookie-accept,html[data-theme=dark] .cookie-accept{background:#f2e8db;color:#1f1a14}body[data-theme=dark] .cookie-reject,html[data-theme=dark] .cookie-reject{background:rgba(255,255,255,.18);color:#f2e8db}@media (max-width:1090px){.main{grid-template-columns:minmax(0,1fr)}.panel{max-width:860px;width:100%;justify-self:center}}@media (max-width:780px){:root{--tile-length:68px;--tile-width:36px;--tile-step:64px}.app{padding:24px 14px 24px;gap:18px}.top{flex-wrap:nowrap;align-items:center}.title{flex:1 1 auto;min-width:0;font-size:clamp(20px, 5vw, 36px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.board{min-height:300px}.tabletop{--board-gutter:calc(var(--tile-width) + 50px);gap:10px;padding:14px;border-radius:18px}.hand-zone{min-height:calc(var(--tile-length) + 24px);padding:0;border-radius:0}.hand-zone--ai{padding-top:8px;padding-bottom:12px;padding-right:0}.hand-zone--player{padding-top:12px;padding-bottom:8px}.boneyard-zone{right:0;top:14px}#boneyardBtn{width:calc(var(--tile-width) + 14px);height:calc(var(--tile-length) + 14px);min-width:calc(var(--tile-width) + 14px);border-radius:18px}.domino-hand{gap:8px}.domino-hand--ai,.domino-hand--player{gap:5px}}@media (max-width:540px){:root{--tile-length:60px;--tile-width:34px;--tile-step:56px}.app{padding:24px 10px 22px}.top-actions{gap:6px}.board-wrap,.panel{width:min(100%,520px);margin:0 auto}.board{min-height:270px}.tabletop{--board-gutter:calc(var(--tile-width) + 44px);padding:14px}.hand-zone{min-height:calc(var(--tile-length) + 20px);padding:0}.hand-zone--ai{padding-top:7px;padding-bottom:10px;padding-right:0}.hand-zone--ai,.hand-zone--player{padding-left:8px;width:calc(100% - var(--board-gutter))}.hand-zone--player{padding-top:10px;padding-bottom:7px}.boneyard-zone{right:0;top:14px}.domino-button .domino,.domino-hand--ai .domino{transform:translate(var(--flip-x),calc(var(--flip-y) + var(--lift-y))) rotate(0)}.panel{padding:18px 14px;border-radius:22px}.action-modal__sheet{width:min(calc(100% - 20px),320px);padding:11px 11px 10px;border-radius:14px}.cookie-banner{left:12px;right:12px;bottom:12px}.cookie-actions{width:100%;justify-content:flex-start}.site-footer{font-size:.9rem;flex-direction:column;align-items:flex-start}}@media (hover:hover){.top-actions .button-label{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,4px);opacity:0;pointer-events:none;width:auto;height:auto;margin:0;overflow:visible;clip:auto;padding:6px 10px;border-radius:999px;background:var(--ink);color:var(--paper-3);font-size:11px;font-weight:600;line-height:1;letter-spacing:.04em;white-space:nowrap;box-shadow:0 8px 18px rgba(0,0,0,.18);transition:opacity .15s ease,transform .15s ease;z-index:220}.top-actions .portal-link:focus-visible .button-label,.top-actions .portal-link:hover .button-label,.top-actions button:focus-visible .button-label,.top-actions button:hover .button-label{opacity:1;transform:translate(-50%,0)}.top-actions .theme-toggle::after{content:attr(aria-label);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,4px);opacity:0;pointer-events:none;padding:6px 10px;border-radius:999px;background:var(--ink);color:var(--paper-3);font-size:11px;font-weight:600;line-height:1;letter-spacing:.04em;white-space:nowrap;box-shadow:0 8px 18px rgba(0,0,0,.18);transition:opacity .15s ease,transform .15s ease;z-index:220}.top-actions .theme-toggle:focus-visible::after,.top-actions .theme-toggle:hover::after{opacity:1;transform:translate(-50%,0)}}body[lang=ar] #boneyardBtn,body[lang=ar] .board,body[lang=ar] .board-canvas,body[lang=ar] .boneyard-stack,body[lang=ar] .chain-layer,body[lang=ar] .domino,body[lang=ar] .domino-button,body[lang=ar] .domino-half,body[lang=ar] .domino-hand,body[lang=ar] .drag-layer,body[lang=ar] .end-targets,html[lang=ar] #boneyardBtn,html[lang=ar] .board,html[lang=ar] .board-canvas,html[lang=ar] .boneyard-stack,html[lang=ar] .chain-layer,html[lang=ar] .domino,html[lang=ar] .domino-button,html[lang=ar] .domino-half,html[lang=ar] .domino-hand,html[lang=ar] .drag-layer,html[lang=ar] .end-targets{direction:ltr}body[lang=ar] .boneyard-zone,html[lang=ar] .boneyard-zone{left:0;right:auto}body[lang=ar] .board,body[lang=ar] .hand-zone,html[lang=ar] .board,html[lang=ar] .hand-zone{justify-self:stretch}body[lang=ar] .hand-zone,html[lang=ar] .hand-zone{justify-content:flex-end;width:100%}body[lang=ar] .board,html[lang=ar] .board{width:100%}body[lang=ar] .hand-zone--ai,html[lang=ar] .hand-zone--ai{padding-left:var(--board-gutter);padding-right:clamp(10px,2.4vw,18px)}body[lang=ar] .hand-zone--player,html[lang=ar] .hand-zone--player{padding-left:0;padding-right:clamp(10px,2.4vw,18px)}body[lang=ar] .domino-hand--ai,body[lang=ar] .domino-hand--player,html[lang=ar] .domino-hand--ai,html[lang=ar] .domino-hand--player{width:100%;max-width:100%;justify-content:flex-end}@media (max-width:540px){body[lang=ar] .hand-zone--ai,html[lang=ar] .hand-zone--ai{padding-left:var(--board-gutter);padding-right:8px}body[lang=ar] .hand-zone--player,html[lang=ar] .hand-zone--player{padding-left:0;padding-right:8px}}@media (hover:hover) and (max-height:700px),(hover:hover) and (max-width:900px){.top-actions .button-label,.top-actions .theme-toggle::after{bottom:auto;top:calc(100% + 8px);transform:translate(-50%,-4px)}}@media (hover:none){.top-actions #helpBtn:hover,.top-actions #newGameBtn:hover,.top-actions .portal-link:hover,.top-actions .theme-toggle:hover{transform:none;box-shadow:var(--shadow)}}@media (prefers-reduced-motion:reduce){*,::after,::before{scroll-behavior:auto!important;animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}