:root{--chalk: #eef1ec;--paper: #f8faf7;--ink: #13241d;--muted: #5d6b64;--line: #c8d1cb;--board: #1d4d3a;--board-ink: #e6efe9;--bulb: #f2c230;--strike: #1d4d3a;--ballc: #8a6d1f;--heat: 29 77 58;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--chalk: #0f1a15;--paper: #15231c;--ink: #e3ebe6;--muted: #93a39a;--line: #2b3d34;--board: #1f5a43;--board-ink: #eef5f0;--strike: #7fc5a4;--ballc: #e4c264;--heat: 127 197 164;color-scheme:dark}}:root[data-theme=dark]{--chalk: #0f1a15;--paper: #15231c;--ink: #e3ebe6;--muted: #93a39a;--line: #2b3d34;--board: #1f5a43;--board-ink: #eef5f0;--strike: #7fc5a4;--ballc: #e4c264;--heat: 127 197 164;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--chalk);color:var(--ink);font:400 16px/1.5 Barlow,system-ui,sans-serif}h1,h2,.call,.bt-num,.bt-head b,.stepper span,.heat th,.heat td{font-family:Barlow Condensed,Arial Narrow,sans-serif}button,input,select{font:inherit;color:inherit}::selection{background:#f2c23073;color:inherit}:focus-visible{outline:3px solid var(--bulb);outline-offset:2px}.shell{max-width:1180px;margin:0 auto;padding:24px 16px 48px}.hero{min-height:calc(100svh - 24px);padding-bottom:24px}.masthead{margin-bottom:24px}.masthead h1{font-size:48px;font-weight:700;letter-spacing:-.01em;margin:0 0 6px;line-height:1}.masthead h1{display:flex;align-items:center;gap:12px}.logo{width:40px;height:40px;flex:none}.masthead p{margin:0;max-width:62ch;color:var(--muted);font-size:17px}.desk{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) minmax(280px,1.05fr);gap:20px;align-items:start}@media(max-width:1000px){.desk{grid-template-columns:1fr 1fr}.verdict{grid-column:1 / -1}}@media(max-width:640px){.desk{grid-template-columns:1fr}.verdict{order:1}.controls{order:2}}.zone-panel,.controls{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:16px}.zone{width:100%;aspect-ratio:1;display:block;touch-action:none;cursor:crosshair;border-radius:4px}.zone .grid{stroke:var(--line);stroke-width:.12}.zone .abs{fill:none;stroke:var(--ink);stroke-width:.35}.zone .reach{fill:none;stroke:var(--muted);stroke-width:.15;stroke-dasharray:.6 .5}.zone .plate{fill:var(--line)}.baseball .ring{fill:none;stroke-width:.22}.baseball .ring.strike{stroke:var(--strike)}.baseball .ring.ball{stroke:var(--ballc)}.baseball .hide{fill:#f7f4ee;stroke:#b9b2a6;stroke-width:.08}.baseball .seam{fill:none;stroke:#c8102e;stroke-width:.07}.baseball .stitch{fill:none;stroke:#c8102e;stroke-width:.34;stroke-dasharray:.05 .17}.zone .tag{font-size:1.5px;fill:var(--muted)}.readout{margin:10px 0 0;font-size:15px}.seg{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.controls{display:grid;gap:12px}.field{display:grid;gap:4px}.label{font-size:14px;color:var(--muted)}.hint{font-size:12px;color:var(--muted)}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toggle{display:inline-flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}.toggle button{border:0;background:transparent;padding:5px 11px;min-width:36px;cursor:pointer}.toggle button+button{border-left:1px solid var(--line)}.toggle button.on{background:var(--board);color:var(--board-ink)}.dash{color:var(--muted)}.stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:4px}.stepper button{border:0;background:transparent;width:32px;height:32px;cursor:pointer;font-size:18px}.stepper span{min-width:28px;text-align:center;font-size:20px;font-weight:600}.score{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--muted)}.score input{width:56px;padding:4px 6px;border:1px solid var(--line);border-radius:4px;background:var(--paper)}select,.search{padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--chalk);max-width:100%}.diamond{position:relative;width:104px;height:72px}.bag{position:absolute;width:28px;height:28px;transform:rotate(45deg);border:2px solid var(--muted);background:var(--paper);cursor:pointer;padding:0;border-radius:2px}.bag:hover{border-color:var(--ink)}.bag.on{background:var(--bulb);border-color:var(--ink)}.verdict{background:var(--board);color:var(--board-ink);border-radius:6px;padding:20px 22px}.verdict .call{font-size:clamp(56px,8vw,88px);font-weight:700;line-height:.9;margin:0 0 16px;letter-spacing:-.01em}.verdict.go .call{color:var(--bulb);text-shadow:0 0 18px rgb(242 194 48 / .35)}.verdict.hold .call{color:var(--board-ink);opacity:.92}.meter{position:relative;height:12px;background:#ffffff24;border-radius:2px}.meter .fill{height:100%;background:var(--board-ink);border-radius:2px;transition:width .15s ease-out}.verdict.go .meter .fill{background:var(--bulb)}.meter .mark{position:absolute;top:-5px;width:3px;height:22px;background:#fff;transform:translate(-1px)}.why{margin:10px 0 14px;font-size:17px}.verdict dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:14px}.verdict dt{opacity:.75}.verdict dd{margin:0;font-variant-numeric:tabular-nums}.src{margin:12px 0 0;font-size:13px;opacity:.75}.block{margin-top:64px;text-align:center}.block h2{font-size:30px;font-weight:600;margin:0 0 6px;line-height:1.1}.lede{margin:0 auto 16px;max-width:72ch;color:var(--muted)}.note{margin-inline:auto;max-width:72ch;color:var(--muted);font-size:14px}.heat-wrap,.ump-wrap{overflow-x:auto}.legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin:0 auto 12px;font-size:13px;color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:8px}.legend .sw{display:inline-block;width:28px;height:14px;border-radius:2px}.legend .sw.clear{background:var(--bulb)}.legend .sw.ramp{background:linear-gradient(90deg,rgb(var(--heat) / .1),rgb(var(--heat) / .85))}.heat{margin:0 auto;border-collapse:separate;border-spacing:2px;font-size:15px}.heat th{font-weight:500;color:var(--muted);padding:2px 8px;white-space:nowrap;text-align:right}.heat thead th{text-align:center}.heat td{width:52px;height:26px;text-align:center;font-variant-numeric:tabular-nums;background:rgb(var(--heat) / calc(var(--t, 0) * .85));color:var(--ink);border-radius:2px}.heat td.clear{background:var(--bulb);color:#13241d;font-weight:600}.heat td.here{outline:2px solid var(--ink);outline-offset:-2px}.heat td.na{background:transparent;color:var(--line)}@media(prefers-color-scheme:light){.heat td{color:var(--ink)}}.bt-head{font-size:19px;margin:0 auto 22px;max-width:60ch}.bt-head b{font-weight:600}.bt{display:grid;gap:10px;max-width:920px;margin:0 auto;text-align:left}.bt-row{display:grid;grid-template-columns:260px 1fr 170px;gap:18px;align-items:center;padding:10px 14px;border-radius:6px}.bt-row.ours{background:var(--paper)}.bt-label{display:grid;gap:2px}.bt-name{font-weight:600}.bt-what{font-size:13px;color:var(--muted);line-height:1.35}.bt-track{position:relative;height:22px;background:rgb(var(--heat) / .12);border-radius:3px}.bt-fill{position:absolute;inset:0 auto 0 0;background:var(--board);border-radius:3px;min-width:2px}.bt-row.ours .bt-fill{background:var(--bulb)}.bt-range{position:absolute;top:50%;height:2px;transform:translateY(-50%);background:var(--ink);opacity:.55}.bt-val{display:grid}.bt-num{font-size:24px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}.bt-num small{font-size:inherit;font-weight:500;color:var(--muted)}.bt-sub{font-size:12px;line-height:1.4;color:var(--muted)}.bt-more{margin:12px auto 0;display:block;background:none;border:1px solid var(--line);border-radius:4px;padding:5px 12px;cursor:pointer;color:var(--ink)}.bt-more:hover{border-color:var(--board)}.bt-notes{max-width:72ch;margin:22px auto 0;display:grid;gap:10px;font-size:14px;color:var(--muted)}.bt-notes p{margin:0}.bt-notes b{color:var(--ink);font-weight:600}.bt-notes .fine{font-size:12px}@media(max-width:720px){.bt-row{grid-template-columns:1fr auto;grid-template-areas:"label val" "track track";gap:8px 14px}.bt-label{grid-area:label}.bt-val{grid-area:val;text-align:right}.bt-track{grid-area:track}}.umps{border-collapse:collapse;width:100%;font-size:15px}.umps th,.umps td{padding:5px 10px;border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}.umps th:first-child{text-align:left}.umps thead th{font-weight:500;color:var(--muted);position:sticky;top:0;background:var(--chalk);z-index:1}.umps tbody th button{background:none;border:0;padding:0;cursor:pointer;text-align:left;font-weight:500}.umps tbody th button:hover{text-decoration:underline}.umps tr.sel{background:#f2c23040}.umps td.big{color:var(--strike);font-weight:600}.umps td.small{color:var(--ballc);font-weight:600}.ump-wrap{max-width:980px;margin-inline:auto;max-height:480px;overflow-y:auto;margin-top:10px}.filters{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;margin-bottom:10px}.minn{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--muted)}.players thead th button{background:none;border:0;padding:0;cursor:pointer;color:inherit;font-weight:500}.players thead th button.on{color:var(--ink);font-weight:600}.players td.role{text-transform:capitalize;color:var(--muted)}.players td:nth-child(2),.players td.role{text-align:left}.players thead th:nth-child(2),.players thead th:nth-child(3){text-align:left}.foot{border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.foot-in{max-width:1180px;margin:0 auto;padding:14px 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px}.foot p{margin:0;flex:1 1 420px;max-width:100ch}.links{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:14px}.links span{margin-right:6px}.links a{display:inline-flex;align-items:center;gap:6px;color:var(--ink);text-decoration:none;padding:3px 9px;border:1px solid var(--line);border-radius:4px}.links a:hover{border-color:var(--board);background:var(--paper)}.muted{color:var(--muted)}.error{color:var(--ink);background:var(--paper);border-left:4px solid var(--bulb);padding:12px 16px}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.foot p a{color:inherit}
