/* v1.9.269: presentation only. Pitch coordinates, results and video mappings remain native. */
:root {
  --navy:#080b0e; --navy-2:#1b2229; --bg:#080b0e; --card:#11161c;
  --text:#ffffff; --ink:#ffffff; --muted:#f0eadb; --line:#3b4650; --blue:#ffe434;
  --pa-bg:#080b0e; --pa-panel:#11161c; --pa-raised:#1b2229; --pa-line:#3b4650;
  --pa-white:#fff; --pa-sub:#f0eadb; --pa-label:#fff0aa; --pa-yellow:#ffe434;
  --pa-dark:#12140a; --pa-tint:#292b17;
}
body { background:var(--bg); color:var(--text); }
html, body { min-width:0; }
#app button, #app input, #app select, #app textarea{ font-family:inherit; }
#app button:focus-visible, #app a:focus-visible, #app summary:focus-visible, #app select:focus-visible{ outline:2px solid var(--pa-yellow); outline-offset:3px; }
#app .app-header{ background:var(--pa-panel); border-bottom:1px solid var(--line); padding:10px 24px; }
#app .header-inner{ max-width:1880px; grid-template-columns:max-content minmax(0,1fr) auto; gap:16px; }
#app .header-inner.has-player-selector, #app .header-inner.has-player-selector.has-member-account{ grid-template-columns:max-content max-content minmax(0,400px) minmax(0,1fr); gap:20px; }
#app .header-back-button{ display:inline-flex; width:auto; min-width:0; height:auto; min-height:40px; gap:7px; padding:8px 11px; border:1px solid var(--line); border-radius:4px; color:var(--text); background:var(--bg); font-size:13px; white-space:nowrap; }
#app .header-back-button:hover{ background:var(--pa-tint); border-color:var(--pa-yellow); }
#app .brand{ display:flex; justify-content:flex-start; gap:9px; min-width:0; }
#app .has-player-selector .brand{ padding-left:16px; border-left:1px solid var(--line); }
#app .brand-mark{ width:32px; height:32px; border-radius:4px; background:var(--pa-yellow); color:var(--pa-dark); font-size:20px; }
#app .brand strong{ font-size:17px; color:var(--text); }
#app .brand span, #app .eyebrow{ color:var(--pa-label); }
#app .header-inner.has-player-selector .header-actions{ grid-column:4; justify-self:end; min-width:0; }
#app .header-actions{ gap:6px; }
#app .admin-header-button, #app .install-button, #app .personal-page-header-button{ color:var(--pa-label); background:var(--pa-raised); border:1px solid var(--line); border-radius:4px; min-height:38px; }
#app .header-player-selector.desktop-only{ display:grid; grid-template-columns:96px 132px 156px; width:400px; max-width:100%; gap:8px; }
#app .header-player-selector label{ display:grid; gap:3px; min-width:0; }
#app .header-player-selector label > span{ margin:0; color:var(--pa-label); font-size:11px; }
#app .header-player-selector select{ width:100%; min-height:36px; height:36px; padding:5px 22px 5px 8px; border:1px solid var(--line); border-radius:4px; background:var(--pa-raised); color:var(--text); font-size:13px; }
#app .page{ max-width:1880px; }
#app .region-home-page, #app .player-page{ max-width:1880px; padding:20px 24px 28px; }
#app .page-heading, #app .player-hero, #app .pitcher-report-target-card{ background:var(--pa-panel); border-color:var(--line); border-radius:4px; }
#app .region-card, #app .school-card, #app .pitcher-card{ border:1px solid var(--line); background:var(--pa-panel); border-radius:6px; }
#app .region-card:hover, #app .school-card:hover, #app .pitcher-card:hover{ border-color:var(--pa-yellow); background:var(--pa-tint); }
#app .region-mark, #app .uniform-number, #app .player-number{ background:var(--pa-tint); border:1px solid var(--pa-yellow); color:var(--pa-yellow); border-radius:4px; }
#app .card-copy > span, #app .card-copy > small, #app .chevron, #app .player-affiliation, #app .player-heading p{ color:var(--pa-sub); }
#app .player-page .player-hero{ display:grid; grid-template-columns:64px minmax(160px,auto) minmax(0,1fr); gap:14px; align-items:center; margin-bottom:16px; padding:16px; }
#app .player-page .player-number{ width:64px; height:68px; font-size:28px; grid-column:1; grid-row:1; }
#app .player-page .player-heading{ grid-column:2; grid-row:1; }
#app .player-heading h1{ margin:0 0 5px; font-size:28px; }
#app .player-heading p{ margin:4px 0 0; font-size:12px; }
#app .career-record-details{ grid-column:3; grid-row:1; width:100%; }
#app .career-record-heading{ color:var(--pa-label); padding:8px; background:var(--pa-panel); border:1px solid var(--line); border-radius:4px; }
#app .career-record-meta, #app [data-kbsa-status]{ color:var(--pa-sub); font-size:11px; }
#app .career-stat-grid{ border-color:var(--line); background:var(--pa-raised); }
#app .career-stat-grid > div{ border-color:var(--line); }
#app .career-stat-grid span{ color:var(--pa-label); }
#app .pitcher-report-menu{ color:var(--pa-yellow); background:var(--pa-tint); border-color:var(--line); border-radius:4px; }
#app .desktop-analysis-grid{ display:grid; grid-template-columns:minmax(320px,.41fr) minmax(0,.59fr); align-items:start; gap:16px; }
#app .desktop-analysis-sidebar, #app .desktop-analysis-main{ min-width:0; padding:0; width:100%; }
#app .desktop-analysis-sidebar{ container-type:inline-size; }
#app .desktop-analysis-main{ container-type:inline-size; }
#app .game-selector-card, #app .desktop-sidebar-panel{ margin:0 0 12px; padding:12px; background:var(--pa-panel); border:1px solid var(--line); border-radius:4px; }
#app .analysis-scope-switch{ display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:0 0 12px; padding:0; border:0; background:transparent; }
#app .analysis-scope-switch button{ min-height:44px; padding:8px 5px; border:1px solid var(--line); border-radius:4px; background:var(--pa-bg); color:var(--text); font-size:13px; }
#app .analysis-scope-switch button.active{ background:var(--pa-yellow); color:var(--pa-dark); border-color:var(--pa-yellow); }
#app .game-selector-heading strong{ font-size:16px; color:var(--text); }
#app .game-selector-heading small, #app .game-record-heading, #app .game-record-heading span{ color:var(--pa-label); font-size:11px; }
#app .player-game-select{ border-color:var(--line); background:var(--pa-raised); color:var(--text); border-radius:4px; }
#app .scouting-analysis-total, #app .scouting-analysis-status{ background:var(--pa-tint); border:1px solid var(--line); color:var(--text); border-radius:4px; padding:7px 8px; }
#app .scouting-analysis-total > span, #app .scouting-analysis-status small{ color:var(--pa-sub); }
#app .game-stat-grid{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); border:1px solid var(--line); margin:8px 0 0; background:var(--pa-raised); border-radius:4px; }
#app .game-stat-grid > div{ display:flex; flex-direction:column; justify-content:center; align-items:center; min-width:0; min-height:50px; gap:4px; padding:6px 2px; border-color:var(--line); }
#app .game-stat-grid > div:nth-child(n+7){ grid-column:span 2; }
#app .game-stat-grid strong{ font-size:18px; }
#app .game-stat-grid span{ font-size:11px; color:var(--pa-label); }
#app .fastball-velocity-summary{ margin-top:8px; }
#app .fastball-velocity-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid var(--line); border-radius:4px; background:var(--pa-raised); }
#app .fastball-velocity-grid > div{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-width:0; min-height:64px; padding:9px 5px; }
#app .fastball-velocity-grid > div+div{ border-left:1px solid var(--line); }
#app .fastball-velocity-grid strong{ font-size:22px; line-height:1.2; color:var(--pa-label); }
#app .fastball-velocity-grid strong small{ font-size:11px; font-weight:500; margin-left:4px; }
#app .fastball-velocity-grid span{ font-size:11px; text-align:center; }
#app .fastball-velocity-summary p{ margin:5px 2px 0; color:var(--muted); font-size:10px; line-height:1.5; overflow-wrap:anywhere; }
#app .game-source-links{ display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-top:10px; }
#app .game-source-link{ min-height:38px; padding:7px 4px; border-color:var(--line); border-radius:4px; background:var(--pa-raised); color:var(--pa-label); font-size:12px; text-align:center; white-space:normal; }
#app .scope-whiff-summary{ display:none; }
#app .desktop-sidebar-heading{ gap:6px; margin-bottom:12px; }
#app .desktop-sidebar-heading h2{ margin:3px 0 0; font-size:17px; }
#app .desktop-sidebar-heading > small{ color:var(--pa-label); font-size:11px; }
#app .desktop-kpi-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
#app .desktop-kpi-grid > div{ min-width:0; min-height:100px; padding:12px 3px; background:var(--pa-raised); border:1px solid var(--line); border-radius:4px; gap:5px; }
#app .desktop-kpi-grid strong{ font-size:22px; color:var(--pa-yellow); }
#app .desktop-kpi-grid span{ color:var(--text); font-size:11px; }
#app .desktop-kpi-grid small{ color:var(--pa-sub); font-size:11px; }
#app .desktop-insight-grid{ display:grid; grid-template-columns:1fr; gap:16px; margin-top:16px; }
#app .desktop-count-insights, #app .desktop-pitch-efficiency{ padding:0; background:transparent; border:0; }
#app .desktop-count-insights h3, #app .desktop-pitch-efficiency h3{ color:var(--text); font-size:16px; }
#app .desktop-count-metrics{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#app .desktop-progress-metric{ display:grid; grid-template-columns:1fr; gap:4px; }
#app .desktop-progress-metric span{ color:var(--pa-label); font-size:11px; }
#app .desktop-progress-metric strong{ color:var(--text); font-size:12px; text-align:left; }
#app .desktop-progress-metric i{ background:var(--pa-raised); height:4px; }
#app .desktop-progress-metric i b{ background:var(--pa-yellow); }
#app .desktop-side-csw{ display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:10px 8px; background:var(--pa-raised); }
#app .desktop-side-csw > div{ display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
#app .desktop-side-csw span{ color:var(--pa-label); font-size:11px; }
#app .desktop-side-csw strong{ color:var(--text); font-size:12px; }
#app .desktop-efficiency-table > [role="row"]{ display:grid; grid-template-columns:minmax(56px,1.3fr) minmax(24px,.55fr) minmax(33px,.8fr) minmax(54px,1.15fr) repeat(3,minmax(32px,.8fr)); align-items:center; gap:2px; padding:9px 0; font-size:11px; border-color:var(--line); }
#app .desktop-efficiency-table > .head{ color:var(--pa-label); font-size:11px; }
#app .desktop-efficiency-table > [role="row"] > strong{ font-size:11px; white-space:normal; text-align:left; }
#app .desktop-efficiency-table > [role="row"] > span{ color:var(--text); font-size:11px; text-align:right; white-space:normal; overflow-wrap:anywhere; }
#app .desktop-efficiency-note{ color:var(--pa-sub); font-size:11px; line-height:1.6; }
#app .desktop-pa-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; max-height:none; overflow:visible; }
#app .desktop-pa-button, #app .video-pa-button{ display:flex; flex-direction:column; justify-content:center; align-items:stretch; gap:5px; min-height:62px; padding:8px 7px; background:var(--pa-bg); border:1px solid var(--line); border-radius:4px; text-align:left; }
#app .desktop-pa-button > span, #app .video-pa-button > span{ text-align:center; font-size:12px; color:var(--pa-label); }
#app .pa-selection-summary{ display:flex; justify-content:flex-start; align-items:baseline; gap:5px; flex-wrap:wrap; }
#app .pa-selection-summary strong{ color:var(--text); font-size:13px; }
#app .pa-selection-summary small{ color:var(--pa-sub); font-size:12px; }
#app .desktop-pa-button.active, #app .video-pa-button.active{ background:var(--pa-tint); border-color:var(--pa-yellow); }
#app .desktop-analysis-main .tab-bar{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); position:static; gap:2px; padding:4px; margin:0 0 12px; border:1px solid var(--line); border-radius:4px; background:var(--pa-panel); }
#app .desktop-analysis-main .tab-button{ display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; min-width:0; min-height:52px; padding:5px 2px; color:var(--pa-sub); font-size:12px; white-space:normal; border-radius:3px; }
#app .desktop-analysis-main .tab-button.active{ color:var(--pa-yellow); background:var(--pa-tint); box-shadow:inset 0 -2px var(--pa-yellow); }
#app .desktop-analysis-main .mobile-insights-button{ display:none; }
#app .analysis-card, #app .runner-summary, #app .pitch-family-model-card, #app .video-card{ background:var(--pa-panel); border:1px solid var(--line); border-radius:4px; }
#app .analysis-card, #app .video-card{ padding:14px; }
#app .filter-chip, #app .secondary-button{ background:var(--pa-raised); color:var(--pa-sub); border-color:var(--line); border-radius:4px; }
#app .filter-chip.active, #app .primary-button{ background:var(--pa-yellow); border-color:var(--pa-yellow); color:var(--pa-dark); }
#app .primary-button > *, #app .filter-chip.active > *{ color:inherit; }
#app .stat-row > div{ background:var(--pa-raised); border-radius:4px; }
#app .stat-row strong{ color:var(--text); }
#app .stat-row span, #app .stat-row small, #app .analysis-heading p, #app .analysis-scope-note, #app .zone-help, #app .zone-caption, #app .video-heading p{ color:var(--pa-sub); }
#app .pitch-family-model-toolbar{ color:var(--pa-sub); background:transparent; }
#app .pitch-family-model-toolbar small, #app .pitch-detail-family-heading span, #app .pitch-family-reference-heading span, #app .pitch-family-reference-card dt{ color:var(--pa-label); }
#app .pitch-family-reference-card{ background:var(--pa-bg); border-radius:4px; }
#app .pitch-family-reference-card dd{ color:var(--text); }
#app .pitch-family-model-summary, #app .pitch-family-model-note{ display:none; }
#app .pitch-type-percentages > span{ color:var(--text); background:var(--pa-raised); border-color:var(--line); }
#app .video-heading{ margin-bottom:12px; }
#app .video-badge{ color:var(--pa-label); background:var(--pa-raised); border-color:var(--line); }
#app .youtube-viewer-playback-notice{ background:var(--pa-bg); border-color:var(--line); }
#app .youtube-viewer-playback-notice strong{ color:var(--text); }
#app .youtube-viewer-playback-notice span{ color:var(--pa-sub); }
#app .video-controls-row button{ color:var(--pa-sub); border-color:var(--line); background:var(--pa-raised); }
#app .youtube-viewer-card .youtube-viewer-controls button.active{ color:var(--pa-dark); background:var(--pa-yellow); border-color:var(--pa-yellow); }
#app .video-analysis-layout.youtube-viewer-analysis-layout{ display:grid; grid-template-columns:minmax(0,1fr); gap:14px; }
#app .video-zone-panel{ min-width:0; background:transparent; border:0; padding:0; }
#app .video-zone-panel .zone-shell{ width:100%; max-width:380px; margin:0 auto; }
#app .video-event-list .event-button.pitch{ min-width:0; background:var(--pa-bg); border:1px solid var(--line); border-radius:4px; }
#app .video-event-list .event-button.pitch.active{ background:var(--pa-tint); border-color:var(--pa-yellow); }
#app .video-event-list .pitch-row-number, #app .video-event-list .pitch-row-metric, #app .video-event-list .pitch-row-time{ color:var(--pa-sub); }
#app .pitch-row-time{ font-style:normal; }
#app .video-pa-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
#app .mobile-pa-picker{ border:1px solid var(--line); border-radius:4px; background:var(--pa-panel); padding:0 10px; }
#app .mobile-pa-picker > summary{ display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; color:var(--pa-label); font-size:12px; list-style:none; }
#app .mobile-pa-picker > summary::-webkit-details-marker{ display:none; }
#app .mobile-pa-picker > summary span{ color:var(--pa-sub); font-size:11px; }
#app .mobile-pa-picker .video-pa-list{ padding:0 0 10px; }
#app .tab-content[data-active-tab="batters"], #app .tab-content[data-active-tab="video"]{ display:flex; flex-direction:column; gap:8px; }
#app .analysis-pa-picker{ order:1; margin-top:0; }
@media(min-width:900px) {
  #app .desktop-only{ display:block; }
  #app .video-pa-picker-section{ display:none; }
  #app .analysis-pa-picker{ display:block; }
  #app .analysis-pa-picker .video-pa-list{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  #app .mobile-insights-content{ display:none; }
}
@media(min-width:1500px) {
  #app .desktop-analysis-main .tab-button{ flex-direction:row; min-height:44px; font-size:13px; }
  #app .video-analysis-layout.youtube-viewer-analysis-layout{ grid-template-columns:minmax(0,1fr) minmax(300px,.85fr); align-items:start; }
}
@media(max-width:899px) {
  #app .app-header{ padding:7px 10px; }
  #app .header-inner.has-player-selector, #app .header-inner.has-player-selector.has-member-account{ grid-template-columns:max-content minmax(0,1fr) auto; gap:5px 8px; }
  #app .header-inner.has-player-selector .header-actions{ grid-column:3; grid-row:1; }
  #app .header-inner.has-player-selector .brand{ grid-column:2; grid-row:1; padding:0; border:0; justify-content:center; }
  #app .header-player-selector.desktop-only{ grid-column:1/-1; grid-row:2; grid-template-columns:minmax(0,.75fr) minmax(0,1fr) minmax(0,1.3fr); width:100%; gap:4px; }
  #app .header-player-selector select{ height:36px; font-size:14px; padding:4px 20px 4px 5px; }
  #app .header-back-button{ font-size:12px; padding:5px 7px; }
  #app .brand strong{ font-size:15px; }
  #app .brand span{ display:none; }
  #app .brand-mark{ width:26px; height:26px; font-size:17px; }
  #app .header-actions > button{ min-height:40px; font-size:12px; padding:5px 8px; }
  #app .header-actions .member-header-name{ display:none; }
  #app .region-home-page, #app .player-page{ padding:10px; }
  #app .player-page .player-hero{ grid-template-columns:44px minmax(0,1fr); gap:6px 8px; padding:10px; margin-bottom:8px; }
  #app .player-page .player-number{ width:44px; height:48px; font-size:22px; }
  #app .player-heading h1{ font-size:23px; margin:0; }
  #app .player-affiliation, #app .player-heading p{ font-size:11px; margin:2px 0 0; }
  #app .career-record-details{ grid-column:1/-1; grid-row:2; margin:0; }
  #app .career-record-heading{ min-height:40px; padding:4px 6px; font-size:12px; }
  #app .career-record-meta > [data-kbsa-status]{ display:none; }
  #app .career-record-details[open] .career-record-meta > [data-kbsa-status]{ display:inline; }
  #app .career-stat-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  #app .desktop-analysis-grid{ grid-template-columns:minmax(0,1fr); gap:0; }
  #app .game-selector-card{ padding:8px; margin:0 0 8px; }
  #app .analysis-scope-switch{ margin-bottom:8px; gap:5px; }
  #app .game-selector-heading{ gap:4px; }
  #app .game-selector-heading strong{ font-size:14px; }
  #app .scouting-analysis-total, #app .scouting-analysis-status{ margin-bottom:8px; padding:5px 6px; font-size:11px; }
  #app .scouting-analysis-status small{ font-size:11px; line-height:1.4; }
  #app .game-stat-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:6px; }
  #app .game-stat-grid > div{ min-height:40px; padding:4px 2px; gap:2px; }
  #app .game-stat-grid > div:nth-child(n+7){ grid-column:auto; }
  #app .game-stat-grid strong{ font-size:17px; }
  #app .scope-whiff-summary{ display:grid; grid-template-columns:1fr 1fr; gap:4px; margin-top:6px; }
  #app .scope-whiff-summary > div{ padding:5px 3px; gap:2px; background:var(--pa-raised); }
  #app .scope-whiff-summary strong{ font-size:19px; line-height:1.2; color:var(--pa-yellow); }
  #app .scope-whiff-summary span, #app .scope-whiff-summary small{ font-size:11px; color:var(--pa-sub); }
  #app .game-source-links{ gap:4px; margin-top:6px; }
  #app .game-source-link{ min-height:40px; font-size:11px; padding:5px 2px; }
  #app .desktop-analysis-main .tab-bar{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:2px; margin-bottom:8px; padding:3px; }
  #app .desktop-analysis-main .tab-button{ flex-direction:row; min-height:44px; font-size:12px; gap:3px; padding:4px 1px; }
  #app .desktop-analysis-main .tab-button > span{ display:none; }
  #app .desktop-analysis-main .mobile-insights-button{ display:flex; }
  #app .analysis-card, #app .video-card{ padding:10px; }
  #app .mobile-insights-content{ display:block; padding:8px; }
  #app .desktop-kpi-grid > div{ min-height:78px; padding:5px 2px; gap:3px; }
  #app .desktop-kpi-grid strong{ font-size:19px; }
  #app .desktop-count-metrics{ gap:8px; }
  #app .desktop-efficiency-table{ min-width:440px; }
  #app .desktop-pitch-efficiency{ overflow-x:auto; }
  #app .desktop-efficiency-table > [role="row"]{ grid-template-columns:72px 30px 42px 65px 45px 60px 42px; gap:3px; }
  #app .video-zone-panel .zone-shell{ max-width:360px; }
  #app .video-analysis-layout.youtube-viewer-analysis-layout{ gap:10px; }
  #app .video-heading h2{ font-size:18px; }
  #app .video-heading p{ font-size:11px; }
}
@media(max-width:360px) { .brand-mark { display:none; } .header-actions { gap:3px; } }
@media print { .header-back-button, .mobile-insights-button, .mobile-pa-picker { display:none; } }

