/* ============================================
   MR.VIP Animations — Subtle & Clean
   ============================================ */

@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes fadeInUp { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeInDown { from{opacity:0;transform:translateY(-12px)} to{opacity:1;transform:translateY(0)} }
@keyframes slideUp { from{transform:translateY(100%)} to{transform:translateY(0)} }
@keyframes slideDown { from{transform:translateY(0)} to{transform:translateY(100%)} }
@keyframes scaleIn { from{opacity:0;transform:scale(0.95)} to{opacity:1;transform:scale(1)} }

@keyframes pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.03)} }
@keyframes shimmer { 0%{background-position:-200% 0} 100%{background-position:200% 0} }
@keyframes spin { to{transform:rotate(360deg)} }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }

@keyframes confettiFall {
  0%{opacity:1;transform:translateY(0) rotate(0deg)}
  100%{opacity:0;transform:translateY(300px) rotate(720deg)}
}

@keyframes progressFill { from{width:0} }

@keyframes rpBounce {
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-6px) scale(1.02)}
}

@keyframes sparkle {
  0%,100%{opacity:0.3;transform:scale(0.8)}
  50%{opacity:1;transform:scale(1.2)}
}

@keyframes wheelSpin {
  from{transform:rotate(0deg)}
  to{transform:rotate(1800deg)}
}

/* ---- Scroll Reveal ---- */
.reveal {
  opacity:0; transform:translateY(20px);
  transition:opacity 0.5s ease, transform 0.5s ease;
}
.reveal.visible { opacity:1; transform:translateY(0); }

.stagger > * {
  opacity:0; transform:translateY(14px);
  transition:opacity 0.35s ease, transform 0.35s ease;
}
.stagger.visible > *:nth-child(1){transition-delay:0.04s}
.stagger.visible > *:nth-child(2){transition-delay:0.08s}
.stagger.visible > *:nth-child(3){transition-delay:0.12s}
.stagger.visible > *:nth-child(4){transition-delay:0.16s}
.stagger.visible > *:nth-child(5){transition-delay:0.2s}
.stagger.visible > *:nth-child(6){transition-delay:0.24s}
.stagger.visible > * { opacity:1; transform:translateY(0); }

/* Page transition */
.page-enter { animation:fadeIn 0.2s ease forwards; }
