.turnbar{--tb-msg-lines:2;--tb-st-lines:2;--tb-rt:0px;--tb-st-rt:0px}
:root:lang(en) .turnbar{--tb-msg-lines:2;--tb-st-lines:2}
@media(min-width:641px){.turnbar,:root:lang(en) .turnbar{--tb-msg-lines:1;--tb-st-lines:1}}
.stage{max-width:720px;margin-inline:auto}
.scores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.score-card{border:1px solid var(--line);border-radius:6px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:6px;font-variant-numeric:tabular-nums}
.score-card.active{border:2px solid var(--accent);padding:7px 11px;background:var(--surface)}
.score-card strong{font-size:1.2rem}.score-card span{font-size:14px}
#table{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:12px;position:relative}
.turn-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}.turn-total strong{font-size:1.6rem;font-variant-numeric:tabular-nums}
.dice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:88px;align-content:start;gap:8px;max-width:384px;margin:auto;height:184px}
.die{border:2px solid transparent;background:none;border-radius:6px;padding:2px 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;min-height:88px;min-width:44px;color:var(--ink);font:inherit;touch-action:manipulation}
.die svg{width:60px;height:64px;filter:drop-shadow(0 2px 0 #0002)}
.die small{font-size:14px}.die[aria-pressed=true]{border-color:var(--accent);background:var(--surface)}
.die:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.die:disabled{cursor:default}.die:disabled svg{opacity:.8}
.die.rolling svg{animation:tumble .16s linear infinite alternate}
@keyframes tumble{to{transform:translateY(-5px) rotate(12deg)}}
@media(prefers-reduced-motion:reduce){.die.rolling svg{animation:none}}
.held{display:flex;align-items:center;gap:4px;min-height:44px;flex-wrap:wrap;margin-top:8px;font-size:14px}.held svg{width:24px;height:27px}
#selection-note{height:60px;line-height:28px;margin:4px 0 0;font-size:14px}
.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.actions .btn{padding:8px 4px;min-height:44px;font-size:17px;white-space:nowrap}
#next{grid-column:1/-1}.utility{justify-content:center;gap:8px;flex-wrap:wrap}.utility .btn{padding-inline:12px}
#result{padding:16px;border:2px solid var(--accent);border-radius:6px;background:var(--surface);margin-top:12px}
#result h2{margin:0 0 12px}.result-scores{margin:8px 0}.rule-mini{margin-top:16px}.rule-mini summary{min-height:44px;cursor:pointer}.rule-mini table{width:100%;font-size:14px}
.howto img{max-width:100%;height:auto}.custom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.custom-grid label{display:grid;gap:4px}.custom-grid select{min-height:44px;width:100%}
:root:lang(en) .article table{overflow-wrap:anywhere}
@media(max-width:480px){:root:lang(en) .article table{font-size:14px}:root:lang(en) .article table :is(th,td){padding-inline:4px}}
@media(max-width:480px){.stage{padding:8px}#table{padding:8px}.score-card{padding:6px 8px}.score-card.active{padding:5px 7px}.die{padding:2px 4px}.dice{height:172px;grid-auto-rows:82px}.die{min-height:82px}.die svg{width:54px;height:58px}.scores{margin-bottom:8px}.turn-total{margin-bottom:4px}.custom-grid{grid-template-columns:1fr}}
/* Quality UI: original dice and a clear separation of selected / unbanked / banked. */
.stage{max-width:700px}.scores{margin-bottom:12px}.score-card{display:grid;grid-template-columns:1fr auto;gap:2px 8px;background:var(--surface)}
.score-card span{font-size:16px}.score-card strong{font-size:26px}.score-card small{grid-column:1/-1;font-size:14px;color:var(--ink-sub)}
.score-card progress{grid-column:1/-1;width:100%;height:7px;accent-color:var(--accent)}
#table{padding:12px;background:var(--surface);border-color:var(--line-strong)}
.turn-total{padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--bg);margin:0}.turn-total span{font-size:16px;font-weight:600}.turn-total small{display:block;font-size:14px;color:var(--ink-sub)}.turn-total strong{font-size:32px}
.bank-readiness{padding:8px 4px;font-size:16px;min-height:62px}.bank-readiness .ready{color:var(--ok);font-weight:600}#bank-progress{width:100%;height:10px;accent-color:var(--accent)}
.tray{padding:12px 8px;background:#254e42 url('assets/dice/felt.webp') repeat;border-radius:6px;color:#fff}.tray h2{font-size:16px;margin:0 0 6px;font-weight:600;text-align:center}
.dice{max-width:450px;height:256px;grid-auto-rows:124px;gap:8px;align-content:start}.die{min-height:124px;background:transparent;color:#fff;position:relative;padding:0 4px;border:2px solid transparent;gap:0;line-height:1.25}
.die .die-art{display:block;width:78px;height:78px;object-fit:contain;filter:drop-shadow(0 2px 0 #0003);pointer-events:none}.face-value{position:absolute;top:52px;right:8px;font-size:16px;min-width:25px;line-height:25px;border:1px solid #aaa;border-radius:6px;background:#faf8ef;color:#1f2328;font-weight:700;text-align:center}
.die-badge{display:block;font-size:14px;line-height:18px;min-height:36px;max-width:100%;text-align:center}.key-number{position:absolute;left:3px;top:2px;color:#fff;font-size:12px}
.die.scoring:not([aria-pressed=true]){border-color:#b5d1c6}.die[aria-pressed=true]{border-color:#fff;background:#f8f5dd;color:#1f2328;transform:translateY(-2px)}.die[aria-pressed=true] .key-number{color:#1f2328}.die:focus-visible{outline-color:#fff;outline-offset:2px}.die:disabled{opacity:1}.dice.decided .die{border-color:transparent}.dice.decided .die-badge{opacity:.85}.dice.waiting .die-art{opacity:.6}.die.rolling .die-art{animation:tumble .16s linear infinite alternate}
.groups{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:8px}.group-choice{border:1px solid #fff;border-radius:6px;background:#faf8ef;color:#1f2328;min-height:44px;font:inherit;font-size:16px;padding:4px 10px;touch-action:manipulation;cursor:pointer}.group-choice strong{display:block;font-size:16px}.group-choice:disabled{cursor:default}.group-choice:focus-visible{outline:3px solid #fff;outline-offset:2px}
.held{display:flex;align-items:center;justify-content:space-between;padding:6px 0;gap:8px;min-height:58px;margin-top:4px}.held-title{font-size:14px;flex:0 0 85px}.held-dice{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;min-height:44px;align-items:center}.held-empty{font-size:14px;color:var(--ink-sub)}.held-die{display:inline-flex;position:relative;min-width:32px}.held-die img{width:34px;height:34px;object-fit:contain}.held-die b{font-size:12px;align-self:end}.selection{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:52px;border-block:1px solid var(--line);padding-block:4px;font-size:16px}.selection strong{font-size:26px;margin-left:8px}.selection.invalid strong{color:var(--ng)}.selection .btn{min-height:44px;padding:8px 12px}
#selection-note{font-size:16px;line-height:24px;min-height:48px;height:auto;margin:6px 0}.actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px}.actions .btn{font-size:17px;white-space:normal;padding:8px;min-height:48px}.actions button:only-child{grid-column:1/-1}#keep,#next{grid-column:1/-1}#bank{grid-column:2;grid-row:1}#roll{grid-column:1;grid-row:1}#roll:not([hidden]):last-child{grid-column:1/-1}.undo{margin-top:8px;min-height:44px;font-size:16px}#final{font-size:14px;color:var(--ink-sub);margin-top:8px;text-align:center}
.extras{margin-top:12px}.extras summary,.rule-mini summary{min-height:44px;cursor:pointer;padding:8px 0}.utility{justify-content:flex-start}.custom-grid select,.setup-section select,.setup-modal select{font:inherit;font-size:16px;min-height:44px;padding:8px 32px 8px 10px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);width:100%}
.die-flight{position:fixed;pointer-events:none;z-index:60;transform-origin:top left}.die-flight img{width:100%;height:100%;object-fit:contain}.article figcaption{font-size:16px;line-height:1.6}.article .howto img{width:100%;height:auto;max-width:640px}
@media(max-width:480px){.stage{padding:8px}#table{padding:8px}.dice{height:246px;grid-auto-rows:119px}.die{min-height:119px;padding:0 2px}.die .die-art{width:70px;height:70px}.face-value{top:46px;right:4px}.scores{margin-bottom:8px}.score-card span{font-size:14px}.score-card strong{font-size:24px}.tray{padding:8px 4px}.held-title{flex-basis:76px}.held-die img{width:30px;height:30px}.bank-readiness{min-height:66px}.actions .btn{font-size:16px}.turn-total{padding:6px 8px}}
@media(prefers-reduced-motion:reduce){.die.rolling .die-art{animation:none}.die[aria-pressed=true]{transform:none}}
.actions:has(#bank[hidden]) #roll:not([hidden]){grid-column:1/-1}
.scores.banked .score-card.active strong{animation:score-arrive .22s ease-out}.turn-total{min-height:74px}
@keyframes score-arrive{from{transform:translateY(5px);opacity:.4}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.scores.banked .score-card.active strong{animation:none}}
