:root{--bg:#080c13;--panel:#111a27;--line:#263449;--muted:#9eafc7;--gold:#efc34a}[hidden]{display:none!important}body{background:var(--bg)}.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.site-nav{position:sticky;top:0;height:100vh;padding:32px 20px;background:#0d1420;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{font-size:32px;font-weight:800;text-decoration:none;letter-spacing:-1px;color:white}.brand span{color:var(--gold)}.nav-label{font-size:12px;letter-spacing:1.5px;color:var(--muted);margin:38px 12px 14px}.site-nav nav{display:grid;gap:8px}.site-nav nav button{text-align:left;border:0;background:transparent;border-radius:8px;font-weight:600;padding:14px;color:var(--muted)}.site-nav nav button[aria-current=page]{color:var(--gold);background:#202332;box-shadow:inset 3px 0 var(--gold)}.nav-bottom{margin-top:auto;color:var(--muted);font-size:14px;line-height:1.8}.nav-bottom span{font-size:12px}main{width:100%;max-width:1600px;padding:32px 36px}header{padding-bottom:20px}header h1{font-size:28px;letter-spacing:-.5px}.intro h2{font-size:18px}.intro p{font-size:14px;max-width:460px}.stats strong{font-size:22px}.controls{background:var(--panel);padding:18px;border:1px solid var(--line);border-radius:12px;align-items:center}.controls input[type=search]{min-width:240px;flex:2}.controls select{font-size:14px}.controls label{display:flex;align-items:center;gap:8px}.controls label input{font-size:14px;flex:0}.rank-actions{display:flex;gap:12px;margin:18px 0}.compare{margin:24px 0;background:#101825}.table-wrap{max-height:68vh;overflow:auto}thead{position:sticky;top:0;z-index:1}td,th{padding:11px 14px}td{font-size:14px}.save-hitter{padding:0 5px;border:0;background:transparent;color:var(--gold);font-size:22px}.name button{font-size:15px}.score{font-size:18px}.trend-section{margin-top:24px;border:1px solid var(--line);padding:20px;border-radius:10px}.trend-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.trend-section svg{width:100%;height:auto}.research-stat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.research-stat div{border:1px solid var(--line);padding:18px;border-radius:10px}.research-stat strong{display:block;font-size:26px;color:var(--gold)}.research-stat span{font-size:14px;color:var(--muted)}.research-copy p{margin:16px 0;max-width:1000px}.performance-note{margin-top:18px;font-size:14px;color:var(--muted)}footer{font-size:12px;line-height:1.8}.profile-note a{display:inline-block;margin-top:10px}.profile-note button{font-size:14px}.watch-note{font-size:12px;color:var(--muted);margin-top:8px}@media(max-width:1050px){.app-shell{grid-template-columns:170px minmax(0,1fr)}main{padding:24px}.site-nav{padding:24px 12px}.stats{gap:16px}.intro{display:block}.stats{margin-top:18px}.trend-grid{grid-template-columns:1fr}}@media(max-width:720px){.app-shell{display:block}.site-nav{position:sticky;height:auto;z-index:5;top:0;padding:10px 14px;display:block;border-bottom:1px solid var(--line)}.brand{font-size:22px}.nav-label,.nav-bottom{display:none}.site-nav nav{display:flex;overflow:auto;margin-top:6px;gap:4px}.site-nav nav button{padding:9px 12px;font-size:14px;white-space:nowrap}.site-nav nav button[aria-current=page]{box-shadow:inset 0 -2px var(--gold)}main{padding:18px 14px}.controls{padding:12px}.controls input[type=search]{min-width:100%}.research-stat{grid-template-columns:1fr}.trend-grid{display:block}.table-wrap{max-height:65vh}.cards{grid-template-columns:1fr}.stats strong{font-size:19px}.stats{gap:18px}header h1{font-size:24px}}

.map-controls{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0;align-items:end}.map-controls label{display:grid;gap:6px;font-size:14px}.map-controls input{min-width:0;width:220px}.map-controls input[type=number]{width:120px}.zoom-controls{display:flex;gap:8px;flex-wrap:wrap}.zoom-controls button{font-size:14px}#scatter{position:relative;min-width:0}.map-tooltip{position:absolute;pointer-events:none;padding:12px;border:1px solid #60738e;border-radius:8px;background:#080c13;color:white;z-index:4;max-width:260px;font-size:14px;box-shadow:0 8px 24px #0008}.map-tooltip strong{display:block;margin-bottom:4px}.map-controls select{min-width:130px}@media(max-width:720px){.map-controls label:first-child{width:100%}.map-controls input[type=search]{width:100%}.map-controls select{min-width:110px}.zoom-controls{width:100%}}

.comparison-toggle{display:flex;gap:10px;align-items:center;margin:18px 0;color:var(--text)}.comparison-toggle input{min-width:0;flex:none;width:18px;height:18px}.cards.single-player{grid-template-columns:1fr}.preset-controls{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.discover-controls{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:16px}.discover-controls label{display:grid;gap:6px}.discover-controls input{width:130px;min-width:0}.discover-controls select{min-width:150px}#discover-rows td:first-child{text-align:left}#discover-rows td:first-child button{border:0;background:transparent;padding:0;color:white;text-align:left;font-weight:600}#discover-head th:first-child{text-align:left}

.brand{font-size:27px}.saved-screens,.label-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:18px 0}.saved-screens label,.label-controls label{display:grid;gap:6px}.saved-screens input,.label-controls input{min-width:0;width:220px}.saved-screens span,.label-controls span{font-size:14px;color:var(--muted)}.report-block{padding:24px;border:1px solid var(--line);border-radius:12px;background:#101825;margin-top:24px}.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.report-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.report-metrics div{padding:14px;border:1px solid var(--line);border-radius:8px}.report-metrics strong{display:block;font-size:24px;color:var(--gold)}.report-metrics span{font-size:14px;color:var(--muted)}.monthly-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:16px}.monthly-grid svg{width:100%;height:auto}.report-block h3{margin:24px 0 10px}.report-block p{margin:10px 0}.monthly-grid .table-wrap{max-height:400px}@media(max-width:1000px){.monthly-grid{grid-template-columns:1fr}.report-metrics{grid-template-columns:1fr 1fr}}@media print{.site-nav,header,footer,[data-panel],#comparison .compare-controls,#comparison .cards,#comparison .trend-section{display:none!important}.app-shell,main,[data-panel=players],#player-report{display:block!important}body{background:white;color:black}#player-report{border:0;background:white;color:black}#player-report p,#player-report span{color:#333}#player-report strong{color:black}#player-report button{display:none}#player-report .table-wrap{overflow:visible;max-height:none}#player-report th,#player-report td{background:white;color:black;border-color:#ccc}.report-toolbar{display:block}}

@media print{#comparison{display:none!important}}
.sample-context{border-left:3px solid var(--accent,#efc34a);padding:12px;background:#172332}.player-notes textarea{display:block;width:100%;box-sizing:border-box;margin:12px 0;padding:14px;color:var(--text,#eff3fa);background:var(--bg,#101925);border:1px solid var(--line,#364458);border-radius:8px;font:inherit}.player-notes button{margin-right:10px}[data-panel="breakouts"] .controls input{width:130px;min-width:0}[data-panel="breakouts"] td:last-child{min-width:300px;white-space:normal;text-align:left}#comparison-overlay svg{max-height:420px}@media print{.player-notes textarea{color:#111;background:white}.player-notes button{display:none}}
.watch-card{border-bottom:1px solid var(--line,#364458);padding:22px 0}.watch-note{white-space:pre-wrap}.metric-links{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.metric-help{font-size:14px;text-decoration:underline;text-underline-offset:4px}#glossary-list details{padding:16px 0;border-bottom:1px solid var(--line,#364458)}#glossary-list summary{cursor:pointer;font-weight:600}.controls output{display:block;color:#efc34a}.controls input[type=range]{min-width:140px;max-width:180px}[data-panel=weakness] input,[data-panel=custom] input[type=number]{width:130px;min-width:0}
/* Swing Lab: baseball operations desk */
:root{color-scheme:light;--bg:#eeeade;--panel:#faf8ef;--line:#c9c9b8;--text:#223a2d;--muted:#687366;--gold:#8d6926;--accent:#2d5c43}body{font:15px/1.5 'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--text)}.app-shell{grid-template-columns:220px minmax(0,1fr)}.site-nav{background:#1d3a2e;border-color:#153025;padding:28px 16px;color:#e9e5d5}.brand{font-family:Georgia,serif;letter-spacing:-1px;color:#f2edda;font-size:31px}.brand span{color:#d6bf7b}.nav-label{color:#aeb9a5;font-size:10px;letter-spacing:2px;margin:26px 12px 12px}.site-nav nav{gap:2px;overflow-y:auto;min-height:0;padding-bottom:16px}.site-nav nav button{color:#d3d9c6;font-size:13px;padding:10px 12px;border-radius:2px}.site-nav nav button:hover{background:#294b38;color:#fff}.site-nav nav button[aria-current=page]{background:#304d38;color:#efdeb2;box-shadow:inset 3px 0 #d6bf7b}.nav-bottom{color:#b3bfa9;padding-top:18px;font-size:12px}main{padding:26px 32px;max-width:1700px}header{border-bottom:3px double #aeb49f}header h1{font-family:Georgia,serif;font-size:32px;font-weight:normal;color:#213b2b;letter-spacing:-.6px}.kicker{font-family:'Courier New',monospace;font-size:11px;letter-spacing:.5px;color:var(--muted)}.badge{border-radius:2px;background:#e5e6d5;border-color:#c0c7ae;font-family:'Courier New',monospace;font-size:12px}.intro{margin:20px 0}.intro h2,h2,h3{color:#213b2b}.stats strong{font-family:Georgia,serif;color:#2c573d}.controls,.report-block,.compare,.trend-section{background:var(--panel);border-radius:3px;box-shadow:0 2px 0 #00000005}.controls{padding:14px;gap:10px;border-top:3px solid #52674b}.controls label{font-size:12px;flex-wrap:wrap}.controls input[type=search]{min-width:190px}input,select,button{border-radius:3px;padding:8px 10px;font-size:13px;color:var(--text);background:#faf8ef;border-color:#bbc3ac}input:focus-visible,select:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9a7636;outline-offset:2px}button:hover{border-color:#486448;background:#e8ecdf}.table-wrap{background:#faf8ef;border:1px solid #bec5b0;border-radius:2px;max-height:65vh}table{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums}thead th{background:#e0e6d4;color:#29432e;border-bottom:2px solid #8d9d7b;white-space:nowrap}thead{z-index:3}th button{font-family:'Courier New',monospace;font-size:12px;font-weight:bold;color:#31462d;padding:10px 0}th[aria-sort=ascending],th[aria-sort=descending]{background:#cbd7b8;box-shadow:inset 0 -3px #486842}td,th{padding:10px 13px}td{font-size:13px;border-bottom:1px solid #dfe1d2}tbody tr:nth-child(even){background:#f0f1e6}tbody tr:hover{background:#e2e9d4}td.name button,#discover-rows td:first-child button{color:#234531;background:none;font-size:14px}.score{color:#345633;font-family:'Courier New',monospace;font-size:17px;font-weight:bold}.track{background:#dbe1d0}.bar{background:#537244}.track:after{background:#f8f4e9}.card:nth-child(2) .bar{background:#688f9a}.save-hitter{color:#8d6926}#plot-detail,.sample-context{background:#e4e9d8;color:#284831}.map-tooltip{background:#213c2c;border:1px solid #889a74;color:#faf6e9}.reportmetrics>div,.research-stat>div{border-color:#c6ccb9}.reportmetrics strong{color:#315733}.sort-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:12px 14px;margin:16px 0 0;border:1px solid #bcc5ad;border-bottom:0;background:#e6e9dc;border-radius:3px 3px 0 0}.sort-toolbar strong{font-family:'Courier New',monospace;font-size:11px;text-transform:uppercase;letter-spacing:1px}.sort-toolbar label{display:flex;align-items:center;gap:7px;font-size:12px}.sort-toolbar select{min-width:140px;background:#faf8ef}.sort-hint{margin-left:auto;color:#697462;font-size:11px}.sort-toolbar+.table-wrap{margin-top:0}svg text{fill:#41583b}#scatter circle:focus,#scatter circle:hover{stroke:#233e2b}.metric-links button{color:#355537}#glossary-list details{border-color:#c9ceba}.sample-context{border-left-color:#617d49}.watch-card{border-color:#bdc8ac}.controls output{color:#537044}.table-wrap td:first-child{text-align:left}.rank-actions button:first-child,#custom-more{background:#264d36;color:#faf6e7;border-color:#264d36}
@media(max-width:850px){main{padding:20px 14px}.app-shell{grid-template-columns:1fr}.site-nav{height:auto;position:relative;padding:16px}.site-nav nav{display:flex;flex-wrap:wrap;overflow:visible}.nav-label,.nav-bottom{display:none}.site-nav nav button{padding:7px 10px}.brand{font-size:28px}.sort-toolbar{gap:8px}.sort-hint{width:100%;margin:0}.sort-toolbar select{min-width:110px}.table-wrap{max-height:60vh}}
@media print{.sort-toolbar{display:none}.report-block,.compare{box-shadow:none;background:white}svg text{fill:#333}}
/* Neutral scouting desk palette */
:root{color-scheme:light;--bg:#e9e9e6;--panel:#f7f7f3;--line:#c9cccd;--text:#252c31;--muted:#697279;--gold:#9b7544;--accent:#9b7544}body{background:var(--bg);color:var(--text)}.site-nav{background:#191e24;border-color:#101419}.brand{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;font-size:24px;letter-spacing:-.5px;color:#f2f0e7}.brand img{flex:0 0 42px}.brand .brand-word{color:#f2f0e7;line-height:1.1}.brand small{display:block;font-family:'Courier New',monospace;font-size:8px;letter-spacing:1.6px;color:#aeb6bd;margin-top:8px}.nav-label{color:#858e96}.site-nav nav button{color:#b7bfc5}.site-nav nav button:hover{background:#292f36;color:#f7f5ec}.site-nav nav button[aria-current=page]{background:#303138;color:#e1c599;box-shadow:inset 3px 0 #caa364}.nav-bottom{color:#959fa7}header{border-bottom-color:#aeb4b8}header h1,h2,h3,.intro h2{color:#252c31}.badge{background:#dfe1df;border-color:#c5c9c7;color:#586167}.stats strong{color:#424d55}.controls{background:#f7f7f3;border-color:#c6cbcd;border-top-color:#6b757d}.report-block,.compare,.trend-section{background:#f7f7f3;border-color:#c9cdcf}input,select,button{background:#f7f7f3;color:#293139;border-color:#bbc1c5}button:hover{background:#e5e7e5;border-color:#78848d}.table-wrap{background:#f7f7f3;border-color:#bcc3c7}thead th{background:#dce0e2;color:#343e47;border-bottom-color:#909da7}th button{color:#35414a}th[aria-sort=ascending],th[aria-sort=descending]{background:#e7d9c5;box-shadow:inset 0 -3px #a47d4d}tbody tr:nth-child(even){background:#eeefec}tbody tr:hover{background:#e3e5e3}td{border-bottom-color:#dde0df}td.name button,#discover-rows td:first-child button{color:#263c4a}.score{color:#344a58}.track{background:#d9dfe1}.bar{background:#9b7544}.card:nth-child(2) .bar{background:#728c9c}.track:after{background:#f9f8f2}.sort-toolbar{background:#e0e3e3;border-color:#bcc3c7}.sort-toolbar select{background:#f7f7f3}.sort-hint{color:#68747c}#plot-detail,.sample-context{background:#e2e5e5;color:#344650}.sample-context{border-left-color:#a47d4d}.map-tooltip{background:#222a31;border-color:#7d8992;color:#f5f5ef}.reportmetrics strong{color:#344a58}.reportmetrics>div,.research-stat>div{border-color:#c6cbcf}.watch-card,#glossary-list details{border-color:#c6cbcf}.metric-links button{color:#354c5d}.controls output{color:#9b7544}.rank-actions button:first-child,#custom-more{background:#34434e;border-color:#34434e;color:#faf8f0}svg text{fill:#475861}#scatter circle:hover,#scatter circle:focus{stroke:#344a58}@media print{body,.report-block{background:white}svg text{fill:#333}}
[data-panel=emerging] .controls input{min-width:0;width:110px}#emerging-rows td:last-child{min-width:280px;max-width:380px;white-space:normal;text-align:left}
.sort-toolbar button[aria-pressed=true]{background:#34434e;border-color:#34434e;color:#faf8f0}.sort-toolbar .sort-hint{font-weight:600}

/* Keep native number steppers visible and large enough to use. */
input[type=number]{appearance:auto;-moz-appearance:auto;padding-right:6px;min-height:40px;font-variant-numeric:tabular-nums}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:inner-spin-button;opacity:1;height:32px;margin-left:8px;cursor:pointer}
.number-stepper{display:inline-flex;align-items:stretch;max-width:100%;vertical-align:middle}.number-stepper input[type=number]{min-width:0!important;flex:1!important;border-radius:3px 0 0 3px!important;width:110px;appearance:textfield;-moz-appearance:textfield}.number-stepper input::-webkit-inner-spin-button,.number-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-arrows{display:flex;flex-direction:column;flex:0 0 28px}.number-arrows button{height:20px;min-height:20px;padding:0 5px;line-height:18px;font-size:10px;border-left:0;border-radius:0 3px 0 0}.number-arrows button+button{border-top:0;border-radius:0 0 3px 0}.number-arrows button:hover{background:#d8dee1}.sort-toolbar button[aria-pressed]{display:none}
[aria-label="Database columns"] button[aria-pressed="true"]{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.home-intro{align-items:start;gap:28px}.home-intro h2{font-size:clamp(28px,4vw,44px);max-width:650px;line-height:1.15}.home-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.home-actions button:first-child{background:var(--accent);color:var(--panel);border-color:var(--accent)}.home-snapshot{max-width:310px;padding:20px;border:1px solid var(--line);background:var(--panel)}.home-snapshot small{color:var(--muted)}.home-search input{display:block;width:100%;max-width:640px;margin-top:10px;box-sizing:border-box}.home-player{display:block;text-align:left;width:100%;margin:7px 0}.home-leaderboards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-leaderboard{margin:0}.home-leaderboard ol{padding:0;list-style:none}.home-leaderboard li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.home-leaderboard li button{text-align:left;border:0;background:transparent;padding:0}.home-leaderboard>p{min-height:66px}@media(max-width:1000px){.home-leaderboards{grid-template-columns:1fr}.home-leaderboard>p{min-height:0}.home-intro{flex-wrap:wrap}.home-snapshot{max-width:none}}
#cards .card{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:3px;padding:22px}#cards .card h3{font-family:Georgia,serif;font-size:24px}#cards .metric strong{color:var(--text);font-family:'Courier New',monospace}#cards .raw{color:var(--muted);border-top:1px solid var(--line);padding-top:14px}#cards .metric:nth-of-type(-n+3){font-weight:600}
.team-coverage{display:block;font-size:10px;color:var(--muted);font-weight:normal;white-space:nowrap}#team-roster td:first-child button{text-align:left;background:none;border:0;padding:0}
