/* Alternative 4 keeps 3A's composition; light lives at the edges of a black room. */
[data-variant=a] .entrance{background:radial-gradient(ellipse at 50% 55%,#202024 0,#101012 38%,#030305 78%)}
[data-variant=a] .hero{background:radial-gradient(ellipse at 50% 43%,#202024 0,#101012 40%,#030305 77%);overflow:hidden}
[data-variant=a] .dance-section{background:radial-gradient(ellipse at 25% 50%,#1b1c23,#08080b 62%)}
.entrance-disco{opacity:1;filter:drop-shadow(0 0 15px #dce9ff20);z-index:1;width:340px;top:-125px;right:-70px}
.hero-ball-left,.hero-ball-right,.dance-ball{opacity:1;filter:drop-shadow(0 0 13px #dae6ff20)}
.silver-ball-canvas{overflow:visible}
.silver-reflections{opacity:.9}
.silver-reflections i{border-radius:1px;background:linear-gradient(120deg,#fff0,#f5f7ffb0 45%,#fff 50%,#dce7ff60 65%,#fff0);filter:blur(.35px);box-shadow:0 0 10px #dae6ff25}
[data-variant=a] .hero-halo{border-color:#ffffff24;box-shadow:0 0 0 20px #ffffff02,0 0 0 65px #ffffff02,inset 0 0 70px #ffffff02}
.stage-lights{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;contain:paint;user-select:none}
.stage-light{position:absolute;bottom:24px;left:calc(var(--source) - 160px);width:320px;height:110%;transform-origin:50% 100%;transform:rotate(var(--angle));clip-path:polygon(0 0,100% 0,51% 100%,49% 100%);background:linear-gradient(to top,#f6f7ffbb 0%,#e8eeff50 18%,#c7d6ff1c 60%,transparent 100%);mask-image:linear-gradient(90deg,transparent,#0009 25%,#000 50%,#0009 75%,transparent);filter:blur(3px);will-change:transform}
.stage-light::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#fff9,#eff4ff18 55%,transparent);clip-path:polygon(44% 0,56% 0,50.4% 100%,49.6% 100%)}
.stage-light-left{--source:12%;--angle:23deg;--from:9deg;--to:35deg}
.stage-light-right{--source:88%;--angle:-23deg;--from:-35deg;--to:-9deg}
[data-light-motion=moving] .stage-light{animation:stage-sweep 12s ease-in-out infinite alternate}
[data-light-motion=moving] .stage-light-right{animation-delay:-7s;animation-duration:15s}
.stage-source{position:absolute;bottom:17px;width:36px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 8px 3px #fff9,0 0 28px 13px #cfdcff40,0 -14px 48px 15px #cfdcff25;transform:translateX(-50%)}
.stage-source-left{left:12%}.stage-source-right{left:88%}
body:is(.effects-paused,.effects-idle) .stage-light,.silver-effects-offscreen .stage-light{animation-play-state:paused}
@keyframes stage-sweep{from{transform:rotate(var(--from))}to{transform:rotate(var(--to))}}
@media(max-width:760px){
  .entrance-disco{width:250px;top:-86px;right:-67px}
  .hero-ball-left{opacity:1;left:-72px}.hero-ball-right{opacity:1;right:-69px}
  .stage-light{width:170px;left:calc(var(--source) - 85px);opacity:.8}
  .stage-light-left{--source:8%;--angle:12deg;--from:2deg;--to:22deg}
  .stage-light-right{--source:92%;--angle:-12deg;--from:-22deg;--to:-2deg}
  .stage-source-left{left:8%}.stage-source-right{left:92%}
  .stage-source{width:22px;height:7px}
}
@media(prefers-reduced-motion:reduce){.stage-light{animation:none!important;will-change:auto}}
