.live-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 22px 16px;
  border-bottom: 1px solid rgba(79, 214, 255, 0.28);
  background: linear-gradient(90deg, rgba(79, 214, 255, 0.08), transparent 58%, rgba(216, 162, 41, 0.08));
}

.live-section-head span,
.live-intel-card header span,
.live-outlook-card > header span {
  color: var(--gold-bright, #fff1a6);
  text-transform: uppercase;
  font: 900 0.68rem/1 var(--display-font);
}

.live-section-head h2 {
  margin: 5px 0 0;
  color: #f7fbff;
  text-transform: uppercase;
  font: 900 clamp(1.55rem, 2.8vw, 2.8rem)/0.92 var(--display-font);
}

.live-section-head > strong {
  color: #9bb4c4;
  text-align: right;
  text-transform: uppercase;
  font-size: 0.72rem;
}

.live-intelligence,
.live-bonus-center,
.live-playoff-outlook {
  overflow: hidden;
  border: 1px solid rgba(79, 214, 255, 0.3);
  background: linear-gradient(145deg, rgba(7, 23, 39, 0.98), rgba(2, 7, 18, 0.99));
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.36), inset 0 1px rgba(255, 255, 255, 0.05);
}

.live-intelligence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
}

.live-intel-card {
  min-width: 0;
  border: 1px solid rgba(79, 214, 255, 0.22);
  border-top: 3px solid var(--cyan);
  background: linear-gradient(145deg, rgba(8, 28, 46, 0.88), rgba(3, 10, 21, 0.94));
}

