.ea-profile-spotlight {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
  display: block;
  border-radius: 50%;
  pointer-events: none;
  user-select: none;
  opacity: 0;
  background: radial-gradient(circle, var(--ea-effect-color) 0%, color-mix(in srgb, var(--ea-effect-color) 45%, transparent) 25%, transparent 70%);
  transform: translate3d(-200%, -200%, 0);
  transition: transform 160ms ease-out, opacity 240ms ease-out;
}

.ea-profile-spotlight.is-visible {
  opacity: var(--ea-spotlight-opacity, .18);
}

html[data-ea-viewer] .ea-profile-spotlight {
  display: none;
}

.ea-profile-shimmer {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: block;
  border-radius: inherit;
  pointer-events: none;
  user-select: none;
  opacity: 0;
  background-image: linear-gradient(110deg, transparent 36%, color-mix(in srgb, var(--ea-effect-color) 24%, transparent) 44%, var(--ea-effect-color) 50%, color-mix(in srgb, var(--ea-effect-color) 24%, transparent) 56%, transparent 64%);
  background-size: 300% 100%;
  background-repeat: no-repeat;
  animation: ea-profile-shimmer-sweep 780ms ease-in-out both;
}

@keyframes ea-profile-shimmer-sweep {
  0% { background-position: 100% 0; opacity: 0; }
  18% { opacity: var(--ea-shimmer-opacity, .22); }
  78% { opacity: var(--ea-shimmer-opacity, .22); }
  100% { background-position: 0% 0; opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .ea-profile-spotlight,
  .ea-profile-shimmer {
    display: none !important;
    animation: none !important;
    transition: none !important;
  }
}
