
/* Theme-specific keyframes */
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.8; }
}

@keyframes heatwave {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.02); }
}

@keyframes wave {
  0% { background-position: 0% 0%; }
  100% { background-position: 100% 100%; }
}

@keyframes neon-flicker {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.95; }
}

@keyframes storm-flash {
  0%, 100% { filter: brightness(1); }
  10%, 12% { filter: brightness(1.5); }
}

@keyframes void-pulse {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.2); }
}

@keyframes inferno-glow {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.3); }
}

@keyframes rift-swirl {
  0% { background-position: 0% 0%; }
  100% { background-position: 100% 100%; }
}

@keyframes eclipse-pulse {
  0%, 100% { filter: brightness(1); transform: scale(1); }
  50% { filter: brightness(0.8); transform: scale(1.03); }
}

@keyframes flux-shift {
  0% { background-position: 0% 0%; filter: brightness(1); }
  50% { background-position: 100% 100%; filter: brightness(1.2); }
  100% { background-position: 0% 0%; filter: brightness(1); }
}

@keyframes spectral-wave {
  0% { background-position: 0% 0%; transform: translateY(0); }
  50% { background-position: 100% 100%; transform: translateY(-5px); }
  100% { background-position: 0% 0%; transform: translateY(0); }
}

@keyframes mirage {
  0%, 100% { filter: blur(0px); }
  50% { filter: blur(2px); }
}

@keyframes aurora-flow {
  0% { background-position: 0% 0%; }
  100% { background-position: 100% 100%; }
}

@keyframes nebula-swirl {
  0% { background-position: 0% 0%; transform: scale(1); }
  50% { background-position: 100% 100%; transform: scale(1.02); }
  100% { background-position: 0% 0%; transform: scale(1); }
}

@keyframes lightning-flash {
  0%, 100% { filter: brightness(1); }
  10%, 12%, 50%, 52% { filter: brightness(1.8); }
}

@keyframes void-ripple {
  0%, 100% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.05); opacity: 1; }
}

@keyframes quantum-shimmer {
  0% { background-position: 0% 0%; filter: brightness(1); }
  50% { background-position: 100% 100%; filter: brightness(1.2); }
  100% { background-position: 0% 0%; filter: brightness(1); }
}

@keyframes holo-shift {
  0% { background-position: 0% 0%; transform: rotate(0deg); }
  50% { background-position: 100% 100%; transform: rotate(2deg); }
  100% { background-position: 0% 0%; transform: rotate(0deg); }
}

@keyframes spectral-surge {
  0% { background-position: 0% 0%; transform: translateY(0); }
  50% { background-position: 100% 100%; transform: translateY(-5px); }
  100% { background-position: 0% 0%; transform: translateY(0); }
}

@keyframes rgbShift {
  0% { background-position: 0% 0%; }
  50% { background-position: 100% 100%; }
  100% { background-position: 0% 0%; }
}

@keyframes glitch-text {
  0% { transform: translate(0); }
  20% { transform: translate(-2px, 2px); }
  40% { transform: translate(-2px, -2px); }
  60% { transform: translate(2px, 2px); }
  80% { transform: translate(2px, -2px); }
  100% { transform: translate(0); }
}

@keyframes cyber-scan {
  0% { background-position: 0 0; }
  100% { background-position: 0 100%; }
}

@keyframes float-element {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}

@keyframes rotate-3d {
  0% { transform: perspective(1000px) rotateY(0deg); }
  100% { transform: perspective(1000px) rotateY(360deg); }
}

@keyframes matrix-rain {
  0% { text-shadow: 0 0 1px #0f0; }
  50% { text-shadow: 0 0 5px #0f0; }
  100% { text-shadow: 0 0 1px #0f0; }
}

@keyframes digital-glitch {
  0%, 100% { clip-path: inset(50% 0 50% 0); }
  10% { clip-path: inset(20% 0 80% 0); }
  20% { clip-path: inset(80% 0 20% 0); }
  30% { clip-path: inset(40% 0 60% 0); }
  40% { clip-path: inset(60% 0 40% 0); }
  50% { clip-path: inset(30% 0 70% 0); }
}

@keyframes neon-pulse {
  0% { box-shadow: 0 0 5px var(--glow), 0 0 10px var(--glow), 0 0 15px var(--primary); }
  50% { box-shadow: 0 0 10px var(--glow), 0 0 20px var(--glow), 0 0 30px var(--primary); }
  100% { box-shadow: 0 0 5px var(--glow), 0 0 10px var(--glow), 0 0 15px var(--primary); }
}

@keyframes holographic {
  0% { filter: hue-rotate(0deg) brightness(1); }
  50% { filter: hue-rotate(180deg) brightness(1.2); }
  100% { filter: hue-rotate(360deg) brightness(1); }
}

@keyframes liquid-flow {
  0% { border-radius: 60% 40% 30% 70%/60% 30% 70% 40%; }
  50% { border-radius: 30% 60% 70% 40%/50% 60% 30% 60%; }
  100% { border-radius: 60% 40% 30% 70%/60% 30% 70% 40%; }
}

@keyframes energy-field {
  0% { transform: scale(1); opacity: 0.5; }
  50% { transform: scale(1.2); opacity: 0.8; }
  100% { transform: scale(1); opacity: 0.5; }
}

