/* Visual Geometry */
@keyframes tunnel { 
  0% { transform: scale(0.1); opacity: 1; } 
  100% { transform: scale(2); opacity: 0; } 
}

@keyframes gridScroll { 
  0% { transform: translateY(0); } 
  100% { transform: translateY(-40px); } 
}

@keyframes pulse { 
  0% { transform: scale(1); opacity: 1; } 
  100% { transform: scale(1.2); opacity: 0.7; } 
}

@keyframes cubeRotate { 
  0% { transform: rotateX(0deg) rotateY(0deg); } 
  100% { transform: rotateX(360deg) rotateY(360deg); } 
}

@keyframes moire { 
  0% { transform: scale(1); opacity: 1; } 
  100% { transform: scale(2); opacity: 0.2; } 
}

/* 8-Bit and CRT Aesthetics */
@keyframes starMove { 
  0% { transform: translateY(0) scale(1); } 
  100% { transform: translateY(100vh) scale(2); } 
}

@keyframes scanline { 
  0% { transform: translateY(0); } 
  100% { transform: translateY(100vh); } 
}

@keyframes drift { 
  0% { transform: translateX(-2px); filter: hue-rotate(-5deg); } 
  100% { transform: translateX(2px); filter: hue-rotate(5deg); } 
}

@keyframes hudFlicker { 
  0% { opacity: 1; } 
  100% { opacity: 0.7; } 
}

@keyframes textRain { 
  0% { transform: translateY(0); opacity: 1; } 
  100% { transform: translateY(100vh); opacity: 0; } 
}

/* Particles & Physics */
@keyframes orbit { 
  0% { transform: rotate(0deg) translateX(50px); } 
  100% { transform: rotate(360deg) translateX(50px); } 
}

@keyframes fireRise { 
  0% { transform: translateY(0); } 
  100% { transform: translateY(-20px); opacity: 0.5; } 
}

@keyframes rainFall { 
  0% { transform: translateY(0); opacity: 1; } 
  100% { transform: translateY(100vh); opacity: 0.5; } 
}

@keyframes echoWave { 
  0% { transform: scaleX(1); opacity: 1; } 
  100% { transform: scaleX(2); opacity: 0; } 
}

@keyframes shardScatter { 
  0% { transform: translateX(0); opacity: 1; } 
  100% { transform: translateX(50px) rotate(20deg); opacity: 0.5; } 
}

/* Reactive / Music-Synced */
@keyframes pulseBeat { 
  0% { transform: scale(0.5); opacity: 1; } 
  100% { transform: scale(2); opacity: 0; } 
}

@keyframes radarRotate { 
  0% { transform: rotate(0deg); opacity: 1; } 
  100% { transform: rotate(360deg); opacity: 0.7; } 
}

@keyframes flameFlicker { 
  0% { transform: scaleY(1); } 
  100% { transform: scaleY(1.3); opacity: 0.7; } 
}

@keyframes spectrumBounce { 
  0% { transform: scaleY(1); } 
  100% { transform: scaleY(2); opacity: 0.8; } 
}

@keyframes bounceBeat { 
  0% { transform: translateY(0); } 
  100% { transform: translateY(-30px); } 
}

/* Solar System Orbit Animations */
@keyframes orbit1 { 
  from { transform: rotate(0deg) translateX(-75px) rotate(0deg); } 
  to { transform: rotate(360deg) translateX(-75px) rotate(-360deg); } 
}

@keyframes orbit2 { 
  from { transform: rotate(0deg) translateX(-100px) rotate(0deg); } 
  to { transform: rotate(360deg) translateX(-100px) rotate(-360deg); } 
}

@keyframes orbit3 { 
  from { transform: rotate(0deg) translateX(-125px) rotate(0deg); } 
  to { transform: rotate(360deg) translateX(-125px) rotate(-360deg); } 
}

@keyframes orbit4 { 
  from { transform: rotate(0deg) translateX(-150px) rotate(0deg); } 
  to { transform: rotate(360deg) translateX(-150px) rotate(-360deg); } 
}

@keyframes orbit5 { 
  from { transform: rotate(0deg) translateX(-175px) rotate(0deg); } 
  to { transform: rotate(360deg) translateX(-175px) rotate(-360deg); } 
}

@keyframes orbit6 { 
  from { transform: rotate(0deg) translateX(-200px) rotate(0deg); } 
  to { transform: rotate(360deg) translateX(-200px) rotate(-360deg); } 
}

@keyframes orbit7 { 
  from { transform: rotate(0deg) translateX(-225px) rotate(0deg); } 
  to { transform: rotate(360deg) translateX(-225px) rotate(-360deg); } 
}

@keyframes orbit8 { 
  from { transform: rotate(0deg) translateX(-250px) rotate(0deg); } 
  to { transform: rotate(360deg) translateX(-250px) rotate(-360deg); } 
}

@keyframes orbit9 { 
  from { transform: rotate(0deg) translateX(-275px) rotate(0deg); } 
  to { transform: rotate(360deg) translateX(-275px) rotate(-360deg); } 
}

/* Cube Scale Animation */
@keyframes cubeScale {
  from { transform: rotateX(45deg) rotateY(45deg) scale(0.4); }
  to   { transform: rotateX(45deg) rotateY(45deg) scale(1); }
}

/* Animation Base Class */
.animated {
  animation-duration: var(--animation-duration, 2s);
  animation-iteration-count: infinite;
  animation-timing-function: linear;
} 