.stage--season {
  --accent: #fbbf24;
  color: #eef3fb;
  background:
    radial-gradient(900px 460px at 50% 112%, rgba(245, 158, 11, .24), transparent 62%),
    radial-gradient(1100px 520px at 8% -10%, rgba(67, 154, 158, .22), transparent 62%),
    radial-gradient(700px 400px at 92% 30%, rgba(147, 197, 253, .10), transparent 60%),
    linear-gradient(180deg, #0a1f38, #061428 60%, #04101f);
  border-bottom: 1px solid rgba(245, 158, 11, .18);
}
.stage--season .stage__canvas { opacity: 1; }

.stage--season .stage__scrim {
  background: linear-gradient(180deg, rgba(4, 12, 24, .5) 0%, rgba(4, 12, 24, 0) 16%, rgba(4, 12, 24, 0) 72%, rgba(4, 12, 24, .82) 100%);
}
.stage--season .stage__grain { opacity: .25; }
.stage--season::after { background: radial-gradient(closest-side at 50% 52%, rgba(245, 158, 11, .14), transparent 72%); }
.stage--season[data-style="spoken"]   { --accent: #dbe7f5; }
.stage--season[data-style="verse"]    { --accent: #fff3c7; }
.stage--season[data-style="building"] { --accent: #f59e0b; }
.stage--season[data-style="chorus"]   { --accent: #fbbf24; }
.stage--season[data-style="shouted"]  { --accent: #fb7185; }

html.nsp-media-js .stage--season .stage__lyrics {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
  margin: -1px; padding: 0; opacity: 1; pointer-events: none; white-space: nowrap;
}
html.nsp-media-js .stage--season .stage__resume { display: none; }
@media (prefers-reduced-motion: reduce) {
  html.nsp-media-js .stage--season .stage__lyrics {
    position: absolute; inset: 0; width: auto; height: auto; overflow: visible; clip: auto; clip-path: none;
    margin: 0; padding: clamp(3rem, 7vh, 5rem) 1rem calc(clamp(3rem, 7vh, 5rem) + 118px); white-space: normal;
    opacity: 0; pointer-events: none;
  }
  html.nsp-media-js .stage--season[data-started="1"] .stage__lyrics { opacity: 1; pointer-events: auto; }
  html.nsp-media-js .stage--season .stage__resume { display: block; }
}

.stage--season .stage__eyebrow { color: #fbbf24; }
.stage--season .stage__eyebrow::before { background: linear-gradient(90deg, transparent, #fbbf24); }
.stage--season .stage__eyebrow::after { background: linear-gradient(90deg, #fbbf24, transparent); }
.stage--season .stage__title { text-shadow: 0 12px 44px rgba(0, 0, 0, .7), 0 0 48px rgba(245, 158, 11, .28); }
.stage--season .stage__sub { color: #ffe9b8; }
.stage--season .stage__meta-line, .stage--season .stage__hint, .stage--season .stage__now small { color: #c3d3ea; }
.stage--season .stage__btn--hero, .stage--season .stage__btn--play {
  background: linear-gradient(180deg, #fde68a, #f59e0b 60%, #b45309); color: #2a1602;
  box-shadow: 0 18px 44px -10px rgba(245, 158, 11, .65);
}
.stage--season .stage__btn--play:hover, .stage--season .stage__btn--hero:hover { background: linear-gradient(180deg, #fef3c7, #fbbf24 60%, #d97706); }
.stage--season .stage__btn--hero::before { border-color: rgba(251, 191, 36, .6); }
.stage--season .stage__chip { background: var(--accent); color: #0a1f38; }
.stage--season .lyrics__gap.is-active { color: #fbbf24; }
.stage--season .lyrics__line.is-active .w.is-hot { filter: drop-shadow(0 0 12px rgba(251, 191, 36, .75)); }
.stage--season .stage__resume { background: #fbbf24; color: #0a1f38; }
.stage--season :focus-visible { outline-color: #fbbf24; }
.stage--season .stage__hud { background: linear-gradient(180deg, rgba(4, 12, 24, 0), rgba(4, 12, 24, .8) 42%, rgba(4, 12, 24, .95)); }

.stage--season[data-state="playing"] .stage__grain { animation: seasonGrain 9s ease-in-out infinite; }
@keyframes seasonGrain { 0%, 100% { opacity: .22; } 50% { opacity: .38; } }
@media (prefers-reduced-motion: reduce) {
  .stage--season .stage__grain { animation: none !important; }
}