#app .video-zone-panel .zone-wrap{ width:100%; max-width:380px; padding:22px 24px 26px; margin:0 auto; }
#app .video-zone-panel .strike-zone{ border-color:#c9d2d9; background:#1b2229; box-shadow:none; }
#app .video-zone-panel .strike-zone > i{ background:#7d8993; }
#app .desktop-progress-metric > i > b{ background:var(--pa-yellow); }
#app .desktop-progress-metric > span{ color:var(--pa-label); }
#app .desktop-progress-metric > span, #app .desktop-progress-metric > strong{ font-size:11px; }
#app .desktop-side-csw span, #app .desktop-side-csw strong{ font-size:11px; }
#app .desktop-analysis-sidebar .game-selector-card{ padding:12px; border:1px solid var(--line); background:var(--pa-panel); }
#app .desktop-analysis-sidebar .scope-whiff-summary{ display:none; }
#app .desktop-analysis-main .video-card{ border-radius:4px; }
#app .player-page .player-hero{ grid-template-rows:auto; }
#app .player-page .player-number{ border-radius:4px; }
#app .player-page .career-record-details{ grid-column:3; grid-row:1; }
#app .player-page .player-affiliation, #app .player-page .player-heading p{ color:var(--pa-sub); }
#app .scouting-analysis-status > small, #app .scouting-analysis-total > span{ color:var(--pa-sub); }
#app .desktop-analysis-main .pitch-type-percentages{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
#app .desktop-analysis-main .pitch-type-percentages b{ white-space:normal; }
#app .video-analysis-layout.youtube-viewer-analysis-layout .video-event-list .event-button.pitch{ grid-template-columns:28px minmax(100px,1.08fr) minmax(38px,.4fr) minmax(55px,.6fr) minmax(130px,1.2fr) minmax(60px,.6fr) 50px; }
@media(max-width:899px) {
  #app .header-inner.has-player-selector{ min-height:0; padding:0; }
  #app .header-inner.has-player-selector .brand{ display:flex; }
  #app .player-page .career-record-details{ grid-column:1/-1; grid-row:2; }
  #app .player-page .career-record-details:not([open]) .career-record-meta > span{ display:none; }
  #app .desktop-analysis-sidebar .game-selector-card{ padding:8px; }
  #app .desktop-analysis-sidebar .scope-whiff-summary{ display:grid; }
  #app .desktop-analysis-main .pitch-type-percentages{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .video-zone-panel .zone-wrap{ max-width:360px; padding:18px 18px 22px; }
  #app .video-analysis-layout.youtube-viewer-analysis-layout .video-event-list .event-button.pitch{ grid-template-columns:28px minmax(0,1fr) minmax(42px,.6fr) 50px; grid-template-areas:'number type call time' '. velocity horizontal horizontal' '. drop drop drop'; gap:5px; }
  #app .pitch-row-number{ grid-area:number; }
  #app .pitch-row-type{ grid-area:type; }
  #app .pitch-row-call{ grid-area:call; }
  #app .pitch-row-time{ grid-area:time; }
  #app .pitch-row-metric.velocity{ grid-area:velocity; }
  #app .pitch-row-metric.drop{ grid-area:drop; }
  #app .pitch-row-metric.horizontal{ grid-area:horizontal; }
  #app .video-event-list .event-button.pitch > .pitch-row-type{ white-space:normal; overflow:visible; }
  #app .video-event-list .event-button.pitch > .pitch-row-metric.drop{ white-space:normal; overflow:visible; }
}

