/* Decorative, compositor-animated light: never intercept links or preview gestures. */
.stage-lighting {
  position: fixed;
  inset: 74px 0 0;
  z-index: 40;
  overflow: hidden;
  pointer-events: none;
  mix-blend-mode: screen;
  contain: strict;
}
.stage-lighting svg { display: block; width: 100%; height: 100%; }
.stage-lighting::before, .stage-lighting::after {
  content: "";
  position: absolute;
  top: -72px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(ellipse, #fff8ee 0%, #ffe9ce99 3%, #ffcca333 12%, #ffbb7710 32%, transparent 68%);
}
.stage-lighting::before { left: -75px; }
.stage-lighting::after { right: -75px; background: radial-gradient(ellipse, #fff0f4 0%, #ffc8d899 3%, #ff527733 12%, #ff224410 32%, transparent 68%); }
.stage-beam-left { transform-origin: 0 0; animation: stage-sweep-left 19s ease-in-out infinite alternate; }
.stage-beam-right { transform-origin: 1440px 0; animation: stage-sweep-right 23s ease-in-out infinite alternate; }
@keyframes stage-sweep-left { from { transform: rotate(-9deg); } to { transform: rotate(9deg); } }
@keyframes stage-sweep-right { from { transform: rotate(7deg); } to { transform: rotate(-10deg); } }
.stage-lighting[data-paused] .stage-beam { animation-play-state: paused; }
.stage-lighting[hidden], .stage-light-toggle[hidden] { display: none; }
.stage-light-toggle {
  position: fixed;
  right: 18px;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  z-index: 60;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 10px 15px;
  border: 1px solid #ffffff30;
  border-radius: 999px;
  background: #100b0ff2;
  color: #f5e8ea;
  box-shadow: 0 4px 24px #0008;
  font: 600 11px var(--display, sans-serif);
  cursor: pointer;
}
.stage-light-toggle::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #ffba9c; box-shadow: 0 0 10px #ff9864; }
.stage-light-toggle[aria-pressed="false"]::before { background: #888; box-shadow: none; }
.stage-light-toggle:hover { border-color: #ffb19988; }
@media (max-width: 760px) {
  .stage-lighting { opacity: .7; }
  .stage-light-toggle { right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
  .stage-lighting .stage-beam { animation: none !important; }
}
@media (forced-colors: active), print {
  .stage-lighting, .stage-light-toggle { display: none; }
}
