/* -------------------------------------
   DWARFMINE ANIMATIONS
-------------------------------------- */

/* Smooth Fade In Up for Scroll Reveals */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade {
  animation: fadeInUp 0.8s ease-out forwards;
}

/* Ambient Pulse for Buttons & Accents */
@keyframes glowPulse {
  0% { box-shadow: 0 0 10px rgba(22, 163, 74, 0.2); }
  50% { box-shadow: 0 0 25px rgba(22, 163, 74, 0.5); }
  100% { box-shadow: 0 0 10px rgba(22, 163, 74, 0.2); }
}

.pulse-glow {
  animation: glowPulse 3s infinite ease-in-out;
}

/* Torch Light Flicker Effect */
@keyframes torchFlicker {
  0% { opacity: 0.9; transform: scale(1); }
  25% { opacity: 1; transform: scale(1.02); }
  50% { opacity: 0.85; transform: scale(0.98); }
  75% { opacity: 0.95; transform: scale(1.01); }
  100% { opacity: 0.9; transform: scale(1); }
}

.torch-light {
  position: absolute;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(245, 158, 11, 0.15) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  animation: torchFlicker 4s infinite alternate;
  z-index: 0;
}

/* Floating Dust Particles */
@keyframes floatDust {
  0% {
    transform: translateY(0) translateX(0);
    opacity: 0;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    transform: translateY(-100px) translateX(20px);
    opacity: 0;
  }
}

.dust-particle {
  position: absolute;
  width: 3px;
  height: 3px;
  background-color: rgba(251, 191, 36, 0.4);
  border-radius: 50%;
  pointer-events: none;
  animation: floatDust 10s infinite linear;
}

/* Staggered Animations */
.delay-1 { animation-delay: 0.1s; }
.delay-2 { animation-delay: 0.2s; }
.delay-3 { animation-delay: 0.3s; }