/* Thinking animation styles */
.thinking-animation {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  opacity: 0.7;
}

.thinking-dots {
  display: flex;
  gap: 3px;
}

.thinking-dot {
  width: 6px;
  height: 6px;
  background-color: #71717a;
  border-radius: 50%;
  animation: thinking-pulse 1.4s ease-in-out infinite;
}

.thinking-dot:nth-child(1) { animation-delay: 0s; }
.thinking-dot:nth-child(2) { animation-delay: 0.2s; }
.thinking-dot:nth-child(3) { animation-delay: 0.4s; }

@keyframes thinking-pulse {
  0%, 60%, 100% {
    opacity: 0.3;
    transform: scale(0.8);
  }
  30% {
    opacity: 1;
    transform: scale(1);
  }
}

/* Fade in animation */
.fade-in {
  animation: fade-in 0.3s ease-in;
}

@keyframes fade-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
