/* Fade-in animation for synchronized loading */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Background elements */
@keyframes float {
  0% { transform: translate(0, 0); }
  100% { transform: translate(10px, 10px); }
}

@keyframes pulse-glow {
  0% { transform: scale(1); opacity: 0.2; }
  100% { transform: scale(1.2); opacity: 0.4; }
}

/* Menu effect */
@keyframes menuGlow {
  0% { left: -100%; }
  50% { left: 100%; }
  100% { left: -100%; }
}

/* Pulse animation for elements */
@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

/* Loading effect */
@keyframes loading-shine {
  0% { left: -100%; }
  100% { left: 100%; }
}

/* Scan effect for terrain */
@keyframes scanline {
  0% { top: -10%; }
  100% { top: 110%; }
}

/* Toast notifications */
@keyframes toast-fade-in {
  from { opacity: 0; transform: translate(-50%, -20px); }
  to { opacity: 1; transform: translate(-50%, 0); }
}

@keyframes toast-fade-out {
  from { opacity: 1; transform: translate(-50%, 0); }
  to { opacity: 0; transform: translate(-50%, -20px); }
}

@keyframes pulse-waiting {
  0% { opacity: 0.5; }
  50% { opacity: 1; }
  100% { opacity: 0.5; }
}