.cursor-light {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 80;
  width: clamp(250px, 25vw, 400px);
  height: clamp(250px, 25vw, 400px);
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  background:
    radial-gradient(circle, rgba(0, 255, 0, 0.34) 0%, rgba(0, 255, 0, 0.18) 24%, rgba(0, 255, 0, 0.075) 46%, rgba(0, 255, 0, 0.026) 62%, transparent 78%);
  filter: blur(48px);
  mix-blend-mode: screen;
  transform: translate3d(-50vw, -50vh, 0) scale(1);
  transition: opacity 0.4s ease, filter 0.4s ease;
  will-change: transform, opacity;
  contain: layout style paint;
  backface-visibility: hidden;
}

body.has-pointer .cursor-light {
  opacity: 0.82;
}

body.cursor-light-strong .cursor-light {
  opacity: 1;
  filter: blur(38px);
}

@media (max-width: 760px), (pointer: coarse) {
  .cursor-light {
    display: none;
  }
}