/* v1.9.271: larger, aligned metrics. Native calculations and records are unchanged. */
#app .total-insights-panel{ container-type:inline-size; container-name:insights; }
#app .desktop-count-insights h3, #app .desktop-pitch-efficiency h3{ font-size:18px; }
#app .desktop-progress-metric{ grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:8px; row-gap:5px; }
#app .desktop-progress-metric > span, #app .desktop-progress-metric > strong{ font-size:14px; line-height:1.45; }
#app .desktop-progress-metric > strong{ text-align:right; white-space:nowrap; }
#app .desktop-progress-metric > i{ grid-column:1/-1; margin-top:3px; }
#app .desktop-side-csw > div{ display:flex; flex-direction:row; justify-content:space-between; align-items:center; gap:8px; }
#app .desktop-side-csw span, #app .desktop-side-csw strong{ font-size:14px; line-height:1.45; }
#app .desktop-side-csw strong{ white-space:nowrap; }
#app .desktop-kpi-grid > div{ display:flex; flex-direction:column; align-items:center; justify-content:center; }
#app .desktop-kpi-grid span{ font-size:13px; }
#app .desktop-kpi-grid small{ font-size:12px; line-height:1.45; }
#app .desktop-efficiency-table{ min-width:570px; }
#app .desktop-efficiency-table > [role="row"]{ grid-template-columns:minmax(100px,1.5fr) 34px 50px 87px 48px 78px 48px; gap:5px; padding:11px 0; font-size:14px; }
#app .desktop-efficiency-table > .head{ font-size:13px; }
#app .desktop-efficiency-table > [role="row"] > strong, #app .desktop-efficiency-table > [role="row"] > span{ font-size:14px; line-height:1.45; }
#app .desktop-efficiency-table > .head > span{ font-size:13px; line-height:1.4; }
#app .desktop-efficiency-table > [role="row"]:not(.head) > span{ white-space:nowrap; overflow-wrap:normal; }
#app .desktop-pitch-efficiency{ overflow-x:auto; }
#app .desktop-efficiency-note{ display:block; margin-top:10px; font-size:12px; line-height:1.6; }
@container insights (max-width:540px) {
  #app .desktop-count-metrics{ grid-template-columns:minmax(0,1fr); }
}
@container insights (max-width:380px) {
  #app .desktop-kpi-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .desktop-side-csw{ grid-template-columns:minmax(0,1fr); }
}

