/* ============================================================================
   Auralex · Scroll-following Glow Orb
   ----------------------------------------------------------------------------
   Markup pro Page (direkt nach <body>):
     <div id="scroll-glow" aria-hidden="true"><div class="sg-core"></div></div>

   Der JS-Controller bleibt seitenspezifisch inline, weil jede Page eine
   eigene TARGETS-Liste hat (welche Sections + welche Fokus-Selektoren).
   Hier lebt nur die geteilte CSS-Schicht — Größe, Position, Gradient, Blur.

   Gradient nutzt --accent-rgb aus tokens.css → färbt sich automatisch in
   der Service-Farbe, wenn <body data-service="..."> gesetzt ist.
   ============================================================================ */

#scroll-glow {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
  contain: layout paint style;
}

#scroll-glow .sg-core {
  position: absolute;
  left: 0;
  top: 0;
  width: 60vw;
  height: 60vw;
  border-radius: 50%;
  background: radial-gradient(circle,
    rgba(var(--accent-rgb), 0.45) 0%,
    rgba(var(--accent-rgb), 0.18) 35%,
    rgba(var(--accent-rgb), 0.04) 65%,
    transparent 80%);
  filter: blur(90px);
  will-change: transform, opacity;
  transform: translate3d(-50%, -50%, 0);
}

@media (max-width: 768px) {
  /* Performance · 2026-05-17: scroll-glow auf Mobile komplett aus. Mit
     killed filter:blur (Mobile-Killer) waere der Orb eh nur ein flacher
     bunter Fleck — kein Mehrwert, aber konstanter 60fps rAF-Tick (getBCR
     + Transform-Write pro Frame). Wir bleiben hidden. */
  #scroll-glow { display: none !important; }
}
