/* Slottica - animations.css?ver=2.1 */

@keyframes f3r8z-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.85); }
}

@keyframes x9z1-reel-spin {
  0% { transform: translateY(0); }
  25% { transform: translateY(-6px); }
  50% { transform: translateY(0); }
  75% { transform: translateY(6px); }
  100% { transform: translateY(0); }
}

@keyframes e2r4-win-pulse {
  0% { box-shadow: 0 0 10px rgba(105,210,83,0.4); }
  50% { box-shadow: 0 0 30px rgba(105,210,83,0.9), 0 0 60px rgba(105,210,83,0.4); }
  100% { box-shadow: 0 0 10px rgba(105,210,83,0.4); }
}

@keyframes t7k2-fadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes w5p9-fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes m3n8-slideInLeft {
  from { opacity: 0; transform: translateX(-30px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes c6d1-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

@keyframes b2v4-shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

@keyframes q1w2-coinfall {
  0% { opacity: 1; top: -10px; }
  100% { opacity: 0; top: 110%; transform: rotate(720deg); }
}

@keyframes r4t6-spin-reel {
  0% { transform: translateY(0%); }
  100% { transform: translateY(-300%); }
}

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

/* Stagger children */
.s-reveal-child > * {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}
.s-reveal-child.visible > *:nth-child(1) { opacity: 1; transform: none; transition-delay: 0s; }
.s-reveal-child.visible > *:nth-child(2) { opacity: 1; transform: none; transition-delay: 0.1s; }
.s-reveal-child.visible > *:nth-child(3) { opacity: 1; transform: none; transition-delay: 0.2s; }
.s-reveal-child.visible > *:nth-child(4) { opacity: 1; transform: none; transition-delay: 0.3s; }

/* hero float animation for badge */
.m3n4b-badge { animation: c6d1-bounce 2.5s ease-in-out infinite; }

/* shimmer button effect */
.btn-slottica--register {
  background-size: 200% auto;
  background-image: linear-gradient(90deg, #69D253 0%, #7cdf65 40%, #69D253 60%, #52b83e 100%);
  animation: b2v4-shimmer 3s linear infinite;
}
.btn-slottica--register:hover {
  animation-play-state: paused;
  background-image: none;
  background: #52b83e;
}

/* Confetti coins */
.coin-particle {
  position: fixed;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--clr-gold);
  pointer-events: none;
  z-index: 9999;
  animation: q1w2-coinfall 1.4s ease-in forwards;
}

/* Hero content entrance */
.hero-animate .p0l9k-hero-content { animation: m3n8-slideInLeft 0.7s ease both; }

/* Section transitions */
.b8v1n-section { animation: w5p9-fadeIn 0.5s ease both; }

/* Card hover glow */
.d8s9a-tournament-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: var(--radius-lg);
  background: radial-gradient(circle at 50% 0%, rgba(82,116,255,0.12) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.d8s9a-tournament-card:hover::after { opacity: 1; }

/* Logo spin on hover */
.v5j8r-logo:hover img { transform: scale(1.05); transition: transform 0.3s ease; }
