/* ================= PLAY SHEET (themed per game) ================= */
.sheet{--bg:#fff;--fg:#111;--acc:#4AB0EC;--cell:#fff;--soft:#eee;--mark:#111;--oncell:#111;--err:#d1495b;
  position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;background:var(--bg);color:var(--fg);
  transform:translateY(100%);visibility:hidden;transition:transform .5s cubic-bezier(.2,.9,.25,1),visibility 0s .5s}
.sheet.open{transform:none;visibility:visible;transition:transform .5s cubic-bezier(.2,.9,.25,1)}
.sheet .bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.bar{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;font-size:14px;position:relative;z-index:2}
.bar .ttl{text-align:center}
.bar .ttl b{font-family:Fraunces,serif;font-size:21px;font-weight:500;display:block;line-height:1.1}
.bar .ttl span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.6}
.bar .tm{font-variant-numeric:tabular-nums;font-weight:700;min-width:56px;text-align:right}
.pill{padding:8px 13px;border-radius:20px;background:color-mix(in srgb,var(--fg) 8%,transparent);font-size:13px;font-weight:600}
.stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:6px 14px 22px;overflow:auto;position:relative;z-index:1}
.tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.rules{font-size:14px;line-height:1.55;max-width:420px;text-align:center;opacity:.75;display:none}
.rules.on{display:block}
.bw{width:min(94vw,470px,calc(100svh - 250px))}
