/* Per-game quality layer; common files and the replayable rules are unchanged. */
.stage{padding:8px}.table-wrap{border-radius:12px;padding:12px}
.round-meta{align-items:center;justify-content:space-between;font-size:15px}
.target-chip{border-color:var(--line-strong);padding:4px 10px;font-size:13px}
.target-strip{display:flex;align-items:center;gap:10px;margin-block:8px;font-weight:600}.target-die{width:36px;flex:0 0 36px}.target-die svg{display:block;width:100%;height:auto}#target-note{font-size:13px;color:var(--ink-sub);font-weight:400}
.players{gap:6px;margin-block:10px}
.player{border-radius:8px;padding:8px 5px;background:var(--surface);position:relative}
.player.active{border:1px solid var(--line);padding:8px 5px;outline:2px solid #a47527;outline-offset:-2px;background:#fff4d8}.player.active:before{content:'▼';position:absolute;top:-13px;left:0;right:0;color:#916010;font-size:12px}.player.winner{border:2px solid #a47527;background:#fff4d8}
.player-name{font-weight:600;display:block;white-space:nowrap}.player-score{display:flex;align-items:baseline;justify-content:center;gap:1px}.player-score b{font-size:28px;line-height:1.3}.player-score small{font-size:11px;line-height:1;color:var(--ink-sub)}
.score-track{display:block;height:5px;border-radius:3px;background:#dedbd2;overflow:hidden;margin:4px 0 6px}.score-track>span{height:100%;display:block;background:#ae7827;transition:width .22s ease-out}.player .record{font-size:11px;color:var(--ink-sub);line-height:1.6}
.dice-tray{background:#245b47 url('assets/dice/felt.webp') repeat;background-size:512px;border:2px solid #214d3a;border-radius:12px;margin-block:12px;padding:16px 8px;color:#fffdf1;min-height:285px}
.roller{font-size:15px;font-weight:600;min-height:22px}.dice-touch{width:100%;max-width:355px;border:0;padding:8px 4px 0;background:transparent;color:inherit;border-radius:12px;cursor:pointer;touch-action:manipulation}.dice-touch:disabled{opacity:1;cursor:default}.dice-touch:enabled:hover{background:#ffffff12}.dice-touch:focus-visible{outline:3px solid #ffe5a6;outline-offset:2px}
.dice-row{gap:10px;max-width:none;padding:0}.die{position:relative;display:flex;flex-direction:column;align-items:center;border:2px solid transparent;border-radius:12px;filter:none}.die.scored{border-color:#f3d073;background:#f3d07319}.die-picture{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;pointer-events:none}.face-value{font-size:16px;font-weight:600;border-radius:6px;background:#fffdf1;color:#283e32;padding:1px 8px;line-height:1.4}.face-score{font-size:16px;line-height:1.4;min-height:24px;color:#ffe5a6;font-weight:700}
.dice-row.rolling .face-value,.dice-row.rolling .face-score{visibility:hidden}
.roll-detail{font-size:20px;min-height:28px;font-weight:600;text-align:center;line-height:1.4}.roll-detail.bunco{color:#ffe5a6;font-size:24px}.next-hint{font-size:13px;min-height:20px;text-align:center;color:#e9eadf}
.primary-actions{display:flex;justify-content:center;width:100%;min-height:48px;margin-top:2px}.primary-actions .btn{min-height:48px;min-width:210px;max-width:100%;padding:10px 20px;background:#fff4d8;color:#283e32;border:1px solid #ffe5a6;font-size:17px}.primary-actions .btn:disabled{opacity:.5}
.extras{margin-top:6px;border-top:1px solid var(--line);padding-top:4px}.extras summary,#history summary{min-height:44px;padding:10px 4px;font-size:14px;cursor:pointer}.extras .controls{margin:4px 0}
#result{border:2px solid #a47527;background:#fff8e5;padding:16px;margin-top:12px;border-radius:10px}#result h2{font-size:24px}.record-table th,.record-table td{padding:8px}#stats{font-size:13px}
.setup-body select{appearance:none;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%2354483f' stroke-width='2'/%3E%3C/svg%3E") right 12px center/12px 8px no-repeat;border:1px solid var(--line-strong);border-radius:8px;padding:10px 36px 10px 12px;min-height:44px;font-size:16px;color:var(--ink);width:100%;box-sizing:border-box}.setup-body .field{display:block;min-width:0;margin-bottom:10px}.setup-body select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@keyframes score-pop{0%,100%{transform:scale(1)}45%{transform:scale(1.06)}}.score-pop{animation:score-pop .25s ease-out}
@media(prefers-reduced-motion:reduce){.dice-row.rolling .die,.score-pop{animation:none}.score-track>span{transition:none}}
@media(max-width:699px){.table-wrap{padding:10px}.dice-tray{min-height:265px;padding:12px 6px}.dice-row{gap:6px}.die-picture{max-height:105px}.roll-detail{font-size:18px}.primary-actions .btn{min-width:200px;font-size:16px}}
@media(max-width:380px){.stage{padding:4px}.table-wrap{padding:8px}.players{gap:4px}.player,.player.active{font-size:12px;padding:8px 3px}.player .record{font-size:10px}.player-score b{font-size:25px}.dice-row{gap:4px}#target-note{font-size:12px}.roll-detail{font-size:17px}.primary-actions .btn{min-width:190px}.target-strip{gap:8px}}
