
.sparkle, .star {
  position: absolute;
  pointer-events: none;
  z-index: 9999;
  animation: fadeOut 0.8s ease-out forwards;
}

.sparkle {
  width: 10px;
  height: 10px;
  background: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,0.3) 60%, rgba(255,255,255,0) 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(255,255,255,0.6);
}

.star {
  width: 12px;
  height: 12px;
  background: white;
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  box-shadow: 0 0 10px 4px rgba(255,255,255,0.8);
  transform: scale(1) rotate(0deg);
  animation: sparkleStar 0.8s ease-out forwards;
}

@keyframes fadeOut {
  from { opacity: 1; transform: scale(1); }
  to { opacity: 0; transform: scale(0.5); }
}

@keyframes sparkleStar {
  0%   { opacity: 1; transform: scale(1.2) rotate(0deg); }
  50%  { opacity: 0.8; transform: scale(0.8) rotate(45deg); }
  100% { opacity: 0; transform: scale(0.5) rotate(90deg); }
}

.click-star {
  position: absolute;
  width: 6px;
  height: 6px;
  background: white;
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  pointer-events: none;
  z-index: 9999;
  animation: explode 0.8s ease-out forwards;
}

@keyframes explode {
  from {
    transform: translate(0, 0) scale(1);
    opacity: 1;
  }
  to {
    transform: translate(var(--dx), var(--dy)) scale(0.5);
    opacity: 0;
  }
}
