/* Teams list page (from fastballhq_teams.html; header/footer from base.html)
   IMPORTANT: do not use class "page" here — fastballhq-board.css .page is a 2-col grid for home. */
:root {
  --fq-team-bg2:#1a1a1e;--fq-team-bg3:#212126;--fq-team-bg4:#28282e;
  --fq-team-border:#2a2a30;--fq-team-border2:#363640;
  --fq-team-sub:#a0a0b0;--fq-team-muted:#6a6a7e;--fq-team-muted2:#4c4c5e;
  --fq-team-red:#e8473f;--fq-team-green:#34d27e;--fq-team-gold:#f0a500;--fq-team-blue:#4a9eff;
  --fq-team-mono:'JetBrains Mono',monospace;--fq-team-head:'Barlow Condensed',sans-serif;
}
.teams-stats-page {
  width:100%;max-width:1380px;margin:0 auto;padding:0 2rem 4rem;position:relative;z-index:1;
  display:block;
  --bg2:var(--fq-team-bg2);--bg3:var(--fq-team-bg3);--bg4:var(--fq-team-bg4);
  --border:var(--fq-team-border);--border2:var(--fq-team-border2);
  --sub:var(--fq-team-sub);--muted:var(--fq-team-muted);--muted2:var(--fq-team-muted2);
  --red:var(--fq-team-red);--green:var(--fq-team-green);--gold:var(--fq-team-gold);--blue:var(--fq-team-blue);
  --mono:var(--fq-team-mono);--head:var(--fq-team-head);
}
.teams-stats-page .hero-banner{padding:2.25rem 0 1.75rem;border-bottom:1px solid var(--border);margin-bottom:1.75rem;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;}
.teams-stats-page .hero-banner .hero-left{flex:1;min-width:0;}
.teams-stats-page .hero-banner .hero-right{display:flex;flex-direction:column;align-items:flex-end;gap:.81rem;flex-shrink:0;}
.teams-stats-page .hero-banner .hero-stats-strip{margin-top:0;flex-shrink:0;}
/* Reference hero-stats: one row (board.css sets .hero-stats { flex-wrap:wrap }) */
.teams-stats-page .hero-stats{flex-wrap:nowrap;}
.teams-stats-page .hero-kicker{font-family:var(--mono);font-size:.68rem;color:var(--red);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.4rem;}
.teams-stats-page .hero-title{font-family:var(--head);font-weight:900;font-style:italic;font-size:clamp(2.8rem,6vw,5rem);line-height:.92;text-transform:uppercase;letter-spacing:-.01em;color:var(--text, #eaeaee);}
.teams-stats-page .hero-title .accent{color:var(--red);}
.teams-stats-page .hero-desc{margin-top:.9rem;color:var(--sub);font-size:.9rem;font-weight:300;max-width:480px;line-height:1.65;}
.teams-stats-page .teams-hero-link{font-family:var(--mono);font-size:.65rem;color:var(--muted);text-decoration:none;letter-spacing:.04em;}
.teams-stats-page .teams-hero-link:hover{color:var(--red);}
.teams-stats-page .sec-label{display:flex;align-items:center;gap:10px;margin-bottom:1rem;}
.teams-stats-page .sec-label-text{font-family:var(--head);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);}
.teams-stats-page .sec-label-line{flex:1;height:1px;background:var(--border);}
.teams-stats-page .teams-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem 1.5rem;
  margin-bottom:1.25rem;
}
.teams-stats-page .teams-toolbar__divisions{flex:1;min-width:min(100%,260px);}
.teams-stats-page .teams-toolbar__divisions .sec-label{margin-bottom:0.65rem;}
.teams-stats-page .teams-toolbar__divisions .div-filters{margin-bottom:0;}
.teams-stats-page .teams-toolbar__mode{display:flex;gap:6px;flex-shrink:0;align-items:center;}
.teams-stats-page .teams-panel--runs{margin-bottom:2rem;}
.teams-stats-page .div-filters{display:flex;gap:6px;margin-bottom:1.25rem;flex-wrap:wrap;}
.teams-stats-page .div-btn{font-family:var(--mono);font-size:.68rem;color:var(--muted);border:1px solid var(--border);background:var(--bg2);padding:4px 12px;border-radius:3px;cursor:pointer;transition:all .15s;letter-spacing:.06em;}
.teams-stats-page .div-btn:hover{border-color:var(--border2);color:var(--sub);}
.teams-stats-page .div-btn.active{border-color:var(--red);color:var(--red);background:rgba(232,71,63,.08);}
.teams-stats-page .teams-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:5px;overflow:hidden;margin-bottom:2rem;}
.teams-stats-page .teams-table{width:100%;border-collapse:collapse;}
.teams-stats-page .teams-table thead{background:var(--bg3);border-bottom:1px solid var(--border);}
/* thead — pixel match reference (transition: color .15s — no easing keyword) */
.teams-stats-page .teams-table th{
  padding:.6rem 1rem;text-align:left;font-family:var(--mono);font-size:.6rem;color:var(--muted2);
  letter-spacing:.12em;text-transform:uppercase;font-weight:500;
  cursor:pointer;transition:color .15s;
}
.teams-stats-page .teams-table th:hover{color:var(--muted);}
.teams-stats-page .teams-table th.sort-asc::after{content:' ↑';}
.teams-stats-page .teams-table th.sort-desc::after{content:' ↓';}
/* tbody — reference: transition on tr only; hover bg on td (same rules as mock) */
.teams-stats-page .teams-table td{padding:.7rem 1rem;border-bottom:1px solid var(--border);font-size:.85rem;vertical-align:middle;}
.teams-stats-page .teams-table tbody tr{cursor:pointer;transition:background .12s;}
.teams-stats-page .teams-table tr:last-child td{border-bottom:none;}
.teams-stats-page .teams-table tbody tr:hover td{background:rgba(255,255,255,.025);}
.teams-stats-page .team-name-cell{display:flex;align-items:center;gap:10px;}
.teams-stats-page .team-name{font-weight:500;color:var(--text, #eaeaee);}
.teams-stats-page .team-div{font-family:var(--mono);font-size:.62rem;color:var(--muted2);margin-top:1px;}
.teams-stats-page .mono-c{font-family:var(--mono);font-size:.82rem;}
.teams-stats-page .pct-hi{color:var(--green);}
.teams-stats-page .pct-mid{color:var(--sub);}
.teams-stats-page .pct-lo{color:var(--red);}
.teams-stats-page .streak-chip{display:inline-block;font-family:var(--head);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 7px;border-radius:2px;}
.teams-stats-page .sc-over{background:rgba(52,210,126,.12);color:var(--green);}
.teams-stats-page .sc-under{background:rgba(74,158,255,.12);color:var(--blue);}
.teams-stats-page .sc-nrfi{background:rgba(240,165,0,.12);color:var(--gold);}
.teams-stats-page .sc-neu{background:var(--bg3);color:var(--muted2);}
.teams-stats-page .ms-bar-wrap{width:80px;height:5px;background:var(--bg4);border-radius:3px;overflow:hidden;display:inline-block;vertical-align:middle;}
.teams-stats-page .ms-bar{height:100%;border-radius:3px;}
.teams-stats-page .ms-val{font-family:var(--mono);font-size:.75rem;margin-left:6px;vertical-align:middle;}
.teams-stats-page .view-link{font-family:var(--mono);font-size:.65rem;color:var(--muted2);text-decoration:none;letter-spacing:.04em;transition:color .2s;}
.teams-stats-page .view-link:hover{color:var(--red);}
.teams-stats-page .view-link .lucide-link-arrow{width:1.05em;height:1.05em;color:var(--icon-red-soft);stroke-width:2.35;opacity:.95;vertical-align:-.1em;}
.teams-stats-page .view-link:hover .lucide-link-arrow{color:var(--icon-red-hot);}
/* Logo in teams list — match table row height */
.teams-stats-page .fb-logo-wrap--table{width:30px;height:30px;flex-shrink:0;}
.teams-stats-page .fb-logo-img{width:100%;height:100%;object-fit:contain;}

@media(max-width:900px){
  .teams-stats-page .hero-banner{flex-direction:column;align-items:flex-start;gap:1.25rem;}
  .teams-stats-page .hero-banner .hero-right{width:100%;align-items:flex-end;}
  .teams-stats-page .hero-banner .hero-stats-strip{width:100%;max-width:100%;}
  .teams-stats-page .hero-stats{flex-wrap:wrap;}
  .teams-stats-page .teams-toolbar{align-items:stretch;}
  .teams-stats-page .teams-toolbar__mode{width:100%;justify-content:flex-end;}
  /* Must live in this file: it loads after fastballhq-mobile.css, otherwise .teams-wrap { overflow:hidden } kills horizontal scroll */
  .teams-stats-page .teams-wrap{
    overflow-x:auto;
    overflow-y:visible;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
  }
  .teams-stats-page .teams-table{
    min-width:1020px;
  }
}

/* ============================================================
   TEAM DETAIL PAGE  (.team-detail-page)
   ============================================================ */
.team-detail-page{
  width:100%;max-width:1380px;margin:0 auto;padding:0 2rem 4rem;
  --bg2:var(--fq-team-bg2);--bg3:var(--fq-team-bg3);--bg4:var(--fq-team-bg4);
  --border:var(--fq-team-border);--border2:var(--fq-team-border2);
  --sub:var(--fq-team-sub);--muted:var(--fq-team-muted);--muted2:var(--fq-team-muted2);
  --red:var(--fq-team-red);--green:var(--fq-team-green);--gold:var(--fq-team-gold);--blue:var(--fq-team-blue);
  --mono:var(--fq-team-mono);--head:var(--fq-team-head);
}
/* hero identical to list page */
.team-detail-page .hero-banner{padding:2.25rem 0 1.75rem;border-bottom:1px solid var(--border);margin-bottom:1.75rem;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;}
.team-detail-page .hero-banner .hero-left{flex:1;min-width:0;}
.team-detail-page .hero-banner .hero-right{display:flex;flex-direction:column;align-items:flex-end;gap:.81rem;flex-shrink:0;}
.team-detail-page .hero-banner .hero-stats-strip{margin-top:0;flex-shrink:0;}
.team-detail-page .hero-kicker{font-family:var(--mono);font-size:.68rem;color:var(--red);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.4rem;}
.team-detail-page .hero-title{font-family:var(--head);font-weight:900;font-style:italic;font-size:clamp(2.4rem,5vw,4.2rem);line-height:.92;text-transform:uppercase;letter-spacing:-.01em;color:var(--text,#eaeaee);}
.team-detail-page .hero-title .accent{color:var(--red);}
.team-detail-page .hero-desc{margin-top:.9rem;color:var(--sub);font-size:.9rem;font-weight:300;max-width:480px;line-height:1.65;}
.team-detail-page .teams-hero-link{display:inline-block;margin-top:.35rem;font-family:var(--mono);font-size:.65rem;color:var(--muted);text-decoration:none;letter-spacing:.04em;}
.team-detail-page .teams-hero-link:hover{color:var(--red);}

/* section label bar */
.team-detail-page .sec-label{display:flex;align-items:center;gap:10px;margin-bottom:1rem;margin-top:2rem;}
.team-detail-page .sec-label-text{font-family:var(--head);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);}
.team-detail-page .sec-label-line{flex:1;height:1px;background:var(--border);}

/* ── TEAM HEADER CARD ── */
.team-header-card{display:flex;align-items:center;gap:1.5rem;background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:1.5rem 2rem;margin-bottom:2rem;border-left:4px solid var(--team-accent,#e8473f);}
.team-header-logo{width:96px;height:96px;flex-shrink:0;}
.team-header-logo .fb-logo-wrap{width:100%;height:100%;min-width:0;min-height:0;box-sizing:border-box;}
.team-header-logo .fb-logo-img{width:100%;height:100%;object-fit:contain;}
.team-header-info{flex:1;min-width:0;}
.team-header-name{font-family:var(--head);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:900;font-style:italic;text-transform:uppercase;color:var(--text,#eaeaee);line-height:1.0;}
.team-header-sub{font-family:var(--mono);font-size:.68rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:.3rem;}
.team-header-venue{font-size:.88rem;color:var(--sub);margin-top:.45rem;line-height:1.35;max-width:28rem;}
.team-header-venue-k{font-family:var(--mono);font-size:.58rem;color:var(--muted2);letter-spacing:.12em;text-transform:uppercase;margin-right:.35rem;}
.team-header-record{font-family:var(--head);font-size:1.5rem;font-weight:800;color:var(--text,#eaeaee);margin-left:auto;flex-shrink:0;}
.team-header-record span{font-size:.7rem;font-family:var(--mono);color:var(--muted);display:block;text-align:center;letter-spacing:.08em;text-transform:uppercase;}

/* ── SEO blurb (digest-style team links + stat numbers) ── */
.team-seo-blurb{
  margin-bottom:2rem;
  padding:1rem 1.25rem;
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:8px;
  font-size:.95rem;
  line-height:1.55;
  color:var(--sub);
}
.team-seo-blurb p{margin:0 0 .65rem;}
.team-seo-blurb p:last-child{margin-bottom:0;}
.team-seo-blurb strong{color:var(--text,#eaeaee);font-weight:600;}
.team-seo-blurb .digest-team-link{
  color:var(--text,#eaeaee);
  text-decoration:underline;
  text-decoration-color:rgba(232,71,63,.45);
  text-underline-offset:3px;
  transition:color .15s,text-decoration-color .15s;
}
.team-seo-blurb .digest-team-link:hover{color:var(--red);text-decoration-color:var(--red);}
.team-seo-blurb .stat-num{
  color:var(--gold);
  font-family:var(--mono);
  font-size:.9em;
  font-weight:600;
  letter-spacing:.02em;
}

/* ── STATS GRID ── */
.td-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:2rem;}
.td-stat-card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;}
.td-stat-label{font-family:var(--mono);font-size:.6rem;color:var(--muted2);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.35rem;}
.td-stat-value{font-family:var(--head);font-size:2rem;font-weight:900;font-style:italic;line-height:1.0;}
.td-stat-value.sv-green{color:var(--green);}
.td-stat-value.sv-blue{color:var(--blue);}
.td-stat-value.sv-gold{color:var(--gold);}
.td-stat-value.sv-red{color:var(--red);}
.td-stat-value.sv-neu{color:var(--sub);}
.td-stat-sub{font-family:var(--mono);font-size:.62rem;color:var(--muted);margin-top:.3rem;}

/* ── SPLITS + STREAKS (one row: ~60% splits / ~40% streaks) ── */
.td-splits-streaks-row{
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(0,2fr);
  gap:1rem 1.25rem;
  align-items:stretch;
  margin-top:1.75rem;
  margin-bottom:2rem;
}
.td-splits-streaks-row--streak-only{grid-template-columns:1fr;}
.td-mini-head{
  font-family:var(--head);
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
  margin-bottom:.55rem;
}
.td-split-col{min-width:0;display:flex;flex-direction:column;min-height:0;}
.td-streak-col{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  min-height:0;
}
.td-streak-col .td-mini-head{text-align:center;width:100%;}
.td-streak-col--full{grid-column:1 / -1;}
.td-streak-col--full .td-mini-head{text-align:center;}
.td-splits-streaks-row .td-splits-wrap{margin-bottom:0;}
.td-splits-streaks-row .td-streaks-panel{margin-bottom:0;}

/* ── SPLITS TABLE ── */
.td-splits-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:2rem;}
.td-splits-wrap--compact{margin-bottom:0;flex:1 1 auto;}
.td-splits-wrap--compact .td-splits-table th{padding:.4rem .5rem;font-size:.55rem;letter-spacing:.08em;}
.td-splits-wrap--compact .td-splits-table td{padding:.45rem .5rem;font-size:.78rem;}
.td-splits-wrap--compact .td-splits-table td:first-child{font-size:.65rem;}
.td-splits-table{width:100%;border-collapse:collapse;}
.td-splits-table th{padding:.55rem 1rem;font-family:var(--mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted2);background:var(--bg3);border-bottom:1px solid var(--border);text-align:left;}
.td-splits-table td{padding:.65rem 1rem;font-size:.85rem;color:var(--sub);border-bottom:1px solid var(--border);}
.td-splits-table tr:last-child td{border-bottom:none;}
.td-splits-table td:first-child{font-family:var(--mono);font-size:.72rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;}
.td-splits-table .split-val{font-family:var(--mono);font-weight:500;color:var(--text,#eaeaee);}
.td-splits-table .split-hi{color:var(--green);}
.td-splits-table .split-lo{color:var(--red);}

/* ── BATTING PROFILE ── */
.td-batting-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.75rem;margin-bottom:2rem;}
.td-bat-box{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:.85rem 1rem;text-align:center;}
.td-bat-val{font-family:var(--head);font-size:1.5rem;font-weight:800;font-style:italic;color:var(--text,#eaeaee);}
.td-bat-lbl{font-family:var(--mono);font-size:.58rem;color:var(--muted2);text-transform:uppercase;letter-spacing:.12em;margin-top:.25rem;}

/* ── STREAKS ── */
.td-streaks-panel{display:flex;align-items:stretch;justify-content:center;gap:1rem 1.25rem;padding:1.15rem 1.25rem;margin-bottom:1.75rem;background:var(--bg2);border:1px solid var(--border);border-radius:8px;}
.td-streaks-panel--compact{
  padding:1rem 1.25rem;
  gap:.35rem;
  flex:1 1 auto;
  min-height:0;
  width:100%;
  max-width:100%;
  align-items:center;
  justify-content:center;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
}
.td-streak-col:not(.td-streak-col--full) .td-streaks-panel--compact{max-width:100%;}
.td-streaks-panel--compact .td-streaks-deco{display:none;}
.td-streaks-panel--compact .td-streaks-row{
  display:flex;
  column-gap:10px;
  row-gap:10px;
  gap:10px;
  flex-wrap:nowrap;
  justify-content:center;
  padding:0;
  width:100%;
  box-sizing:border-box;
}
.td-streaks-panel--compact .td-streak-item{
  flex-direction:column;
  align-items:center;
  gap:.25rem;
  text-align:center;
  flex:0 0 auto;
}
.td-streaks-panel--compact .td-streak-lbl{font-size:.56rem;}
.td-streaks-panel--compact .td-streak-chip{font-size:.6rem;padding:2px 6px;}
.td-streaks-deco{width:5px;min-height:3.25rem;border-radius:3px;flex-shrink:0;align-self:center;opacity:.5;}
.td-streaks-deco--left{background:linear-gradient(180deg,var(--red),#c03d38 40%,transparent 100%);}
.td-streaks-deco--right{background:linear-gradient(0deg,var(--gold),#c48a0a 45%,transparent 100%);}
.td-streaks-row{display:flex;align-items:center;justify-content:center;gap:1.75rem 2.25rem;flex-wrap:wrap;flex:1;min-width:0;padding:.25rem 0;}
.td-streak-item{display:flex;align-items:center;gap:.55rem;}
.td-streak-lbl{font-family:var(--mono);font-size:.65rem;color:var(--sub);letter-spacing:.06em;text-transform:uppercase;}
.td-streak-chip{display:inline-block;font-family:var(--head);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 11px;border-radius:4px;border:1px solid transparent;}
.td-sc-over{background:rgba(52,210,126,.18);border-color:rgba(52,210,126,.35);color:#5ee9a8;}
.td-sc-under{background:rgba(74,158,255,.2);border-color:rgba(74,158,255,.4);color:#7ab8ff;}
.td-sc-nrfi{background:rgba(240,165,0,.2);border-color:rgba(240,165,0,.45);color:#f5c84a;}
.td-sc-neu{background:rgba(255,255,255,.06);border-color:var(--border2);color:var(--text,#eaeaee);}

/* ── PITCHERS (recent starters): cards centered as a group + content centered in tile ── */
.td-pitcher-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:.75rem;
  margin-bottom:2rem;
}
.td-pitcher-card{
  flex:0 1 280px;
  max-width:320px;
  min-width:220px;
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:8px;
  padding:1rem 1.25rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.65rem;
  text-align:center;
  box-sizing:border-box;
}
.td-pitcher-top{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;}
.td-pitcher-photo{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--bg3);flex-shrink:0;}
.td-pitcher-name{font-size:.9rem;font-weight:500;color:var(--text,#eaeaee);line-height:1.2;}
.td-pitcher-meta{font-family:var(--mono);font-size:.62rem;color:var(--muted);margin-top:2px;}
.td-pitcher-tier{display:inline-block;font-family:var(--mono);font-size:.58rem;font-weight:600;padding:1px 7px;border-radius:2px;text-transform:uppercase;letter-spacing:.06em;margin-top:3px;}
.td-pitcher-tier.tier-elite{background:rgba(52,210,126,.15);color:var(--green);}
.td-pitcher-tier.tier-good{background:rgba(74,158,255,.12);color:var(--blue);}
.td-pitcher-tier.tier-avg{background:rgba(240,165,0,.1);color:var(--gold);}
.td-pitcher-tier.tier-weak{background:rgba(232,71,63,.1);color:var(--red);}
.td-pitcher-tier.tier-poor{background:rgba(232,71,63,.18);color:var(--red);}
.td-pitcher-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;}
.td-pitcher-stat{text-align:center;}
.td-pitcher-stat-val{font-family:var(--mono);font-size:.78rem;font-weight:500;color:var(--text,#eaeaee);}
.td-pitcher-stat-lbl{font-family:var(--mono);font-size:.55rem;color:var(--muted2);text-transform:uppercase;letter-spacing:.1em;margin-top:1px;}

/* ── KEY HITTERS (minimal badges, mirrors pitcher tiles) ── */
.td-batter-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:.75rem;
  margin-bottom:2rem;
}
.td-batter-card{
  flex:0 1 200px;
  max-width:280px;
  min-width:160px;
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:8px;
  padding:.85rem 1rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.55rem;
  text-align:center;
  box-sizing:border-box;
}
.td-batter-top{display:flex;flex-direction:column;align-items:center;gap:.45rem;width:100%;}
.td-batter-photo{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--bg3);flex-shrink:0;}
.td-batter-name{font-size:.88rem;font-weight:500;color:var(--text,#eaeaee);line-height:1.2;}
.td-batter-meta{font-family:var(--mono);font-size:.6rem;color:var(--muted);margin-top:1px;}
.td-batter-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem .35rem;}
.td-batter-badge{
  font-family:var(--mono);
  font-size:.58rem;
  font-weight:500;
  padding:2px 7px;
  border-radius:2px;
  background:rgba(255,255,255,.05);
  border:1px solid var(--border2);
  color:var(--sub);
  letter-spacing:.02em;
}

/* ── CHART (totals) — bar height % needs a fixed-height track (was broken with align-items:flex-end on row) ── */
.td-chart-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:1rem 1.5rem 1.25rem;margin-bottom:2rem;}
.td-chart-meta{font-family:var(--mono);font-size:.72rem;color:var(--muted);margin-bottom:.75rem;}
.td-chart-bars-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;}
.td-chart-bars{display:flex;align-items:flex-end;gap:4px;width:100%;min-width:0;}
.td-chart-bar-col{flex:1 1 0;min-width:10px;max-width:100%;display:flex;flex-direction:column;align-items:stretch;gap:6px;}
.td-chart-bar-col--empty .td-chart-bar-track{background:var(--bg4);border-style:dashed;border-color:var(--border2);opacity:.9;}
.td-chart-bar-col--empty .td-chart-date{color:var(--muted);opacity:.9;}
.td-chart-bar-track{height:100px;width:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;box-sizing:border-box;background:var(--bg3);border-radius:4px;padding:0 1px;border:1px solid var(--border);}
/* Muted red bars (dull crimson) */
.td-chart-bar{width:100%;border-radius:2px 2px 0 0;background:linear-gradient(to top,rgba(140,52,48,.55),rgba(200,72,65,.78));min-height:4px;transition:opacity .15s;flex-shrink:0;}
.td-chart-bar:hover{opacity:.92;}
.td-chart-date{font-family:var(--mono);font-size:.52rem;color:var(--sub);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.2;}

/* ── UPCOMING / FINALS ── */
.td-section{margin-bottom:2rem;}
.td-upcoming-list{display:grid;gap:.5rem;}
.td-upcoming-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1rem;background:var(--bg2);border:1px solid var(--border);border-radius:6px;text-decoration:none;color:var(--text,#eaeaee);font-size:.88rem;transition:border-color .15s;}
.td-upcoming-row:hover{border-color:var(--red);}
.td-upcoming-row .td-match{display:flex;align-items:center;gap:.5rem;}
.td-upcoming-meta{font-family:var(--mono);font-size:.72rem;color:var(--muted);}

.td-table-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:1.5rem;}
.td-table{width:100%;border-collapse:collapse;}
.td-table thead{background:var(--bg3);border-bottom:1px solid var(--border);}
.td-table th{padding:.55rem 1rem;text-align:left;font-family:var(--mono);font-size:.6rem;color:var(--muted2);letter-spacing:.12em;text-transform:uppercase;font-weight:500;}
.td-table td{padding:.65rem 1rem;border-bottom:1px solid var(--border);font-size:.85rem;color:var(--sub);}
.td-table tr:last-child td{border-bottom:none;}
.td-table .td-link{color:var(--text,#eaeaee);text-decoration:none;font-weight:500;}
.td-table .td-link:hover{color:var(--red);}
.td-table .td-mono{font-family:var(--mono);font-size:.78rem;}
.td-table .td-ou-o{color:var(--green);}
.td-table .td-ou-u{color:var(--blue);}

.td-pagination{display:flex;justify-content:center;align-items:center;gap:.75rem;font-family:var(--mono);font-size:.8rem;margin-top:.75rem;}
.td-pagination a{color:var(--blue);text-decoration:none;}
.td-pagination a:hover{color:var(--text,#eaeaee);}
.td-pagination span{color:var(--muted);}
.td-pagination--finals{margin-top:0;margin-bottom:1.5rem;}

.td-finals-hint{font-family:var(--mono);font-size:.68rem;color:var(--muted);margin:-.35rem 0 1rem;line-height:1.45;max-width:52rem;}
.td-finals-actions{text-align:center;margin:0 0 1.25rem;}
a.td-btn-finals{
  display:inline-block;
  font-family:var(--head);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:.55rem 1.35rem;
  border-radius:6px;
  border:1px solid var(--red);
  color:var(--text,#eaeaee);
  background:rgba(232,71,63,.12);
  text-decoration:none;
  transition:background .15s,border-color .15s,color .15s;
}
a.td-btn-finals:hover{background:rgba(232,71,63,.22);border-color:#ff5c54;color:var(--text,#eaeaee);}
a.td-btn-finals--muted{border-color:var(--border2);background:var(--bg3);color:var(--sub);}
a.td-btn-finals--muted:hover{border-color:var(--muted);color:var(--text,#eaeaee);}

@media(max-width:900px){
  .team-detail-page{padding:0 1rem 3rem;}
  .team-detail-page .hero-banner{flex-direction:column;align-items:flex-start;gap:1.25rem;}
  .team-detail-page .hero-banner .hero-right{width:100%;align-items:flex-end;}
  .team-detail-page .hero-banner .hero-stats-strip{width:100%;max-width:100%;}
  .team-header-card{flex-wrap:wrap;padding:1.25rem;}
  .td-stat-grid{grid-template-columns:repeat(2,1fr);}
  .td-splits-streaks-row{grid-template-columns:1fr;}
  .td-streak-col--full{grid-column:auto;}
  .td-batting-grid{grid-template-columns:repeat(3,1fr);}
  .td-pitcher-grid{grid-template-columns:1fr 1fr;}
  .td-batter-grid{flex-wrap:wrap;justify-content:center;}
}
@media(max-width:600px){
  .td-stat-grid{grid-template-columns:1fr 1fr;}
  .td-batting-grid{grid-template-columns:repeat(2,1fr);}
  .td-pitcher-grid{grid-template-columns:1fr;}
  .td-batter-grid{flex-direction:column;align-items:stretch;}
  .td-batter-card{max-width:100%;}
  .team-header-logo{width:72px;height:72px;}
}
