/* ── CONFETTI FALL ── */ 
@keyframes wc-fall { 
  0%   { transform: translateY(0) translateX(0) rotate(0deg); opacity:1; } 
  80%  { opacity: 1; } 
  100% { transform: translateY(110vh) translateX(var(--drift)) rotate(var(--spin)); opacity:0; } 
} 
 
 
/* ── SPARKLES ── */ 
.wc-sparkle { 
  position: fixed; 
  pointer-events: none; 
  z-index: 9998; 
  color: #FFD700; 
  text-shadow: 0 0 8px #FFD700, 0 0 16px #FF8C00; 
  animation: 
    wc-twinkle var(--wc-dur, 1s) ease-in-out 
    var(--wc-delay, 0s) infinite; 
  will-change: transform, opacity; 
} 
@keyframes wc-twinkle { 
  0%,100% { transform: scale(0) rotate(0deg);    opacity: 0; } 
  50%     { transform: scale(1) rotate(180deg);  opacity: 1; } 
} 
