.home-league-note { margin: .7rem 0; text-align: left; }
.homepage-slate-table time { white-space: nowrap; }
.home-access-teaser { margin: .9rem 0 0; }

/* One table row per game preserves sorting, filtering, and preview boundaries.
   Identical tracks align each team's logo and its betting values. */
.home-team-trends { --matchup-team-height: 2.7rem; --matchup-team-gap: .8rem; }
.home-team-trends .homepage-slate-table td { padding: .55rem .65rem; vertical-align: middle; }
.home-team-trends .homepage-slate-table th { padding: .65rem; }
.home-team-trends time { font-size: .78rem; line-height: 1.4; }
.home-matchup-pair { position: relative; display: grid; grid-template-rows: repeat(2, var(--matchup-team-height)); gap: var(--matchup-team-gap); }
.home-matchup-team, .home-team-signal { display: flex; align-items: center; }
.home-matchup-at { position: absolute; top: 50%; left: .45rem; transform: translateY(-50%); font-size: .7rem; line-height: 1; color: var(--color-text-muted); }
.home-team-trends .todays-team-logo-link { display: flex; align-items: center; gap: .4rem; width: auto; min-width: 8rem; max-width: 12rem; }
.home-team-trends .todays-team-logo-shell { flex: 0 0 28px; width: 28px; height: 28px; }
.home-team-trends .todays-team-logo { width: 26px; height: 26px; }
.home-team-trends .todays-team-logo-label { text-align: left; font-size: .72rem; line-height: 1.2; white-space: normal; }
.home-team-trends .home-signal { min-width: 5.6rem; width: 100%; padding: .3rem .45rem; gap: .12rem; border-radius: .6rem; }
.home-team-trends .home-signal__value { font-size: .85rem; }
.home-team-trends .home-signal__label { font-size: .62rem; }

