/* Арбатик: tactical HUD animations */

@keyframes arbat-orb-float {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
  50% { transform: translate3d(0, -7px, 0) rotate(-1.2deg); }
}

@keyframes arbat-orb-breathe {
  0%, 100% {
    box-shadow:
      0 0 0 0 rgba(135, 255, 36, 0.24),
      0 0 18px rgba(135, 255, 36, 0.38),
      0 18px 40px rgba(0, 0, 0, 0.58),
      inset 0 1px 0 rgba(255, 255, 255, 0.26);
  }
  50% {
    box-shadow:
      0 0 0 13px rgba(135, 255, 36, 0),
      0 0 44px rgba(135, 255, 36, 0.75),
      0 22px 58px rgba(0, 0, 0, 0.72),
      inset 0 1px 0 rgba(255, 255, 255, 0.36);
  }
}

@keyframes arbat-tactical-ring {
  to { transform: rotate(360deg); }
}

@keyframes arbat-radar-ping {
  0% { transform: scale(0.72); opacity: 0.72; }
  80%, 100% { transform: scale(1.9); opacity: 0; }
}

@keyframes arbat-scan {
  0% { transform: translateY(-120%); opacity: 0; }
  12% { opacity: 0.7; }
  100% { transform: translateY(720%); opacity: 0; }
}

@keyframes arbat-panel-in {
  from {
    opacity: 0;
    transform: translate3d(16px, 24px, 0) scale(0.94);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes arbat-bottom-sheet-in {
  from { transform: translateY(105%); }
  to { transform: translateY(0); }
}

@keyframes arbat-msg-in {
  from {
    opacity: 0;
    transform: translate3d(0, 10px, 0) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes arbat-bubble-in {
  from {
    opacity: 0;
    transform: translate3d(10px, 12px, 0) scale(0.94);
    filter: blur(3px);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
  }
}

@keyframes arbat-dot {
  0%, 60%, 100% { transform: translateY(0); opacity: 0.36; }
  30% { transform: translateY(-4px); opacity: 1; }
}

@keyframes arbat-mascot-idle {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
  45% { transform: translate3d(0, -5px, 0) rotate(-1.5deg); }
  70% { transform: translate3d(1px, -2px, 0) rotate(1deg); }
}

@keyframes arbat-glow-line {
  0%, 100% { opacity: 0.24; transform: translateX(-16%); }
  50% { opacity: 0.9; transform: translateX(16%); }
}

@keyframes arbat-online-blink {
  0%, 100% { opacity: 0.72; transform: scale(0.96); }
  50% { opacity: 1; transform: scale(1.08); }
}

@media (prefers-reduced-motion: reduce) {
  #arbat-widget-btn,
  #arbat-widget-btn::after,
  .arbat-btn-radar,
  .arbat-btn-radar::before,
  .arbat-panel-scanline,
  .arbat-hero-mascot,
  .arbat-msg,
  .arbat-bubble-card,
  .arbat-typing-dots span,
  .arbat-bubble-typing span {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}
