/**
 * Pitcher Profile — layout + components (uses team_profile.css shell).
 */
.pitcher-profile-page .tp-pitcher-picker {
  width: 100%;
  max-width: none;
}

.pitcher-profile-page .pp-hero-banner-shell {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-radius: var(--tp-section-radius, 14px);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--purple, #7C4DFF) 38%, rgba(154, 107, 255, 0.45));
  box-shadow:
    0 0 0 1px rgba(196, 176, 255, 0.1),
    0 24px 64px rgba(0, 0, 0, 0.72),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
  background:
    radial-gradient(ellipse 76% 70% at 88% 8%, color-mix(in srgb, var(--purple, #7C4DFF) 18%, transparent), transparent 64%),
    linear-gradient(128deg, #171A2A 0%, #0B0E18 52%, #05060C 100%);
}

.pitcher-profile-page .pp-hero-search {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 10px 18px 6px;
  border: none;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

.pitcher-profile-page .pp-hero-search::after {
  content: '';
  display: block;
  height: 1px;
  margin-top: 8px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.09), transparent 72%);
}

.pitcher-profile-page .pp-hero-search.profile-context-bar {
  border: none;
  box-shadow: none;
  background: transparent;
}

.pitcher-profile-page .pp-hero-search .tp-team-picker--inline.tp-pitcher-picker {
  max-width: none;
}

.pitcher-profile-page .pp-hero-search .tp-team-picker__panel--inline {
  border: none;
  box-shadow: none;
  background: transparent;
  border-radius: 0;
}

.pitcher-profile-page .pp-hero-search .tp-team-picker__search-wrap--inline {
  border: none;
  border-radius: 8px;
  padding: 4px 12px;
  background: rgba(255, 255, 255, 0.04);
  box-shadow: none;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}

.pitcher-profile-page .pp-hero-search .tp-team-picker__search-wrap--inline:focus-within {
  background: rgba(255, 255, 255, 0.07);
  box-shadow: inset 0 0 0 1px rgba(154, 107, 255, 0.28);
}

.pitcher-profile-page .pp-hero-banner-shell .tp-pitcher-banner,
.pitcher-profile-page .pp-hero-banner-shell .tp-team-banner.tp-pitcher-banner {
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}

.pitcher-profile-page .tp-pitcher-picker .tp-team-picker__search-wrap {
  width: 100%;
}

/* Inline pitcher picker (reuses team picker skin) */
.pitcher-profile-page .tp-team-picker--inline.tp-pitcher-picker {
  max-width: 520px;
}

.pitcher-profile-page .tp-team-picker__panel--inline {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  border-radius: 14px;
  border: 1px solid var(--border, #262A38);
  background: var(--bg-2, #0E1018);
  box-shadow: 0 18px 48px -12px rgba(0, 0, 0, 0.55), 0 0 0 1px color-mix(in srgb, var(--purple, #7C4DFF) 18%, transparent);
  overflow: hidden;
}

.pitcher-profile-page .tp-team-picker__search-wrap--inline {
  border-bottom: none;
}

.pitcher-profile-page #profileContent:not(.ready) {
  visibility: hidden;
  height: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.pitcher-profile-page #profileContent.ready {
  visibility: visible;
  height: auto;
}

/* Hero — broadcast banner (Team Profile chrome) */
.pitcher-profile-page .pp-hero-section.ca-board {
  padding: 0;
  overflow: visible;
  background: transparent;
  border: none;
  box-shadow: none;
}

.pitcher-profile-page .tp-team-banner.tp-pitcher-banner {
  padding: var(--tp-section-pad-y, 14px) var(--tp-section-pad-x, 16px) var(--tp-section-pad-bottom, 16px);
  margin: 0;
  border-radius: var(--tp-section-radius, 14px);
  border: 1.5px solid color-mix(in srgb, var(--tp-accent, #7C4DFF) 46%, rgba(154, 107, 255, 0.58));
  background:
    radial-gradient(ellipse 76% 70% at 88% 8%, color-mix(in srgb, var(--tp-accent, #7C4DFF) 26%, transparent), transparent 64%),
    linear-gradient(128deg, #171A2A 0%, #0B0E18 52%, #05060C 100%);
  box-shadow:
    0 0 0 1px rgba(196, 176, 255, 0.14),
    0 0 42px color-mix(in srgb, var(--tp-accent, #7C4DFF) 34%, transparent),
    0 34px 96px rgba(0, 0, 0, 0.88),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.pitcher-profile-page .tp-pitcher-banner {
  width: 100%;
}

.pitcher-profile-page .tp-pitcher-banner__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 20px;
}

.pitcher-profile-page .tp-pitcher-banner__photo {
  flex-shrink: 0;
}

.pitcher-profile-page .tp-pitcher-banner__photo .tp-pitcher-banner__avatar,
.pitcher-profile-page .tp-pitcher-banner__photo img {
  width: 112px;
  height: 112px;
  border-radius: 14px;
  object-fit: cover;
  object-position: center top;
  border: 1.5px solid color-mix(in srgb, var(--tp-accent, #7C4DFF) 55%, transparent);
  box-shadow: 0 0 28px color-mix(in srgb, var(--tp-accent, #7C4DFF) 40%, transparent);
}

.pitcher-profile-page .tp-pitcher-banner__identity {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  flex: 1 1 280px;
  min-width: 0;
}

.pitcher-profile-page .tp-pitcher-banner .tp-team-banner__title {
  font-family: var(--font-display, "Roboto Condensed", sans-serif);
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 800;
  margin: 0;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  background: none !important;
  background-clip: border-box;
  -webkit-background-clip: border-box;
}

.pitcher-profile-page .tp-pitcher-picker .tp-team-picker__search {
  font-family: var(--font-display, "Roboto Condensed", sans-serif);
  font-weight: 800;
  color: #FFFFFF;
}

.pitcher-profile-page .tp-pitcher-picker .tp-team-picker__search::placeholder {
  font-weight: 600;
  color: var(--text-3, #9CA3AF);
}

.pitcher-profile-page .tp-pitcher-banner__today {
  display: inline-block;
  margin-top: 6px;
}

.pitcher-profile-page .tp-pitcher-banner__note {
  margin: 8px 0 0;
  font-size: 14px;
  color: var(--gold-l, #FCD34D);
}

.pitcher-profile-page .tp-pitcher-banner .tp-team-banner__stats--hero {
  flex: 1 1 100%;
  margin-top: 4px;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  padding-top: var(--tp-header-gap, 12px);
}

.pitcher-profile-page .pp-hero-inner {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: var(--tp-section-pad-y, 14px) var(--tp-section-pad-x, 16px) var(--tp-section-pad-bottom, 16px);
}

.pitcher-profile-page .pp-hero-inner .ps-photo {
  flex-shrink: 0;
}

.pitcher-profile-page .pp-hero-inner .ps-main {
  flex: 1;
  min-width: 0;
}

.pitcher-profile-page .pp-hero-inner .ps-name-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.pitcher-profile-page .pp-hero-inner .ps-name {
  font-family: var(--font-display, "Roboto Condensed", sans-serif);
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--text-1, #F3F4F6);
  -webkit-text-fill-color: unset;
  background: none;
}

.pitcher-profile-page .pp-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.pitcher-profile-page .pp-hero-score {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.pitcher-profile-page .pp-hero-score .hub-ctrl-label {
  margin: 0;
}

/* Banner headline stats — match Team Profile hero stat pills */
.pitcher-profile-page .pp-hero-stats.tp-hero-stat-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-top: 4px;
}

.pitcher-profile-page .pp-hero-stats.tp-team-banner__stats--hero .tp-hero-stat {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border: 1px solid rgba(196, 176, 255, 0.16);
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.052), transparent 30%),
    linear-gradient(180deg, rgba(18,21,33,0.92), rgba(6,7,13,0.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}

.pitcher-profile-page .pp-hero-stats .tp-hero-stat__label {
  margin-bottom: 0;
  font-family: var(--font-display, "Roboto Condensed", sans-serif);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-3, #9CA3AF);
}

.pitcher-profile-page .pp-hero-stats .tp-hero-stat__value {
  font-family: var(--font-display, "Roboto Condensed", sans-serif);
  font-size: 16px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.pitcher-profile-page .pp-hero-stats .tp-hero-stat--solo {
  justify-content: center;
  min-width: 52px;
}

.pitcher-profile-page .pp-hero-stats .tp-hero-stat--solo .tp-hero-stat__value {
  color: var(--text-1, #F3F4F6);
}

.pitcher-profile-page .pp-hero-stats .tp-hero-stat__value .tp-hero-stat__num {
  display: inline-block;
  font-size: 16px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  background: none;
  border: none;
  padding: 0;
  min-width: 0;
  box-shadow: none;
}

.pitcher-profile-page .pp-hero-stats .tp-hero-stat__value .tp-hero-stat__num--na {
  color: var(--text-3, #9CA3AF);
}

/* Legacy: strip filled chips if any hero path still emits them */
.pitcher-profile-page .pp-hero-stats .tp-hero-stat__value .chip {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0;
  min-width: 0;
  font-size: 16px;
  font-weight: 800;
}
.pitcher-profile-page .pp-hero-stats .tp-hero-stat__value .chip.c-elite { color: #4ADE80; }
.pitcher-profile-page .pp-hero-stats .tp-hero-stat__value .chip.c-good { color: #7BDC5A; }
.pitcher-profile-page .pp-hero-stats .tp-hero-stat__value .chip.c-mid { color: #FBBF24; }
.pitcher-profile-page .pp-hero-stats .tp-hero-stat__value .chip.c-weak { color: #FB923C; }
.pitcher-profile-page .pp-hero-stats .tp-hero-stat__value .chip.c-poor { color: #F87171; }
.pitcher-profile-page .pp-hero-stats .tp-hero-stat__value .chip.c-na { color: var(--text-3, #9CA3AF); }

.pitcher-profile-page .tp-identity-panel__take {
  display: none;
}

.pitcher-profile-page .pp-hero-note {
  margin-top: 10px;
  padding: 10px 12px;
  background: color-mix(in srgb, var(--bg-2, #0E1018) 70%, transparent);
  border: 1px solid rgba(251, 191, 36, 0.35);
  border-radius: 12px;
  color: var(--gold-l, #FCD34D);
  font-size: var(--tp-note-size, 14px);
  line-height: 1.45;
}

.pitcher-profile-page .ps-tonight {
  margin-top: 12px;
}

.pitcher-profile-page .ps-stale-note {
  font-size: var(--tp-note-size, 14px);
  color: var(--gold, #FBBF24);
  margin-top: 10px;
}

/* Pills */
.pitcher-profile-page .pill {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 99px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pitcher-profile-page .pill-today {
  background: rgba(74, 222, 128, 0.15);
  color: var(--green, #4ADE80);
  border: 1px solid rgba(74, 222, 128, 0.35);
}

.pitcher-profile-page .hand-pill-r {
  background: rgba(96, 165, 250, 0.15);
  color: var(--blue-l, #93C5FD);
  border: 1px solid rgba(96, 165, 250, 0.35);
}

.pitcher-profile-page .hand-pill-l {
  background: rgba(251, 191, 36, 0.15);
  color: var(--gold-l, #FCD34D);
  border: 1px solid rgba(251, 191, 36, 0.35);
}

.pitcher-profile-page .tier-pill {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 8px;
}

.pitcher-profile-page .tier-ace { background: rgba(74, 222, 128, 0.18); color: var(--green); }
.pitcher-profile-page .tier-solid { background: rgba(96, 165, 250, 0.18); color: var(--blue-l); }
.pitcher-profile-page .tier-avg { background: rgba(251, 191, 36, 0.18); color: var(--gold); }
.pitcher-profile-page .tier-vol { background: rgba(248, 113, 113, 0.18); color: var(--red-l); }

/* Season stat strip */
.pitcher-profile-page .pp-season-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap: 10px;
}

/* Hand / location split panels */
.pitcher-profile-page .hand-grid,
.pitcher-profile-page .loc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

@media (max-width: 700px) {
  .pitcher-profile-page .hand-grid,
  .pitcher-profile-page .loc-grid {
    grid-template-columns: 1fr;
  }
}

.pitcher-profile-page .hand-panel,
.pitcher-profile-page .loc-panel {
  background: var(--bg-3, #18181c);
  border: 1px solid var(--border, #262A38);
  border-radius: 12px;
  padding: 14px 16px;
}

.pitcher-profile-page .hand-panel h4,
.pitcher-profile-page .loc-panel h4 {
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--v-light, #C4B0FF);
  margin: 0 0 12px;
}

.pitcher-profile-page .mini-stat-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.pitcher-profile-page .mini-stat-row + .mini-stat-row {
  margin-top: 10px;
}

.pitcher-profile-page .mini-stat {
  text-align: center;
  padding: 8px 6px;
  background: var(--bg-4, #1f1f25);
  border-radius: 8px;
  border: 1px solid var(--border, #262A38);
}

.pitcher-profile-page .mini-stat .ms-label {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-3);
}

.pitcher-profile-page .mini-stat .ms-val {
  font-size: 15px;
  font-family: var(--font-display);
  font-weight: 700;
  margin-top: 4px;
  font-variant-numeric: tabular-nums;
}

/* OOR */
.pitcher-profile-page .oor-panel {
  margin-top: 0;
}

.pitcher-profile-page .oor-hero {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 0;
}

.pitcher-profile-page .oor-score {
  font-size: 40px;
  font-weight: 800;
  font-family: var(--font-display);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.pitcher-profile-page .oor-label {
  font-size: var(--tp-helper-size, 15px);
  color: var(--tp-desc-color, #C4CBD6);
  line-height: 1.5;
  margin: 0;
}

.pitcher-profile-page .oor-tonight {
  font-size: var(--tp-note-size, 14px);
  color: var(--tp-note-color, #B8C0CC);
  margin: 8px 0 0;
}

/* Tables */
.pitcher-profile-page .tp-table-wrap {
  margin-top: 4px;
}

.pitcher-profile-page .tier-high { color: var(--red-l, #FCA5A5); font-weight: 700; }
.pitcher-profile-page .tier-mid { color: var(--gold, #FBBF24); font-weight: 700; }
.pitcher-profile-page .tier-low { color: var(--green-l, #86EFAC); font-weight: 700; }

.pitcher-profile-page tbody tr.flag-row {
  background: rgba(251, 191, 36, 0.08);
}

.pitcher-profile-page .tp-note.insight-line {
  margin-top: 12px;
  padding: 12px 14px;
  background: var(--bg-3, #18181c);
  border-left: 3px solid var(--purple, #7C4DFF);
  border-radius: 0 10px 10px 0;
  font-size: var(--tp-note-size, 14px);
  line-height: 1.55;
  color: var(--tp-note-color, #B8C0CC);
}

.pitcher-profile-page .betting-panel.tp-note {
  padding: 14px 16px;
  background: var(--bg-3, #18181c);
  border: 1px solid var(--border, #262A38);
  border-radius: 12px;
  font-size: var(--tp-helper-size, 15px);
  line-height: 1.55;
  color: var(--tp-desc-color, #C4CBD6);
}

.pitcher-profile-page .empty-state {
  text-align: center;
  padding: 24px 16px;
  color: var(--text-3);
  font-size: var(--tp-note-size, 14px);
}

/* Pitching Value uses Team Profile identity-panel layout */
.pitcher-profile-page .tp-identity-panel__metrics {
  margin-top: 0;
}

.pitcher-profile-page .pp-pitching-value-wrap .pp-pitching-value-table,
.pitcher-profile-page .pp-pitching-value-wrap .pp-pitching-value-metrics-table {
  width: 100%;
}

.pitcher-profile-page .pp-split-table.pp-startlog td .chip,
.pitcher-profile-page .pp-split-matrix td .chip,
.pitcher-profile-page .pp-pitching-value-table td .chip,
.pitcher-profile-page .pp-pitching-value-metrics-table td .chip {
  font-size: var(--pp-table-chip-size);
  padding: 7px 12px;
  min-height: 32px;
}

.pitcher-profile-page .pp-split-metric {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-family: var(--font-display, "Roboto Condensed", sans-serif);
  font-size: 14px;
  font-weight: 800;
}

.pitcher-profile-page .pp-split-metric-desc {
  font-size: var(--pp-trend-metric-desc-size, 14px);
  font-weight: 600;
  color: var(--text-3, #9CA3AF);
}

.pitcher-profile-page .tp-section > .tp-section-filter-bar,
.pitcher-profile-page .tp-section > .tp-hub-bar {
  margin: 0 var(--tp-section-pad-x, 16px) var(--tp-header-gap, 12px);
}

.pitcher-profile-page .tp-section > #oorPanel,
.pitcher-profile-page .tp-section > #allowedDashboard,
.pitcher-profile-page .tp-section > #pitchingValueTableWrap,
.pitcher-profile-page .tp-section > #f5TableWrap,
.pitcher-profile-page .tp-section > #tierSplitTableWrap,
.pitcher-profile-page .tp-section > #logTableWrap {
  padding: 0 var(--tp-section-pad-x, 16px) var(--tp-section-pad-bottom, 16px);
}

.pitcher-profile-page #secIntel > #pitcherIntelControls {
  margin: 0 var(--tp-section-pad-x, 16px) var(--tp-header-gap, 12px);
}

.pitcher-profile-page #secIntel .pp-pitching-value-wrap {
  padding: 0 var(--tp-section-pad-x, 16px) var(--tp-section-pad-bottom, 16px);
  border: none;
  background: transparent;
  box-shadow: none;
}

.pitcher-profile-page .pp-pitching-value-metrics-table {
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.pitcher-profile-page .pp-pitching-value-metrics-table thead th {
  text-align: center;
  font-size: var(--pp-table-head-size, 10px);
  letter-spacing: 0.06em;
  padding: 8px 10px;
}

.pitcher-profile-page .pp-pv-metric-cell {
  text-align: center;
  vertical-align: middle;
  padding: 8px 10px;
  font-size: var(--pp-table-num-size, 13px);
}

.pitcher-profile-page .pp-pv-metric-cell .chip {
  margin: 0 auto;
  display: inline-flex;
  justify-content: center;
  min-width: 72px;
  font-size: var(--pp-table-chip-size, 16px);
  padding: 8px 14px;
}

.pitcher-profile-page .pp-pv-split-note {
  margin: 10px 0 0;
  text-align: center;
  font-size: 13px;
  color: var(--tp-note-color, #B8C0CC);
}

.pitcher-profile-page .pp-pv-split-note strong {
  color: var(--v-light, #C4B0FF);
  font-weight: 700;
}

.pitcher-profile-page .pp-pitching-value-wrap,
.pitcher-profile-page .pp-split-table-wrap,
.pitcher-profile-page #allowedDashboard .pp-split-table-wrap {
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

@media (max-width: 640px) {
  .pitcher-profile-page .pp-hero-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .pitcher-profile-page .pp-hero-inner .ps-name-row {
    justify-content: center;
  }
  .pitcher-profile-page .pp-hero-badges,
  .pitcher-profile-page .pp-hero-score,
  .pitcher-profile-page .pp-hero-stats {
    justify-content: center;
  }
  .pitcher-profile-page .pp-hero-stats {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 420px;
  }
}

/* Profile tables — unified research density (match theme profile table legibility) */
.pitcher-profile-page {
  --pp-table-size: 16px;
  --pp-table-num-size: 18px;
  --pp-table-head-size: 14px;
  --pp-table-chip-size: 18px;
  --pp-trend-metric-size: 16px;
  --pp-trend-metric-desc-size: 14px;
  --pp-trend-meta-size: 15px;
}

.pitcher-profile-page .pp-startlog,
.pitcher-profile-page .pp-tier-split-table,
.pitcher-profile-page .tp-table.hub-table.pp-startlog,
.pitcher-profile-page .tp-table.hub-table.pp-tier-split-table {
  font-size: var(--pp-table-size);
}

.pitcher-profile-page .pp-startlog thead th,
.pitcher-profile-page .pp-tier-split-table thead th,
.pitcher-profile-page .tp-table.hub-table.pp-startlog thead th,
.pitcher-profile-page .tp-table.hub-table.pp-tier-split-table thead th {
  font-size: var(--pp-table-head-size);
  letter-spacing: 0.05em;
  padding: 8px 10px;
  text-align: center;
}

.pitcher-profile-page .pp-startlog tbody td,
.pitcher-profile-page .pp-tier-split-table tbody td,
.pitcher-profile-page .tp-table.hub-table.pp-startlog tbody td,
.pitcher-profile-page .tp-table.hub-table.pp-tier-split-table tbody td {
  padding: 8px 10px;
  min-height: 0;
  height: auto;
  font-weight: 600;
  font-size: var(--pp-table-size);
  line-height: 1.4;
  text-align: center;
  vertical-align: middle;
}

.pitcher-profile-page .pp-startlog tbody td.num,
.pitcher-profile-page .pp-tier-split-table tbody td.num,
.pitcher-profile-page .tp-table.hub-table.pp-startlog tbody td.num,
.pitcher-profile-page .tp-table.hub-table.pp-tier-split-table tbody td.num {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  font-size: var(--pp-table-num-size);
}

.pitcher-profile-page .pp-startlog tbody td:first-child,
.pitcher-profile-page .pp-tier-split-table tbody td:first-child,
.pitcher-profile-page .tp-table.hub-table.pp-startlog tbody td:first-child,
.pitcher-profile-page .tp-table.hub-table.pp-tier-split-table tbody td:first-child {
  font-size: var(--pp-table-size);
  font-weight: 700;
}

.pitcher-profile-page .pp-startlog tbody tr:hover,
.pitcher-profile-page .pp-tier-split-table tbody tr:hover,
.pitcher-profile-page .tp-table.hub-table.pp-startlog tbody tr:hover,
.pitcher-profile-page .tp-table.hub-table.pp-tier-split-table tbody tr:hover {
  background: rgba(124, 77, 255, 0.10);
  box-shadow: inset 3px 0 0 #7C4DFF;
}

.pitcher-profile-page .pp-startlog .pl-gamelog-opp-inner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 36px;
}

/* Fixed logo frame — ESPN PNGs have uneven padding; cover normalizes visual size. */
.pitcher-profile-page .pp-startlog .pp-startlog-opp-logo-slot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  overflow: hidden;
}

.pitcher-profile-page .pp-startlog .pp-startlog-opp-logo-slot img,
.pitcher-profile-page .pp-startlog .pp-startlog-opp-logo {
  display: block;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px;
  min-height: 32px;
  max-width: 32px;
  max-height: 32px;
  object-fit: cover;
  object-position: center center;
  flex-shrink: 0;
}

.pitcher-profile-page .pp-startlog .pp-startlog-opp-logo-slot .team-logo-fallback,
.pitcher-profile-page .pp-startlog .pp-startlog-opp-logo + .team-logo-fallback,
.pitcher-profile-page .pp-startlog .pl-gamelog-opp-inner .team-logo-fallback {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px;
  min-height: 32px;
  font-size: 11px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.pitcher-profile-page .pp-startlog td.pp-startlog-opp {
  min-width: 96px;
}

.pitcher-profile-page .pp-startlog .pp-startlog-opp-abbr {
  font-weight: 800;
  letter-spacing: 0.04em;
}

.pitcher-profile-page .pp-result-chip {
  min-width: 80px;
  height: 30px;
  font-size: 13.5px;
  padding: 0 13px;
}

/* Rolling trend + hub tables on pitcher profile */
.pitcher-profile-page .tp-trend-table thead th {
  font-size: var(--pp-table-head-size);
  padding: 14px 12px;
}

.pitcher-profile-page .tp-trend-table tbody th,
.pitcher-profile-page .tp-trend-table tbody td {
  height: 64px;
  min-height: 64px;
  padding: 10px 12px;
  font-size: var(--pp-table-size);
  line-height: 1.35;
}

.pitcher-profile-page .tp-trend-table tbody td.num .chip,
.pitcher-profile-page .tp-trend-table .numcol .chip {
  font-size: var(--pp-table-chip-size);
  font-weight: 800;
  padding: 8px 14px;
  min-width: 58px;
  min-height: 38px;
}

.pitcher-profile-page .tp-trend-table__metric {
  font-size: var(--pp-trend-metric-size);
}

.pitcher-profile-page .tp-trend-table__metric-desc {
  font-size: var(--pp-trend-metric-desc-size);
  line-height: 1.4;
}

.pitcher-profile-page .tp-trend-table__reliability,
.pitcher-profile-page .tp-trend-table__interp {
  font-size: var(--pp-trend-meta-size);
  font-weight: 700;
  line-height: 1.35;
}

.pitcher-profile-page .tp-table.hub-table thead th {
  font-size: var(--pp-table-head-size, 15px);
  letter-spacing: 0.05em;
  padding: 15px 14px;
}

.pitcher-profile-page .tp-table.hub-table tbody td {
  font-size: var(--pp-table-size, 18px);
  padding: 15px 14px;
  line-height: 1.35;
}

.pitcher-profile-page .tp-table.hub-table tbody td.num {
  font-size: var(--pp-table-num-size, 21px);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}

.pitcher-profile-page .tp-table.hub-table tbody td.num .chip {
  font-size: var(--pp-table-chip-size, 18px);
  padding: 8px 13px;
  min-height: 36px;
}

.pitcher-profile-page #secTierSplits .hub-table.pp-tier-split-table thead th,
.pitcher-profile-page #logTableWrap .hub-table.pp-startlog thead th {
  font-size: var(--pp-table-head-size);
}

.pitcher-profile-page #secTierSplits .hub-table.pp-tier-split-table tbody td,
.pitcher-profile-page #logTableWrap .hub-table.pp-startlog tbody td {
  font-size: var(--pp-table-size);
  height: 58px;
  min-height: 58px;
}

.pitcher-profile-page #secTierSplits .hub-table.pp-tier-split-table tbody td.num,
.pitcher-profile-page #logTableWrap .hub-table.pp-startlog tbody td.num {
  font-size: var(--pp-table-num-size);
}

.pitcher-profile-page .pp-tier-dim-note {
  font-size: var(--tp-note-size, 15px);
  line-height: 1.5;
}

.pitcher-profile-page .tp-trend-table-note,
.pitcher-profile-page .tp-trend-directive__read {
  font-size: var(--tp-note-size, 15px);
  line-height: 1.5;
}

/* Opposing Offense Allowed — Team Profile rolling-trend chrome */
.pitcher-profile-page #secAllowed .pp-allowed-trend.tp-trend-panel {
  margin-top: 0;
  padding: 0 var(--tp-section-pad-x, 16px) var(--tp-section-pad-bottom, 16px);
}

.pitcher-profile-page #secAllowed .tp-section-filter-bar--trend,
.pitcher-profile-page #allowedDashboard .tp-section-filter-bar--trend,
.pitcher-profile-page #allowedDashboard [data-trend-metric-group] {
  display: none !important;
}

.pitcher-profile-page #secAllowed .tp-section-filter-bar--context {
  margin: 0 var(--tp-section-pad-x, 16px) var(--tp-header-gap, 12px);
}

.pitcher-profile-page #secAllowed .tp-trend-table-wrap {
  margin-bottom: 14px;
}

.pitcher-profile-page #secAllowed .tp-trend-table thead th {
  font-size: var(--pp-table-head-size);
  padding: 15px 12px;
}

.pitcher-profile-page #secAllowed .tp-trend-table tbody th,
.pitcher-profile-page #secAllowed .tp-trend-table tbody td {
  height: 66px;
  min-height: 66px;
}

.pitcher-profile-page #secAllowed .tp-trend-table .numcol .chip {
  font-size: var(--pp-table-chip-size);
  padding: 8px 14px;
  min-width: 60px;
  min-height: 40px;
}

.pitcher-profile-page #secAllowed .tp-trend-table__metric-desc {
  font-size: var(--pp-trend-metric-desc-size);
}

.pitcher-profile-page #secAllowed .tp-trend-table__reliability,
.pitcher-profile-page #secAllowed .tp-trend-table__interp {
  font-size: var(--pp-trend-meta-size);
}

.pitcher-profile-page #secAllowed .tp-trend-chart-mount .mlbma-trend-chart {
  width: 100%;
  max-width: 100%;
}

.pitcher-profile-page #secAllowed .tp-trend-readout {
  margin: 12px 0 0;
  font-size: var(--tp-note-size, 15px);
  line-height: 1.5;
  color: var(--tp-note-color, #B8C0CC);
}

.pitcher-profile-page #secAllowed .tp-section-filter-bar--context,
.pitcher-profile-page #secAllowed .tp-trend-directive {
  font-size: var(--tp-note-size, 15px);
}

.pitcher-profile-page #secAllowed .tp-section-filter-bar--context .tp-control-hint {
  font-size: var(--tp-note-size, 15px);
}

/* Strength of Competition — single-row metrics (split via pills above) */
.pitcher-profile-page #secOOR .pp-oor-metrics-wrap.tp-trend-table-wrap {
  border: none;
  background: transparent;
  box-shadow: none;
  padding: 0 var(--tp-section-pad-x, 16px) var(--tp-section-pad-bottom, 16px);
}

.pitcher-profile-page #secOOR .pp-oor-metrics-wrap.tp-trend-table-wrap::before {
  display: none;
}

.pitcher-profile-page #secOOR > #pitcherOorControls {
  margin: 0 var(--tp-section-pad-x, 16px) var(--tp-header-gap, 12px);
}

.pitcher-profile-page .pp-oor-metrics-table {
  width: 100%;
  border: 1.5px solid rgba(196, 176, 255, 0.22);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.052), transparent 28%),
    linear-gradient(180deg, #151827, #080a13);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 18px 48px rgba(0, 0, 0, 0.48);
  overflow: hidden;
}

.pitcher-profile-page .pp-oor-metrics-table thead th {
  text-align: center;
  font-size: var(--pp-table-head-size, 15px);
  letter-spacing: 0.06em;
  padding: 14px 16px;
}

.pitcher-profile-page .pp-oor-metric-cell {
  text-align: center;
  vertical-align: middle;
  padding: 18px 16px;
  font-size: var(--pp-table-num-size, 21px);
}

.pitcher-profile-page .pp-oor-metric-cell .chip {
  margin: 0 auto;
  display: inline-flex;
  justify-content: center;
  min-width: 72px;
  font-size: var(--pp-table-chip-size, 18px);
  padding: 8px 14px;
}

.pitcher-profile-page .pp-oor-split-note {
  margin: 10px 0 0;
  text-align: center;
  font-size: var(--tp-note-size, 15px);
  color: var(--tp-note-color, #B8C0CC);
}

.pitcher-profile-page .pp-oor-split-note strong {
  color: var(--v-light, #C4B0FF);
  font-weight: 700;
}

/* F5 Profile — single-row metrics (split via pills above) */
.pitcher-profile-page #secF5 .pp-f5-metrics-wrap {
  padding: 0 var(--tp-section-pad-x, 16px) var(--tp-section-pad-bottom, 16px);
}

.pitcher-profile-page #secF5 > #pitcherF5Controls {
  margin: 0 var(--tp-section-pad-x, 16px) var(--tp-header-gap, 12px);
}

.pitcher-profile-page .pp-f5-metrics-table {
  width: 100%;
  border: 1.5px solid rgba(196, 176, 255, 0.22);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.052), transparent 28%),
    linear-gradient(180deg, #151827, #080a13);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 18px 48px rgba(0, 0, 0, 0.48);
  overflow: hidden;
}

.pitcher-profile-page .pp-f5-metrics-table thead th {
  text-align: center;
  font-size: var(--pp-table-head-size, 15px);
  letter-spacing: 0.06em;
  padding: 14px 16px;
}

.pitcher-profile-page .pp-f5-metric-cell {
  text-align: center;
  vertical-align: middle;
  padding: 18px 16px;
  font-size: var(--pp-table-num-size, 21px);
}

.pitcher-profile-page .pp-f5-metric-cell .chip {
  margin: 0 auto;
  display: inline-flex;
  justify-content: center;
  min-width: 72px;
  font-size: var(--pp-table-chip-size, 18px);
  padding: 8px 14px;
}

.pitcher-profile-page .pp-f5-split-note {
  margin: 10px 0 0;
  text-align: center;
  font-size: var(--tp-note-size, 15px);
  color: var(--tp-note-color, #B8C0CC);
}

.pitcher-profile-page .pp-f5-split-note strong {
  color: var(--v-light, #C4B0FF);
  font-weight: 700;
}

/* Tier splits + recent start log — pp-data-table (no hub-table / tp-table shrink) */
body.pitcher-profile-page table.pp-data-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-ui, "DM Sans", system-ui, sans-serif);
  font-size: var(--pp-table-size, 13px);
}

body.pitcher-profile-page table.pp-data-table thead th,
body.pitcher-profile-page table.pp-data-table thead th.pp-table-head {
  font-size: var(--pp-table-head-size, 10px);
  padding: 8px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  text-align: center;
}

body.pitcher-profile-page table.pp-data-table tbody td {
  padding: 8px 10px;
  height: auto;
  min-height: 0;
  font-size: var(--pp-table-size, 13px);
  font-weight: 600;
  text-align: center;
  vertical-align: middle;
}

body.pitcher-profile-page table.pp-data-table tbody td .chip,
body.pitcher-profile-page table.pp-data-table tbody td .pp-result-chip {
  margin-left: auto;
  margin-right: auto;
}

body.pitcher-profile-page table.pp-data-table tbody td.num,
body.pitcher-profile-page table.pp-data-table .pp-table-num-text {
  font-size: var(--pp-table-num-size, 13px);
  font-weight: 700;
}

body.pitcher-profile-page table.pp-data-table .pp-table-label-text {
  font-size: var(--pp-table-size, 13px);
  font-weight: 600;
}

body.pitcher-profile-page #tierSplitTableWrap table.pp-data-table tbody tr:hover,
body.pitcher-profile-page #logTableWrap table.pp-data-table tbody tr:hover {
  background: rgba(124, 77, 255, 0.10);
  box-shadow: inset 3px 0 0 #7C4DFF;
}

/* Tier splits — gridded data table */
body.pitcher-profile-page table.pp-data-table.pp-tier-split-table {
  border: 1.5px solid rgba(196, 176, 255, 0.22);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.052), transparent 28%),
    linear-gradient(180deg, #151827, #080a13);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 18px 48px rgba(0, 0, 0, 0.48);
  overflow: hidden;
}

body.pitcher-profile-page table.pp-data-table.pp-tier-split-table thead th,
body.pitcher-profile-page table.pp-data-table.pp-tier-split-table thead th.pp-table-head {
  background: rgba(12, 14, 24, 0.92);
  border-bottom: 1.5px solid rgba(196, 176, 255, 0.18);
  border-right: 1px solid rgba(255, 255, 255, 0.07);
}

body.pitcher-profile-page table.pp-data-table.pp-tier-split-table thead th:last-child {
  border-right: none;
}

body.pitcher-profile-page table.pp-data-table.pp-tier-split-table tbody td {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  border-right: 1px solid rgba(255, 255, 255, 0.05);
}

body.pitcher-profile-page table.pp-data-table.pp-tier-split-table tbody td:last-child {
  border-right: none;
}

body.pitcher-profile-page table.pp-data-table.pp-tier-split-table tbody tr:last-child td {
  border-bottom: none;
}

body.pitcher-profile-page table.pp-data-table.pp-tier-split-table tbody tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.018);
}
