/* The sparkler sits above the scenery, without intercepting any controls. */
.power-surge{position:fixed;inset:0;width:100%;height:100%;z-index:90;pointer-events:none;contain:strict}
.power-surge[hidden],body:has(dialog[open])>.power-surge{display:none}
.surge-impact{position:absolute;inset:-5px;z-index:5;pointer-events:none;border:2px solid var(--surge-colour);border-radius:inherit;box-shadow:0 0 8px #fff,0 0 30px var(--surge-colour),inset 0 0 22px var(--surge-colour);opacity:0}
.studio-home .running .cable-line.energized{stroke-width:3;filter:drop-shadow(0 0 7px currentColor)}
.studio-home .running #ignite{cursor:progress}
.studio-home .station.surge-powered .switch-light{background:#fff;box-shadow:0 0 5px #fff,0 0 18px var(--surge-colour),0 0 30px var(--surge-colour)}
.studio-home .surge-powered>.energy-halo{opacity:1;animation:powered-settle 1.4s ease-out both}
.studio-home .complete .surge-powered.energy-visible>.energy-halo{animation:energy-breathe 3.8s ease-in-out infinite}
.studio-home .complete .surge-powered:not(.energy-visible)>.energy-halo{animation:none}
@keyframes powered-settle{0%{opacity:1;filter:brightness(2)}100%{opacity:.85;filter:brightness(1)}}
.less-motion .power-surge,.less-motion .surge-impact{display:none!important}
@media(prefers-reduced-motion:reduce){.power-surge,.surge-impact{display:none!important}.studio-home .surge-powered>.energy-halo{animation:none!important}}
