:root{font-family:Arial,'Noto Sans JP','Yu Gothic',Meiryo,sans-serif;color:#17354b;background:#f3f8fc;font-synthesis:none;color-scheme:light;--ink:#17354b;--muted:#5d7486;--line:#d9e5ef;--panel:#fff;--soft:#f0f6fc;--accent:#196ac7;--tint:#edf5ff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#deefff,transparent 760px);min-width:300px}button,select{font:inherit;color:inherit}button{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:40px;padding:7px 11px;font-weight:700;cursor:pointer;touch-action:manipulation}button:hover:not(:disabled){border-color:var(--accent);background:var(--tint)}button:disabled{opacity:.42;cursor:default}button:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:3px solid #e5a21d;outline-offset:2px}a{color:#1768c5}header{max-width:1420px;margin:auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:#142e47;font-size:15px;font-weight:600;white-space:nowrap}.brand em{font-style:normal;color:#1261fa}.brand img{flex-shrink:0;border-radius:6px}nav{display:flex;gap:18px;flex-wrap:wrap}nav a{font-size:14px;text-decoration:none;color:var(--muted)}main{max-width:1380px;margin:6px auto 0;padding:0 20px}.pagebar{display:flex;justify-content:space-between;align-items:center;gap:8px}h1{font-size:24px;margin:0}h2{font-size:16px;margin:0}.rulebadge{font-size:12px;color:var(--muted)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0}.mode,.segmented{display:flex;gap:3px;border:1px solid var(--line);border-radius:10px;background:#eaf1f8;padding:3px}.mode button,.segmented button{border:0;background:transparent;color:var(--muted);padding:6px 14px;min-height:34px}.mode button.active,.segmented button.active{background:#fff;color:var(--accent);box-shadow:0 1px 5px #16354b12}.turn-status{font-size:14px;color:var(--accent);font-weight:800;background:var(--tint);padding:9px 14px;border:1px solid var(--accent);border-radius:9px}.p1{--accent:#196ac7;--tint:#edf5ff}.p2{--accent:#b53f6c;--tint:#fff0f6}.card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:0 6px 22px #315c7209;min-width:0}.arena{display:grid;gap:16px;align-items:start}.arena.solo{max-width:1020px;margin:auto;grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr)}.arena.vs{grid-template-columns:minmax(0,1fr) minmax(230px,.7fr) minmax(0,1fr)}.vs .scoreboard{grid-column:2;grid-row:1}.vs #player0{grid-column:1;grid-row:1}.vs #player1{grid-column:3;grid-row:1}.player-column{min-width:0}.scoretop{display:flex;justify-content:space-between;margin-bottom:10px}.scoretop span{font-size:14px;color:var(--muted)}#scores{display:grid;gap:8px;margin-bottom:10px}.score-player{border:1px solid var(--line);border-radius:10px;padding:9px;background:#f9fbfd;min-width:0}.score-player.active{border-color:var(--accent);box-shadow:inset 0 3px var(--accent);background:var(--tint)}.player-label{font-size:12px;color:var(--muted);font-weight:800;display:flex;justify-content:space-between;gap:4px}.player-label>span{color:var(--accent)}.score-metrics{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:8px;margin:6px 0}.score-metrics>div{display:flex;flex-direction:column}.score-metrics span{font-size:12px;color:var(--muted)}.score-metrics strong{font-size:32px;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.6px}.score-metrics>div:last-child strong{color:var(--accent)}.throws{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.throw{min-width:0;text-align:center;border:1px solid var(--line);border-radius:6px;padding:4px 1px;background:#fff}.throw span{font-size:12px;color:var(--muted);display:block}.throw b{display:block;font-size:16px;line-height:1.2;margin-top:2px;white-space:nowrap}.throw.on-dart{border-color:var(--accent)}.throw.filled{background:var(--tint)}.markrow{display:grid;grid-template-columns:1fr 64px 1fr;align-items:center;min-height:47px;text-align:center;border-bottom:1px solid var(--line)}.markrow:last-child{border-bottom:0}.markrow b{font-size:25px}.markrow b.bullnum{font-size:17px}.markrow .mark{font-size:30px;line-height:1;color:var(--accent)}.markrow small{font-size:12px;color:#196ac7;font-weight:800}.markrow.locked{background:#e8edf1;color:#748594;border-radius:6px}.markrow.locked .mark{color:#80909d}.marklegend{font-size:12px;color:var(--muted);text-align:center;margin:10px 0 0}.marklegend span{display:block;margin-top:4px}.inputcard{border-top:3px solid var(--accent)}.other-player .inputcard{border-top-color:#c8d5df}.inputtop{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}.inputtop h2{color:var(--accent);font-size:16px}.segmented button{font-size:14px;padding:4px 10px;min-height:30px}.aimbar{display:flex;justify-content:space-between;align-items:center;gap:6px;border:1px solid var(--line);background:var(--tint);padding:7px 8px;border-radius:9px}.aim-label{font-size:14px;line-height:1.3;color:var(--accent);overflow-wrap:anywhere}.aimbar select{background:#fff;min-width:0;max-width:51%;font-size:14px;border:1px solid var(--line);border-radius:6px;min-height:32px;padding:4px}.inputhint{font-size:12px;color:var(--muted);margin:7px 0;min-height:14px}.hitgrid{display:grid;grid-template-columns:minmax(38px,.8fr) repeat(3,minmax(40px,1fr)) minmax(44px,.85fr);gap:5px}.hitgrid button{min-height:43px;padding:5px 2px}.hitgrid .target{font-size:20px}.hitgrid .target:last-of-type{font-size:14px}.target[data-n="25"]{font-size:12px}.selected{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.hitgrid .hit{font-size:16px}.hit span{font-size:20px;font-weight:400;margin-left:3px}.double{background:#edf7ff;border-color:#cfe1f0;color:#256ea4}.triple{background:#fff0f5;border-color:#efd4df;color:#a63c63}.rowmiss{font-size:12px;color:var(--muted);font-weight:600}.rowmiss.selected-miss{border-color:var(--accent);background:var(--tint)}.hitgrid .locked{background:#e4ebf0;color:#7b8d9a;border-color:#d2dde5}.bull-note{align-self:center;text-align:center;font-size:12px;color:var(--muted)}.otherhits{margin-top:8px}.otherhits summary{font-size:12px;cursor:pointer;color:var(--muted)}.otherhits p{font-size:12px;color:var(--muted)}.othergrid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:8px}.othergrid button{padding:3px}.boardwrap{position:relative;width:100%;max-width:430px;margin:0 auto}.boardwrap svg{width:100%;display:block}.boardwrap .segment{stroke:#fff;stroke-width:1.3;cursor:pointer}.boardwrap [aria-disabled=true]{cursor:default}.boardwrap [role=button]:not([aria-disabled=true]):hover{filter:brightness(.94);stroke:var(--accent);stroke-width:3}.boardwrap text{text-anchor:middle;dominant-baseline:middle;font-size:25px;pointer-events:none}.cricket-number{fill:#204665;font-weight:900}.other-number{fill:#8e9eab;font-weight:400}.number-target{fill:transparent;stroke:transparent;cursor:pointer}.number-target.selected{fill:var(--tint);stroke:var(--accent);stroke-width:4}.bull-target{position:absolute;right:0;bottom:0;font-size:12px;background:#fff;min-height:36px;padding:6px}.actions{display:flex;gap:6px;margin-top:9px}.actions button{font-size:14px;white-space:normal;flex:1;padding:7px 6px;min-height:42px}.actions .next{flex:1.5}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.primary:hover:not(:disabled){background:var(--accent);color:#fff;filter:brightness(.94)}.analysis{margin-top:14px;border-top:2px solid var(--accent)}.analysis-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.analysis-title h2{font-size:16px}.analysis-title span{font-size:12px;font-weight:800;color:var(--accent)}.insight{background:var(--tint);border-left:3px solid var(--accent);font-size:12px;line-height:1.6;padding:9px;margin:10px 0}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;text-align:right}th,td{padding:10px 5px;border-bottom:1px solid var(--line);font-size:14px;white-space:nowrap}th{font-size:12px;color:var(--muted)}th:first-child{text-align:left}tbody th{font-size:15px;color:var(--ink)}tbody th:has(+td){font-weight:800}.cover-rate{color:#25756d}.total-rate{font-weight:800;color:var(--accent);background:var(--tint)}.rate-note{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:0}.catch-detail{margin-top:12px}.catch-detail summary{font-size:13px;cursor:pointer;color:var(--muted)}.feedback{font-size:14px;line-height:1.5;color:var(--muted);min-height:20px;margin:14px 0}.help{margin-top:12px;box-shadow:none}.help summary{font-size:15px;font-weight:700;cursor:pointer}.help p{font-size:14px;line-height:1.8;color:var(--muted)}.bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0}.bottom button{font-size:14px}#saved{font-size:12px;color:var(--muted)}.ad-slot{position:static;text-align:center;margin:40px auto;padding:12px;background:#f1f4f7;border:1px dashed #c9d7e2;max-width:970px}.ad-slot>span{font-size:12px;color:var(--muted)}.ad-space{min-height:90px}.finish{margin-bottom:16px;scroll-margin:12px;background:linear-gradient(135deg,#fff,#eef6ff);border-color:#b6d3ef}.finish>h2{font-size:27px}.eyebrow{font-size:12px;letter-spacing:2px;color:#196ac7;margin:0 0 8px;font-weight:800}.result-players{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px;margin:16px 0}.result-player{padding:14px;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:12px;background:#fff}.result-player h3{font-size:16px;color:var(--accent);margin:0 0 10px}.result-numbers{display:flex;gap:30px}.result-numbers span{display:block;font-size:13px;color:var(--muted)}.result-numbers strong{font-size:40px;color:var(--accent)}.result-player p,.finish>p{font-size:14px;color:var(--muted);line-height:1.6}.result-player dl{margin:12px 0 0}.result-player dl div{display:flex;justify-content:space-between;font-size:14px;padding:7px 0;border-top:1px solid var(--line)}.result-player dd{font-weight:800;margin:0;color:var(--accent)}.finish>button{margin:4px 8px 4px 0}footer{text-align:center;font-size:12px;color:var(--muted);padding:18px 12px 25px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

/* Compact game surface. Each player's input, history and analysis form one column. */
button,[role=button]{-webkit-tap-highlight-color:transparent}
button:focus:not(:focus-visible),[tabindex="-1"]:focus{outline:none}
header{max-width:1420px;padding:10px 20px;gap:12px}
header nav{gap:7px;flex-wrap:wrap}
header nav a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#304e6d;font-weight:700;font-size:14px;white-space:nowrap}
header nav a:hover{background:#edf5ff;border-color:#b9d6f0}
.nav-icon{flex:none;display:block}
main{margin-top:0}
.masthead{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.7fr) minmax(110px,.45fr);gap:18px 24px;align-items:center;margin-bottom:12px}
.masthead h1{grid-column:1;grid-row:1;font-size:24px}
.top-actions{grid-column:3;grid-row:1;text-align:right}
.top-ad{grid-column:2;grid-row:1;width:100%;max-width:728px;min-height:90px;padding:6px;margin:0;justify-self:center}
.top-ad .ad-space{min-height:64px}
.toolbar{grid-column:1/-1;grid-row:2;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px;margin:0}
.mode{flex-shrink:0}
.turn-status{margin-left:auto;border:0;background:transparent;box-shadow:none;border-radius:0;padding:0;font-size:14px;cursor:default}
.reset-top,.settings-button{font-size:14px;min-height:38px;padding:6px 12px}
.reset-top{color:#6b4352}.settings-button{color:#315c7f}
.arena{gap:12px;align-items:start}
.arena.solo{max-width:1060px;margin:auto;grid-template-columns:minmax(275px,.8fr) minmax(0,1.2fr)}
.arena.vs{grid-template-columns:minmax(0,1fr) minmax(290px,.8fr) minmax(0,1fr)}
.center-column{min-width:0;grid-column:1;grid-row:1}
.vs .center-column{grid-column:2}
.player-column{min-width:0;display:flex;flex-direction:column;gap:10px}
.solo #player0{grid-column:2;grid-row:1}
.vs #player0{grid-column:1;grid-row:1}.vs #player1{grid-column:3;grid-row:1}
.card{padding:12px}
.scoreboard{display:flex;flex-direction:column;scroll-margin-top:8px}
.scoretop{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.scoretop h2{font-size:16px}
.round-display{display:flex;align-items:baseline;gap:5px;white-space:nowrap;color:#205891;font-variant-numeric:tabular-nums}
.round-display>span{font-size:12px;color:#4c75a2;font-weight:800;letter-spacing:.3px}
.round-display strong{font-size:38px;line-height:1;font-weight:800}.round-display small{font-size:14px;color:#4c75a2}
#scores{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 8px}.solo #scores{grid-template-columns:1fr}
.score-player{border:2px solid var(--line);padding:7px}
.score-player.active{border:2px solid var(--accent)}
.player-label{font-size:12px;overflow-wrap:anywhere;flex-wrap:wrap;gap:3px}
.score-metrics{grid-template-columns:1fr 1fr;gap:4px;margin:5px 0}
.score-metrics strong{font-size:28px;line-height:1.1}
.score-metrics span{font-size:12px;white-space:nowrap}
.total-mpr{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:3px 5px;color:var(--muted);font-size:12px;line-height:1.3;margin:4px 0 6px}
.total-mpr b{font-size:15px;color:var(--accent)}.total-mpr small{font-size:12px;white-space:nowrap}
.throws{gap:3px}.throw{padding:3px 1px}.throw b{font-size:14px;white-space:normal;overflow-wrap:anywhere}.throw span{font-size:12px}
.markrow{min-height:32px;grid-template-columns:1fr 60px 1fr}.markrow b{font-size:23px}.markrow .mark{font-size:28px}.markrow b.bullnum{font-size:16px}
.marklegend{margin:5px 0 0;font-size:12px;line-height:1.4}.marklegend span{display:inline;margin:0 0 0 4px}
.common-controls{display:flex;justify-content:center;gap:7px;margin-top:8px}
.common-controls button{min-height:44px;font-size:14px;padding:6px}
#undoCommon{flex:1}#nextCommon{flex:1.7}
.current-player .inputcard{border:2px solid var(--accent);box-shadow:0 5px 20px #234e710b}
.other-player .inputcard{border:2px solid #d4dfe8;box-shadow:none}
.inputtop{margin-bottom:7px;gap:5px}.inputtop h2{font-size:16px;overflow-wrap:anywhere;min-width:0}.segmented{flex-shrink:0}
.compact-aim{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;padding:4px 5px}
.compact-aim .aim-label{flex:0 0 auto;font-size:13px;white-space:nowrap}
.aim-types{display:flex;flex:1;gap:3px;min-width:0;margin:0}
.aim-types button{flex:1;min-width:0;font-size:12px;min-height:34px;padding:4px 2px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
.inputhint{margin:5px 0;font-size:12px;line-height:1.4;min-height:0}
.hitgrid button{min-height:40px}.hitgrid .target{font-size:20px}.hitgrid .target[data-n="25"]{font-size:14px}
.boardwrap{position:relative;width:100%;max-width:430px;margin:0 auto;padding-bottom:0;line-height:0}
.boardwrap svg{width:100%;height:auto;display:block;-webkit-user-select:none;user-select:none}
.boardwrap button{line-height:1.3;-webkit-user-select:none;user-select:none}
.boardwrap [role=button]:focus{outline:none}
.keyboard-input .boardwrap [role=button]:focus{outline:3px solid #df9b19;outline-offset:2px}
.boardwrap [role=button]:not([aria-disabled=true]):hover{filter:none;stroke:inherit}
.boardwrap .segment:not([aria-disabled=true]):hover{stroke:#fff;stroke-width:1.3}
.boardwrap .number-target:not([aria-disabled=true]):hover{stroke:transparent}
.boardwrap .number-target.selected:not([aria-disabled=true]):hover{stroke:var(--accent);stroke-width:4}
.boardwrap .bull-target,.board-miss{position:absolute;bottom:0;min-height:38px;min-width:72px;padding:6px;font-size:12px;background:#fff}
.boardwrap .bull-target{left:0;right:auto}.board-miss{right:0}
@media(hover:hover) and (pointer:fine){.boardwrap .segment:not([aria-disabled=true]):hover{filter:brightness(.92);stroke:var(--accent);stroke-width:2}.boardwrap .number-target:not([aria-disabled=true]):hover{fill:var(--tint)}}
.round-history,.analysis{margin:0;border-top:2px solid var(--accent)}
.analysis-title{gap:5px}.analysis-title h2{font-size:16px}
.history-empty{font-size:14px;line-height:1.6;color:var(--muted);margin:10px 0 0}
.history-list{display:grid;gap:8px;margin-top:9px;max-height:310px;overflow-y:auto;padding-right:2px;scrollbar-width:thin}
.round-record{border:1px solid var(--line);border-radius:9px;padding:8px;background:#fbfdff;min-width:0}
.round-record-heading{display:flex;align-items:center;gap:7px;margin-bottom:6px}
.round-record-heading>strong{color:var(--accent);font-size:18px}.round-record-heading>span{font-size:12px;color:var(--muted)}.round-record-heading>b{margin-left:auto;font-size:16px;color:var(--accent)}
.round-darts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.round-darts>div{display:flex;flex-direction:column;text-align:center;background:var(--tint);border-radius:7px;padding:5px 2px;min-width:0}
.round-darts span,.round-darts small{font-size:12px;color:var(--muted)}.round-darts small{overflow-wrap:anywhere}.round-darts b{font-size:17px;margin:3px 0}
.round-totals{display:flex;flex-wrap:wrap;gap:3px 10px;margin-top:7px;font-size:12px;color:var(--muted);line-height:1.5}.round-totals b{color:var(--ink);font-size:14px}
.exact-count{display:block;font-size:12px;font-weight:400;color:var(--muted);line-height:1.5}
.insight{margin:8px 0;padding:7px;font-size:12px}
th,td{padding:8px 4px}
.middle-ad{position:static;min-width:0;width:calc(100% - 16px);margin:40px 8px 0;padding:10px;align-self:start}
.middle-ad .ad-space{min-height:250px}
.feedback:empty{display:none}.feedback{margin:8px 0;min-height:0}
.bottom{justify-content:flex-end;margin:16px 0}
.settings-panel,.reset-panel{max-width:1200px;margin:0 auto 12px;padding:16px;scroll-margin-top:8px;background:#f7fbff;border-color:#c9deef}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-head h2{font-size:22px}.panel-head button{font-size:14px}
.settings-note{font-size:14px;line-height:1.6;color:var(--muted);margin:10px 0}
#playerSettings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#playerSettings.solo-settings{grid-template-columns:1fr}.player-settings{background:var(--tint)!important}.settings-panel fieldset{border:1px solid var(--line);border-radius:10px;padding:12px;margin:12px 0;background:#fff;min-width:0}
.settings-panel legend{font-size:15px;font-weight:800;color:var(--accent);padding:0 5px}
.first-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.first-options label{position:relative;display:flex;min-width:0;font-size:14px;cursor:pointer}.first-options input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.first-options span{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;text-align:center;padding:7px;border:1px solid #cbdcef;border-radius:8px;background:#fff;font-weight:700}.first-options input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}.first-options input:focus-visible+span{outline:3px solid #e5a21d;outline-offset:2px}.next-options label:last-child{grid-column:1/-1}
.player-fields{display:grid;grid-template-columns:1.5fr 1fr;gap:10px}.player-fields label{display:flex;flex-direction:column;gap:5px;font-size:14px}
.player-fields input{width:100%;min-width:0;min-height:42px;padding:8px;border:1px solid var(--line);border-radius:7px;font:inherit;font-size:16px;color:var(--ink);background:#fff}
.settings-panel input:focus-visible{outline:3px solid #e5a21d;outline-offset:2px}
.handicap-bulk{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:12px 0 8px}.handicap-bulk strong{font-size:14px;margin-right:3px}.handicap-bulk button{font-size:14px;min-height:38px;padding:5px 12px}
.handicap-marks{display:grid;grid-template-columns:1fr;gap:5px}
.handicap-number{min-width:0;text-align:center;display:grid;grid-template-columns:50px 1fr;align-items:center;gap:6px}.handicap-number>b{display:block;font-size:15px;margin:0}
.mark-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.mark-choices button{min-height:38px;min-width:0;padding:3px;font-size:16px;border-radius:6px}
.panel-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.panel-actions button{font-size:14px;min-height:44px}#settingsForm>.panel-actions{display:grid;grid-template-columns:auto 1fr 1fr}#settingsDefaults{font-weight:400}
.reset-panel p{font-size:14px;line-height:1.6;color:var(--muted);margin:8px 0}.reset-panel h2{font-size:18px}
@media(min-width:900px) and (max-width:1150px){
 .arena.vs{grid-template-columns:minmax(0,1fr) minmax(270px,.95fr) minmax(0,1fr);gap:10px}
 .card{padding:9px}.inputtop h2{font-size:14px}.segmented button{padding:4px 7px;font-size:12px}
 .compact-aim{flex-wrap:wrap}.compact-aim .aim-types{flex-basis:100%}.compact-aim .aim-label{font-size:12px}
 .hitgrid{gap:3px;grid-template-columns:minmax(28px,.7fr) repeat(3,minmax(26px,1fr)) minmax(33px,.85fr)}
 .hitgrid .hit{font-size:14px}.hit span{font-size:16px;margin-left:1px}.rowmiss{font-size:12px}
 .score-metrics strong{font-size:24px}.score-player{padding:5px}.score-metrics span{font-size:12px}
 .analysis-title h2{font-size:14px}th,td{padding:8px 3px}.round-darts b{font-size:15px}
}
@media(min-width:760px) and (max-width:899px){
 header{flex-wrap:wrap}.masthead{grid-template-columns:1fr 1.3fr;gap:16px}.top-actions{display:none}
 .arena.vs{grid-template-columns:repeat(2,minmax(0,1fr))}.vs .center-column{grid-column:1/-1;grid-row:1}
 .vs #player0{grid-column:1;grid-row:2}.vs #player1{grid-column:2;grid-row:2}
 .vs .scoreboard{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(180px,1fr);column-gap:16px}
 .vs .scoretop{grid-column:1;grid-row:1}.vs #scores{grid-column:1;grid-row:2;margin:0}
 .vs #marks{grid-column:2;grid-row:1/3}.vs .markrow{min-height:26px}.vs .marklegend{grid-column:1/-1}
 .vs .common-controls{max-width:420px;margin:8px auto 0}
 .arena.solo{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)}
 .arena>.middle-ad{grid-column:1/-1;grid-row:3;max-width:728px;justify-self:center;margin:32px 0!important}
}
@media(max-width:759px){
 header{padding:8px 10px;display:block}.brand{font-size:14px;margin-bottom:8px}.brand img{width:28px;height:28px}
 header nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%;overflow:visible}
 header nav a{min-height:38px;padding:5px 3px;gap:3px;font-size:12px;white-space:normal;text-align:center;border-radius:8px}
 main{padding:0 8px}.masthead{grid-template-columns:1fr;gap:12px;margin-bottom:8px}
 .masthead h1{grid-column:1;grid-row:1;font-size:20px}.top-actions{display:none}
 .top-ad{grid-column:1;grid-row:2;min-height:70px;padding:5px;margin:0}.top-ad .ad-space{min-height:42px}
 .toolbar{grid-column:1;grid-row:3;gap:5px}.mode{padding:2px}.mode button{font-size:13px;padding:5px 8px;min-height:32px}
 .settings-button,.reset-top{font-size:12px;min-height:34px;padding:5px 7px}.turn-status{font-size:12px;line-height:1.3}
 .arena.solo,.arena.vs{display:flex;flex-direction:column;gap:7px}
 .center-column,.player-column{display:contents}
 .card{padding:9px;border-radius:11px}
 .arena .scoreboard{width:100%;order:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(128px,.85fr);column-gap:8px}
 .scoretop{grid-column:1/-1;grid-row:1;margin-bottom:5px}.scoretop h2{font-size:14px}.round-display strong{font-size:30px}
 #scores,.solo #scores{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr;gap:4px;margin:0;align-content:start}
 #marks{grid-column:2;grid-row:2}.markrow{min-height:25px;grid-template-columns:1fr 44px 1fr}.markrow b{font-size:19px}.markrow .mark{font-size:24px}.markrow b.bullnum{font-size:14px}.markrow small{font-size:12px}
 .marklegend{grid-column:1/-1;margin-top:3px;font-size:12px}
 .score-player{padding:5px;border-width:1px;border-radius:7px}.score-player.active{border-width:2px}
 .player-label{font-size:12px;gap:2px}.score-metrics{gap:3px;margin:3px 0}.score-metrics strong{font-size:24px}.score-metrics span{font-size:12px}
 .total-mpr{font-size:12px;gap:2px 4px;margin:3px 0 4px}.total-mpr b{font-size:14px}.total-mpr small{font-size:12px}
 .throw{padding:3px 0}.throw span{font-size:12px;line-height:1}.throw b{font-size:14px;line-height:1.2;margin-top:2px}
 .solo .score-player{padding:7px}.solo .score-metrics{margin:5px 0}.solo .score-metrics strong{font-size:30px}.solo .throw{padding:5px 0}
 .current-player .inputcard{width:100%;order:1}.other-player .inputcard{display:none}
 .inputcard{padding:7px}.inputtop{margin-bottom:5px}.inputtop h2{font-size:14px}.segmented{padding:2px}.segmented button{font-size:12px;padding:3px 9px;min-height:28px}
 .compact-aim{gap:4px;padding:4px}.compact-aim .aim-label{font-size:12px}.aim-types{gap:3px}.aim-types button{font-size:12px;min-height:32px;padding:3px 1px}
 .inputhint{font-size:12px;margin:4px 0;line-height:1.3}
 .inputcard .boardwrap{width:100%;max-width:clamp(280px,calc(100svh - 365px),370px)}
 .boardwrap .bull-target,.board-miss{min-height:36px;min-width:68px;padding:5px;font-size:12px}
 .hitgrid{gap:4px;grid-template-columns:minmax(37px,.8fr) repeat(3,minmax(36px,1fr)) minmax(42px,.85fr)}
 .hitgrid button{min-height:35px;padding:3px 1px}.hitgrid .target{font-size:18px}.hitgrid .target[data-n="25"]{font-size:12px}.hitgrid .hit{font-size:15px}.hit span{font-size:18px}.rowmiss{font-size:12px}
 .common-controls{order:2;width:100%;margin:0 0 3px;gap:6px}.common-controls button{min-height:42px;font-size:14px}
 .current-player .round-history{order:3}.current-player .analysis{order:4}.other-player .round-history{order:5}.other-player .analysis{order:6}
 .round-history,.analysis{width:100%;margin:0;padding:11px}
 .arena .middle-ad{order:7;width:calc(100% - 16px);margin:32px 8px!important}.middle-ad .ad-space{min-height:100px}
 .history-list{max-height:310px}.feedback{font-size:13px;margin:8px 0}.help{padding:12px}.result-players{grid-template-columns:1fr}.finish{padding:14px}.finish>h2{font-size:24px}
 #playerSettings{grid-template-columns:1fr;gap:0}#settingsForm>.panel-actions{grid-template-columns:1fr 1fr}#settingsDefaults{grid-column:1/-1}.first-options label{padding:0!important}
 .settings-panel,.reset-panel{padding:12px}.panel-head h2{font-size:20px}.settings-panel fieldset{padding:9px;margin:10px 0}.player-fields{grid-template-columns:1.2fr 1fr;gap:8px}
 .handicap-bulk{gap:4px}.handicap-bulk strong{width:100%}.handicap-bulk button{flex:1;font-size:13px;padding:5px}
 .handicap-marks{grid-template-columns:1fr;gap:5px}.handicap-number{display:grid;grid-template-columns:50px 1fr;align-items:center;gap:6px}.handicap-number>b{margin:0;font-size:14px}.mark-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.mark-choices button{min-height:36px}
 .panel-actions{justify-content:stretch}.panel-actions button{flex:1}.first-options label{font-size:13px;padding:7px}.settings-note{font-size:13px}
}
@media(max-width:359px){header nav .nav-icon{display:none}.turn-status{width:100%;text-align:right}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Revision 6: compact scores, record buffer before ads, and four-language controls. */
.input-host,.history-host,.analysis-host{display:contents}
.masthead{grid-template-columns:minmax(210px,1fr) minmax(280px,1.3fr) minmax(210px,1fr);grid-template-rows:auto auto;gap:12px 32px;align-items:end;margin-bottom:14px}
.masthead h1{grid-column:1/-1;grid-row:1;font-size:23px}
.mode-tools{grid-column:1;grid-row:2;display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.management{grid-column:3;grid-row:2;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.top-ad{grid-column:2;grid-row:2;min-height:0;max-width:500px;width:100%;padding:0;border:0;background:transparent;margin:0;align-self:end}
.top-ad>span{display:block;padding:0 0 6px;font-size:12px}
.top-ad .ad-space{min-height:60px;border:1px solid #dce5ef;border-radius:5px;background:#eaf1f8}
.game-round{display:flex;align-items:baseline;gap:12px;min-width:0}
.game-number{display:flex;align-items:baseline;gap:4px;color:var(--muted);font-variant-numeric:tabular-nums}
.game-number span{font-size:12px;font-weight:700}.game-number b{font-size:22px;color:var(--ink)}
#marks{display:grid;grid-template-rows:repeat(7,minmax(0,1fr))}
.score-player .score-metrics{margin:5px 0}
.series-summary{margin-top:10px;box-shadow:none;background:#f8fbff}
.series-summary .analysis-title h2{font-size:15px}.series-summary .analysis-title>span{font-size:12px;color:var(--muted);text-align:right}
.series-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.solo .series-players{grid-template-columns:1fr}
.series-player{border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:8px;background:var(--tint);padding:8px;min-width:0}
.series-name{display:block;font-size:12px;color:var(--accent);overflow-wrap:anywhere}
.win-record{display:flex;align-items:baseline;justify-content:center;gap:4px;margin:5px 0;flex-wrap:wrap}
.win-record strong{font-size:25px;line-height:1.1;color:var(--accent)}.win-record span{font-size:12px;color:var(--muted)}
.series-mpr{display:flex;justify-content:center;align-items:baseline;gap:4px;flex-wrap:wrap}.series-mpr span{font-size:12px;color:var(--muted)}.series-mpr b{font-size:20px;color:var(--accent)}
.draw-count{text-align:center;font-size:12px;color:var(--muted);margin:6px 0 0}
.history-overall{display:flex;justify-content:space-between;align-items:baseline;gap:6px;margin-top:8px;padding:6px 9px;border-radius:7px;background:var(--tint);color:var(--accent)}
.history-overall span{font-size:14px;font-weight:700}.history-overall strong{font-size:26px;line-height:1.2}
.aim-short{display:none}.compact-aim{flex-wrap:nowrap}.compact-aim .aim-types{flex-basis:auto}.compact-aim .aim-types button{white-space:nowrap;overflow-wrap:normal;min-height:33px}
.language-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.language-options button{font-size:14px;min-height:42px;padding:5px}
.analysis th{white-space:normal;line-height:1.4}.analysis th:last-child{max-width:90px}
.page-language-links{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;font-size:14px;margin:18px 0}
@media(min-width:900px) and (max-width:1150px){.masthead{grid-template-columns:minmax(205px,1fr) minmax(240px,1.2fr) minmax(195px,1fr);gap:12px 20px}.management{gap:5px}.management button{padding:6px 8px;font-size:13px}.compact-aim .aim-full{display:none}.compact-aim .aim-short{display:inline}.compact-aim .aim-label{font-size:12px}.series-player{padding:6px}.game-round{gap:7px}.scoretop h2{font-size:14px}}
@media(min-width:760px) and (max-width:899px){.masthead{grid-template-columns:1fr 1.2fr 1fr;gap:10px 18px}.masthead h1{font-size:21px}.mode button{padding:5px 8px;font-size:13px}.management{gap:4px}.management button{font-size:12px;padding:5px 7px}.top-ad .ad-space{min-height:58px}.vs .series-summary{max-width:500px;margin:9px auto 0}.compact-aim .aim-full{display:none}.compact-aim .aim-short{display:inline}}
@media(max-width:759px){
 .masthead{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;gap:12px 8px;margin-bottom:8px}
 .masthead h1{grid-column:1/-1;grid-row:1;font-size:20px}.top-ad{grid-column:1/-1;grid-row:2;max-width:500px}.top-ad .ad-space{min-height:50px}
 .mode-tools{grid-column:1;grid-row:3;gap:5px}.management{grid-column:2;grid-row:3;gap:5px}.rulebadge{font-size:12px}
 .management button{font-size:12px;padding:5px 7px;min-height:34px}.mode button{font-size:12px;padding:5px 7px}
 .game-round{gap:9px}.game-number span{font-size:12px}.game-number b{font-size:19px}.round-display strong{font-size:28px}.round-display{gap:4px}
 .scoreboard #marks{align-self:stretch}.scoreboard .markrow{min-height:25px;height:100%}
 .scoreboard .throw span{display:none}.scoreboard .throw{padding:4px 1px;min-height:25px}.scoreboard .throw b{margin:0;font-size:15px;line-height:1.2}
 .scoreboard .score-player{padding:5px}.scoreboard .score-metrics{margin:3px 0}.scoreboard .score-metrics strong{font-size:25px}.scoreboard .score-metrics span{font-size:12px}
 .solo .scoreboard .score-metrics strong{font-size:30px}.solo .scoreboard .score-player{align-self:start}.solo .scoreboard .score-metrics{margin:7px 0}
 .compact-aim{gap:4px;padding:4px}.compact-aim .aim-full{display:none}.compact-aim .aim-short{display:inline}.compact-aim .aim-types button{font-size:12px;min-height:31px;padding:3px 2px}.compact-aim .aim-label{font-size:12px}
 .inputcard .boardwrap{max-width:clamp(280px,calc(100svh - 320px),380px)}
 .series-summary{order:3;width:100%;margin:0;padding:10px}.current-player .round-history{order:4}.current-player .analysis{order:5}.other-player .round-history{order:6}.other-player .analysis{order:7}.arena .middle-ad{order:8}
 .series-players{gap:6px;margin-top:6px}.series-player{padding:6px}.win-record{margin:3px 0}.win-record strong{font-size:22px}.series-mpr b{font-size:19px}
 .language-options{gap:5px}.language-options button{font-size:13px;min-height:40px}.history-overall strong{font-size:24px}
}
@media(max-width:359px){.management button{padding:5px;font-size:12px}.mode button{padding:5px}.game-round{gap:5px}.scoretop h2{font-size:13px}}
