/* One native table row per pitcher, including on phones. */
.bullpen-card { padding: 6px; }
.bullpen-roster-section { margin-top: 8px; padding-top: 6px; }
.bullpen-roster-panel { margin-top: 5px; }
.bullpen-roster-heading { margin-bottom: 4px; gap: 4px; }
.bullpen-roster-heading > span { letter-spacing: .04em; }
.bullpen-roster-toggle { padding: 5px 6px; gap: 6px; }
.bullpen-toggle-summary { gap: 8px; }
.bullpen-toggle-stat { gap: 3px; }
.bullpen-widget-shell .bullpen-summary-stat { padding: 6px 2px; }
.bullpen-table-scroll { overflow: visible; border-radius: 3px; }
.bullpen-roster-table {
  width: 100%;
  min-width: 0;
  table-layout: auto;
  font-size: calc(.76rem * var(--bullpen-roster-scale, 1));
  line-height: 1.25;
}
.bullpen-roster-table th,
.bullpen-roster-table td,
.bullpen-roster-table th:not(:first-child),
.bullpen-roster-table th:nth-child(n+8),
.bullpen-roster-table td:nth-child(n+8) {
  min-width: 0;
  padding: 3px 1px;
  white-space: nowrap;
}
.bullpen-roster-table thead th {
  position: static;
  font-size: .88em;
  letter-spacing: 0;
}
.bullpen-roster-table thead th:first-child,
.bullpen-roster-table tbody .bullpen-arm-name {
  display: table-cell;
  position: static;
  width: auto;
  min-width: 0;
  max-width: none;
  box-shadow: none;
}
.bullpen-roster-table .bullpen-arm-name-inner {
  display: inline-flex;
  width: max-content;
  flex-wrap: nowrap;
  white-space: nowrap;
  gap: .2em;
}
.bullpen-arm-name-inner .bullpen-arm-player-name,
.bullpen-arm-name-inner > span {
  flex: 0 0 auto;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}
.bullpen-roster-table .bullpen-role,
.bullpen-roster-table .bullpen-il-badge {
  min-width: 0;
  padding: 0 .1em;
  font-size: .85em;
  letter-spacing: 0;
}
.bullpen-roster-table .bullpen-small-sample-warning {
  width: 1em;
  height: 1em;
  font-size: .92em;
}
.bullpen-table-caption {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Shared MLB / KBO / NPB bullpen presentation.
   Rank controls still select the tier; only the text carries that tier here.
   Workload pitch counts keep their separate usage heat map. */
body.game-page .bullpen-widget-shell .metric-elite { --bullpen-stat-color: #63ff9b; }
body.game-page .bullpen-widget-shell .metric-good { --bullpen-stat-color: #a2f5bf; }
body.game-page .bullpen-widget-shell .metric-average { --bullpen-stat-color: var(--text, #dce6e1); }
body.game-page .bullpen-widget-shell .metric-poor { --bullpen-stat-color: #ffadb8; }
body.game-page .bullpen-widget-shell .metric-awful { --bullpen-stat-color: #ff7184; }
body.game-page .bullpen-widget-shell .metric-missing { --bullpen-stat-color: var(--muted, #8a9690); }
html[data-highlight-neutral="spectrum"] body.game-page .bullpen-widget-shell .metric-elite { --bullpen-stat-color: #79ffac; }
html[data-highlight-neutral="spectrum"] body.game-page .bullpen-widget-shell .metric-good { --bullpen-stat-color: #d8f77d; }
html[data-highlight-neutral="spectrum"] body.game-page .bullpen-widget-shell .metric-average { --bullpen-stat-color: #ffe06e; }
html[data-highlight-neutral="spectrum"] body.game-page .bullpen-widget-shell .metric-poor { --bullpen-stat-color: #ffad5d; }
html[data-highlight-neutral="spectrum"] body.game-page .bullpen-widget-shell .metric-awful { --bullpen-stat-color: #ff7185; }

body.game-page .bullpen-widget-shell :is(.bullpen-summary-label, .bullpen-summary-value, .bullpen-summary-rank, .bullpen-roster-table td:not(.bullpen-pitches))[class*="metric-"] {
  color: var(--bullpen-stat-color, var(--text, #dce6e1)) !important;
  -webkit-text-fill-color: currentColor !important;
  background: transparent !important;
  background-image: none !important;
  border-left: 0 !important;
  border-inline-start: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.game-page .bullpen-widget-shell :is(.bullpen-summary-label, .bullpen-summary-value, .bullpen-summary-rank, .bullpen-roster-table td:not(.bullpen-pitches))[class*="metric-"]::before,
body.game-page .bullpen-widget-shell :is(.bullpen-summary-label, .bullpen-summary-value, .bullpen-summary-rank, .bullpen-roster-table td:not(.bullpen-pitches))[class*="metric-"]::after {
  content: none !important;
  display: none !important;
}

html[data-highlight-display-mode="black-white"] body.game-page .bullpen-widget-shell :is(.bullpen-summary-label, .bullpen-summary-value, .bullpen-summary-rank, .bullpen-roster-table td:not(.bullpen-pitches))[class*="metric-"] {
  filter: grayscale(1) saturate(0) !important;
}

html[data-highlight-display-mode="off"] body.game-page .bullpen-widget-shell :is(.bullpen-summary-label, .bullpen-summary-value, .bullpen-summary-rank, .bullpen-roster-table td:not(.bullpen-pitches))[class*="metric-"] {
  color: var(--text, #dce6e1) !important;
  filter: none !important;
}
