/* MLB redesign (step 3). Section tab bar shared by all eight MLB sections;
   later step-3 PRs add the page restyles here on the msiq-foundation tokens. */
.mlb-section-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0 0 16px;border-bottom:1px solid var(--msiq-line,#26282C)}
.mlb-section-tabs button{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--msiq-line-strong,#3A3C42);background:transparent;color:var(--msiq-text-2,#D8D4C9);font:600 14px/1 var(--msiq-font-body,system-ui,sans-serif);cursor:pointer}
.mlb-section-tabs button:hover{border-color:var(--msiq-text-2,#D8D4C9)}
.mlb-section-tabs button.active{background:var(--msiq-text,#F2EFE8);border-color:var(--msiq-text,#F2EFE8);color:#111214}
.mlb-section-tabs button:focus-visible{outline:2px solid var(--msiq-accent,#4CC3F0);outline-offset:2px}
@media(max-width:700px){.mlb-section-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.mlb-section-tabs button{flex:0 0 auto}}
/* The global header sits in normal flow above .main, so .main only needs room for the fixed section nav. */
body.msiq-global-shell-active.msiq-global-fixed-nav .main{padding-top:var(--msiq-fixed-nav-height,58px)!important}
/* Phones: three rows of fixed nav under the header would eat the screen, so the nav scrolls with the page. */
@media(max-width:760px){
  body.msiq-global-shell-active.msiq-global-fixed-nav .main{padding-top:0!important}
  body.msiq-global-shell-active.msiq-global-fixed-nav .command-nav{position:relative!important;top:auto!important;left:auto!important;max-height:none;box-shadow:none}
}

/* ---- 3b: MLB pages on the foundation palette ----
   Older layers paint navy straight onto many classes, so this layer re-points
   their variables first and then flattens the panels that hard-code colors.
   Colored accent variants (green/gold/...) keep their tint; only navy goes. */
body.sport-mlb{
  --bg:#0F1012;--bg2:#131416;--panel:#17181B;--panel2:#1E2024;--panel3:#24262B;
  --line2:#26282C;--text:#F2EFE8;--muted:#A9A69C;--muted2:#8C897F;
  --accent:#4CC3F0;--accent2:#8AD8F5;--accent-rgb:76,195,240;--accent-text:#0F1012;
  --vr4-bg:#0F1012;--vr4-panel:#17181B;--vr4-panel2:#17181B;--vr4-line:#26282C;--vr4-text:#F2EFE8;--vr4-muted:#A9A69C;
  --msiq-bg-canvas:#0F1012;--msiq-bg-raised:#131416;--msiq-bg-panel:#17181B;--msiq-bg-panel-strong:#1E2024;--msiq-bg-interactive:#24262B;
  --msiq-text-primary:#F2EFE8;--msiq-text-secondary:#D8D4C9;--msiq-text-tertiary:#A9A69C;
  --msiq-border:#26282C;--msiq-border-strong:#3A3C42;--msiq-mlb:#4CC3F0;--msiq-info:#4CC3F0;
  --font:var(--msiq-font-body);
  background:#0F1012!important;color:#F2EFE8;font-family:var(--msiq-font-body)
}
body.sport-mlb .main,body.sport-mlb .content{background:transparent}
body.sport-mlb .command-nav,body.sport-mlb .command-nav-sports,body.sport-mlb .command-nav-window{background:#0F1012!important;border-color:#26282C!important}
.app-shell.sport-mlb .content{max-width:1440px}

/* Type: condensed display face for headings and big numbers. */
.app-shell.sport-mlb .page.active :is(h1,h2){font-family:var(--msiq-font-display);font-weight:800;letter-spacing:0;line-height:1.02}
.app-shell.sport-mlb .page.active h3{font-family:var(--msiq-font-display);font-weight:700;letter-spacing:.01em}
.app-shell.sport-mlb .page.active :is(.kpi-value,.daily-score,.mlb-v3-score,.phase4-score){font-family:var(--msiq-font-display);font-variant-numeric:tabular-nums}
.app-shell.sport-mlb .page.active :is(.eyebrow,.kicker){color:var(--msiq-accent,#4CC3F0)}

/* Panels: one flat surface, hairline border, small radius. */
.app-shell.sport-mlb .page.active :is(
  .card,.hero,.page-hero,.edge-panel,.footer-strip,.insight-card,.metric-card,
  .phase4-rank-card,.phase4-matchup-hero,.phase4-verdict,.phase4-toolbar,.msiq-market-hub,
  .model-lab-card,.model-lab-hero,.model-lab-definition,.msiq-hybrid-methodology,
  .mlb-v3-panel,.mlb-v3-titlebar,.mlb-v3-date-card,.mlb-v3-slate-metrics,.mlb-v3-feature-stack,
  .msiq-confluence-board,.msiq-market-specialization,.msiq-daily-rank-note,.msiq-matchup-summary,
  .daily-consensus-hero,.daily-consensus-feature,.daily-consensus-kpis,.daily-consensus-leaders,.daily-consensus-card,
  .daily-pitcher-target,.daily-method-card,.daily-focused-hero,.daily-hr-round-robin,.daily-market-breakdown,
  .hr-tier-panel,.hr-game-card,.hr-hitter-card,.hr-pitcher-card,
  .mlb-directory-section,.mlb-directory-search-panel,.mlb-player-intel-board,.mlb-player-directory-card,.mlb-player-archetype-card,
  .slate-grade-panel,.mlb-game-lines,.mlb-game-line-card,.mlb-game-pick-card,.results-hero,.results-source,
  .weather-game-card,.team-card,.team-card-top,.lineup-game,.formula-guide-launch,.mlb-v3-pick,.intel-link,.model-lab-badge
){background:#17181B!important;background-image:none!important;border-color:#26282C!important;border-radius:8px!important;box-shadow:none!important}
/* Nested panels sit one step lighter so their edges still read. */
.app-shell.sport-mlb .page.active :is(.card,section,article,details) :is(.card,.mlb-player-directory-card,.hr-hitter-card,.hr-pitcher-card,.team-card-top,.mlb-v3-pick,.intel-link,.model-lab-badge,.daily-consensus-card,.mlb-game-line-card,.weather-game-card,.daily-consensus-kpis){background:#1E2024!important}
/* Accent variants keep a colored top edge in place of their tinted gradients. */
.app-shell.sport-mlb .page.active :is(.mlb-v3-pick,.mlb-player-archetype-card,.mlb-player-intel-board,.daily-consensus-card,.daily-market-breakdown).green{border-top:2px solid #3FBF7F!important}
.app-shell.sport-mlb .page.active :is(.mlb-v3-pick,.mlb-player-archetype-card,.mlb-player-intel-board,.daily-consensus-card,.daily-market-breakdown).blue{border-top:2px solid #4CC3F0!important}
.app-shell.sport-mlb .page.active :is(.mlb-v3-pick,.mlb-player-archetype-card,.mlb-player-intel-board,.daily-consensus-card,.daily-market-breakdown).cyan{border-top:2px solid #6FD6E8!important}
.app-shell.sport-mlb .page.active :is(.mlb-v3-pick,.mlb-player-archetype-card,.mlb-player-intel-board,.daily-consensus-card,.daily-market-breakdown).gold{border-top:2px solid #F2B33D!important}
.app-shell.sport-mlb .page.active :is(.mlb-v3-pick,.mlb-player-archetype-card,.mlb-player-intel-board,.daily-consensus-card,.daily-market-breakdown).orange{border-top:2px solid #F28C38!important}
.app-shell.sport-mlb .page.active :is(.mlb-v3-pick,.mlb-player-archetype-card,.mlb-player-intel-board,.daily-consensus-card,.daily-market-breakdown).purple{border-top:2px solid #A98BF0!important}
.app-shell.sport-mlb .page.active :is(.mlb-v3-pick,.mlb-player-archetype-card,.mlb-player-intel-board,.daily-consensus-card,.daily-market-breakdown).red{border-top:2px solid #E8786C!important}
.app-shell.sport-mlb .page.active .hero{border-top:2px solid var(--msiq-accent,#4CC3F0)!important}

/* Tables */
.app-shell.sport-mlb .page.active th{background:#131416!important;color:#A9A69C!important;border-color:#26282C!important;font-weight:600;letter-spacing:.06em}
.app-shell.sport-mlb .page.active td{border-color:#26282C!important}
.app-shell.sport-mlb .page.active tbody tr:hover{background:rgba(76,195,240,.06)!important}

/* Small fills: avatars, inputs, plain buttons. */
.app-shell.sport-mlb .page.active .mlb-player-avatar{background:#24262B!important;border-color:#3A3C42!important}
.app-shell.sport-mlb .page.active :is(input,select){background:#0F1012!important;border-color:#3A3C42!important;color:#F2EFE8}
.app-shell.sport-mlb .page.active :is(.mlb-v3-edge-grid>button,.daily-consensus-leader-grid>button,.daily-hr-pools>article,.msiq-confluence-board__cols>div,.daily-consensus-meta>span,.daily-consensus-card>footer){background:#1E2024!important;background-image:none!important;border-color:#26282C!important}
.app-shell.sport-mlb .page.active :is(.mlb-directory-summary>div,.model-lab-framework>button,.model-lab-flow>div,.model-lab-glossary>button,.model-lab-glossary>div){background:#1E2024!important;background-image:none!important;border-color:#26282C!important}

/* Page wrappers are one-column grids; without minmax(0,...) the column grows to the widest
   table and pushes the whole page past a phone screen. Tables scroll inside their card instead. */
.app-shell.sport-mlb .page.active :is(.page-dashboard,.phase4-shell){grid-template-columns:minmax(0,1fr)!important}
.app-shell.sport-mlb .page.active :is(.page-dashboard,.phase4-shell)>*{min-width:0;max-width:100%}
.app-shell.sport-mlb .page.active .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.app-shell.sport-mlb .page.active .daily-hr-builder{grid-template-columns:minmax(0,1fr)!important}
.app-shell.sport-mlb .page.active .daily-hr-builder>*,.app-shell.sport-mlb .page.active .phase4-advanced>.table-wrap{min-width:0;max-width:100%}
@media(max-width:700px){
  .app-shell.sport-mlb .page.active .daily-hr-builder-header{flex-direction:column;align-items:stretch;gap:14px}
  .app-shell.sport-mlb .page.active .daily-rr-total-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .app-shell.sport-mlb .page.active .daily-rr-total-grid>span{padding:10px 8px}
  .app-shell.sport-mlb .page.active .daily-rr-total-grid>span>:not(b){letter-spacing:0;font-size:10px;overflow-wrap:anywhere}
}
.app-shell.sport-mlb .page.active :is(.daily-hr-builder-header,.daily-rr-total-grid>span,.daily-hr-pools footer>*){background:#1E2024!important;background-image:none!important;border-color:#26282C!important}

/* ---- 3c: baseball graphics (mlb_graphics.js) ---- */
.mlbg-board{margin:4px 0 8px}
.mlbg-board>header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 20px;margin:0 0 12px}
.mlbg-board>header h2{margin:4px 0 0;font:800 clamp(24px,2.4vw,32px)/1 var(--msiq-font-display);color:#F2EFE8}
.mlbg-legend{display:flex;gap:14px;color:#A9A69C;font-size:12px}
.mlbg-legend span{display:inline-flex;align-items:center;gap:6px}
.mlbg-legend i{width:10px;height:10px;border-radius:2px}
.mlbg-duels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:12px}
.mlbg-duel{display:grid;gap:14px;padding:16px;background:#17181B;border:1px solid #26282C;border-radius:8px}
.mlbg-duel>header{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.mlbg-duel>header small{color:#A9A69C;font-size:12px;text-align:right}
.mlbg-arms{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px}
.mlbg-arm b{display:block;font:800 22px/1.05 var(--msiq-font-display);color:#F2EFE8}
.mlbg-arm small{color:#A9A69C;font-size:12px}
.mlbg-arms .mlbg-arm:last-child{text-align:right}
.mlbg-vs{font:700 13px/1 var(--msiq-font-display);letter-spacing:.1em;color:#A9A69C;padding:6px 8px;border:1px solid #3A3C42;border-radius:999px}
.mlbg-rows{display:grid;gap:6px}
.mlbg-row{display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);align-items:center;gap:8px}
.mlbg-label{text-align:center;color:#A9A69C;font-size:11px;font-weight:600;letter-spacing:.06em}
.mlbg-side{display:flex;align-items:center;gap:8px;height:22px}
.mlbg-side.mlbg-a{flex-direction:row-reverse}
.mlbg-side i{display:block;height:8px;background:#3A3C42;border-radius:4px}
.mlbg-side.is-better i{background:var(--msiq-accent,#4CC3F0)}
.mlbg-side b{flex:0 0 auto;min-width:46px;font:600 13px/1 var(--msiq-font-body);font-variant-numeric:tabular-nums;color:#D8D4C9}
.mlbg-side.mlbg-a b{text-align:right}
.mlbg-side.is-better b{color:#F2EFE8}
.mlbg-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mlbg-pair small{display:block;margin:0 0 6px;color:#A9A69C;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.mlbg-mix{display:flex;gap:2px;height:22px}
.mlbg-seg{display:flex;align-items:center;justify-content:center;min-width:4px;border-radius:4px;color:#fff;font:600 10px/1 var(--msiq-font-body);overflow:hidden}
.mlbg-fast{background:#d95926}.mlbg-break{background:#3987e5}.mlbg-off{background:#199e70}
.mlbg-kbars{display:flex;align-items:flex-end;gap:4px;height:64px}
.mlbg-kbar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}
.mlbg-kbar i{display:block;width:100%;max-width:22px;background:var(--msiq-accent,#4CC3F0);border-radius:4px 4px 0 0}
.mlbg-kbar b{margin-top:4px;font:600 11px/1 var(--msiq-font-body);color:#D8D4C9;font-variant-numeric:tabular-nums}
.mlbg-empty{margin:0;color:#8C897F;font-size:12px}
/* Form strip */
.mlbg-form{display:inline-flex;align-items:flex-end;gap:2px;height:28px}
.mlbg-g{position:relative;display:flex;align-items:flex-end;width:7px;height:100%}
.mlbg-g i{display:block;width:100%;background:#3A3C42;border-radius:2px 2px 0 0}
.mlbg-g.is-hit i{background:var(--msiq-accent,#4CC3F0)}
.mlbg-g b{position:absolute;top:-6px;left:1px;width:5px;height:5px;border-radius:50%;background:#F2B33D}
.mlbg-form small{margin-left:6px;align-self:center;color:#A9A69C;font-size:11px;font-variant-numeric:tabular-nums}
@media(max-width:560px){
  .mlbg-arm b{font-size:18px}
  .mlbg-pair{gap:10px}
}
.phase4-player-id .mlbg-form{display:flex;margin-top:10px;height:20px}
