.state-frame:has(>:is(.domino,.mahjong,.bg-table,.dice-table)){padding:0}:is(.state-frame,.board-frame):has(>:is(.domino,.mahjong,.bg-table,.dice-table)){container-type:size}:is(.domino,.mahjong,.bg-table,.dice-table){--game-accent:#ef7180;--game-accent-soft:#ef718026;--game-ink:#f2ede5;--game-muted:#b8c4d0;--game-border:#69798952;--game-panel:#202931;--game-ivory:#f7eddc;--game-dark:#18242f;--accent:#c73748;--accent-text:#ffb5c0;--focus:#ffcfcb;color:var(--game-ink);border-radius:var(--radius-frame);background:url(/appearance/felt-weave.svg) 0 0/128px 128px,radial-gradient(ellipse at 42% 25%,#344957 0,#202e38 62%,#19252e 100%);box-shadow:inset 0 0 0 1px #aeb9c62b,inset 0 0 0 5px #10172040;overflow:hidden;font-family:inherit}:is(.domino,.mahjong,.bg-table,.dice-table) .btn{min-height:0;height:clamp(25px,8cqmin,36px);padding:0 clamp(6px,2cqmin,14px);border:1px solid #72818f66;border-radius:8px;background:#2e3a45;color:var(--game-ink);font-size:clamp(9px,2.7cqmin,13px);line-height:1.15;font-weight:650;box-shadow:inset 0 1px #ffffff0d}:is(.domino,.mahjong,.bg-table,.dice-table) :is(.btn-accent,.btn[data-variant=primary]){background:linear-gradient(135deg,#ce4454,#9e3043);border-color:#f18c9673;color:#fff5f1}:is(.domino,.mahjong,.bg-table,.dice-table) .btn:disabled{opacity:.48;cursor:default}:is(.domino,.mahjong,.bg-table,.dice-table) button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}:is(.domino,.mahjong){background:radial-gradient(ellipse at 50% 35%,#347559 0,#2a6049 60%,#214f3c 100%);box-shadow:inset 0 0 0 1px #a9cbb12b,inset 0 0 0 5px #0f2a1f40}.domino-seats{padding-bottom:3px}.domino-seat{flex:1 1;justify-content:center;gap:2px}.domino-chain-frame{border-color:#a9cbb13d;background:#0f2a1f29}.domino-tile{position:relative;background:#faf6ec;box-shadow:inset 0 0 0 1px #b2a893,1px 2px 0 #bdb4a1,0 2px 4px #07101966}.domino-tile:after{content:"";position:absolute;left:50%;top:50%;width:calc(var(--tile-w) * .16);height:calc(var(--tile-w) * .16);border-radius:50%;background:#b99a4c;transform:translate(-50%,-50%);pointer-events:none}.domino-pip[data-on=true]{background:#1d1f24;box-shadow:none}.domino-half+.domino-half{box-shadow:inset 1px 0 #9c927d}.domino .domino-hand .domino-half+.domino-half{box-shadow:inset 0 1px #9c927d}.domino-tile[data-face=down]{background:#26343c;box-shadow:inset 0 0 0 1px #101518,inset 0 0 0 calc(var(--tile-w) * .1) #26343c,inset 0 0 0 calc(var(--tile-w) * .1 + 1px) #3b4c56,1px 2px 0 #12181c,0 2px 4px #07101966}.domino-card[data-asking=true] .domino-tile{outline:2px solid var(--game-accent);outline-offset:-1px}.domino-card[data-playable=false] .domino-tile{opacity:.62}.domino-mine{padding-top:3px}.mahjong-state{color:#d6e0e5}.domino-hand{--hand-gap:clamp(3px,1cqmin,6px);--per-row:min(var(--n,7),10);--tile-w:min(clamp(26px,calc((100cqw - 6cqmin) * .077),78px),calc((100cqw - 24px - (var(--per-row) - 1) * var(--hand-gap)) / var(--per-row)));width:calc(var(--per-row) * (var(--tile-w) + var(--hand-gap)) + 1px);max-width:100%;justify-self:center;flex-wrap:wrap;max-height:none;overflow:visible;gap:var(--hand-gap);padding-block:3px}.domino-sbx-stack{display:grid}.domino-sbx-stack>span{grid-area:1/1}.mahjong-tile{background:#f6f3ed;box-shadow:inset 0 0 0 1px #dcd5c8,1px 2px 0 #cbc3b5,0 3px 4px #07101966;overflow:visible}.mahjong-tile-art{display:block;width:100%;height:100%}.mahjong-tile[data-face=down]{background:#e0a526;box-shadow:inset 0 0 0 1px #b07a12,inset 0 0 0 calc(var(--tile-h) * .08) #e0a526,inset 0 0 0 calc(var(--tile-h) * .08 + 1px) #f2c867,1px 2px 0 #b07a12,0 3px 4px #07101966}.bg-table{--bg-actions-height:clamp(32px,10cqmin,40px);--bg-message-height:clamp(28px,8cqmin,36px);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:clamp(26px,7cqmin,34px) minmax(0,1fr) calc(var(--bg-actions-height) + var(--bg-message-height) + 4px);grid-gap:6px;gap:6px;padding:8px}.bg-status{grid-column:1;justify-content:space-between;gap:6px;font-size:clamp(10px,2.6cqmin,13px);color:var(--game-muted)}.bg-cube{min-width:26px;height:26px;border-radius:6px;border-color:#e0c49d66;color:#f0d5ae;background:#2c3640}.bg-board{position:relative;grid-template-columns:6% minmax(0,1fr) 6%;grid-template-rows:minmax(0,1fr) clamp(30px,8cqmin,44px) minmax(0,1fr);gap:0;padding:5px;border-radius:10px;background:#2f5e45;box-shadow:0 6px 16px #0b111d66}.bg-row{grid-column:2;grid-template-columns:repeat(6,minmax(0,1fr)) 7% repeat(6,minmax(0,1fr));gap:1px}.bg-row[data-half=top]{grid-row:1}.bg-row[data-half=bottom]{grid-row:3}.bg-point:nth-child(7){grid-column:8}.bg-point{--point-fill:#e9dcc0}.bg-point[data-parity="1"]{--point-fill:#a8452e}.bg-point:before,.bg-point[data-parity="1"]:before,.bg-point[data-playable=true]:before{background:var(--point-fill);opacity:1;box-shadow:none}.bg-point[data-playable=true]:after{content:"";position:absolute;inset:1px;border:1px dashed #ffbac59c;border-radius:4px;pointer-events:none}.bg-point:is([data-selected=true],[data-last=true]):after{content:"";position:absolute;inset:1px;border:2px solid #ffd0c6;border-radius:4px;background:#ef718029;pointer-events:none}.bg-point[data-selected=true] .bg-checker{outline:2px solid #ffe6b5;outline-offset:-2px}.bg-point-label{position:absolute;bottom:1px;left:50%;transform:translateX(-50%);min-width:1.6em;padding:1px 2px;border-radius:2px;background:#203038;font-size:clamp(7px,2cqmin,10px);line-height:1.15;text-align:center;color:#efeadc;pointer-events:none}.bg-row[data-half=bottom] .bg-point-label{bottom:auto;top:1px}.bg-stack{padding:0;gap:0}.bg-row[data-half=bottom] .bg-stack{align-self:end}.bg-checker{width:min(100%,42px);height:auto;aspect-ratio:1;font-size:clamp(8px,2.4cqmin,11px)}.bg-checker[data-owner="0"]{background:radial-gradient(circle closest-side,#8f4a34 0 25%,#6b2f1f 26% 64%,#8f4a34 65% 75%,#6b2f1f 76%);border:1.5px solid #2c120b;box-shadow:0 2px 0 #2c120b,0 3px 4px #0006;color:#f3e3cf}.bg-checker[data-owner="1"]{background:radial-gradient(circle closest-side,#d7cab0 0 25%,#efe6d2 26% 64%,#d7cab0 65% 75%,#efe6d2 76%);border:1.5px solid #8c7b5c;box-shadow:0 2px 0 #8c7b5c,0 3px 4px #0006;color:#3a2a1a}.bg-row[data-half=top] .bg-checker+.bg-checker{margin-top:-32%}.bg-row[data-half=bottom] .bg-checker+.bg-checker{margin-bottom:-32%}.bg-bar{position:absolute;inset:5px 47%;padding:3px;gap:8px;grid-template-columns:1fr;grid-template-rows:1fr 1fr;background:#5b3a22;border-radius:3px;box-shadow:none}.bg-bar-side{flex-direction:column;min-height:0;gap:0}.bg-bar .bg-checker+.bg-checker{margin-top:-25%}.bg-side{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--bg-actions-height) minmax(0,1fr);min-width:0;min-height:0;grid-gap:4px;gap:4px;align-items:start;font-size:clamp(8px,2.6cqmin,12px)}.bg-side .bg-actions{grid-area:1/1}.bg-side .bg-last{grid-area:2/1;align-self:center}.bg-dice{min-height:26px;justify-content:end;gap:4px}.bg-board>.bg-dice{position:absolute;left:54%;right:8%;top:50%;height:clamp(22px,6cqmin,32px);transform:translateY(-50%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;min-height:0;z-index:2}.bg-board .bg-die{width:clamp(22px,6cqmin,32px);height:clamp(22px,6cqmin,32px)}.bg-die{width:clamp(24px,7cqmin,34px);height:clamp(24px,7cqmin,34px);padding:3px}.bg-last{font-size:clamp(8px,2.6cqmin,12px);color:var(--game-muted)}.bg-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:5px;gap:5px;width:min(100%,405px);justify-self:center}.bg-actions:empty{display:none}.bg-actions .btn{width:100%;min-width:0;height:var(--bg-actions-height);white-space:normal}.bg-actions .btn:only-child{grid-column:1/-1;justify-self:center;max-width:200px}.bg-actions[data-stack]>.sbx-row{grid-area:1/1/2/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:5px;gap:5px}.bg-last[data-stack]{display:grid}.bg-last[data-stack]>span{grid-area:1/1}.bg-last{grid-column:1/-1;text-align:center;margin:0;line-height:1.25;overflow-wrap:anywhere}.bg-off-tray{position:absolute;inset-block:6px;width:5%;display:flex;flex-direction:column;gap:4px;align-items:center;padding:3px 2px;border:1px solid #1d3d2b;border-radius:3px;background:#24472f}.bg-off-tray[data-owner="0"]{left:5px;flex-direction:column-reverse}.bg-off-tray[data-owner="1"]{right:5px}.bg-off-pieces{width:100%;display:flex;flex-direction:column;gap:1px}.bg-off-piece{width:100%;height:clamp(3px,1.2cqmin,6px);border-radius:2px;background:#6b2f1f;box-shadow:inset 0 -2px #2c120b}.bg-off-tray[data-owner="1"] .bg-off-piece{background:#efe6d2;box-shadow:inset 0 -2px #8c7b5c}.bg-off-total{color:#ddddd0;font-size:clamp(8px,2.4cqmin,12px);line-height:1}.bg-point[data-target=true]{cursor:pointer}.bg-target{flex:0 0 auto;width:min(100%,42px);max-width:min(6.5cqmin,34px);aspect-ratio:1;display:grid;place-items:center}.bg-target:before{content:"";width:38%;aspect-ratio:1;border-radius:50%;background:#ef5b66;box-shadow:0 0 0 3px rgb(239 91 102/30%),0 1px 3px #0007}.bg-row[data-half=top] .bg-checker+.bg-target{margin-top:-32%}.bg-row[data-half=bottom] .bg-checker+.bg-target{margin-bottom:-32%}.bg-off-tray[data-target]{cursor:pointer;border-color:#ef5b66;box-shadow:0 0 0 2px rgb(239 91 102/45%),inset 0 0 12px rgb(239 91 102/30%)}.bg-pip-count{color:#ddddd0;opacity:.75;font-size:clamp(7px,2cqmin,11px);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bg-bar-side[data-selected=true]{outline:2px solid #ffd0c6;outline-offset:-2px}.game-die-face{width:100%;height:100%;display:block}.game-die-ace{fill:#c1272d}.bg-die,.dice-die{background:#fbf8f1;border:1.5px solid #b8ae99;color:#1d1f24;border-radius:18%;box-shadow:2px 3px 0 #c9c1b0,0 3px 6px #0c121a66}.dice-table{--dice-tray-width:clamp(84px,22cqmin,200px);display:grid;grid-template-columns:minmax(0,1fr) var(--dice-tray-width);grid-template-rows:minmax(0,1fr);grid-gap:0;gap:0;padding:0;background:#fbf7ee;box-shadow:none}.dice-table>.dice-roll{grid-column:2;grid-row:1}.dice-table>.dice-sheets{grid-column:1;grid-row:1}.dice-roll{display:grid;grid-template-rows:auto auto 2.3em;justify-items:center;align-content:center;grid-gap:clamp(8px,2.4cqmin,14px);gap:clamp(8px,2.4cqmin,14px);min-width:0;padding:6px 5px;border:0;border-left:4px solid #b9ad97;border-radius:0;background:none;color:#6b6255;font-size:clamp(8px,2.4cqmin,12px);text-align:center}.dice-roll .dice-row{grid-row:1}.dice-roll .dice-controls{grid-row:2}.dice-row{flex-direction:column;gap:clamp(7px,2cqmin,12px);flex-wrap:nowrap}.dice-die{width:clamp(28px,10cqmin,84px);height:clamp(28px,10cqmin,84px);padding:clamp(3px,.5cqmin,5px)}.dice-die[data-held=true]{border-color:#ffb7c1;outline:2px solid var(--game-accent);outline-offset:1px;transform:translateX(-3px) rotate(var(--tilt,0deg))}.dice-die{transform:rotate(var(--tilt,0deg));transition:transform .18s ease-out}.dice-die[data-rolling]{animation:dice-tumble .54s cubic-bezier(.2,.7,.3,1)}@keyframes dice-tumble{0%{transform:translateX(-10%) rotate(calc(var(--tilt, 0deg) - 220deg)) scale(.82)}45%{transform:translateX(6%) rotate(calc(var(--tilt, 0deg) + 40deg)) scale(1.06)}75%{transform:translateX(-2%) rotate(calc(var(--tilt, 0deg) - 8deg)) scale(.98)}to{transform:rotate(var(--tilt,0deg)) scale(1)}}@media (prefers-reduced-motion:reduce){.dice-die{transition:none}.dice-die[data-rolling]{animation:none}}.bg-die,.dice-die{position:relative}.bg-die[data-used=true]:after,.dice-die[data-held=true]:after{content:"✓";position:absolute;right:-3px;bottom:-3px;display:grid;place-items:center;width:12px;height:12px;border-radius:3px;background:#9e3043;color:#fff6ed;font:700 10px/1 sans-serif;box-shadow:0 0 0 1px #ffc4c8;pointer-events:none}.bg-die[data-used=true]{opacity:.55}.dice-die-empty{background:#0000000a;border:1px dashed #b9ad97;box-shadow:none}.dice-controls{display:grid;grid-template-columns:minmax(0,1fr);justify-items:stretch;width:100%;grid-gap:6px;gap:6px}.dice-controls .btn{height:clamp(23px,7cqmin,44px);padding-inline:4px;font-size:clamp(9px,2.4cqmin,16px);white-space:nowrap}.dice-rolls-left{font-size:clamp(8px,2.4cqmin,16px);line-height:1.15;color:#6b6255}.dice-rolls-left[data-done=true]{color:#b3262f}.dice-sbx-stack{display:grid;min-width:0}.dice-sbx-stack>*{grid-area:1/1;min-width:0}.dice-sbx-stack>[data-done=true]{color:#b3262f}.dice-sbx-stack>[data-hidden]{visibility:hidden}.dice-sheets{min-height:0;overflow:hidden;padding:2px 6px 6px;border:0;border-radius:0;background:none}.dice-sheet{--dice-row:calc((100cqh - 10px) / var(--dice-rows, 16));--dice-font:clamp(9px,2.55cqmin,22px);display:grid;grid-template-columns:max-content repeat(var(--dice-seats,2),minmax(0,1fr));grid-auto-rows:var(--dice-row);width:100%;height:auto;font-size:var(--dice-font)}.dice-sheet :is(thead,tbody,tr){display:contents}.dice-sheet :is(th,td){display:block;min-width:0;padding:0 4px;font-size:inherit;line-height:var(--dice-row);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:0}.dice-sheet thead th{font-size:clamp(9px,2.9cqmin,24px);font-weight:700;letter-spacing:0;text-transform:none;color:#6b6255;box-shadow:inset 0 -2px #b9ad97}.dice-sheet:is([data-seats="3"],[data-seats="4"]) thead th{padding-inline:1px;font-size:clamp(8px,2.25cqmin,24px)}.dice-seat-turn{display:inline-block;width:.6em;font-size:1.3em;line-height:1;vertical-align:-.06em;text-align:left;color:var(--table-seat-color,var(--accent-text))}.dice-sheet tbody tr:nth-child(odd)>*{background:#f3ede0}.dice-sheet tbody tr>:first-child{border-radius:5px 0 0 5px}.dice-sheet tbody tr>:last-child{border-radius:0 5px 5px 0}.dice-sheet tbody tr[data-upper-end=true]>:is(th,td){border-bottom:0;box-shadow:inset 0 -2px #b9ad97;border-radius:0}.dice-sheet tbody th{color:#2b2e34;font-weight:500;text-align:left;text-overflow:clip}.dice-cat-die{display:inline-block;width:1.2em;height:1.2em;margin-right:.45em;padding:1px;vertical-align:-.25em;border-radius:3px;background:#fbf8f1;color:#1d1f24;box-shadow:0 0 0 1px #b8ae99,inset 0 -1px #c9c1b0}.dice-cat-die .game-die-face{display:block}@container (max-width: 330px){.dice-cat-die{display:none}.dice-sheet tbody th{font-size:.9em}.dice-sheet :is(th,td){padding:0 2px}}.dice-score{color:#2b2e34;font-weight:600}.dice-empty{color:#b9ad97}.dice-sheets .dice-sheet :is(th,td)[data-me=true]{background:#efe3c8}.dice-sheets .dice-sheet thead th[data-active=true]{color:#b3262f}.dice-sheet td:has(>.dice-pick){display:grid;place-items:center}.dice-sheet .dice-pick{display:block;width:100%;min-width:0;height:min(calc(var(--dice-row) - 6px),1.9em);padding:0 2px;border:1px solid #c1272d80;border-radius:4px;background:#c1272d14;color:#b3262f;font:inherit;font-weight:700;line-height:1}.dice-sheet .dice-pick[data-zero=true]{border-color:#b9ad9780;background:#efe8da;color:#8c8273}.dice-sheet .dice-pick:hover{background:#b33e53;color:#fff7e9}.dice-sheet tbody tr.dice-sum>:is(th,td){color:#6b6255}.dice-sheet tbody tr.dice-total>:is(th,td){background:#eee5d3;color:#2b2e34;font-size:1.12em;font-weight:700;box-shadow:inset 0 2px #b9ad97;border-radius:0}.dice-sheet :is(thead,tbody) tr>:not(:first-child){border-left:2px solid #b9ad97}.dice-to-bonus{font-size:.78em;color:#8c8273}.dice-bonus,.dice-place{margin-left:2px}.dice-place{font-size:.75em}@container (max-width: 330px){.dice-sheet tbody tr.dice-total>:is(th,td){font-size:1em}.dice-sheet td{padding-inline:1px}}@media (forced-colors:active){:is(.domino,.mahjong,.bg-table,.dice-table){background:Canvas;color:CanvasText}.game-die-face{color:CanvasText}.game-die-ace{fill:currentColor}}.dice-seat-tabs{display:flex;gap:3px;height:calc((100cqh - 10px) / var(--dice-rows, 16))}.dice-seat-tab{flex:1 1;min-width:0;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 4px;border:0;border-radius:6px 6px 0 0;background:#ece2cd;color:#6b6255;font:inherit;font-size:clamp(9px,2.5cqmin,18px);font-weight:700;cursor:pointer}.dice-seat-tab[aria-selected=true]{background:#fbf8f1;color:#2b2e34;box-shadow:inset 0 -2px #b3262f}.dice-seat-tab:not([aria-selected=true]):hover{background:#f3ede0}.dice-seat-tab-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dice-seat-tab .dice-seat-turn{width:auto}