.stage--anomaly {
  --accent: #9fd3ff;
  color: #e6eefb;
  background:
    radial-gradient(900px 420px at 50% -12%, rgba(255, 238, 200, .14), transparent 60%),
    radial-gradient(1100px 520px at 82% 108%, rgba(29, 60, 110, .35), transparent 62%),
    linear-gradient(180deg, #070b14, #04070d 60%, #02040a);
  border-bottom: 1px solid rgba(159, 211, 255, .12);
}
.stage--anomaly .stage__scrim {
  background:
    radial-gradient(52% 42% at 50% 48%, rgba(2, 4, 10, .66), rgba(2, 4, 10, .36) 58%, rgba(2, 4, 10, 0) 80%),
    linear-gradient(180deg, rgba(2, 4, 10, .72) 0%, rgba(2, 4, 10, 0) 22%, rgba(2, 4, 10, 0) 62%, rgba(2, 4, 10, .9) 100%);
}
.stage--anomaly::after { background: radial-gradient(closest-side at 50% 52%, rgba(159, 211, 255, .16), transparent 72%); }
.stage--anomaly[data-style="shouted"]::after { background: radial-gradient(closest-side at 50% 52%, rgba(224, 82, 82, .22), transparent 72%); }
.stage--anomaly[data-style="spoken"]  { --accent: #dbe7f5; }
.stage--anomaly[data-style="chorus"]  { --accent: #eaf6ff; }
.stage--anomaly[data-style="shouted"] { --accent: #e05252; }
.stage--anomaly[data-style="fading"]  { --accent: #7f93ad; }
.stage--anomaly[data-style="building"] { --accent: #cfe6ff; }

.stage__bars { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.stage__bars::before, .stage__bars::after {
  content: ""; position: absolute; left: 0; right: 0; height: 0; background: #01030a;
  transition: height 1.4s var(--ease-out);
}
.stage__bars::before { top: 0; }
.stage__bars::after { bottom: 0; }
.stage--anomaly[data-started="1"] .stage__bars::before,
.stage--anomaly[data-started="1"] .stage__bars::after { height: clamp(14px, 4vh, 40px); }

.stage--anomaly[data-state="playing"] .stage__canvas { animation: anomalyFlicker 7s steps(1) infinite; }
@keyframes anomalyFlicker {
  0%, 93%, 100% { opacity: .95; } 94% { opacity: .8; } 95% { opacity: .95; } 97% { opacity: .87; } 98% { opacity: .95; }
}

.stage--anomaly .stage__eyebrow { color: #9fd3ff; }
.stage--anomaly .stage__eyebrow::before { background: linear-gradient(90deg, transparent, #9fd3ff); }
.stage--anomaly .stage__eyebrow::after { background: linear-gradient(90deg, #9fd3ff, transparent); }
.stage--anomaly .stage__title { text-shadow: 0 12px 44px rgba(0, 0, 0, .7), 0 0 60px rgba(159, 211, 255, .18); }
.stage--anomaly .stage__sub { color: #b9c8de; }
.stage--anomaly .stage__meta-line, .stage--anomaly .stage__hint, .stage--anomaly .stage__now small { color: #8ea3c0; }
.stage--anomaly .stage__btn--hero, .stage--anomaly .stage__btn--play {
  background: linear-gradient(180deg, #eaf4ff, #9fd3ff 60%, #5ea6dc); color: #06121f;
  box-shadow: 0 18px 44px -10px rgba(159, 211, 255, .55);
}
.stage--anomaly .stage__btn--play:hover, .stage--anomaly .stage__btn--hero:hover { background: linear-gradient(180deg, #fff, #b6dfff 60%, #6fb3e6); }
.stage--anomaly .stage__btn--hero::before { border-color: rgba(159, 211, 255, .55); }
.stage--anomaly .stage__chip { background: var(--accent); color: #06121f; }
.stage--anomaly .hud__track::before {
  background:
    linear-gradient(90deg, #9fd3ff, #5ea6dc) 0 0 / calc(var(--progress) * 100%) 100% no-repeat,
    linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, .5)) 0 0 / calc(var(--buffered) * 100%) 100% no-repeat,
    rgba(255, 255, 255, .2);
}
.stage--anomaly .hud__range::-webkit-slider-thumb { border-color: #5ea6dc; }
.stage--anomaly .hud__range::-moz-range-thumb { border-color: #5ea6dc; }
.stage--anomaly .lyrics__line.is-active .w.is-hot { filter: drop-shadow(0 0 12px rgba(159, 211, 255, .75)); }
.stage--anomaly .lyrics__line[data-style="chorus"].is-active .lyrics__btn { text-shadow: 0 0 34px rgba(159, 211, 255, .5); }
.stage--anomaly .lyrics__line[data-style="spoken"] .lyrics__btn { letter-spacing: .02em; }
.stage--anomaly .lyrics__gap.is-active { color: #9fd3ff; }
.stage--anomaly .stage__resume { background: #9fd3ff; color: #06121f; }
.stage--anomaly :focus-visible { outline-color: #9fd3ff; }
.stage--anomaly .stage__btn--play:focus-visible, .stage--anomaly .stage__btn--hero:focus-visible { box-shadow: 0 0 0 6px rgba(2, 4, 10, .8); }

@media (prefers-reduced-motion: reduce) {
  .stage--anomaly .stage__canvas { animation: none !important; }
  .stage__bars::before, .stage__bars::after { transition: none; }
}
@media print { .stage__bars { display: none !important; } }
