.chat-container{height:400px;overflow-y:auto;scroll-behavior:smooth}.chat-container::-webkit-scrollbar{width:6px}.chat-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.chat-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.chat-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.dark .chat-container::-webkit-scrollbar-track{background:#374151}.dark .chat-container::-webkit-scrollbar-thumb{background:#6b7280}.dark .chat-container::-webkit-scrollbar-thumb:hover{background:#9ca3af}.message-bubble{max-width:80%;padding:12px 16px;border-radius:18px;word-wrap:break-word;position:relative}.user-message .message-bubble{background:#fff4e5;color:#c34911;border-radius:18px 18px 4px 18px;margin-left:auto}.agent-message .message-bubble{background:#f6f8fa;color:#222c33;border-radius:18px 18px 18px 4px;margin-right:auto}.system-message .message-bubble{background:#f4f7fb;color:#646e83;border-radius:12px;text-align:center;font-size:.9rem;margin:0 auto}.dark .agent-message .message-bubble{background:#374151;color:#f9fafb}.dark .system-message .message-bubble{background:#1e3a8a;color:#93c5fd}.typing-animation{display:flex;gap:4px;align-items:center}.typing-dot{width:8px;height:8px;border-radius:50%;background:#999;animation:typing 1.4s ease-in-out infinite}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.message-meta{font-size:.75rem;margin-top:4px;opacity:.7}.message-bubble.interim .message-content{font-style:italic;opacity:.8}.interim-indicator{opacity:.6;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:.3}50%{opacity:1}}.audio-level-bar{height:4px;background:#007bff;border-radius:2px;transition:width .1s ease}.voice-indicator{width:12px;height:12px;border-radius:50%;background:#28a745;animation:pulse 1.5s infinite}.voice-indicator.listening{background:#ffc107}.voice-indicator.speaking{background:#dc3545}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(1);opacity:1}}.status-indicator{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:8px}.status-indicator.connected{background:#28a745}.status-indicator.connecting{background:#ffc107;animation:pulse 1.5s infinite}.status-indicator.disconnected{background:#6c757d}.status-indicator.error{background:#dc3545}