@keyframes typingBounce {
    0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
    30% { transform: translateY(-6px); opacity: 1; }
}

#aiChatFloatingBtn:hover { transform: scale(1.1); box-shadow: 0 6px 20px rgba(54,162,235,0.6); }
#aiChatMessages { scrollbar-width: thin; scrollbar-color: #ccc transparent; }
#aiChatMessages::-webkit-scrollbar { width: 5px; }
#aiChatMessages::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }

.msg-user { align-self: flex-end !important; background: linear-gradient(135deg, #6ccff6, #4db8db) !important; color: #fff !important; border-radius: 12px 12px 4px 12px !important; }
.msg-ai { align-self: flex-start !important; background: #fff !important; color: #333 !important; border-radius: 12px 12px 12px 4px !important; }
.msg-error { align-self: center !important; background: #fee !important; color: #c00 !important; border-radius: 8px !important; font-size: 12px !important; }

#aiChatResizeLeft:hover, #aiChatResizeBottom:hover, #aiChatResizeCorner:hover { background: rgba(54,162,235,0.15) !important; }
#aiChatResizeLeft::after, #aiChatResizeBottom::after, #aiChatResizeCorner::after {
    content: ''; position: absolute; background: rgba(54,162,235,0.3); border-radius: 2px;
}
#aiChatResizeLeft::after { right: 3px; top: 20%; height: 60%; width: 2px; }
#aiChatResizeBottom::after { left: 20%; bottom: 3px; width: 60%; height: 2px; }
#aiChatResizeCorner::after { right: 4px; bottom: 4px; width: 8px; height: 8px; border-right: 2px solid rgba(54,162,235,0.4); border-bottom: 2px solid rgba(54,162,235,0.4); }

/* Dark mode overrides */
#aiChatPanel.ai-dark { background: #232223 !important; box-shadow: 0 8px 32px rgba(0,0,0,0.5) !important; }
#aiChatPanel.ai-dark #aiChatMessages { background: #1b191b !important; }
#aiChatPanel.ai-dark #aiChatMessages::-webkit-scrollbar-thumb { background: #424242 !important; }
#aiChatPanel.ai-dark .msg-ai { background: #232223 !important; color: #d1d1d1 !important; }
#aiChatPanel.ai-dark .msg-error { background: #3a1a1a !important; color: #f5a0a0 !important; }
#aiChatPanel.ai-dark #aiChatTypingIndicator > div { background: #232223 !important; }
#aiChatPanel.ai-dark .welcome-msg { background: #232223 !important; color: #d1d1d1 !important; }
#aiChatPanel.ai-dark .ai-chat-warning-area { background: #232223 !important; border-top-color: #424242 !important; }
#aiChatPanel.ai-dark .ai-chat-warning { background: #3a3520 !important; color: #d4c45a !important; border-color: #4a4428 !important; }
#aiChatPanel.ai-dark .ai-chat-input-area { background: #232223 !important; border-top-color: #424242 !important; }
#aiChatPanel.ai-dark #aiChatInput { background: #1b191b !important; border-color: #424242 !important; color: #d1d1d1 !important; }
#aiChatPanel.ai-dark #aiChatInput::placeholder { color: #707070 !important; }
#aiChatPanel.ai-dark .ai-chat-code { background: #333 !important; color: #e0e0e0 !important; }
#aiChatPanel.ai-dark #aiChatLoadMore { border-color: #5a9fd4 !important; color: #5a9fd4 !important; }
#aiChatPanel.ai-dark #aiChatLoadingMore { color: #707070 !important; }
.msg-time { font-size: 10px !important; color: #999 !important; padding: 0 4px !important; }
.msg-user + .msg-time, .msg-wrapper > .msg-time:last-child { text-align: right !important; }
.msg-wrapper:first-child .msg-time { text-align: left !important; }
#aiChatPanel.ai-dark .msg-time { color: #707070 !important; }
