:root{--bg:#e8f0e4;--surface:#f5f9f2;--panel:#dbe7d5;--ink:#102010;--muted:#566852;--line:#bfd0b8;--line-soft:#d3e0cd;--brand:#1b4f91;--brand-ink:#fff;--up:#fff0b3;--hl:#c2410c;--danger:#b42318;--mark-ink:#000;--shadow:#00000040;--backdrop:#00000059;--bar-bg:#e8f0e4f5;--ring-track:#fff6;--ring-line:#0000002e;--grass:#d6e7cd;--dirt:#efe3cc;--field-line:#1d2b1d;--base-fill:#fff;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1511;--surface:#17211a;--panel:#1f2c23;--ink:#e6eee3;--muted:#98aa94;--line:#34463a;--line-soft:#243129;--brand:#3d74c7;--brand-ink:#fff;--up:#4a3f10;--hl:#ff8f50;--danger:#ff6b5e;--mark-ink:#f4f7f2;--shadow:#0009;--backdrop:#0000008c;--bar-bg:#0e1511f5;--ring-track:#00000059;--ring-line:#ffffff40;--grass:#1c3524;--dirt:#3b3125;--field-line:#c8d6c2;--base-fill:#e6eee3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1511;--surface:#17211a;--panel:#1f2c23;--ink:#e6eee3;--muted:#98aa94;--line:#34463a;--line-soft:#243129;--brand:#3d74c7;--brand-ink:#fff;--up:#4a3f10;--hl:#ff8f50;--danger:#ff6b5e;--mark-ink:#f4f7f2;--shadow:#0009;--backdrop:#0000008c;--bar-bg:#0e1511f5;--ring-track:#00000059;--ring-line:#ffffff40;--grass:#1c3524;--dirt:#3b3125;--field-line:#c8d6c2;--base-fill:#e6eee3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font:17px/1.35 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}input,select,textarea{-webkit-user-select:text;user-select:text;font:inherit}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}h1,h2{margin:0}h2{font-size:17px}.muted{color:var(--muted);font-weight:400}.hint{margin:6px 0;font-size:15px}.jersey{color:var(--muted);font-weight:500}.page{max-width:640px;padding:calc(var(--safe-top) + 8px) 16px calc(var(--safe-bottom) + 24px);margin:0 auto}.topbar{align-items:center;gap:8px;min-height:52px;display:flex}.logo{width:36px;height:36px;box-shadow:0 0 0 1.5px var(--brand);border-radius:50%;flex:none}.status-row .logo{width:30px;height:30px;margin:0 2px 0 4px}.title{flex:1;font-size:22px;line-height:1.2}.title.small{text-align:right;font-size:18px}.btn{border:2px solid var(--ink);background:var(--surface);border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:48px;padding:0 16px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.35}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn.big{width:100%;min-height:56px;font-size:18px}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.current{background:var(--up)}.btn:active:not(:disabled){transform:scale(.98)}.link{color:var(--brand);background:0 0;border:0;min-height:44px;padding:8px 4px;font-weight:600}.icon-btn{background:0 0;border:0;min-width:44px;min-height:44px;font-size:24px;line-height:1}select,input[type=date],input[type=search],.field-label input{border:2px solid var(--line);background:var(--surface);width:100%;min-height:50px;color:var(--ink);appearance:none;border-radius:12px;padding:0 12px;font-size:18px}select{background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px;padding-right:36px}.resume{background:var(--up);text-align:left;border:0;border-radius:12px;justify-content:space-between;align-items:center;width:100%;min-height:56px;margin:4px 0 12px;padding:0 16px;font-weight:700;display:flex}.form{gap:16px;margin-top:8px;display:grid}.field-label{gap:6px;font-size:15px;font-weight:600;display:grid}.past{margin-top:32px}.past h2{margin-bottom:8px}.past-item{border-bottom:1px solid var(--line);align-items:center;display:flex}.trash{opacity:.7;font-size:20px}.past-row{text-align:left;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;width:100%;min-height:52px;padding:0 4px;font-size:17px;display:flex}.order-page{padding-bottom:calc(var(--safe-bottom) + 96px)}.photo-strip{align-items:center;gap:12px;margin:4px 0 12px;display:flex}.thumb{border:2px solid var(--line);background:var(--panel);border-radius:8px;width:64px;height:48px;padding:0;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.section-head{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.slots{margin:4px 0 0;padding:0;list-style:none}.slot{background:var(--panel);border-radius:10px;align-items:stretch;height:52px;margin-bottom:4px;transition:transform .15s;display:flex;position:relative}.slot.dragging{z-index:2;box-shadow:0 6px 18px var(--shadow);background:var(--surface)}.slot-main{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:0 12px;font-size:18px;font-weight:600;display:flex}.slot-no{background:var(--brand);width:28px;height:28px;color:var(--brand-ink);border-radius:50%;flex:none;place-items:center;font-size:15px;display:grid}.slot-name{flex:1}.slot.numbered .slot-name{color:var(--muted);font-style:italic;font-weight:500}.slot-main:disabled{opacity:1}.handle{width:52px;color:var(--muted);touch-action:none;cursor:grab;place-items:center;font-size:26px;display:grid}.roster{margin-top:16px}.search{margin:8px 0}.roster-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.roster-btn{border:2px solid var(--ink);background:var(--surface);text-align:left;border-radius:12px;min-height:56px;padding:6px 10px;font-size:17px;font-weight:600}.roster-btn:disabled{opacity:.35}.bottom-bar{padding:12px 16px calc(var(--safe-bottom) + 12px);background:var(--bar-bg);border-top:1px solid var(--line);position:fixed;bottom:0;left:0;right:0}.bottom-bar .btn{max-width:608px;margin:0 auto;display:flex}.photo-viewer{z-index:50;background:#000;position:fixed;inset:0}.photo-stage{touch-action:none;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.photo-stage img{transform-origin:50%;max-width:100%;max-height:100%}.photo-close{top:calc(var(--safe-top) + 12px);position:absolute;right:12px}.sheet-backdrop{z-index:40;background:var(--backdrop);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop.center{align-items:center;padding:16px}.dialog{background:var(--surface);width:100%;max-width:400px;box-shadow:0 12px 40px var(--shadow);border-radius:18px;gap:12px;padding:20px 16px 16px;display:grid}.dialog-msg{text-align:center;margin:0 0 4px;font-size:19px;font-weight:700}.dialog-sub{text-align:center;color:var(--muted);margin:0;font-size:15px}.dialog-input{border:2px solid var(--line);background:var(--bg);width:100%;min-height:52px;color:var(--ink);text-align:center;letter-spacing:.3em;border-radius:12px;padding:0 12px;font-size:22px}.dialog-error{text-align:center;color:var(--danger);margin:0;font-weight:700}.btn.danger-fill{background:var(--danger);border-color:var(--danger);color:#fff}.dialog-btns{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sheet{background:var(--surface);width:100%;max-width:560px;max-height:85dvh;padding:8px 16px calc(var(--safe-bottom) + 16px);border-radius:18px 18px 0 0;overflow:auto}.sheet-head{justify-content:space-between;align-items:center;gap:8px;min-height:48px;display:flex}.sheet-body{gap:12px;display:grid}.menu-list{gap:10px;display:grid}.stepper-row{justify-content:space-between;align-items:center;min-height:60px;font-weight:600;display:flex}.stepper{align-items:center;gap:8px;display:inline-flex}.stepper button{border:2px solid var(--ink);background:var(--surface);border-radius:12px;width:56px;height:56px;font-size:26px;font-weight:700}.stepper .val{text-align:center;min-width:40px;font-size:24px;font-weight:700}.stepper.small{gap:4px}.stepper.small button{width:40px;height:40px;font-size:20px}.stepper.small button.reset{border-color:var(--line);font-size:16px}.stepper.small span{text-align:center;min-width:24px;font-weight:700}.overridden{color:var(--hl)}.chart-page{height:100dvh;padding-top:var(--safe-top);flex-direction:column;display:flex}.chart-main{flex:none;padding:0 8px}.chart-side{-webkit-overflow-scrolling:touch;min-height:0;padding:4px 8px calc(var(--safe-bottom) + 16px);border-top:1px solid var(--line);flex:1;overflow-y:auto}.status-row{align-items:center;display:flex}.status-line{text-align:left;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;flex:1;min-height:36px;padding:6px 4px;font-size:13px;overflow:hidden}.status-line:disabled{opacity:1}.batter-bar{justify-content:space-between;align-items:baseline;gap:8px;padding:2px 4px 6px;display:flex}.batter-bar .up{font-size:21px;font-weight:800}.batter-bar .deck{color:var(--muted);white-space:nowrap;font-size:14px}.moving-bar{background:var(--up);border-radius:10px;align-items:center;padding:8px 12px;font-weight:700}.final-banner{background:var(--panel);border-radius:10px;margin-bottom:6px;padding:8px 12px;font-weight:700}.chips{gap:6px;padding:0 2px 6px;display:flex;overflow-x:auto}.chip{border:1.5px solid var(--ink);background:var(--surface);border-radius:17px;flex:none;min-height:34px;padding:0 14px;font-size:14px;font-weight:600}.chip.on{background:var(--ink);color:var(--bg)}.field-wrap{aspect-ratio:1;touch-action:none;width:min(100%,100dvh - 290px);min-width:260px;margin:0 auto;position:relative}.field-wrap.moving{outline:3px dashed var(--hl);outline-offset:-3px}.field-svg [fill=\#eef3ea]{fill:var(--grass)}.field-svg [fill=\#f3ebdc]{fill:var(--dirt)}.field-svg [stroke=\#000]{stroke:var(--field-line)}.field-svg [fill=\#fff]{fill:var(--base-fill)}.field-svg,.field-svg svg,.field-overlay{width:100%;height:100%;position:absolute;inset:0}.field-overlay{touch-action:none}.field-caption{fill:var(--muted);font-size:26px;font-weight:600}.mark{transition:opacity .2s}.mark.frozen{opacity:.5}.mark.frozen,.mark.frozen *{pointer-events:none}.mark.frozen .mark-text{fill:var(--muted)}.mark.frozen .mark-circle{stroke:var(--muted)}.mark.dim{opacity:.15}.mark.hl{opacity:1}.mark-inn{fill:var(--muted);paint-order:stroke;stroke:var(--bg);stroke-width:3px;stroke-linejoin:round;font-size:12px;font-weight:700}.mark-target{fill:#0000}.mark-circle{fill:var(--surface);stroke:var(--mark-ink);stroke-width:4px}.mark-text{fill:var(--mark-ink);paint-order:stroke;stroke:var(--bg);stroke-width:8px;stroke-linejoin:round;font-size:40px;font-weight:800}.mark.hit .mark-text{stroke-width:0}.mark.hl .mark-circle{stroke:var(--hl);stroke-width:7px}.mark.hl .mark-text{fill:var(--hl)}.mark.hl .mark-inner{animation:.8s ease-in-out infinite alternate pulse}.mark.flash .mark-inner{animation:.9s ease-out flash}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.35)}}@keyframes flash{0%{opacity:.2;transform:scale(2.2)}40%{opacity:1;transform:scale(1.3)}to{transform:scale(1)}}.hold-track{fill:var(--ring-track);stroke:var(--ring-line);stroke-width:16px}.hold-progress{fill:none;stroke:var(--brand);stroke-width:16px;stroke-linecap:round;animation-name:fill-ring;animation-timing-function:linear;animation-fill-mode:forwards}.hold-ring.solid .hold-track{fill:var(--brand);stroke:var(--brand)}@keyframes fill-ring{to{stroke-dashoffset:0}}.actions{grid-template-columns:1fr 1.2fr 1.4fr;gap:8px;padding:8px 0;display:grid}.btn.action{min-height:60px;padding:0 8px;font-size:19px}.btn.action.k{font-size:26px;font-weight:800}.lineup{margin:0;padding:0;list-style:none}.lineup-row{border:0;border-bottom:1px solid var(--line-soft);text-align:left;background:0 0;grid-template-columns:26px minmax(0,1fr) 38px auto;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 6px;font-size:16px;display:grid}.lineup-row.is-up{background:var(--up);border-radius:8px;font-weight:700}.lineup-row.on{outline:2px solid var(--ink);border-radius:8px}.lu-no{text-align:right;font-weight:800}.lu-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lu-jersey{color:var(--muted);font-size:14px}.lu-abs{font-variant-numeric:tabular-nums;text-align:right;font-size:15px}.ab-hit{font-size:18px;font-weight:800}.ab-k{color:var(--danger);font-weight:700}.dueup{border:1px solid var(--line);border-radius:12px;margin-top:12px;overflow:hidden}.dueup-head{background:var(--panel);border:0;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:0 12px;font-weight:700;display:flex}.dueup table{border-collapse:collapse;width:100%;font-size:15px}.dueup th,.dueup td{text-align:left;border-top:1px solid var(--line-soft);padding:6px 8px}.dueup tr.current{background:var(--up)}.dueup select{min-height:40px;font-size:15px}@media (orientation:landscape) and (width>=700px),(width>=900px){.chart-page{flex-direction:row-reverse}.chart-main{flex-direction:column;flex:1.3;min-width:0;display:flex}.field-wrap{width:min(100%,100dvh - 230px)}.chart-side{border-top:0;border-right:1px solid var(--line);flex:1;max-width:480px}}.settings-section{gap:8px;margin-top:24px;display:grid}.settings-section p{margin:0;font-size:15px}.seg{gap:8px;display:flex}.seg-btn{border:2px solid var(--ink);background:var(--surface);border-radius:12px;flex:1;min-height:48px;font-weight:700}.seg-btn.on{background:var(--ink);color:var(--bg)}.row-btns{flex-wrap:wrap;gap:8px;display:flex}.roster-edit{gap:4px;display:grid}.re-head,.re-row{grid-template-columns:1fr 1.2fr 56px 44px;align-items:center;gap:6px;display:grid}.re-head{color:var(--muted);font-size:13px}.re-row input{border:1.5px solid var(--line);border-radius:8px;width:100%;min-height:42px;padding:0 8px;font-size:16px}.print-sheet{display:none}@page{size:A4 landscape;margin:10mm}@media print{body *{visibility:hidden}.chart-page{height:auto}.print-sheet,.print-sheet *{visibility:visible}.print-sheet{--mark-ink:#000;--surface:#fff;--bg:#fff;--muted:#444;color:#000;background:#fff;font-size:11pt;display:block;position:absolute;inset:0}.ps-head h1{font-size:16pt}.ps-meta{color:#444;margin-bottom:4mm;font-size:9pt}.ps-body{gap:6mm;display:flex}.ps-lineup{flex:1}.ps-lineup table{border-collapse:collapse;width:100%;margin-bottom:4mm}.ps-lineup th,.ps-lineup td{text-align:left;border:1px solid #000;padding:1.5mm 2mm;font-size:10pt}.ps-key{color:#444;font-size:8pt}.ps-field{flex:none;width:170mm;height:170mm;position:relative}.ps-field img,.ps-field svg{width:100%;height:100%;position:absolute;inset:0}}
