/* ==========================================================================
   COMBINE — combine-season.css
   SEASON screen: simulate-season CTA, record/results panel, playoff
   bracket, awards, game log, and past-season history. Sibling of
   css/combine-lineup.css.
   ========================================================================== */

#cb-screen-season .container {
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
  padding-top: var(--s-4);
  padding-bottom: var(--s-8);
}

.cb-season {
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
}

.cb-season__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--fs-h1);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--c-text);
}

.cb-season__empty {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--s-3);
  color: var(--c-text-2);
}

/* ------ Actions row ------ */
.cb-season__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-4);
}
.cb-season__rating {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: 0.1em;
  color: var(--c-text-2);
}

/* ------ Results panel ------ */
.cb-season__results {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}
.cb-season__record {
  display: flex;
  align-items: baseline;
  gap: var(--s-3);
}
.cb-season__record-num {
  font-family: var(--cb-font-num);
  font-weight: 700;
  font-size: 2.25rem;
  color: var(--cb-accent);
  font-variant-numeric: tabular-nums;
}
.cb-season__record-label {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: 0.1em;
  color: var(--c-text-2);
}

.cb-season__banner {
  align-self: flex-start;
  padding: var(--s-2) var(--s-4);
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-text-2);
  border: var(--bw) solid var(--c-line-strong);
  border-radius: var(--r-sm);
}
.cb-season__banner.is-champion {
  color: var(--cb-tier-98);
  border-color: var(--cb-tier-98);
  background: color-mix(in srgb, var(--cb-tier-98) 12%, transparent);
  box-shadow: var(--glow-md);
}
.cb-season__banner.is-missed {
  color: var(--c-text-3);
}

/* ------ Live regular-season reveal ------ */
.cb-season__live {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-2);
  text-align: center;
}
.cb-season__live-label {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: 0.14em;
  color: var(--c-text-2);
}
.cb-season__live-score {
  font-size: 3rem;
}
.cb-season__live-qualifier {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cb-accent);
}
.cb-season__live-playoff-info {
  font-family: var(--font-mono);
  font-size: var(--fs-small);
  letter-spacing: 0.08em;
  color: var(--c-text-3);
}
.cb-season__game.is-pending {
  background: var(--c-panel-2);
  border: 1px solid var(--c-line);
}

/* ------ Live playoff step-through ------ */
.cb-season__playoff {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-2);
  text-align: center;
}
.cb-season__playoff-header {
  display: flex;
  align-items: baseline;
  gap: var(--s-3);
  font-family: var(--font-mono);
  letter-spacing: 0.1em;
  color: var(--c-text-2);
}
.cb-season__playoff-round {
  color: var(--cb-accent);
  font-weight: 700;
}
.cb-season__playoff-score-num {
  font-family: var(--cb-font-num);
  font-weight: 700;
  font-size: 3rem;
  font-variant-numeric: tabular-nums;
  color: var(--c-text);
}
.cb-season__playoff-score-num.is-win { color: var(--c-ok); }
.cb-season__playoff-score-num.is-loss { color: var(--c-bad); }
.cb-season__playoff-result {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 0.1em;
}
.cb-season__playoff-result.is-win { color: var(--c-ok); }
.cb-season__playoff-result.is-loss { color: var(--c-bad); }
.cb-season__playoff-series {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: 0.1em;
  color: var(--c-text-2);
}
.cb-season__playoff-controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--s-3);
  margin-top: var(--s-2);
}

/* ------ Playoff bracket ------ */
.cb-season__bracket {
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
}
.cb-season__bracket-row {
  display: flex;
  justify-content: space-between;
  padding: var(--s-2) var(--s-3);
  border-left: 3px solid var(--c-line-strong);
  background: var(--c-panel-2);
  border-radius: var(--r-xs);
  font-family: var(--font-mono);
  font-size: var(--fs-small);
}
.cb-season__bracket-row.is-win {
  border-left-color: var(--c-ok);
}
.cb-season__bracket-row.is-loss {
  border-left-color: var(--c-bad);
}
.cb-season__bracket-round {
  color: var(--c-text-2);
  letter-spacing: 0.08em;
}
.cb-season__bracket-score {
  color: var(--c-text);
  font-variant-numeric: tabular-nums;
}

/* ------ Awards ------ */
.cb-season__awards {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-3);
}
.cb-season__award {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: var(--s-2) var(--s-3);
  border: var(--bw) solid var(--c-line);
  border-radius: var(--r-sm);
  background: var(--c-panel-2);
}
.cb-season__award-label {
  font-family: var(--font-display);
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  color: var(--cb-accent);
}
.cb-season__award-name {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  color: var(--c-text);
}
.cb-season__award.is-negative {
  border-color: var(--c-bad);
}
.cb-season__award.is-negative .cb-season__award-label {
  color: var(--c-bad);
}

/* ------ Box scores (per-playoff-game + season totals) ------ */
.cb-season__box {
  display: flex;
  flex-direction: column;
  gap: 2px;
  overflow-x: auto;
  margin-bottom: var(--s-3);
}
.cb-season__box-row {
  display: grid;
  grid-template-columns: minmax(96px, 1.4fr) repeat(10, minmax(38px, 0.7fr));
  gap: var(--s-2);
  padding: var(--s-1) var(--s-2);
  font-family: var(--font-mono);
  font-size: var(--fs-small);
  color: var(--c-text-2);
  border-bottom: 1px solid var(--c-line);
  font-variant-numeric: tabular-nums;
}
.cb-season__box-row--head {
  color: var(--c-text-3);
  letter-spacing: 0.08em;
  font-size: 0.625rem;
  border-bottom: 1px solid var(--c-line-strong);
}
.cb-season__box-name {
  color: var(--c-text);
  text-align: left;
}
.cb-season__box-caption {
  font-family: var(--font-mono);
  font-size: var(--fs-small);
  letter-spacing: 0.06em;
  color: var(--cb-accent);
  margin-top: var(--s-2);
}
.cb-season__box--season .cb-season__box-row {
  grid-template-columns: minmax(96px, 1.4fr) repeat(10, minmax(44px, 0.8fr));
}

/* ------ Game log ------ */
.cb-season__games {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}
.cb-season__games-label {
  font-family: var(--font-display);
  font-size: var(--fs-label);
  letter-spacing: 0.16em;
  color: var(--c-text-2);
}
.cb-season__games-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.cb-season__game {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  font-family: var(--cb-font-num);
  font-size: 0.6875rem;
  font-weight: 700;
  border-radius: var(--r-xs);
  color: var(--c-text-inv);
}
.cb-season__game.is-win {
  background: var(--c-ok);
}
.cb-season__game.is-loss {
  background: var(--c-bad);
}

/* ------ History ------ */
.cb-season__history {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}
.cb-season__history-label {
  font-family: var(--font-display);
  font-size: var(--fs-label);
  letter-spacing: 0.16em;
  color: var(--c-text-2);
}
.cb-season__history-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cb-season__history-row {
  display: flex;
  justify-content: space-between;
  gap: var(--s-3);
  padding: var(--s-1) var(--s-3);
  font-family: var(--font-mono);
  font-size: var(--fs-small);
  color: var(--c-text-2);
  border-bottom: 1px solid var(--c-line);
}
.cb-season__history-row.is-champion {
  color: var(--cb-tier-98);
}
