.chat-typing { display:flex; align-items:center; gap:8px; padding:8px 16px; color:#59626c; }
.chat-typing[hidden] { display:none; }
.chat-typing-dots { display:inline-flex; align-items:center; justify-content:center; gap:5px; height:30px; width:58px; border-radius:16px; background:#edf0f3; }
.chat-typing-dots span { width:6px; height:6px; border-radius:50%; background:currentColor; animation:chat-dot-wave 1.2s ease-in-out infinite; }
.chat-typing-dots span:nth-child(2) { animation-delay:.16s; }
.chat-typing-dots span:nth-child(3) { animation-delay:.32s; }
@keyframes chat-dot-wave { 0%,60%,100% { transform:translateY(0); opacity:.5; } 30% { transform:translateY(-4px); opacity:1; } }
@media (prefers-reduced-motion:reduce) { .chat-typing-dots span { animation:none; } }
