/* ═══════════════════════════════════════════════════════════════════
   AGORA MINECRAFT SERVER - KEYFRAME ANIMATIONS & FX
   ═══════════════════════════════════════════════════════════════════ */

/* Floating Panels in Egyptian Architecture */
@keyframes floatSlow1 {
  0% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-24px) rotate(1.5deg);
  }
  100% {
    transform: translateY(12px) rotate(-1deg);
  }
}

@keyframes floatSlow2 {
  0% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(30px) rotate(-2deg);
  }
  100% {
    transform: translateY(-16px) rotate(1.2deg);
  }
}

@keyframes floatSlow3 {
  0% {
    transform: translateY(0px) scale(1);
  }
  50% {
    transform: translateY(-18px) scale(1.02);
  }
  100% {
    transform: translateY(10px) scale(0.98);
  }
}

/* Subtle Hero Floating */
@keyframes floatSubtle {
  0% {
    transform: translateY(0px);
  }
  100% {
    transform: translateY(-10px);
  }
}

/* Rotating Hieroglyphic Ring */
@keyframes rotateRing {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

/* Sun Halo Breathing Pulse */
@keyframes haloPulse {
  0% {
    transform: translate(-50%, -50%) scale(0.92);
    opacity: 0.55;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.15);
    opacity: 0.9;
  }
}

/* Status Indicator Dot Pulse */
@keyframes pulseGreen {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 8px #10b981;
  }
  50% {
    transform: scale(1.25);
    box-shadow: 0 0 16px #10b981, 0 0 24px rgba(16, 185, 129, 0.4);
  }
}

/* Golden Stream Shimmer */
@keyframes goldShimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

/* Ichor River Flow Glow */
@keyframes ichorPulse {
  0%, 100% {
    filter: drop-shadow(0 0 12px rgba(255, 170, 0, 0.5));
  }
  50% {
    filter: drop-shadow(0 0 24px rgba(220, 38, 38, 0.8)) drop-shadow(0 0 35px rgba(255, 170, 0, 0.6));
  }
}

/* Click Ripple Wave */
.click-ripple {
  position: absolute;
  border: 2px solid var(--gold-pure);
  border-radius: 50%;
  pointer-events: none;
  animation: rippleFade 0.65s cubic-bezier(0.1, 0.8, 0.3, 1) forwards;
  z-index: 99999;
}

@keyframes rippleFade {
  0% {
    transform: translate(-50%, -50%) scale(0);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(4.5);
    opacity: 0;
  }
}

/* Spark Particle on Copy or Click */
.sparkle-particle {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gold-pure);
  box-shadow: 0 0 8px var(--gold-pure);
  pointer-events: none;
  animation: sparkDisperse 0.6s ease-out forwards;
}

@keyframes sparkDisperse {
  0% {
    transform: translate(0, 0) scale(1);
    opacity: 1;
  }
  100% {
    transform: translate(var(--tx), var(--ty)) scale(0);
    opacity: 0;
  }
}
