.app--dominoes{grid-template-rows:auto minmax(0,1fr) auto auto auto}:root{--dm-tile:#f2f5fb;--dm-tile-edge:#b9c6de;--dm-pip:#16233c;--dm-rail:#1b2a45;--dm-rail-edge:#e9f0ff17;--dm-half:22px}:root[data-theme=light]{--dm-tile:#fff;--dm-tile-edge:#9aa9c4;--dm-pip:#16233c;--dm-rail:#e3e9f4;--dm-rail-edge:#16233c1a}.board{min-height:0;padding:2px 8px;overflow:hidden}.dm-frame{flex-direction:column;gap:6px;height:100%;min-height:0;display:flex}.board.is-loading .dm-frame{visibility:hidden}.dm-tile{grid-template-columns:var(--dm-half) var(--dm-half);background:var(--dm-tile);border:1px solid var(--dm-tile-edge);border-radius:4px;flex:none;display:inline-grid}.dm-half:first-child{box-shadow:inset -1px 0 0 var(--dm-tile-edge)}.dm-tile--double{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.dm-tile--double .dm-half:first-child{box-shadow:inset -1px 0 0 var(--accent)}.dm-half{width:var(--dm-half);height:var(--dm-half);padding:calc(var(--dm-half) * .14);gap:calc(var(--dm-half) * .04);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);display:grid}.dm-half i{width:calc(var(--dm-half) * .2);height:calc(var(--dm-half) * .2);background:var(--dm-pip);border-radius:50%;place-self:center}.dm-engine{justify-content:center;align-items:center;gap:10px;padding:4px 2px 2px;display:flex}.dm-engine-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);text-align:right;flex:1 0 0;font-size:.68rem;font-weight:700}.dm-engine-label--right{text-align:left;text-transform:none;letter-spacing:0}.dm-trains{flex-direction:column;flex:auto;justify-content:center;gap:8px;min-height:0;padding-bottom:2px;display:flex;overflow-y:auto}.dm-train{border:1px solid var(--dm-rail-edge);background:var(--dm-rail);text-align:left;min-height:52px;max-height:96px;color:var(--text);border-radius:12px;flex:auto;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:8px;padding:6px 8px;transition:border-color .14s,background .14s;display:grid}.dm-train b{font-size:.78rem;font-weight:700;line-height:1.15;display:block}.dm-train-note{color:var(--text-dim);font-size:.64rem;display:block}.dm-train.is-mine{border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.dm-train.is-open{background:color-mix(in srgb, var(--accent) 10%, var(--dm-rail))}.dm-train.is-open .dm-train-note{color:var(--accent);font-weight:700}.dm-train.is-target{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 22%, var(--dm-rail))}.dm-train.is-target:active{background:color-mix(in srgb, var(--accent) 34%, var(--dm-rail))}.dm-train.is-pending{border-color:var(--danger)}.dm-train:disabled{cursor:default}.dm-train-line{flex-direction:row-reverse;justify-content:flex-start;align-items:center;min-width:0;display:flex;overflow:hidden}.dm-empty{color:var(--text-dim);font-size:.7rem}.dm-status{text-align:center;color:var(--text-dim);min-height:1.4em;padding:4px 16px 0;font-size:.84rem;font-weight:600}.dm-status.is-alert{color:var(--danger)}.dm-tray{align-content:center;min-height:128px;padding:6px 10px 0;display:grid;position:relative}.dm-hand{--dm-half:28px;flex-wrap:wrap;place-content:flex-start center;gap:6px;display:flex}.dm-pick{opacity:.62;background:0 0;border:0;border-radius:5px;padding:0;transition:opacity .14s,transform .12s}.dm-pick.can-play{opacity:1}.dm-pick.is-selected{transform:translateY(-5px)}.dm-pick.is-selected .dm-tile{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent), 0 5px 12px var(--shadow)}.dm-pick:disabled{cursor:default}.dm-curtain{background:var(--bg);z-index:4;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px 22px;display:flex;position:absolute;inset:0}.dm-curtain[hidden]{display:none}.dm-curtain-name{font-size:1.05rem;font-weight:800}.dm-curtain-line{color:var(--text-dim);text-align:center;margin:0 0 4px;font-size:.78rem}.dm-scores{grid-template-columns:1fr auto auto;align-items:center;gap:4px 14px;margin:6px 0 14px;font-size:.9rem;display:grid}.dm-scores span{color:var(--text-dim);font-variant-numeric:tabular-nums}.dm-scores b{font-weight:700}.dm-scores .is-leader{color:var(--accent)}.dm-scores-head{letter-spacing:.07em;text-transform:uppercase;font-size:.66rem}@media (max-height:680px){:root{--dm-half:18px}.dm-hand{--dm-half:23px}.dm-tray{min-height:112px}}