.live-intel-card:nth-child(3) {
  border-top-color: var(--gold-hot, #f6c24a);
}

.live-intel-card header {
  min-height: 72px;
  padding: 14px 15px 11px;
  border-bottom: 1px solid rgba(79, 214, 255, 0.18);
}

.live-intel-card h3 {
  margin: 5px 0 0;
  color: #fff;
  text-transform: uppercase;
  font: 900 1.25rem/1 var(--display-font);
}

.live-intel-card p {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-height: 45px;
  margin: 0;
  padding: 7px 12px;
  border-bottom: 1px solid rgba(79, 214, 255, 0.13);
}

.live-intel-card p:last-child {
  border-bottom: 0;
}

.live-intel-card p b {
  color: var(--cyan);
  font: 900 1rem/1 var(--display-font);
}

.live-intel-card p strong {
  overflow: hidden;
  color: #eef8fc;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-intel-card p em {
  color: var(--gold-bright, #fff1a6);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 900;
}

.live-bonus-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  padding: 14px;
}

.live-bonus-driver {
  min-width: 0;
  padding: 11px 12px;
  border-left: 4px solid var(--cyan);
  background: rgba(79, 214, 255, 0.055);
  content-visibility: auto;
  contain-intrinsic-size: auto 92px;
}

.live-bonus-driver > div {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
}

.live-bonus-driver > div > b {
  color: #06111e;
  background: var(--cyan);
  padding: 7px 4px;
  text-align: center;
  font: 900 0.78rem/1 var(--display-font);
}

.live-bonus-driver > div > span {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.live-bonus-driver > div strong {
  overflow: hidden;
  color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-bonus-driver > div small {
  color: #89a3b3;
}

.live-bonus-driver > div em {
  color: var(--gold-bright, #fff1a6);
  font: 900 1.25rem/1 var(--display-font);
  font-style: normal;
}

.live-bonus-driver > p {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 9px 0 0 47px;
}

.live-bonus-driver > p span {
  padding: 4px 6px;
  border: 1px solid rgba(79, 214, 255, 0.24);
  color: #ccecf5;
  background: rgba(79, 214, 255, 0.07);
  text-transform: uppercase;
  font-size: 0.58rem;
  font-weight: 900;
}

.live-bonus-driver > p .is-penalty {
  border-color: rgba(216, 162, 41, 0.46);
  color: var(--gold-bright, #fff1a6);
  background: rgba(216, 162, 41, 0.1);
}

.live-outlook-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
}

.live-outlook-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(79, 214, 255, 0.24);
  border-top: 4px solid var(--cyan);
  background: rgba(2, 9, 19, 0.82);
}

.live-outlook-card.division-2 {
  border-top-color: #438cff;
}

.live-outlook-card.division-3 {
  border-top-color: var(--gold-hot, #f6c24a);
}

.live-outlook-card > header {
  display: grid;
  gap: 4px;
  min-height: 91px;
  padding: 14px 15px;
  border-bottom: 1px solid rgba(79, 214, 255, 0.2);
  background: linear-gradient(110deg, rgba(79, 214, 255, 0.11), transparent 64%);
}

.live-outlook-card > header strong {
  color: #fff;
  text-transform: uppercase;
  font: 900 1.1rem/1 var(--display-font);
}

.live-outlook-card > header em {
  color: #8da7b7;
  text-transform: uppercase;
  font-size: 0.65rem;
  font-style: normal;
  font-weight: 900;
}

.live-outlook-row {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 48px 72px 58px;
  align-items: center;
  gap: 7px;
  min-height: 53px;
  padding: 6px 9px;
  border-bottom: 1px solid rgba(79, 214, 255, 0.12);
  box-shadow: inset 3px 0 rgba(79, 214, 255, 0.46);
}

.live-outlook-row.is-out {
  color: #91a2ae;
  background: rgba(255, 255, 255, 0.018);
  box-shadow: inset 3px 0 rgba(116, 136, 152, 0.45);
}

.live-outlook-row > b {
  color: var(--cyan);
  text-align: center;
  font: 900 1rem/1 var(--display-font);
}

.live-outlook-row > span {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.live-outlook-row > span strong {
  overflow: hidden;
  color: #eef8fc;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.8rem;
}

.live-outlook-row > span small {
  color: #76909f;
  font-size: 0.62rem;
}

.live-outlook-row > i {
  min-height: 20px;
  padding: 5px 3px;
  color: #07111e;
  background: var(--gold-hot, #f6c24a);
  text-align: center;
  font: 900 0.56rem/1 var(--display-font);
  font-style: normal;
}

.live-outlook-row > i:empty {
  visibility: hidden;
}

.live-outlook-row > em {
  color: #dcebf1;
  text-align: right;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 900;
}

.live-outlook-row .live-gap {
  color: var(--gold-bright, #fff1a6);
  text-align: right;
  font-size: 0.67rem;
}

.live-cut-line {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 8px;
  height: 25px;
  color: #06111e;
  background: linear-gradient(90deg, #6f4505, #fff1a6 48%, #9a670d);
}

.live-cut-line span {
  height: 2px;
  background: #06111e;
}

.live-cut-line strong {
  text-transform: uppercase;
  font: 900 0.61rem/1 var(--display-font);
}

.live-race-standby {
  display: grid;
  gap: 5px;
  padding: 22px;
  border-left: 4px solid var(--gold-hot, #f6c24a);
  background: linear-gradient(90deg, rgba(216, 162, 41, 0.11), rgba(3, 8, 20, 0.9));
}

.live-race-standby strong {
  color: var(--gold-bright, #fff1a6);
  text-transform: uppercase;
  font: 900 1.1rem/1 var(--display-font);
}

.live-race-standby span {
  color: #9db3c0;
}

@media (max-width: 1180px) {
  .live-outlook-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .live-intelligence-grid,
  .live-bonus-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .live-test-banner,
  .live-admin-test-lock {
    align-items: flex-start;
    flex-direction: column;
  }

  .live-section-head {
    align-items: start;
    padding: 17px 13px 13px;
  }

  .live-section-head > strong {
    max-width: 118px;
    font-size: 0.6rem;
  }

  .live-intelligence-grid,
  .live-bonus-grid,
  .live-outlook-grid {
    gap: 8px;
    padding: 9px;
  }

  .live-bonus-driver > p {
    margin-left: 0;
  }

  .live-outlook-row {
    grid-template-columns: 24px minmax(0, 1fr) 38px 59px 50px;
    gap: 5px;
    padding-inline: 6px;
  }

  .live-outlook-row > span strong {
    font-size: 0.72rem;
  }

  .live-outlook-row > em,
  .live-outlook-row .live-gap {
    font-size: 0.61rem;
  }
}
.live-test-banner,
.live-admin-test-lock {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 17px;
  border: 1px solid rgba(79, 214, 255, 0.58);
  border-left: 6px solid var(--cyan);
  color: #dff8ff;
  background: linear-gradient(90deg, rgba(6, 56, 71, 0.96), rgba(3, 15, 29, 0.98));
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.08), 0 14px 34px rgba(0, 0, 0, 0.3);
}

.live-test-banner strong,
.live-admin-test-lock strong {
  flex: 0 0 auto;
  padding: 7px 10px;
  color: #06111e;
  background: var(--cyan);
  text-transform: uppercase;
  font: 900 0.74rem/1 var(--display-font);
}

.live-test-banner span,
.live-admin-test-lock span {
  font-size: 0.84rem;
  font-weight: 800;
}

.live-hero.is-test {
  border-top-color: var(--cyan);
  background: radial-gradient(circle at 82% 14%, rgba(79, 214, 255, 0.34), transparent 25rem), linear-gradient(125deg, #063847, #020712 72%);
}

.live-command-signal.is-test strong {
  color: var(--cyan);
}

.live-admin-test-lock {
  margin: 14px 18px 0;
}

.live-timing-gap {
  color: var(--cyan);
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}

.live-timing-panel > header strong {
  color: var(--gold-bright, #fff1a6);
  font-variant-numeric: tabular-nums;
}

.live-tower-head,
.live-tower-row {
  grid-template-columns: 42px minmax(180px, 1.5fr) minmax(92px, 0.65fr) minmax(72px, 0.55fr) minmax(78px, 0.6fr) 50px;
}

.live-pit-time {
  display: grid;
  justify-items: end;
  gap: 2px;
  min-width: 0;
  color: #7f99a8;
  font-variant-numeric: tabular-nums;
}

.live-pit-time strong {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 4px;
  white-space: nowrap;
  color: #b7cad4;
  font: 900 0.88rem/1 var(--display-font);
}

.live-pit-time strong b,
.live-pit-time strong i {
  color: inherit;
  font: inherit;
  font-style: normal;
}

.live-pit-time small {
  color: #688391;
  text-transform: uppercase;
  white-space: nowrap;
  font: 900 0.58rem/1 var(--display-font);
}

.live-pit-time.has-stop strong { color: var(--gold-bright, #fff1a6); }
.live-pit-time.is-live strong { color: var(--cyan); }
.live-pit-time.is-live small { color: var(--gold-bright, #fff1a6); }

.live-tower-row.is-session-timing.is-garage {
  opacity: 0.82;
}

.live-video-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.live-video-actions a {
  margin-left: 0;
}

.live-video-actions button {
  min-height: 34px;
  padding: 7px 11px;
  font-size: 0.68rem;
}

.live-video-frame[hidden] {
  display: none;
}

.live-broadcast-grid.is-video-hidden {
  grid-template-columns: 1fr;
}

.live-broadcast-grid.is-video-hidden .live-session-rail {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.live-session-rail article.is-caution,
.live-timing-panel.is-caution > header {
  background: linear-gradient(90deg, rgba(216, 162, 41, 0.28), rgba(3, 8, 20, 0.94));
  border-color: var(--gold-hot, #f6c24a);
  box-shadow: inset 5px 0 var(--gold-hot, #f6c24a);
}

[data-live-key].is-live-moving {
  position: relative;
  z-index: 4;
}

/* LIVE dashboard layout */
#liveRaceCenter [hidden] {
  display: none !important;
}

.live-widget-manager {
  overflow: hidden;
  border: 1px solid rgba(79, 214, 255, 0.3);
  background: linear-gradient(145deg, rgba(7, 24, 40, 0.98), rgba(2, 7, 17, 0.99));
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.05);
}

.live-widget-manager > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 54px;
  padding: 9px 12px 9px 16px;
  border-bottom: 1px solid rgba(79, 214, 255, 0.18);
  background: linear-gradient(90deg, rgba(79, 214, 255, 0.09), transparent 68%);
}

.live-widget-manager > header > div {
  display: grid;
  gap: 3px;
}

.live-widget-manager > header span,
.live-track-ribbon header span,
.live-driver-focus header span,
.live-restart-mode header span,
.live-post-race > span {
  color: var(--gold-bright, #fff1a6);
  text-transform: uppercase;
  font: 900 0.65rem/1 var(--display-font);
}

.live-widget-manager > header strong {
  color: #f5fbff;
  text-transform: uppercase;
  font: 900 1rem/1 var(--display-font);
}

.live-widget-manager > header button {
  min-height: 34px;
  padding: 7px 12px;
  font-size: 0.65rem;
}

.live-widget-toggles {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  background: rgba(79, 214, 255, 0.16);
}

.live-widget-toggles label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 42px;
  margin: 0;
  padding: 7px 9px;
  color: #819cab;
  background: #04101d;
  cursor: pointer;
  text-transform: uppercase;
  font: 900 0.61rem/1.05 var(--display-font);
}

.live-widget-toggles input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.live-widget-toggles i {
  position: relative;
  flex: 0 0 28px;
  width: 28px;
  height: 16px;
  border: 1px solid rgba(120, 151, 169, 0.5);
  border-radius: 9px;
  background: #020914;
}

.live-widget-toggles i::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #708693;
  transition: transform 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.live-widget-toggles input:checked + i {
  border-color: rgba(79, 214, 255, 0.72);
  background: rgba(79, 214, 255, 0.13);
}

.live-widget-toggles input:checked + i::after {
  transform: translateX(12px);
  background: var(--cyan);
  box-shadow: 0 0 10px rgba(79, 214, 255, 0.7);
}

.live-widget-toggles input:checked ~ span {
  color: #eefaff;
}

.live-widget-toggles input:focus-visible + i {
  outline: 2px solid var(--gold-bright, #fff1a6);
  outline-offset: 2px;
}

.live-track-ribbon,
.live-driver-focus,
.live-restart-mode,
.live-post-race {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(79, 214, 255, 0.3);
  background: linear-gradient(145deg, rgba(7, 24, 40, 0.98), rgba(2, 7, 17, 0.99));
  box-shadow: 0 20px 55px rgba(0, 0, 0, 0.34), inset 0 1px rgba(255, 255, 255, 0.05);
}

.live-track-ribbon header,
.live-driver-focus header,
.live-restart-mode header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 58px;
  padding: 11px 16px;
  border-bottom: 1px solid rgba(79, 214, 255, 0.18);
  background: linear-gradient(90deg, rgba(79, 214, 255, 0.09), transparent 68%);
}

.live-track-ribbon header div,
.live-driver-focus header > div {
  display: grid;
  gap: 4px;
}

.live-track-ribbon header strong,
.live-driver-focus header strong,
.live-restart-mode header strong {
  color: #f5fbff;
  text-transform: uppercase;
  font: 900 1.08rem/1 var(--display-font);
}

.live-track-ribbon header small,
.live-restart-mode header small {
  color: #7793a3;
  text-align: right;
  text-transform: uppercase;
  font-size: 0.62rem;
  font-weight: 900;
}

.live-track-canvas-wrap {
  position: relative;
  aspect-ratio: 16 / 7;
  margin: 10px 14px 8px;
  overflow: hidden;
  border: 1px solid rgba(79, 214, 255, 0.16);
  background:
    linear-gradient(90deg, transparent 49.8%, rgba(79, 214, 255, 0.045) 50%, transparent 50.2%),
    linear-gradient(0deg, transparent 49.8%, rgba(79, 214, 255, 0.045) 50%, transparent 50.2%),
    radial-gradient(circle at center, rgba(15, 80, 103, 0.12), transparent 64%),
    #020914;
}

.live-track-canvas-wrap canvas {
  display: block;
  width: 100%;
  height: 100%;
}

.live-track-ribbon.is-loading,
.live-track-ribbon.is-unavailable {
  min-height: 86px;
  border-style: dashed;
  opacity: 0.82;
}

.live-track-legend {
  display: flex;
  justify-content: center;
  gap: 18px;
  padding: 0 14px 13px;
  color: #7793a3;
  text-transform: uppercase;
  font-size: 0.58rem;
  font-weight: 900;
}

.live-track-legend span { display: flex; align-items: center; gap: 5px; }
.live-track-legend i { width: 10px; height: 6px; background: var(--gold-bright, #fff1a6); }
.live-track-legend span:nth-child(2) i { background: var(--cyan); }
.live-track-legend span:nth-child(3) i { background: #9a720e; }

.live-driver-focus header label {
  display: grid;
  gap: 4px;
  color: #7793a3;
  text-transform: uppercase;
  font-size: 0.58rem;
  font-weight: 900;
}

.live-driver-focus select {
  min-width: 210px;
  margin: 0;
  color: #eaf8ff;
  background: #061724;
  border-color: rgba(79, 214, 255, 0.38);
}

.live-focus-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.live-focus-grid article {
  display: grid;
  align-content: center;
  gap: 4px;
  min-height: 96px;
  padding: 13px;
  border-right: 1px solid rgba(79, 214, 255, 0.14);
  background: rgba(79, 214, 255, 0.025);
}

.live-focus-grid article:last-child { border-right: 0; }
.live-focus-grid span { color: #7894a4; text-transform: uppercase; font-size: 0.57rem; font-weight: 900; }
.live-focus-grid strong { color: #f4fbff; font: 900 1.35rem/1 var(--display-font); font-variant-numeric: tabular-nums; }
.live-focus-grid small { overflow: hidden; color: var(--cyan); text-overflow: ellipsis; white-space: nowrap; font-size: 0.65rem; }

.live-restart-mode { border-color: rgba(216, 162, 41, 0.62); box-shadow: 0 0 34px rgba(216, 162, 41, 0.13); }
.live-restart-mode header { border-color: rgba(216, 162, 41, 0.34); background: linear-gradient(90deg, rgba(216, 162, 41, 0.22), transparent 76%); }
.live-restart-mode header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; }
.live-restart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; padding: 1px; background: rgba(216, 162, 41, 0.16); }
.live-restart-grid article { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 8px; min-height: 54px; padding: 8px 11px; background: #071522; }
.live-restart-grid article b { color: #06111e; background: var(--gold-bright, #fff1a6); padding: 7px 3px; text-align: center; font: 900 0.8rem/1 var(--display-font); }
.live-restart-grid article span { display: grid; gap: 3px; }
.live-restart-grid article strong { overflow: hidden; color: #f5fbff; text-overflow: ellipsis; white-space: nowrap; }
.live-restart-grid article small { color: #8da4b1; }
.live-restart-mode footer { display: flex; align-items: center; justify-content: center; gap: 8px 12px; padding: 11px; color: #8299a7; text-transform: uppercase; font-size: 0.6rem; font-weight: 900; }
.live-restart-mode footer b { color: var(--gold-bright, #fff1a6); font: 900 1.05rem/1 var(--display-font); }

.live-event-takeover {
  position: fixed;
  z-index: 10000;
  left: 50%;
  top: 17%;
  width: min(680px, calc(100vw - 28px));
  transform: translateX(-50%);
  pointer-events: none;
  animation: live-takeover 3.3s cubic-bezier(0.16, 0.76, 0.18, 1) both;
}

.live-event-takeover > div {
  display: grid;
  justify-items: center;
  gap: 7px;
  padding: 22px 32px 20px;
  border: 1px solid rgba(79, 214, 255, 0.68);
  border-top: 5px solid var(--cyan);
  color: #fff;
  background: rgba(2, 9, 18, 0.96);
  box-shadow: 0 28px 75px rgba(0, 0, 0, 0.72), 0 0 50px rgba(79, 214, 255, 0.16);
}

.live-event-takeover span { color: var(--gold-bright, #fff1a6); text-transform: uppercase; font: 900 0.68rem/1 var(--display-font); }
.live-event-takeover strong { text-align: center; text-transform: uppercase; font: 900 clamp(2.4rem, 7vw, 5.8rem)/0.82 var(--display-font); }
.live-event-takeover small { color: #9bb5c3; text-transform: uppercase; font-weight: 900; }
.live-event-takeover.is-caution > div { border-color: rgba(216, 162, 41, 0.75); border-top-color: var(--gold-hot, #f6c24a); box-shadow: 0 28px 75px rgba(0, 0, 0, 0.72), 0 0 55px rgba(216, 162, 41, 0.24); }
.live-event-takeover.is-white > div { color: #06111e; background: rgba(245, 250, 252, 0.97); border-color: #fff; }
.live-event-takeover.is-white small { color: #455966; }
.live-event-takeover.is-checkered { animation-duration: 6.5s; }
.live-event-takeover.is-checkered > div { border-color: var(--gold-bright, #fff1a6); border-top-color: var(--gold-hot, #f6c24a); background: linear-gradient(120deg, rgba(7, 21, 35, 0.98), rgba(48, 34, 4, 0.98), rgba(4, 12, 23, 0.98)); }

@keyframes live-takeover {
  0% { opacity: 0; transform: translate(-50%, -35px) scale(0.96); }
  10%, 78% { opacity: 1; transform: translate(-50%, 0) scale(1); }
  100% { opacity: 0; transform: translate(-50%, 20px) scale(0.98); }
}

.live-post-race {
  min-height: 410px;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 7px;
  padding: 38px 22px 28px;
  border-color: rgba(216, 162, 41, 0.62);
  text-align: center;
  background: radial-gradient(circle at 50% 32%, rgba(216, 162, 41, 0.24), transparent 28rem), linear-gradient(135deg, #071828, #020711 68%);
}

.live-post-race h2 { z-index: 1; margin: 2px 0 0; color: #fff; text-transform: uppercase; font: 900 clamp(3rem, 8vw, 7rem)/0.8 var(--display-font); }
.live-post-race > p { z-index: 1; margin: 4px 0 15px; color: var(--gold-bright, #fff1a6); text-transform: uppercase; font-weight: 900; }
.live-winner-number { position: absolute; right: 5%; top: 8%; color: rgba(79, 214, 255, 0.07); font: 900 clamp(7rem, 20vw, 18rem)/1 var(--display-font); }
.live-podium { z-index: 1; width: min(920px, 100%); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.live-podium article { display: grid; gap: 4px; padding: 13px; border-top: 3px solid var(--cyan); background: rgba(2, 9, 18, 0.76); }
.live-podium article:first-child { border-top-color: var(--gold-hot, #f6c24a); }
.live-podium b { color: var(--gold-bright, #fff1a6); font: 900 0.72rem/1 var(--display-font); }
.live-podium strong { overflow: hidden; color: #fff; text-overflow: ellipsis; white-space: nowrap; }
.live-podium small { color: #83a0af; }
.live-post-race footer { z-index: 1; display: grid; grid-template-columns: repeat(6, auto); align-items: center; gap: 8px 12px; margin-top: 13px; padding: 11px 15px; color: #7894a4; background: rgba(2, 9, 18, 0.7); text-transform: uppercase; font-size: 0.6rem; font-weight: 900; }
.live-post-race footer strong { color: var(--gold-bright, #fff1a6); font: 900 1rem/1 var(--display-font); }

.live-broadcast-grid.is-broadcast-widget-hidden,
.live-broadcast-grid.is-session-widget-hidden,
.live-data-grid.is-timing-widget-hidden,
.live-data-grid.is-projection-widget-hidden {
  grid-template-columns: 1fr;
}

.live-broadcast-grid.is-broadcast-widget-hidden .live-session-rail {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 960px) {
  .live-widget-toggles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .live-focus-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .live-focus-grid article:nth-child(3) { border-right: 0; }
}

@media (max-width: 620px) {
  .live-widget-manager > header { align-items: flex-start; }
  .live-widget-toggles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .live-widget-toggles label { min-height: 44px; padding-inline: 8px; }
  .live-track-ribbon header,
  .live-driver-focus header { align-items: flex-start; flex-direction: column; }
  .live-track-ribbon header small { text-align: left; }
  .live-track-canvas-wrap { margin: 7px; }
  .live-track-legend { gap: 10px; }
  .live-driver-focus header label,
  .live-driver-focus select { width: 100%; min-width: 0; }
  .live-focus-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .live-focus-grid article:nth-child(3) { border-right: 1px solid rgba(79, 214, 255, 0.14); }
  .live-focus-grid article:nth-child(even) { border-right: 0; }
  .live-restart-mode header { grid-template-columns: 1fr; gap: 5px; }
  .live-restart-mode header small { text-align: left; }
  .live-restart-grid { grid-template-columns: 1fr; }
  .live-restart-mode footer { flex-wrap: wrap; }
  .live-event-takeover { top: 20%; }
  .live-event-takeover > div { padding-inline: 15px; }
  .live-post-race { min-height: 470px; padding-inline: 11px; }
  .live-podium { grid-template-columns: 1fr; }
  .live-post-race footer { grid-template-columns: repeat(2, auto); }
  .live-video-brand,
  .live-video-actions {
    align-items: stretch;
  }

  .live-video-actions {
    width: 100%;
    margin-left: 0;
  }

  .live-video-actions > * {
    flex: 1;
    text-align: center;
  }

  .live-broadcast-grid.is-video-hidden .live-session-rail {
    grid-template-columns: 1fr 1fr;
  }

  .live-tower-row {
    grid-template-columns: 30px minmax(0, 1fr) 84px 58px;
  }

  .live-tower-row > span:nth-of-type(2),
  .live-tower-row > span:nth-of-type(3) {
    display: block;
    text-align: right;
  }

  .live-tower-row > span:nth-of-type(4),
  .live-tower-row > em {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .live-event-takeover { animation: none; }
}