/* v1.9.272: readable cluster descriptions and release metrics. */
#app .batter-density-layout:not(.stacked-cluster-reference){ grid-template-columns:minmax(260px,1fr) minmax(330px,.95fr); }
#app .density-cluster-list{ gap:10px; }
#app .density-cluster-card{ padding:12px; grid-template-columns:30px minmax(0,1fr); gap:10px; }
#app .density-cluster-card > div{ gap:6px; }
#app .density-cluster-card strong{ font-size:16px; line-height:1.4; }
#app .density-cluster-card strong small{ color:var(--pa-label); font-size:14px; }
#app .density-cluster-card .density-cluster-detail{ color:var(--pa-sub); font-size:14px; line-height:1.5; }
#app .density-cluster-index{ width:30px; height:30px; font-size:16px; background:var(--pa-yellow); }
#app .density-legend{ font-size:12px; color:var(--pa-sub); }
#app .density-cluster-caption{ font-size:13px; line-height:1.5; color:var(--pa-label); }
#app .density-cluster-list > p, #app .density-cluster-empty{ font-size:13px; line-height:1.6; color:var(--pa-sub); }
#app .release-metrics-grid{ gap:8px; }
#app .release-metrics-grid > div{ padding:14px 10px; }
#app .release-metrics-grid > div > span{ font-size:14px; line-height:1.4; color:var(--pa-label); }
#app .release-metrics-grid > div > strong{ font-size:22px; line-height:1.4; }
#app .release-metrics-grid > div > small{ font-size:13px; line-height:1.5; color:var(--pa-sub); }
#app .release-sample-badge{ font-size:12px; line-height:1.4; }
#app .release-sample-badge.small{ color:var(--pa-sub); }
#app .release-table{ font-size:14px; }
#app .release-table th, #app .release-table td{ padding:11px 10px; font-size:14px; }
#app .release-table thead th{ font-size:13px; color:var(--pa-label); }
#app .release-plot-note{ font-size:13px; line-height:1.6; color:var(--pa-sub); }
#app .release-analysis-card .analysis-heading > small{ font-size:13px; }
@media(max-width:1399px) {
  #app .batter-density-layout:not(.stacked-cluster-reference){ grid-template-columns:minmax(0,1fr); }
  #app .density-cluster-list{ display:flex; flex-direction:column; }
}
@media(max-width:899px) {
  #app .release-metrics-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .release-metrics-grid > div > strong{ font-size:20px; }
}

