body.custom-cursor-active,
body.custom-cursor-active a,
body.custom-cursor-active button,
body.custom-cursor-active input,
body.custom-cursor-active textarea,
body.custom-cursor-active select {
  cursor: none;
}

.cursor-sparkle {
  position: fixed;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  pointer-events: none;
  z-index: 999999;
  background-size: contain;
  background-repeat: no-repeat;
}

.cursor-trail-star {
  position: fixed;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 999998;
  background: radial-gradient(circle, #ffc0cb, transparent);
  animation: cursorSparkleFade 0.6s ease-out forwards;
}

@keyframes cursorSparkleFade {
  0% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(2); }
}
