.card-spotlight {
  position: relative;
  overflow: hidden;
  --mouse-x: 50%;
  --mouse-y: 50%;
  --spotlight-color: rgba(34, 197, 94, 0.2);
  transition: border-color 0.3s ease;
}

.card-spotlight::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(
    circle 400px at var(--mouse-x) var(--mouse-y),
    var(--spotlight-color),
    transparent 80%
  );
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
  z-index: 0;
}

.card-spotlight:hover::before,
.card-spotlight:focus-within::before {
  opacity: 0.6;
}

.card-spotlight:hover {
  border-color: rgba(34, 197, 94, 0.4);
}

.dark .card-spotlight:hover {
  border-color: rgba(34, 197, 94, 0.3);
}

.card-spotlight > * {
  position: relative;
  z-index: 1;
}
