:root {
  --sigma-pulse-duration: 1000ms;
  --sigma-pulse-scale-peak: 1.12;
  --sigma-pulse-brightness-peak: 2.10;
  --sigma-pulse-saturation-peak: 1.90;
}

[data-sigma-pulse-target] {
  transform-origin: center center;
  will-change: transform, filter;
}

[data-sigma-pulse-target].is-sigma-pulsing {
  animation: sigma-emerald-pulse var(--sigma-pulse-duration) ease-in-out both;
  animation-delay: var(--sigma-pulse-delay, 0ms);
}

@keyframes sigma-emerald-pulse {
  0%, 100% {
    transform: scale(1);
    filter: brightness(1) saturate(1) drop-shadow(0 0 7px rgba(20, 206, 157, 0.10));
  }

  25%, 75% {
    transform: scale(1.06);
    filter: brightness(1.55) saturate(1.48) drop-shadow(0 0 9px rgba(0, 244, 154, 0.68)) drop-shadow(0 0 22px rgba(0, 205, 125, 0.38));
  }

  50% {
    transform: scale(var(--sigma-pulse-scale-peak));
    filter: brightness(var(--sigma-pulse-brightness-peak)) saturate(var(--sigma-pulse-saturation-peak)) drop-shadow(0 0 12px rgba(0, 255, 157, 0.92)) drop-shadow(0 0 28px rgba(0, 222, 133, 0.58)) drop-shadow(0 0 48px rgba(0, 154, 92, 0.30));
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-sigma-pulse-target].is-sigma-pulsing {
    animation-name: sigma-emerald-pulse-reduced;
    animation-duration: 180ms;
  }

  @keyframes sigma-emerald-pulse-reduced {
    0%, 100% {
      transform: none;
      filter: brightness(1) saturate(1) drop-shadow(0 0 7px rgba(20, 206, 157, 0.10));
    }
    50% {
      transform: none;
      filter: brightness(1.50) saturate(1.55) drop-shadow(0 0 10px rgba(0, 240, 150, 0.62));
    }
  }
}
