:root{color-scheme:dark;--ink: #0f141b;--panel: #161d27;--panel-2: #1b2430;--row-alt: #18212c;--raised: #202b39;--line: #2a3543;--line-strong: #3b4756;--chalk: #dfe7ef;--text: #e7edf4;--muted: #93a1b1;--muted-2: #647284;--row-hover: #212c39;--grass: #4bb26c;--grass-dim: #2c6f45;--grass-soft: rgba(75, 178, 108, .16);--clay: #dca545;--clay-dim: #916c2b;--out: #e5564c;--focus: #63a9e8;--radius: 7px;--radius-sm: 4px;--mono: ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shadow: 0 10px 30px rgba(0, 0, 0, .45)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,rgba(75,178,108,.06),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(220,165,69,.05),transparent 55%),var(--ink);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.45}button,input,select{font-family:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}.app{min-height:100%;display:flex;flex-direction:column}.app__body{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:18px 22px 60px}.masthead{border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent)}.masthead__inner{max-width:1400px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px}.brand__mark{width:38px;height:38px;flex:none}.brand__title{font-size:20px;font-weight:700;letter-spacing:.02em;margin:0;line-height:1.05}.brand__sub{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.toolbar{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--raised);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s,transform .05s;white-space:nowrap}.btn:hover{border-color:var(--muted);background:#26313f}.btn:active{transform:translateY(1px)}.btn--primary{background:linear-gradient(180deg,var(--grass),var(--grass-dim));border-color:var(--grass-dim);color:#06210f}.btn--primary:hover{filter:brightness(1.06);background:linear-gradient(180deg,var(--grass),var(--grass-dim))}.btn--ghost{background:transparent;border-color:var(--line)}.btn--ghost:hover{background:var(--panel-2)}.btn__icon{width:16px;height:16px;flex:none}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden}.seg button{padding:7px 11px;border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;cursor:pointer}.seg button[aria-pressed=true]{background:var(--raised);color:var(--text)}.select{padding:8px 11px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--raised);color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.meta{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;padding:16px 0 12px}.field{display:flex;flex-direction:column;gap:5px}.field>label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}.field input,.field select{padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:14px}.field input:focus{border-color:var(--focus);outline:none}.field--wide input{min-width:220px}.inning-ctl{display:flex;align-items:center;gap:6px}.inning-ctl .stepper{width:30px;height:34px;border:1px solid var(--line-strong);background:var(--raised);color:var(--text);border-radius:var(--radius-sm);font-size:18px;font-weight:700;cursor:pointer}.inning-ctl output{font-family:var(--mono);font-size:16px;min-width:24px;text-align:center}.tabs{display:flex;gap:4px;margin:8px 0 0;border-bottom:1px solid var(--line)}.tab{position:relative;padding:11px 18px;border:1px solid transparent;border-bottom:none;background:transparent;color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:var(--radius) var(--radius) 0 0}.tab[aria-selected=true]{color:var(--text);background:var(--panel);border-color:var(--line)}.tab[aria-selected=true]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--clay)}.tab__dot{color:var(--clay);font-family:var(--mono)}.sheet{background:var(--panel);border:1px solid var(--line);border-top:none;border-radius:0 0 var(--radius) var(--radius);padding:16px}.sheet__head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:12px}.team-name-input{font-size:22px;font-weight:800;letter-spacing:.01em;color:var(--text);background:transparent;border:none;border-bottom:1px dashed var(--line-strong);padding:2px 2px 4px;min-width:240px}.team-name-input::placeholder{color:var(--muted-2);font-weight:700}.team-name-input:focus{outline:none;border-bottom-color:var(--focus)}.sheet__runline{margin-left:auto;display:flex;gap:10px;align-items:baseline}.runchip{font-family:var(--mono);display:flex;align-items:baseline;gap:6px;padding:4px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2)}.runchip b{font-size:18px}.runchip span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.runchip--r b{color:var(--grass)}.runchip--h b{color:var(--clay)}.sheet__scroll{overflow-x:auto}table.grid{border-collapse:collapse;font-family:var(--mono);width:100%}.grid th,.grid td{border:1px solid var(--line);text-align:center;padding:0}.grid thead th{background:var(--panel-2);color:var(--muted);font-weight:700;font-size:12px;letter-spacing:.06em;height:30px;padding:0 6px}.grid .col-inning{min-width:76px}.grid tbody tr:nth-child(odd) td{background:var(--row-alt)}.grid tbody tr:hover td{background:var(--row-hover)}.grid .lc-order,.grid .lc-num,.grid .lc-name,.grid .lc-pos{position:sticky;background:var(--panel);z-index:2}.grid thead .lc-order,.grid thead .lc-num,.grid thead .lc-name,.grid thead .lc-pos{background:var(--panel-2);z-index:3}.grid .lc-order{left:0;width:30px;color:var(--muted)}.grid .lc-num{left:30px;width:40px}.grid .lc-name{left:70px;width:168px;text-align:left}.grid .lc-pos{left:238px;width:52px}.grid .lineup-input{width:100%;border:none;background:transparent;color:var(--text);font-family:var(--mono);font-size:13px;padding:7px 8px}.grid .lineup-input:focus{outline:none;background:#63a9e81f}.grid .lc-name .lineup-input{text-align:left}.grid .lc-order{font-size:12px}.grid .tot{width:34px;color:var(--muted)}.grid td.tot{color:var(--text);font-size:13px}.grid .tot--r{color:var(--grass)}.grid .tot--h{color:var(--clay)}.grid tfoot td{background:var(--panel-2);font-size:12px;height:26px;color:var(--muted)}.grid tfoot td.foot-label{text-align:right;padding-right:10px;letter-spacing:.06em;text-transform:uppercase;font-size:10px}.grid tfoot .foot-r{color:var(--grass)}.grid tfoot .foot-h{color:var(--clay)}.rowtools{width:26px}.rowtools button{width:20px;height:20px;border:1px solid var(--line);background:transparent;color:var(--muted-2);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;line-height:1}.rowtools button:hover{color:var(--out);border-color:var(--out)}.addbatter{margin-top:10px}.cell{position:relative;width:100%;height:66px;border:none;background:transparent;cursor:pointer;padding:0;display:block}.cell:hover{background:#63a9e81a}.cell__diamond{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto}.cell__label{position:absolute;top:2px;left:5px;font-size:12px;font-weight:700;color:var(--text);pointer-events:none}.cell__rbi{position:absolute;top:2px;right:4px;font-size:11px;letter-spacing:1px;color:var(--clay);pointer-events:none}.cell__tee{position:absolute;bottom:2px;left:4px;font-size:9px;font-weight:700;color:var(--muted);pointer-events:none}.cell__note{position:absolute;bottom:0;left:2px;right:2px;font-size:8.5px;line-height:1.08;color:var(--muted);text-align:center;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;pointer-events:none;font-style:italic;background:color-mix(in srgb,var(--panel) 78%,transparent);border-radius:3px}.cell--hit .cell__label{color:var(--clay)}.cell--out .cell__label{color:var(--out)}.cell--run .cell__label{color:var(--grass)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05080ca8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.dialog{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);width:min(560px,100%);max-height:90vh;overflow:auto}.dialog--wide{width:min(720px,100%)}.dialog__head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel)}.dialog__title{font-size:16px;font-weight:800;letter-spacing:.02em}.dialog__body{padding:18px}.iconbtn{width:30px;height:30px;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;font-size:16px}.iconbtn:hover{color:var(--text);border-color:var(--muted)}.editor{display:grid;grid-template-columns:1fr 200px;gap:20px}.editor__section{margin-bottom:16px}.editor__section>h4{margin:0 0 8px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}.chipgrid{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:7px 10px;border:1px solid var(--line-strong);background:var(--raised);border-radius:var(--radius-sm);color:var(--text);font-family:var(--mono);font-size:13px;font-weight:700;cursor:pointer}.chip:hover{border-color:var(--muted)}.chip[aria-pressed=true]{border-color:var(--clay);background:#dca54524;color:var(--clay)}.chip--field[aria-pressed=true]{border-color:var(--focus);background:#63a9e829;color:var(--focus)}.chip__seq{font-size:9px;color:var(--muted);margin-left:3px}.editor__diamond{display:flex;flex-direction:column;align-items:center;gap:12px}.editor__diamond .hint{font-size:11px;color:var(--muted);text-align:center}.baserow{display:flex;gap:6px}.basebtn{padding:6px 8px;min-width:40px;border:1px solid var(--line-strong);background:var(--raised);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:700}.basebtn[aria-pressed=true]{border-color:var(--grass);background:var(--grass-soft);color:var(--grass)}.toggle-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.toggle-row label{font-size:13px}.rbi-step{display:flex;align-items:center;gap:8px}.rbi-step button{width:30px;height:30px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--raised);color:var(--text);font-size:16px;font-weight:700;cursor:pointer}.rbi-step output{font-family:var(--mono);font-size:16px;min-width:20px;text-align:center}.note-input{width:100%;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:13px}.editor__foot{grid-column:1 / -1;display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:14px}.help p{color:var(--text)}.help__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin:6px 0 18px}.legend-item{display:flex;gap:10px;align-items:baseline;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2)}.legend-item .sym{font-family:var(--mono);font-weight:800;color:var(--clay);min-width:30px}.legend-item .txt b{font-size:13px}.legend-item .txt span{display:block;font-size:12px;color:var(--muted)}.rules-list{list-style:none;padding:0;margin:0}.rules-list li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.rules-list li b{color:var(--text);font-weight:700}.rules-list li span{color:var(--muted);font-family:var(--mono)}.runrule{margin-top:12px;padding:10px 12px;border-left:3px solid var(--clay);background:var(--panel-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:13px;color:var(--muted)}.box{background:var(--panel);border:1px solid var(--line);border-top:none;border-radius:0 0 var(--radius) var(--radius);padding:16px}.box h3{margin:0 0 10px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}table.linescore{border-collapse:collapse;font-family:var(--mono);margin-bottom:24px}.linescore th,.linescore td{border:1px solid var(--line);padding:6px 10px;text-align:center;min-width:30px}.linescore th{background:var(--panel-2);color:var(--muted);font-size:12px}.linescore td.team{text-align:left;font-family:var(--sans);font-weight:700;min-width:150px}.linescore td.tot{font-weight:800}.linescore td.tot.r{color:var(--grass)}.linescore td.tot.h{color:var(--clay)}table.boxtable{border-collapse:collapse;width:100%;font-family:var(--mono);margin-bottom:22px}.boxtable caption{text-align:left;font-family:var(--sans);font-weight:800;font-size:16px;margin-bottom:6px}.boxtable th,.boxtable td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:center;font-size:13px}.boxtable th{color:var(--muted);font-size:11px;letter-spacing:.05em}.boxtable td.pname{text-align:left;font-family:var(--sans)}.boxtable tfoot td{font-weight:800;border-top:2px solid var(--line-strong)}.info-trigger{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-left:5px;border-radius:50%;border:1px solid var(--muted-2);color:var(--muted);font-size:10px;font-weight:700;cursor:help;vertical-align:middle}.tt-content{max-width:260px;background:#0b1017;border:1px solid var(--line-strong);color:var(--text);padding:8px 10px;border-radius:var(--radius-sm);font-size:12px;line-height:1.4;box-shadow:var(--shadow);z-index:60}.tt-arrow{fill:#0b1017}.import-pick{display:inline-flex;cursor:pointer}.import-preview{margin-top:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);padding:6px;text-align:center}.import-preview img{max-width:100%;max-height:260px;border-radius:3px}.import-error{margin-top:12px;padding:9px 12px;border:1px solid var(--out);border-radius:var(--radius-sm);background:#e5564c1f;color:#ffd9d5;font-size:13px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--raised);border:1px solid var(--line-strong);padding:10px 16px;border-radius:var(--radius);font-size:13px;box-shadow:var(--shadow);z-index:70}.toast--err{border-color:var(--out);color:#ffd9d5}@media(max-width:640px){.editor{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.printroot{display:none}@media print{@page{size:landscape;margin:10mm}body{background:#fff!important}.app{display:none!important}.printroot{display:block;--ink: #fff;--panel: #fff;--panel-2: #f1f1f1;--row-alt: #fafafa;--raised: #fff;--line: #8a8a8a;--line-strong: #3a3a3a;--chalk: #000;--text: #000;--muted: #444;--muted-2: #666;--grass: #2f9e52;--grass-dim: #1f6e39;--grass-soft: rgba(47, 158, 82, .18);--clay: #a9701a;--clay-dim: #7a5010;--out: #cc2b22;color:#000}.printroot,.printroot *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.printpage{page-break-after:always;break-after:page}.printpage:last-child{page-break-after:auto;break-after:auto}.printroot .lc-order,.printroot .lc-num,.printroot .lc-name,.printroot .lc-pos{position:static!important}.printroot .sheet__scroll{overflow:visible!important}.printroot .box{border:none;padding:0}.printhead{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:8px;border-bottom:2px solid #000;padding-bottom:6px}.printhead h2{margin:2px 0 0;font-size:22px}.printhead .eyebrow{color:#555}.printmeta{text-align:right;font-size:12px;color:#333;line-height:1.5}.printroot .grid{width:100%;font-size:12px}.printroot .cell{height:66px}.printroot .cell__diamond{width:58px;height:58px}.printroot .cell__label{font-size:11px}.printroot .cell__note{font-size:8.5px;color:#333}.printroot .grid tbody tr:hover td,.printroot .cell:hover{background:transparent!important}.printroot .grid tbody tr:nth-child(odd) td{background:var(--row-alt)!important}}
