@media (prefers-reduced-motion: reduce) {
  .cursor-star { display: none !important; }
}

#cursor-layer {
  position: fixed;
  inset: 0;
  pointer-events: none; /* don’t block clicks */
  z-index: 9999;
}

.cursor-star {
  position: absolute;
  font-size: 1rem;
  will-change: transform, opacity;
  animation-duration: 1500ms;
  animation-fill-mode: forwards;
  filter: drop-shadow(0 0 1.5rem rgba(238,185,213,.25));
  user-select: none;
}

/* animations */
@keyframes fall-1 {
  0%   { transform: translate(0,0) rotateX(45deg) rotateY(30deg) rotateZ(0) scale(.25); opacity:0; }
  5%   { transform: translate(10px,-10px) rotateX(45deg) rotateY(30deg) rotateZ(0) scale(1); opacity:1; }
  100% { transform: translate(25px,200px) rotateX(180deg) rotateY(270deg) rotateZ(90deg) scale(1); opacity:0; }
}
@keyframes fall-2 {
  0%   { transform: translate(0,0) rotateX(-20deg) rotateY(10deg) scale(.25); opacity:0; }
  10%  { transform: translate(-10px,-5px) rotateX(-20deg) rotateY(10deg) scale(1); opacity:1; }
  100% { transform: translate(-10px,160px) rotateX(-90deg) rotateY(45deg) scale(.25); opacity:0; }
}
@keyframes fall-3 {
  0%   { transform: translate(0,0) rotateX(0) rotateY(45deg) scale(.5); opacity:0; }
  15%  { transform: translate(7px,5px) rotateX(0) rotateY(45deg) scale(1); opacity:1; }
  100% { transform: translate(20px,120px) rotateX(-180deg) rotateY(-90deg) scale(.5); opacity:0; }
}
