/* ===========================================
   CURSOR & SPARKLES
   =========================================== */

.cursor-light {
  position: fixed;
  width: 6px;
  height: 6px;
  background: var(--accent-warm);
  border-radius: 50%;
  pointer-events: none;
  z-index: 3000;
  opacity: 0;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 15px var(--accent-warm), 0 0 30px var(--accent-warm);
  transition: opacity 0.8s;
}
.cursor-light.visible { opacity: 1; }

.cursor-glow {
  position: fixed;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 2999;
  opacity: 0;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(var(--accent-warm-rgb), 0.04) 0%, transparent 70%);
  transition: opacity 1.5s;
}
.cursor-glow.visible { opacity: 1; }

#sparkles {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 2998;
}

.sparkle {
  position: fixed;
  width: 4px;
  height: 4px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  pointer-events: none;
  z-index: 2998;
  box-shadow: 0 0 6px rgba(255, 255, 255, 0.6);
  transform: translate(-50%, -50%);
  animation: sparkle-fade 1.2s ease-out forwards;
}

@keyframes sparkle-fade {
  0% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  60% { opacity: 0.7; }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(0.3); }
}
