:root{--bg:#f6f5f1;--surface:#fff;--surface-2:#ecebe5;--text:#1b1b19;--muted:#5f5e5a;--border:#d3d1c7;--accent:#185fa5;--accent-bg:#e6f1fb;--warn:#633806;--warn-bg:#fac775;--info:#0c447c;--info-bg:#b5d4f4;--final:#fff;--final-bg:#a32d2d;--safe:#27500a;--safe-bg:#c0dd97;--out:#791f1f;--out-bg:#f7c1c1;--runner:#ef9f27;--runner-edge:#854f0b;--line:#888780;--danger:#a32d2d;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#121211;--surface:#1f1f1d;--surface-2:#2c2c2a;--text:#f1efe8;--muted:#b4b2a9;--border:#444441;--accent:#85b7eb;--accent-bg:#0c447c;--warn:#412402;--warn-bg:#ef9f27;--info:#e6f1fb;--info-bg:#185fa5;--safe:#eaf3de;--safe-bg:#3b6d11;--out:#fcebeb;--out-bg:#791f1f;--line:#888780;--danger:#f09595}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);touch-action:manipulation;-webkit-user-select:none;user-select:none;cursor:pointer;padding:10px 14px}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.4}button.primary{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:600}button.danger{background:var(--danger);border-color:var(--danger);color:var(--bg);font-weight:600}h2{margin:0;font-size:17px;font-weight:600}.app{max-width:520px;height:100dvh;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);flex-direction:column;margin:0 auto;display:flex}main{flex:1;min-height:0;overflow-y:auto}.tabs{border-top:1px solid var(--border);display:flex}.tabs button{color:var(--muted);background:0 0;border:none;border-radius:0;flex:1;padding:12px}.tabs button.sel{color:var(--accent);font-weight:600}.game{flex-direction:column;gap:8px;height:100%;padding:10px 12px 8px;display:flex}.scoreboard{grid-template-columns:1fr auto 1fr;gap:8px;display:grid}.team{border:2px solid #0000;border-left:6px solid var(--team);background:var(--surface);flex-direction:column;align-items:flex-start;min-width:0;padding:6px 10px;display:flex}.team.home{border-left:2px solid #0000;border-right:6px solid var(--team);grid-area:1/3;align-items:flex-end}.team.kicking{border-top-color:var(--team);border-bottom-color:var(--team)}.team.away.kicking{border-right-color:var(--team)}.team.home.kicking{border-left-color:var(--team)}.team-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;font-weight:600;overflow:hidden}.team-score{font-variant-numeric:tabular-nums;font-size:36px;font-weight:700;line-height:1.05}.team-kicker{color:var(--muted);font-size:12px}.clock{-webkit-touch-callout:none;flex-direction:column;grid-area:1/2;justify-content:center;align-items:center;min-width:104px;padding:4px 10px;display:flex}.clock .inning{font-size:15px;font-weight:600}.clock-time{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.1}.clock.paused .clock-time{color:var(--muted)}.clock.expired .clock-time{color:var(--danger)}.clock-state{color:var(--muted);font-size:11px}.banner{border-radius:var(--radius);flex:none;justify-content:space-between;align-items:center;gap:8px;height:44px;padding:0 12px;font-size:15px;font-weight:600;display:flex;overflow:hidden}.banner>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.banner.status{background:var(--surface-2);color:var(--muted);font-weight:500}.banner.info{background:var(--info-bg);color:var(--info)}.banner.warning{background:var(--warn-bg);color:var(--warn)}.banner.final{background:var(--final-bg);color:var(--final)}.banner-actions{flex:none;gap:6px;display:flex}.banner-actions button{background:var(--surface);color:var(--text);padding:5px 9px;font-size:13px}.field-row{align-items:center;gap:10px;display:flex}.diamond{flex:none;width:140px;height:124px}.diamond .baseline,.diamond .plate{fill:none;stroke:var(--line);stroke-width:2px}.diamond .base{cursor:pointer;outline:none}.diamond .base .hit{fill:#0000}.diamond .base rect{fill:var(--bg);stroke:var(--line);stroke-width:2px}.diamond .base.on rect{fill:var(--runner);stroke:var(--runner-edge)}.diamond .base:focus-visible rect{stroke:var(--accent);stroke-width:3px}.kickers{border-left:4px solid var(--team);text-align:left;flex-direction:column;flex:1;align-items:stretch;gap:1px;min-width:0;padding:6px 10px;font-size:14px;display:flex}.kickers-team{color:var(--muted);font-size:12px;font-weight:600}.kickers-row{grid-template-columns:52px 1fr;align-items:baseline;gap:6px;display:grid}.kickers-row.up .kickers-name{font-size:16px;font-weight:700}.kickers-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label{color:var(--muted);font-size:12px}.muted{color:var(--muted)}.count{text-align:center;grid-template-columns:repeat(4,1fr);display:grid}.count-cell{flex-direction:column;display:flex}.count-num{font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;line-height:1.1}.pad{flex:1;grid-template-columns:repeat(6,1fr);grid-auto-rows:1fr;gap:8px;min-height:180px;display:grid}.key{padding:0;font-size:18px;font-weight:600}.key.third{grid-column:span 2}.key.half{grid-column:span 3}.key.runner-out{color:var(--danger)}.retired{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);text-align:center;flex-direction:column;flex:1;justify-content:center;gap:10px;padding:16px;display:flex}.retired h2{font-size:22px}.retired p{margin:0}.retired-score{font-size:18px;font-weight:600}.retired-warn{color:var(--warn);background:var(--warn-bg);border-radius:var(--radius);padding:8px;font-weight:600}.retired-go{padding:18px;font-size:18px}.key.safe{background:var(--safe-bg);border-color:var(--safe-bg);color:var(--safe)}.key.out{background:var(--out-bg);border-color:var(--out-bg);color:var(--out)}.toolbar{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.toolbar button{background:0 0;padding:9px 0}.scrim{z-index:10;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:520px;max-height:88dvh;padding:14px 16px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;flex-direction:column;gap:8px;display:flex;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.icon-btn{background:0 0;border:none;padding:2px 8px;font-size:26px;line-height:1}.sheet-text{color:var(--muted);margin:0 0 4px;line-height:1.45}.menu-item{text-align:left;justify-content:space-between;align-items:center;padding:14px;font-weight:600;display:flex}.menu-item.tone-fix{font-weight:500}.menu-item.tone-danger{color:var(--danger)}.note{color:var(--muted);margin-left:8px;font-size:13px;font-weight:400}.sheet-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.stepper{grid-template-columns:1fr 44px 72px 44px;align-items:center;gap:6px;min-height:44px;display:grid}.stepper button{height:40px;padding:0;font-size:20px}.stepper-value{text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.toggle{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.toggle .note{margin:2px 0 0;display:block}.toggle input{width:22px;height:22px;accent-color:var(--accent)}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.field input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;font-size:17px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{align-items:center;gap:6px;padding:6px 10px;font-size:14px;display:inline-flex}.dot{border-radius:50%;width:10px;height:10px}.swatches{flex-wrap:wrap;gap:8px;margin:4px 0;display:flex}.swatch{border:3px solid #0000;border-radius:50%;width:32px;height:32px;padding:0}.swatch.sel{border-color:var(--text)}.segmented{border:1px solid var(--border);border-radius:var(--radius);display:flex;overflow:hidden}.segmented button{background:0 0;border:none;border-radius:0;flex:1;min-width:52px}.segmented button.sel{background:var(--accent-bg);color:var(--accent);font-weight:600}.segmented-row{justify-content:space-between;align-items:center;min-height:44px;display:flex}.lineups{flex-direction:column;gap:8px;padding:12px 16px 24px;display:flex}.lineup-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.lineup-list li{border-radius:var(--radius);grid-template-columns:26px 1fr auto 40px 40px 40px;align-items:center;gap:6px;padding:2px 4px;display:grid}.lineup-list li.up{background:var(--accent-bg)}.lineup-num{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.lineup-up{color:var(--accent);font-size:12px;font-weight:600}.lineup-list li:not(.up) .lineup-num+input{grid-column:span 2}.lineup-list input,.lineup-add input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:8px 10px}.lineup-list button{height:38px;padding:0}.lineup-add{gap:8px;display:flex}.lineup-add input{flex:1}.lineup-pick{flex-direction:column;gap:6px;display:flex}.settings{flex-direction:column;gap:20px;padding:12px 16px 24px;display:flex}.settings section{flex-direction:column;gap:4px;display:flex}.settings h2{margin-bottom:4px}.hint{color:var(--muted);margin:0 0 6px;font-size:13px}.link-btn{color:var(--accent);background:0 0;border:none;align-self:flex-start;padding:4px 0;font-size:14px}.sync-status{color:var(--muted);margin:4px 0;font-size:14px}.sync-status.error{color:var(--danger)}.sync-status.ok{color:var(--safe)}.settings .field{margin-bottom:6px}.sheet-actions.start{justify-content:flex-start}.advanced{margin-top:8px}.advanced summary{color:var(--muted);cursor:pointer;padding:6px 0;font-size:14px}.qr{border-radius:8px;align-self:center;width:min(260px,70vw)}.ok-text{color:var(--safe)}.welcome-form{flex-direction:column;gap:10px;display:flex}.welcome-input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px;font-size:18px}.welcome-form button{padding:14px;font-size:17px}.wide-btn{width:100%;padding:12px}@media (height<=640px){.team-score{font-size:30px}.count-num{font-size:26px}.diamond{width:112px;height:100px}.game{gap:6px}}
