/* Mount inside a positioned, clipped container. Override the palette per cover. */
.podcast-glow {
  --color-1: #075787;
  --color-2: #7689bc;
  --color-3: #b03e80;
  --intensity: 1;
  position: absolute;
  inset: auto -6% -5% -6%;
  height: 32%;
  pointer-events: none;
  isolation: isolate;
  opacity: .88;
  transition: opacity .6s ease;
  mask-image: linear-gradient(to bottom, transparent, #000 28%);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 28%);
}
.glow-envelope { position: absolute; inset: 0; filter: blur(7px); transform-origin: 50% 100%; transform: scaleY(var(--intensity)); }
.glow-wash {
  position: absolute; inset: 25% -15% -50%;
  background: radial-gradient(ellipse at 38% 65%, var(--color-1), transparent 58%), radial-gradient(ellipse at 62% 82%, var(--color-3), transparent 60%);
  filter: blur(32px);
  opacity: .55;
  animation: glow-wash 11s ease-in-out infinite alternate;
}
.glow-lobe {
  position: absolute; left: var(--x); bottom: -20%; width: var(--w); height: var(--h);
  border-radius: 48% 52% 40% 60%; transform-origin: 50% 100%;
  background: radial-gradient(ellipse at 48% 65%, var(--c) 0%, var(--c) 12%, transparent 68%);
  filter: blur(23px);
  mix-blend-mode: screen;
  transform: translate(var(--flow-x, 0%), var(--flow-y, 0%)) scale(var(--width, 1), var(--rise, .65)) rotate(var(--tilt, 0deg));
  opacity: var(--energy, .7);
  will-change: transform;
}
.glow-lobe:nth-of-type(1) { --x: -8%; --w: 48%; --h: 80%; --c: var(--color-1); }
.glow-lobe:nth-of-type(2) { --x: 9%; --w: 44%; --h: 104%; --c: var(--color-3); }
.glow-lobe:nth-of-type(3) { --x: 23%; --w: 44%; --h: 118%; --c: var(--color-2); }
.glow-lobe:nth-of-type(4) { --x: 38%; --w: 46%; --h: 100%; --c: var(--color-1); }
.glow-lobe:nth-of-type(5) { --x: 53%; --w: 44%; --h: 92%; --c: var(--color-3); }
.glow-lobe:nth-of-type(6) { --x: 68%; --w: 44%; --h: 88%; --c: var(--color-2); }
.glow-core {
  position: absolute; inset: 64% 22% -30%;
  background: radial-gradient(ellipse at 50% 95%, color-mix(in srgb, var(--color-2) 80%, white), transparent 68%);
  filter: blur(22px); opacity: .45;
}
.podcast-glow[data-paused="true"] { opacity: 0; }
.glow-envelope { transition: transform .65s ease; }
.podcast-glow[data-paused="true"] .glow-envelope { transform: scaleY(.18); }
.podcast-glow[data-paused="true"] * { animation-play-state: paused; }
@keyframes glow-wash { to { transform: translateX(4%) scaleX(1.1); } }
@media (prefers-reduced-motion: reduce) {
  .podcast-glow *, .podcast-glow { animation: none !important; transition: none !important; }
}
