/* SENTINEL Keyframes & Kinetic Animations */

/* Equalizer Base Movement */
@keyframes eqIdle {
  0%, 100% { height: 15%; opacity: 0.5; }
  50% { height: 35%; opacity: 0.8; }
}

@keyframes eqListening {
  0%, 100% { height: 20%; }
  25% { height: 60%; }
  50% { height: 40%; }
  75% { height: 85%; }
}

@keyframes eqProcessing {
  0%, 100% { height: 30%; transform: scaleY(0.4); }
  33% { height: 95%; transform: scaleY(1); }
  66% { height: 50%; transform: scaleY(0.7); }
}

@keyframes eqSpeaking {
  0%, 100% { height: 25%; }
  20% { height: 90%; }
  40% { height: 45%; }
  60% { height: 100%; }
  80% { height: 65%; }
}

@keyframes eqAction {
  0%, 100% { height: 45%; }
  50% { height: 20%; transform: scaleY(0.3); }
}

/* Ambient Pulse Animations */
@keyframes haloRotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes pulseGlow {
  0%, 100% { opacity: 0.3; transform: scale(0.98); }
  50% { opacity: 0.7; transform: scale(1.03); }
}

@keyframes signalFlowHorizontal {
  0% { transform: translateX(-100%); opacity: 0; }
  30% { opacity: 1; }
  70% { opacity: 1; }
  100% { transform: translateX(100%); opacity: 0; }
}

@keyframes floatGentle {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-8px); }
}

@keyframes radarSweep {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Waveform Ripple */
@keyframes waveRipple {
  0% {
    transform: scale(0.85);
    opacity: 0.8;
  }
  100% {
    transform: scale(1.8);
    opacity: 0;
  }
}

/* Utility animation classes */
.animate-float {
  animation: floatGentle 4s ease-in-out infinite;
}

.animate-pulse-glow {
  animation: pulseGlow 3s ease-in-out infinite;
}

.animate-halo-spin {
  animation: haloRotate 25s linear infinite;
}

.animate-halo-spin-reverse {
  animation: haloRotate 35s linear infinite reverse;
}

/* Connector Line Data Packets */
.data-packet {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22D3EE;
  box-shadow: 0 0 10px #22D3EE;
}

/* Equalizer Bars Staggered delays */
.eq-bar-1 { animation: eqSpeaking 1.2s infinite ease-in-out 0.1s; }
.eq-bar-2 { animation: eqSpeaking 1.2s infinite ease-in-out 0.3s; }
.eq-bar-3 { animation: eqSpeaking 1.2s infinite ease-in-out 0.2s; }
.eq-bar-4 { animation: eqSpeaking 1.2s infinite ease-in-out 0.5s; }
.eq-bar-5 { animation: eqSpeaking 1.2s infinite ease-in-out 0.15s; }
.eq-bar-6 { animation: eqSpeaking 1.2s infinite ease-in-out 0.4s; }
.eq-bar-7 { animation: eqSpeaking 1.2s infinite ease-in-out 0.25s; }
.eq-bar-8 { animation: eqSpeaking 1.2s infinite ease-in-out 0.45s; }

/* Interactive Equalizer transformation states */
.state-voice {
  --eq-color: #06B6D4;
}
.state-processing {
  --eq-color: #8B5CF6;
}
.state-response {
  --eq-color: #6366F1;
}
.state-action {
  --eq-color: #10B981;
}

/* Live audio waveform canvas container */
.waveform-canvas {
  width: 100%;
  height: 100%;
  display: block;
}
