:root{--bg:#fff;--surface:#f3f4f6;--surface-2:#e5e7eb;--text:#111827;--text-sub:#6b7280;--border:#d1d5db;--accent:#14532d;--accent-text:#fff;--danger:#b91c1c;--lamp-off:#d1d5db;--lamp-b:#16a34a;--lamp-s:#eab308;--lamp-o:#dc2626;--btn-ball:#16a34a;--btn-ball-text:#fff;--btn-strike:#facc15;--btn-strike-text:#1c1917;--btn-foul:#f3f4f6;--btn-other:#f3f4f6;--btn-inplay:#1d4ed8;--btn-inplay-text:#fff;--tap-min:48px;--tap-main:64px;--safe-top:env(safe-area-inset-top);--safe-bottom:env(safe-area-inset-bottom);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font:16px/1.5 system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0b0f0d;--surface:#1c2420;--surface-2:#26302b;--text:#f3f4f6;--text-sub:#9ca3af;--border:#374151;--accent:#22c55e;--accent-text:#052e16;--danger:#f87171;--lamp-off:#374151;--btn-ball:#15803d;--btn-strike:#eab308;--btn-foul:#26302b;--btn-other:#26302b;--btn-inplay:#2563eb}}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior:none;margin:0}body{background:var(--bg);min-height:100dvh}button{font:inherit;color:inherit;min-height:var(--tap-min);min-width:var(--tap-min);border:1px solid var(--border);background:var(--surface);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:10px;padding:0 12px}button:active:not(:disabled){filter:brightness(.9)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--accent);color:var(--accent-text);border-color:#0000;font-weight:700}input,select{font:inherit;color:inherit;min-height:var(--tap-min);border:1px solid var(--border);background:var(--bg);border-radius:8px;min-width:0;padding:0 10px;font-size:16px}.screen{max-width:640px;padding:calc(var(--safe-top) + 8px) 16px calc(var(--safe-bottom) + 24px);margin:0 auto}.screen-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.screen-header h1{margin:0;font-size:20px}.icon-button{background:0 0;border-color:#0000;padding:0;font-size:22px}.hint{color:var(--text-sub);font-size:14px}.notice{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:flex-start;gap:8px;margin-bottom:12px;padding:12px;font-size:14px;display:flex}.notice p{flex:1;margin:0}.update-prompt{inset:auto 16px calc(16px + var(--safe-bottom)) 16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:8px;padding:8px 12px;display:flex;position:fixed}.update-prompt span{flex:1}.new-game{width:100%;min-height:var(--tap-main);font-size:18px}.game-list{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.game-item{gap:4px;display:flex}.game-open{text-align:left;flex:1;gap:2px;padding:10px 12px;display:grid}.game-date,.game-status{color:var(--text-sub);font-size:13px}.game-status.live{color:var(--accent);font-weight:700}.game-teams{font-weight:700}.game-delete{color:var(--text-sub);background:0 0}.form-section{gap:10px;margin-bottom:16px;display:grid}.form-section label{color:var(--text-sub);gap:4px;font-size:14px;display:grid}.form-section label input,.form-section label select{color:var(--text)}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-section label.checkbox{min-height:var(--tap-min);color:var(--text);align-self:end;align-items:center;gap:8px;display:flex}.checkbox input{width:24px;height:24px;min-height:0}.tabs{grid-template-columns:1fr 1fr;gap:4px;margin-bottom:12px;display:grid}.tabs button{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tabs button.active{background:var(--accent);color:var(--accent-text);border-color:#0000}.order-form{gap:6px;margin:0;padding:0;list-style:none;display:grid}.order-form li,.pitcher-form{grid-template-columns:24px 72px 1fr 72px;align-items:center;gap:6px;display:grid}.order-form.bench-form li{grid-template-columns:72px 1fr var(--tap-min)}.form-subtitle{margin:16px 0 0;font-size:16px}.order-no{text-align:center;color:var(--text-sub);font-weight:700}.form-error{color:var(--danger);font-weight:700}.form-actions{padding:12px 0 calc(var(--safe-bottom) + 4px);background:var(--bg);position:sticky;bottom:0}.form-actions .primary{width:100%;min-height:var(--tap-main);font-size:18px}.record{flex-direction:column;max-width:640px;height:100dvh;margin:0 auto;display:flex}.scorebar{padding:calc(var(--safe-top) + 4px) 8px 6px;background:var(--surface);border-bottom:1px solid var(--border)}.scorebar-row{align-items:center;gap:8px;display:flex}.inning{white-space:nowrap;font-weight:700}.score{flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;display:flex}.score strong{white-space:nowrap;font-size:22px}.team{text-overflow:ellipsis;white-space:nowrap;color:var(--text-sub);overflow:hidden}.team.batting{color:var(--text);font-weight:700}.undo{white-space:nowrap;font-weight:700}.count{gap:16px;padding-left:4px}.lamps{align-items:center;gap:4px;display:inline-flex}.lamps-label{width:1em;font-weight:700}.lamp{background:var(--lamp-off);border-radius:50%;width:16px;height:16px}.lamp-b.on{background:var(--lamp-b)}.lamp-s.on{background:var(--lamp-s)}.lamp-o.on{background:var(--lamp-o)}.field-wrap{flex:1;min-height:0;position:relative}.field{height:100%;padding:8px 12px;overflow-y:auto}.situation{align-items:center;gap:8px;display:flex}.diamond{flex-shrink:0;width:150px;overflow:visible}.diamond-line{fill:none;stroke:var(--border);stroke-width:2px}.home-plate{fill:var(--surface-2)}.base{fill:var(--bg);stroke:var(--text-sub);stroke-width:2px}.base.occupied{fill:var(--lamp-s);stroke:var(--lamp-s)}.runner-name{fill:var(--text);font-size:13px}.matchup{gap:4px;min-width:0;margin:0;display:grid}.matchup div{align-items:baseline;gap:6px;display:flex}.matchup dt{color:var(--text-sub);flex-shrink:0;font-size:12px}.matchup dd{text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:700;overflow:hidden}.matchup small{color:var(--text-sub);font-weight:400}.current-pitches{flex-wrap:wrap}.chip{background:var(--surface-2);border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;display:inline-grid}.chip-ball{background:var(--lamp-b);color:#fff}.chip-called_strike,.chip-swinging_strike,.chip-foul_tip,.chip-bunt_foul{background:var(--lamp-s);color:#111}.final-banner{gap:4px;font-size:18px;display:grid}.warnings{color:var(--danger);margin:8px 0;font-size:13px}.pa-list{margin:8px 0 72px;padding:0;font-size:14px;list-style:none}.pa-list li{border-top:1px solid var(--border);grid-template-columns:4em 1fr auto;column-gap:8px;padding:6px 0;display:grid}.pa-when{color:var(--text-sub)}.pa-batter{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pa-result{font-weight:700}.pa-runs{color:var(--danger)}.pa-pitches{color:var(--text-sub);grid-column:2/4;font-size:12px}.pa-incident-text{color:var(--text-sub);grid-column:2/4}.pa-empty{color:var(--text-sub);font-size:14px}.snackbar{background:var(--text);color:var(--bg);border-radius:12px;align-items:center;gap:8px;padding:6px 6px 6px 14px;display:flex;position:absolute;bottom:8px;left:12px;right:12px;box-shadow:0 4px 12px #00000040}.snackbar span{flex:1}.snackbar button{background:var(--bg);color:var(--text);font-weight:700}.snackbar .snackbar-close{color:var(--bg);background:0 0;border-color:#0000}.pad{padding:6px 8px calc(var(--safe-bottom) + 8px);border-top:1px solid var(--border);background:var(--bg);gap:6px;display:grid}.pad-sub{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.pad-sub button{padding:0 4px;font-size:13px}.pad-main{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.pad-main button{min-height:72px;font-size:18px;font-weight:700}.pad-main .pad-ball{background:var(--btn-ball);color:var(--btn-ball-text);border-color:#0000}.pad-main .pad-strike{background:var(--btn-strike);color:var(--btn-strike-text);border-color:#0000}.pad-foul{background:var(--btn-foul)}.pad-other{background:var(--btn-other)}.pad-main .pad-inplay{background:var(--btn-inplay);color:var(--btn-inplay-text);border-color:#0000}.action-bar{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.action-bar button{font-size:14px}.sheet-backdrop{background:#0006;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:640px;padding:16px 12px calc(var(--safe-bottom) + 12px);background:var(--bg);border-radius:16px 16px 0 0;gap:8px;margin:0 auto;display:grid}.sheet-title{margin:0 0 4px;font-weight:700}.sheet .sheet-primary{min-height:var(--tap-main);background:var(--btn-inplay);color:var(--btn-inplay-text);border-color:#0000;font-size:18px;font-weight:700}.flow{background:var(--bg);z-index:10;flex-direction:column;max-width:640px;margin:0 auto;display:flex;position:fixed;inset:0}.flow-header{padding:calc(var(--safe-top) + 4px) 4px 4px;border-bottom:1px solid var(--border);align-items:center;gap:4px;display:flex}.flow-title{flex:1;font-weight:700}.flow-title small{color:var(--text-sub);font-weight:400}.flow-body{flex-direction:column;flex:1;justify-content:flex-end;gap:12px;padding:12px;display:flex;overflow-y:auto}.flow-footer{padding:8px 12px calc(var(--safe-bottom) + 8px);border-top:1px solid var(--border)}.flow-footer button{width:100%;min-height:var(--tap-main);font-size:18px;font-weight:700}.result-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.result-grid button{min-height:var(--tap-main);font-size:17px;font-weight:700}.result-extra{align-self:flex-start}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{border-radius:999px}.chips button.active,.runner-options button.active{background:var(--accent);color:var(--accent-text);border-color:#0000;font-weight:700}.field-map{touch-action:manipulation;width:100%;max-height:50dvh}.field-map-pick{touch-action:none}.field-outside{fill:#0b0f0c}.field-grass{fill:#4a8a3f}.field-mow{fill:#fff;opacity:.07}.field-dirt{fill:#b9a078}.field-track{fill:none;stroke:#b9a078;stroke-width:12px}.field-stands{fill:#1f4a1c}.field-stands-edge{fill:none;stroke:#e3c344;stroke-width:1.2px}.field-off{opacity:.3}.field-line{stroke:#fff;stroke-width:1.2px;opacity:.85}.field-base{fill:#fff}.field-marker{fill:var(--danger);stroke:#fff;stroke-width:2px}.fielder-seq{text-align:center;min-height:1.5em;margin:0;font-size:28px;font-weight:700}.fielder-seq small{color:var(--danger);font-size:14px}.fielder-status{justify-content:space-between;align-items:center;gap:8px;display:flex}.fielder-status .fielder-seq{text-align:left;flex:1;font-size:24px}.fielder-status button{min-width:var(--tap-min);font-size:20px}.field-position{cursor:pointer;outline:none}.field-position circle{fill:#f9fafb;stroke:#374151;stroke-width:1.5px}.field-position:active circle,.field-position:focus-visible circle{fill:#fde68a;stroke:#111827;stroke-width:2.5px}.field-position-name{fill:#111827;pointer-events:none;font-size:12px;font-weight:700}.field-gap circle{stroke-dasharray:3 2}.field-gap.active circle{fill:#1d4ed8;stroke:#fff;stroke-dasharray:none}.field-gap.active .field-position-name{fill:#fff}.fielder-gap{color:var(--accent);margin-right:8px}.field-position-no{fill:#4b5563;pointer-events:none;font-size:8px}.runner-rows{gap:12px;margin:0;padding:0;list-style:none;display:grid}.runner-row{gap:4px;display:grid}.runner-label{font-size:14px;font-weight:700}.runner-options{gap:4px;display:flex}.runner-options button{flex:1;min-width:0;padding:0 2px}.runner-options button.out.active{background:var(--danger);color:#fff}.play-summary{margin:0;font-weight:700}.direction-status{min-height:var(--tap-min);justify-content:space-between;align-items:center;gap:8px;display:flex}.direction-status .hint{margin:0}.sub-kinds button{min-height:var(--tap-main)}.sub-target{margin:0;font-size:18px;font-weight:700}.sub-label{gap:4px;margin:0;font-size:14px;font-weight:700;display:grid}.choice-list{gap:4px;display:grid}.choice-list button{text-align:left;padding:0 12px}.choice-list button.active,.player-picker .chips button.active{background:var(--accent);color:var(--accent-text);border-color:#0000}.player-picker{gap:6px;display:grid}.new-player{grid-template-columns:72px 1fr;gap:6px;display:grid}.note-input{min-height:160px;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:8px;font-size:16px}
