/* Season odds (WVIZ-561 phase C). Table follows the games-in-hand/RFS table
   pattern. Proven cells ("Clinched" / "Out") carry the same words the
   Scenarios tab uses, as text; colour only reinforces them. */

.odds__table-wrap {
  overflow-x: auto;
}

.odds__table {
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
  width: 100%;
}

.odds__caption {
  color: var(--color-text-muted, #94a0b2);
  font-size: var(--fs-caption);
  padding-block: var(--space-2);
  text-align: left;
}

/* WVIZ-625: the key sits outside the scrolling table, so it wraps to the
   screen at 375 instead of scrolling away with the columns. */
.odds__key {
  color: var(--color-text-muted, #94a0b2);
  font-size: var(--fs-caption);
  margin-block: 0 var(--space-2);
}

.odds__legend {
  display: inline-block;
  margin-inline-end: var(--space-2);
}

.odds__th,
.odds__td {
  border-bottom: 1px solid var(--color-border, #2a3444);
  padding: var(--space-2) var(--space-3);
  text-align: left;
  white-space: nowrap;
}

.odds__th {
  color: var(--color-text-muted, #94a0b2);
  font-size: var(--fs-caption);
  font-weight: var(--fw-semibold);
}

.odds__th--numeric,
.odds__td--numeric {
  font-family: var(--font-tabular);
  text-align: right;
}

.odds__td--clinched {
  color: var(--color-status-positive);
  font-weight: var(--fw-semibold);
}

.odds__td--out {
  color: var(--color-text-muted, #94a0b2);
}

.odds__range {
  color: var(--color-text-muted, #94a0b2);
}

/* WVIZ-625: projected rank, the move from the current place, and the finish
   sparkline. The move carries a glyph and screen-reader words, so colour only
   reinforces it; the sparkline is neutral, with the projected place at full
   text contrast (no team or brand colour on data marks). */
.odds__td--rank {
  font-weight: var(--fw-semibold);
}

.odds__td--now {
  color: var(--color-text-muted, #94a0b2);
}

.odds__move {
  font-size: var(--fs-caption);
  margin-inline-start: var(--space-1);
}

.odds__move--up {
  color: var(--color-status-positive);
}

.odds__move--down {
  color: var(--color-status-negative);
}

.odds__move--level {
  color: var(--color-text-muted, #94a0b2);
}

.odds__td--projected strong {
  color: var(--color-text, #e0e4ea);
}

.odds__td--projected {
  color: var(--color-text-muted, #94a0b2);
}

.odds__spark {
  display: block;
}

.odds__spark-bar {
  fill: var(--color-text-muted, #94a0b2);
}

.odds__spark-bar--projected {
  fill: var(--color-text, #e0e4ea);
}

.odds__team-link {
  align-items: center;
  color: var(--color-text, #e0e4ea);
  display: inline-flex;
  gap: var(--space-2);
  min-height: var(--hit-min);
  text-decoration: none;
}

.odds__team-logo {
  height: 20px;
  width: 20px;
}

.odds__team-abbr {
  display: none;
}

.odds__team-link:hover .odds__team-name,
.odds__team-link:hover .odds__team-abbr {
  text-decoration: underline;
}

.odds__note {
  color: var(--color-text-muted, #94a0b2);
  font-size: var(--fs-caption);
  margin-block: var(--space-3);
}

/* WVIZ-624: a borrowed model on too little history. Above the table, in
   body colour, so it is read before the numbers. */
.odds__caution {
  font-size: var(--fs-caption);
  margin-block: 0 var(--space-3);
}

.odds__method-link {
  display: inline-block;
  min-height: var(--hit-min);
}

@media (width <= 640px) {
  .odds__team-name {
    display: none;
  }

  .odds__th--spark,
  .odds__td--spark {
    display: none;
  }

  .odds__team-abbr {
    display: inline;
  }
}