/* v1.9.273: reserve label width and share remaining space across numeric columns. */
#app .desktop-efficiency-table > [role="row"]{
  grid-template-columns:112px minmax(34px,.45fr) minmax(50px,.65fr) minmax(87px,1fr) minmax(48px,.65fr) minmax(116px,1.35fr) minmax(48px,.65fr);
  min-width:0;
}
#app .desktop-efficiency-table > .head > span{
  white-space:nowrap;
  overflow-wrap:normal;
}
#app .desktop-efficiency-table > .head > span:first-child{ text-align:left; }

/* v1.9.274: one pitch/zone layout for full YouTube videos and separate game clips. */
#app .desktop-analysis-main .video-card .video-analysis-layout:not(.plate-record-analysis-layout){
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  gap:14px;
}
#app .desktop-analysis-main .video-card .video-analysis-layout:not(.plate-record-analysis-layout) .video-zone-panel{
  justify-content:flex-start;
}
#app .desktop-analysis-main .video-card .video-analysis-layout:not(.plate-record-analysis-layout) .event-button.pitch{
  grid-template-columns:28px minmax(100px,1.08fr) minmax(38px,.4fr) minmax(55px,.6fr) minmax(130px,1.2fr) minmax(60px,.6fr) 50px;
}
@media(min-width:1500px){
  #app .desktop-analysis-main .video-card .video-analysis-layout:not(.plate-record-analysis-layout){
    grid-template-columns:minmax(0,1.12fr) minmax(0,.73fr);
  }
  #app .desktop-analysis-main .video-card .video-analysis-layout:not(.plate-record-analysis-layout) .video-zone-panel{
    overflow:visible;
  }
  #app .desktop-analysis-main .video-card .video-analysis-layout:not(.plate-record-analysis-layout) .zone-wrap{
    max-width:332px;
    padding:22px 0 26px;
  }
}
@media(max-width:899px){
  #app .desktop-analysis-main .video-card .video-analysis-layout:not(.plate-record-analysis-layout){ gap:10px; }
  #app .desktop-analysis-main .video-card .video-analysis-layout:not(.plate-record-analysis-layout) .event-button.pitch{
    grid-template-columns:28px minmax(0,1fr) minmax(42px,.6fr) 50px;
    grid-template-areas:'number type call time' '. velocity horizontal horizontal' '. drop drop drop';
    gap:5px;
  }
}
