.sound-toggle{background:var(--btn,#00000040);width:36px;min-width:36px;height:36px;color:var(--ink,#fff);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.sound-toggle svg{width:20px;height:20px}.sound-toggle[aria-pressed=true]{opacity:.7}.sound-toggle:focus-visible{outline:3px solid var(--focus,#ffd54a);outline-offset:2px}:root{--lamp:radial-gradient(ellipse 70% 50% at 50% 42%, #fffae121, transparent 70%);--vignette:radial-gradient(ellipse 120% 90% at 50% 45%, transparent 55%, #00000080);--ink:#f2f5ef;--btn:#ffffff1f;--btn-on:#ffd54a;--btn-on-ink:#2b2100;--focus:#ffd54a;--dialog:#fdfdfb;--dialog-ink:#16181a;--ivory-a:#fffdf6;--ivory-b:#ece2c8;--pip:#1d1a17;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--dialog:#1d2620;--dialog-ink:#eef3ee}}:root[data-theme=dark]{--dialog:#1d2620;--dialog-ink:#eef3ee}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--lamp), var(--vignette), var(--felt-texture,none), radial-gradient(ellipse 75% 60% at 50% 42%, #2f8a55, #145233 70%, #0b2e1c);color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font:14px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app.dm{grid-template-rows:auto auto auto 1fr auto auto auto;justify-items:center;gap:5px;height:100dvh;padding:12px 14px 14px;display:grid;box-shadow:inset 0 0 0 clamp(6px,1.6vw,12px) #4a2c14,inset 0 0 0 calc(clamp(6px,1.6vw,12px) + 2px) #00000073,inset 0 0 0 calc(clamp(6px,1.6vw,12px) + 3px) #ffdca01f}.dm-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.group{align-items:center;gap:3px;display:flex}.glabel{opacity:.8;margin-right:2px;font-size:12px}.btn{font:inherit;color:var(--ink);background:var(--btn);cursor:pointer;border:0;border-radius:9px;min-width:34px;min-height:34px;padding:7px 11px;box-shadow:inset 0 1px #ffffff1f,0 2px 6px #0000004d}.btn[aria-pressed=true]{background:var(--btn-on);color:var(--btn-on-ink);font-weight:700}.btn.primary{color:#2b1d00;background:#e0a526;font-weight:800}.btn:focus-visible,.tile:focus-visible,.slot:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sound-toggle{width:34px;height:34px}.dm-scores{flex-wrap:wrap;justify-content:center;gap:8px;font-size:13px;display:flex}.dm-scores .score{background:#00000040;border-radius:999px;gap:5px;padding:3px 9px;display:flex}.dm-scores .score.turn{box-shadow:0 0 0 2px var(--btn-on)}.dm-scores .target{opacity:.75;padding:3px 4px}.dm-opps{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;min-height:34px;display:flex}.opp,.boneyard{background:#00000038;border-radius:10px;align-items:center;gap:6px;padding:4px 9px;font-size:12px;display:flex}.opp.turn{box-shadow:0 0 0 2px var(--btn-on)}.opp .backs{gap:2px;display:flex}.opp .backs i{background:linear-gradient(160deg,#3b2a1a,#1d130b);border-radius:2px;width:9px;height:17px;box-shadow:inset 0 0 0 1px #fff3}.boneyard b{font-size:15px}.dm-table{background:radial-gradient(at 50% 40%,#ffffff14,#0000 70%);border-radius:16px;width:100%;min-height:0;box-shadow:inset 0 0 0 2px #ffffff0f,inset 0 10px 30px #00000040}.dm-chain{--cell:26px;width:100%;height:100%;position:relative}.dm-empty{opacity:.8;text-align:center;place-items:center;margin:0;padding:0 20px;display:grid;position:absolute;inset:0}.dm-chain .tile{position:absolute}.dm-chain .tile.h{width:calc(var(--cell) * 2);height:var(--cell)}.dm-chain .tile.v{width:var(--cell);height:calc(var(--cell) * 2)}.dm-chain .tile.new{animation:.35s ease-out dm-drop}@keyframes dm-drop{0%{opacity:0;filter:drop-shadow(0 12px 10px #00000080);transform:scale(1.35)}}.slot{cursor:pointer;background:#ffd54a40;border:2px dashed #ffd54a;border-radius:6px;padding:0;animation:.8s ease-in-out infinite alternate dm-pulse;position:absolute}.slot.h{width:calc(var(--cell) * 2);height:var(--cell)}.slot.v{width:var(--cell);height:calc(var(--cell) * 2)}@keyframes dm-pulse{to{background:#ffd54a8c}}.tile{font:inherit;color:inherit;background:var(--domino-v,linear-gradient(160deg, var(--ivory-a), var(--ivory-b))) center / 100% 100% no-repeat;border:0;border-radius:12%/6%;padding:0;display:flex;position:relative;box-shadow:0 1px #c9b98f,0 2px #a8956a,0 5px 9px #0000006b}.tile.v{border-radius:14%/7%;flex-direction:column}.tile.h{background-image:var(--domino-h,linear-gradient(160deg, var(--ivory-a), var(--ivory-b)));border-radius:7%/14%}.tile .half{flex:1;grid-template:repeat(3,1fr)/repeat(3,1fr);place-items:center;padding:8%;display:grid}.tile.v .half+.half{border-top:1.5px solid #3c2d1973}.tile.h .half+.half{border-left:1.5px solid #3c2d1973}.tile.v .half{padding:10% 12%}.tile .pip{aspect-ratio:1;background:radial-gradient(circle at 60% 65%, #4a4540, var(--pip) 70%);border-radius:50%;width:74%;box-shadow:inset 0 1px 1.5px #000000b3,0 .5px #fffc}.tile:after{content:"";aspect-ratio:1;background:radial-gradient(circle at 35% 35%,#ffe9a8,#a77a1e);border-radius:50%;width:9%;position:absolute;top:50%;left:50%;translate:-50% -50%}.tile.v:after{width:16%}.dm-actions{gap:8px;min-height:0;display:flex}.dm-actions:empty{display:none}.dm-status{text-align:center;text-shadow:0 1px 2px #0009;min-height:1.3em;margin:0;font-weight:700}.dm-hand{--tw:min(46px, calc((100vw - 40px) / 8));flex-wrap:wrap;justify-content:center;gap:6px;max-width:100%;padding:2px 4px 6px;display:flex}.dm-hand .tile{width:var(--tw);height:calc(var(--tw) * 2);cursor:pointer;background-image:var(--domino-hand,linear-gradient(160deg, var(--ivory-a), var(--ivory-b)));padding-bottom:calc(var(--tw) * .13);transition:transform .15s;box-shadow:0 4px 8px #0000006b}.dm-hand .tile:after{top:46.7%}.dm-hand .tile:not(.playable){filter:brightness(.72)saturate(.7)}.dm-hand .tile.playable{box-shadow:0 0 0 2px #ffd54acc,0 6px 12px #00000073}.dm-hand .tile.picked{transform:translateY(-10px);box-shadow:0 0 0 3px #ffd54a,0 10px 18px #00000080}.overlay{z-index:20;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.overlay[hidden]{display:none}.overlay.later{animation:.9s step-end both dm-later}@keyframes dm-later{0%{visibility:hidden}}.dialog{background:var(--dialog);color:var(--dialog-ink);text-align:center;border-radius:14px;flex-direction:column;gap:10px;width:100%;max-width:380px;max-height:92dvh;padding:18px 20px;display:flex;overflow:auto;box-shadow:0 10px 40px #00000073}.dialog h2{margin:0;font-size:19px}.dialog p{margin:0}.sum{border-collapse:collapse;width:100%;font-size:14px}.sum th,.sum td{text-align:left;padding:4px 6px}.sum td{text-align:right;font-variant-numeric:tabular-nums}.sum tr.win th,.sum tr.win td{color:#1f8a4c;font-weight:800}.sum tr.tilesrow td{text-align:left;padding-top:0}.sum .tiles{flex-wrap:wrap;gap:3px;display:flex}.sum .tiles .tile{width:34px;height:17px}.sum .tiles .tile:after{width:10%}@media (max-height:520px) and (min-aspect-ratio:1){#app.dm{grid-template:"bar bar""scores opps""table table"1fr"status status""hand hand"/1fr auto;gap:3px 8px;padding:4px 8px}.dm-bar{grid-area:bar}.dm-scores{grid-area:scores;justify-self:start}.dm-opps{grid-area:opps;justify-self:end;min-height:0}.dm-table{grid-area:table;height:100%}.dm-status{grid-area:status;font-size:12px}.dm-actions{grid-area:status;justify-self:end}.dm-hand{--tw:min(30px, calc((100vw - 40px) / 12));flex-wrap:nowrap;grid-area:hand}.btn{min-width:28px;min-height:28px;padding:4px 8px}.glabel{display:none}}@media (prefers-reduced-motion:reduce){.slot,.dm-chain .tile.new,.overlay.later{animation:none}}
