/* No.93: reserve the longest in-game instruction before the first shot. */
.turnbar{--tb-msg-lines:3;--tb-st-lines:2;--tb-rt:0px;--tb-st-rt:0px}
:root:lang(en) .turnbar{--tb-msg-lines:4}
@media(min-width:641px){.turnbar{--tb-msg-lines:2;--tb-st-lines:1}:root:lang(en) .turnbar{--tb-msg-lines:2}}
/* Game frame uses the site's tokens; only the physical board has its own colours. */
.board-wrap{position:relative;max-width:520px;margin:0 auto}#cv{display:block;width:100%;height:auto;aspect-ratio:1;touch-action:none;user-select:none;-webkit-user-select:none}
.scoreline{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-weight:700;font-size:16px;margin:8px 0}.twenties{font-size:14px;color:var(--ink-sub);margin:4px 0 8px}
#status{border-left:5px solid var(--accent);padding-left:8px}.aim-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:8px auto 12px;max-width:560px}.aim-controls label{font-size:14px;min-width:0}.aim-controls input{display:block;width:100%;height:44px;margin:0;accent-color:var(--accent)}.aim-controls output{display:block;font-weight:600;min-height:20px}.play-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:8px 0}.play-buttons .btn{min-width:70px;min-height:44px}#shoot{min-width:100px}
.round-panel,.result-panel{padding:16px;border:1px solid var(--line);border-radius:6px;margin-top:16px}.round-panel h2,.result-panel h2{font-size:20px;margin:0 0 8px}.round-panel p,.result-panel p{margin:8px 0}.article img{width:100%;height:auto;max-width:560px;display:block;margin:12px auto}.article figure{margin:16px 0}.article figcaption{font-size:14px;color:var(--ink-sub);text-align:center}.article table{width:100%;border-collapse:collapse;font-size:16px}.article th,.article td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere}.article a{overflow-wrap:anywhere}.source-links{font-size:14px}.rule-note{font-size:14px;color:var(--ink-sub)}
@media(max-width:480px){.aim-controls{gap:8px}.play-buttons .btn{font-size:16px;padding:10px 12px}.scoreline{font-size:15px}.stage{padding:12px}.article th,.article td{padding:8px 4px;font-size:15px}}

.players{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:520px;margin:8px auto}.player{display:grid;grid-template-columns:auto 1fr;gap:2px 6px;padding:8px;border:1px solid var(--line-strong);border-radius:6px;font-size:16px;min-width:0;background:var(--surface)}.player.active{border:3px solid var(--accent);padding:6px}.player .disc-symbol{grid-row:1/3;font-size:24px;align-self:center}.player small{grid-column:1/-1;font-size:13px;line-height:1.4}.p0{color:#2F6DB5}.p1{color:#C8453B}.player.active strong:before{content:'▶ ';font-size:12px}
.shot-rule{max-width:520px;margin:8px auto;min-height:44px;padding:6px 8px;border-left:4px solid #805d21;background:var(--surface);font-size:16px;line-height:1.4}.aim-note{margin:4px auto;max-width:520px;min-height:44px;text-align:center;font-size:16px;line-height:1.4}.power-readout{display:flex;align-items:center;justify-content:center;gap:8px;max-width:520px;margin:4px auto 8px;font-size:16px}.power-readout meter{width:140px;height:20px;accent-color:var(--accent)}
.primary{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0}.primary .btn{min-height:44px;min-width:80px;font-size:16px}.primary #shoot{min-width:104px}.last-shot{max-width:520px;margin:8px auto;padding:8px;border:1px solid var(--line);border-radius:6px;min-height:64px;font-size:16px;line-height:1.45}.last-shot[data-valid=false]{border-left:4px solid #A63632}.last-shot[data-valid=true]{border-left:4px solid var(--accent)}
#fine-controls,.utilities{max-width:560px;margin:8px auto}#fine-controls summary,.utilities summary{min-height:44px;padding:10px 4px;font-size:16px;cursor:pointer}.aim-controls label{font-size:16px}.aim-controls input{font-size:16px}.choice{font-size:16px;min-height:44px}.play-buttons .btn{font-size:16px;min-height:44px}input,select{font-size:16px;color:var(--ink);background:var(--surface)}.choice:focus-within,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.howto-shot{position:relative;max-width:480px;margin:auto}.howto-shot img{display:block;width:100%;height:auto;margin:0}.howto-shot svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.article figcaption{font-size:16px;text-align:left;max-width:480px;margin:8px auto}
@media(prefers-reduced-motion:reduce){.player,.primary .btn{transition:none!important}}
.shot-rule{height:62px;display:flex;align-items:center}.aim-note{height:52px;display:flex;align-items:center;justify-content:center}
.primary{display:grid;grid-template-columns:1.05fr 1.2fr 1fr}.primary .btn,.primary #shoot{min-width:0;padding:8px 6px}.primary button{width:100%}
@media(min-width:900px){.stage{max-width:900px}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}.play-layout .board-wrap{width:100%;max-width:440px}.players{max-width:none}.shot-controls .aim-controls{grid-template-columns:1fr}.shot-controls .aim-note{margin-top:0}.scoreline{margin-bottom:4px}}
.shot-controls.finished .primary,.shot-controls.finished .power-readout{display:none}.shot-controls.finished .aim-note{height:32px;min-height:32px}#cv:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.player small{min-height:36.4px}