/* Team comparisons sit above a compact umpire or crew summary. */
.home-trend-note { color: var(--color-text-muted); }
.table.home-game-table { width: 100%; min-width: 0; table-layout: fixed; }
.home-game-table .home-time-col { width: 16%; }
.home-game-table .home-matchup-col { width: 44%; }
.home-game-table .home-over-col, .home-game-table .home-cover-col { width: 20%; }
.home-game-table thead th { font-size: .7rem; white-space: normal; }
.home-game-table thead tr:first-child th { padding-top: .5rem; padding-bottom: .4rem; }
.home-game-table thead tr:nth-child(2) th { padding-top: .4rem; padding-bottom: .5rem; }
.home-game-table .home-matchup-pair { --matchup-team-height: 1.8rem; --matchup-team-gap: .3rem; }
.home-game-table .home-game-row > td { padding-top: .5rem; padding-bottom: .35rem; border-bottom: 0; }
.home-game-table .home-game-time { font-size: .8rem; font-variant-numeric: tabular-nums; }
.home-game-time [data-local-time] { white-space: nowrap; }
.home-game-network { margin-top: .35rem; }
.home-game-network .network-badge-list { margin: 0; }
.home-game-network .network-badge img { max-width: 100%; height: 18px; }
.home-game-network .network-badge { max-width: 100%; min-height: 18px; }
.home-game-table .todays-team-logo-link { min-width: 0; max-width: 100%; gap: .4rem; }
.home-game-table .todays-team-logo-shell { width: 26px; height: 26px; flex-basis: 26px; }
.home-game-table .todays-team-logo { width: 24px; height: 24px; }
.home-game-table .todays-team-logo-label { font-size: .8rem; color: var(--color-text); font-weight: 500; }
.home-team-site { flex: 0 0 .8rem; font-size: .65rem; color: var(--color-text-muted); }
.home-game-table .home-signal--compact { display: inline-flex; width: auto; min-width: 0; padding: .2rem .4rem; border: 0; border-radius: .3rem; background: transparent; }
.home-game-table .home-team-signal .home-signal--compact { background: var(--signal-bg); }
.home-game-table .home-team-signal { justify-content: center; }
.home-game-table .home-signal--compact .home-signal__value { font-size: .95rem; line-height: 1.1; font-variant-numeric: tabular-nums; }
.home-game-table .home-signal--compact .assignment-lock { min-width: 0; padding: 0 .1rem; }
.home-game-table .home-signal--neutral { --signal-accent: var(--color-text); }
.home-game-table .home-game-detail > td { padding: 0 .65rem .5rem; border-bottom: 1px solid var(--rm-table-border-color); }
.home-official-summary { display: flex; align-items: center; gap: 1rem; padding: .45rem .6rem; border-radius: .35rem; background: var(--color-surface); }
.home-official-identity { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .6rem; min-width: 0; flex: 1; }
.home-official-heading { font-size: .7rem; font-weight: 600; color: var(--color-text-muted); }
.home-official-name { font-size: .8rem; }
.home-official-name .assignment-lock { min-width: 0; padding: 0; }
.home-official-metrics { display: flex; justify-content: space-between; gap: 1rem; margin: 0; flex: 1.5; }
.home-official-metric { display: flex; flex-direction: row-reverse; align-items: baseline; justify-content: flex-end; gap: .3rem; }
.home-official-metric dt { font-size: .7rem; font-weight: 400; white-space: nowrap; color: var(--color-text-muted); }
.home-official-metric dd { margin: 0; }
.home-game-table .home-official-metric .home-signal { padding: 0; }
.home-game-table .home-official-metric .home-signal__value { font-size: .85rem; }
html[data-theme="light"] .home-game-table .home-signal--direction-positive { --signal-accent: #087b4a; }
html[data-theme="light"] .home-game-table .home-signal--direction-negative { --signal-accent: #bc3038; }
html[data-theme="light"] .home-official-name a { color: #087b70; }

.nfl-game-table .home-time-col { width: 18%; }
.nfl-game-table .home-matchup-col { width: 42%; }
.nfl-crew-summary { display: block; }
.nfl-crew-top { display: flex; align-items: center; gap: .5rem 1rem; }
.nfl-crew-top .home-official-metrics { flex: 0 1 auto; gap: 1.5rem; }
.nfl-crew-roster { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .4rem .6rem; margin: .5rem 0 0; }
.nfl-crew-roster > div { display: flex; align-items: baseline; gap: .35rem; min-width: 0; }
.nfl-crew-roster dt, .nfl-crew-role-label { color: var(--color-text-muted); font-size: .62rem; font-weight: 500; }
.nfl-crew-roster abbr { text-decoration: none; cursor: default; }
.nfl-crew-roster dd { margin: 0; min-width: 0; font-size: .72rem; line-height: 1.3; overflow-wrap: anywhere; }
.nfl-crew-summary .todays-official-link-stack, .nfl-crew-summary .todays-official-link-stack__line { display: inline; }
.nfl-crew-summary .assignment-lock { min-width: 0; padding: 0; }
.nfl-crew-status { color: var(--color-text-muted); font-size: .6rem; white-space: nowrap; }
.nfl-crew-expected { color: var(--color-text-muted); margin-left: .1rem; }
html[data-theme="light"] .nfl-crew-roster a { color: #087b70; }

@media (max-width: 1000px) {
  .home-official-summary { display: block; }
  .home-official-identity { margin-bottom: .35rem; }
  .nfl-crew-roster { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .home-game-table .home-time-col { width: 19%; }
  .home-game-table .home-matchup-col { width: 39%; }
  .home-game-table .home-over-col { width: 18%; }
  .home-game-table .home-cover-col { width: 24%; }
  .home-team-trends .home-game-table thead th { font-size: .58rem; padding-left: .35rem; padding-right: .35rem; }
  .home-game-table th.sortable { padding-right: .75rem; }
  .home-game-table th.sortable::after { right: .15rem; border-left-width: 3px; border-right-width: 3px; }
  .home-game-table .home-game-row > td { padding-left: .35rem; padding-right: .35rem; }
  .home-game-table .home-game-time { font-size: .66rem; }
  .home-game-table .todays-team-logo-label { font-size: .7rem; }
  .home-game-table .todays-team-logo-link { gap: .2rem; }
  .home-team-site { flex-basis: .65rem; }
  .home-game-table .home-signal--compact .home-signal__value { font-size: .85rem; }
  .home-game-table .home-game-detail > td { padding-left: .35rem; padding-right: .35rem; }
  .home-official-summary { display: block; padding: .4rem .5rem; }
  .home-official-identity { margin-bottom: .35rem; }
  .home-official-heading { font-size: .6rem; }
  .home-official-name { font-size: .72rem; }
  .home-official-metrics { gap: .4rem; }
  .home-official-metric { flex-direction: column; gap: .12rem; }
  .home-official-metric dt { font-size: .55rem; white-space: normal; }
  .nfl-game-table .home-time-col { width: 26%; }
  .nfl-game-table .home-matchup-col { width: 34%; }
  .nfl-game-table .home-over-col, .nfl-game-table .home-cover-col { width: 20%; }
  .nfl-game-table .home-game-time time { font-size: .63rem; }
  .nfl-crew-top { display: block; }
  .nfl-crew-top .home-official-metrics { justify-content: flex-start; }
  .nfl-crew-top .home-official-metric { flex-direction: row-reverse; }
  .nfl-crew-roster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nfl-crew-roster dd { font-size: .66rem; }
}
