@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

@keyframes sparkle {
  0%, 100% {
    opacity: 1;
    box-shadow: 0 0 8px var(--color-danger-glow), 0 0 16px var(--color-danger-glow);
  }
  50% {
    opacity: 0.6;
    box-shadow: 0 0 4px var(--color-danger-glow);
  }
}

@keyframes slideDown {
  from {
    transform: translate(-50%, -100%);
    opacity: 0;
  }
  to {
    transform: translate(-50%, 0);
    opacity: 1;
  }
}

@keyframes slideUp {
  from {
    transform: translateY(20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

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

@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}

@keyframes wirecut {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  50% {
    transform: translateY(-20px);
    opacity: 0.8;
  }
  100% {
    transform: translateY(8px);
    opacity: 0.4;
  }
}

@keyframes explosion {
  0% {
    transform: scale(0);
    opacity: 1;
    background: var(--color-danger);
    border-radius: 50%;
  }
  50% {
    transform: scale(3);
    opacity: 0.8;
  }
  100% {
    transform: scale(5);
    opacity: 0;
  }
}

@keyframes handPass {
  0%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-10px);
  }
  75% {
    transform: translateX(10px);
  }
}

@keyframes detonatorAdvance {
  0% { transform: scale(1); }
  50% { transform: scale(1.3); }
  100% { transform: scale(1); }
}

@keyframes validationGlow {
  0% {
    box-shadow: 0 0 0 0 var(--color-success-glow);
  }
  50% {
    box-shadow: 0 0 16px 4px var(--color-success-glow);
  }
  100% {
    box-shadow: var(--shadow-glow-success);
  }
}

@keyframes shakeX {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-8px); }
  40% { transform: translateX(8px); }
  60% { transform: translateX(-4px); }
  80% { transform: translateX(4px); }
}

.animate-slide-up {
  animation: slideUp 0.3s ease;
}

.animate-fade-in {
  animation: fadeIn 0.3s ease;
}

.animate-wirecut {
  animation: wirecut 0.6s ease forwards;
}

.animate-explosion {
  animation: explosion 0.8s ease forwards;
}

.animate-detonator-advance {
  animation: detonatorAdvance 0.4s ease;
}

.animate-validation-glow {
  animation: validationGlow 0.8s ease;
}

.animate-shake {
  animation: shakeX 0.5s ease;
}
