: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:#dcfce7;--btn-strike:#fef9c3;--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:#14532d;--btn-strike:#713f12;--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-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}.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-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-ball{background:var(--btn-ball)}.pad-strike{background:var(--btn-strike)}.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}.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}
