/* Inherit global variables from style.css */ :root { --tech-blue: #4A90E2; --warm-orange: #F5A623; --white: #FFFFFF; --light-gray: #F7F8FA; --text-dark: #333333; --text-medium: #888888; } #chat-messages { display: flex; flex-direction: column; gap: 1rem; } .message { display: flex; align-items: flex-end; gap: 0.75rem; max-width: 80%; animation: fade-in 0.3s ease-out; } .message-avatar { width: 2.5rem; height: 2.5rem; border-radius: 9999px; flex-shrink: 0; } .message-content { padding: 0.75rem 1rem; border-radius: 1.25rem; line-height: 1.6; } .message.user { align-self: flex-end; flex-direction: row-reverse; } .message.user .message-content { background-color: var(--tech-blue); color: var(--white); border-bottom-right-radius: 0.25rem; } .message.ai .message-content { background-color: var(--white); color: var(--text-dark); border: 1px solid #e5e7eb; border-bottom-left-radius: 0.25rem; } #message-input { transition: height 0.2s ease; } /* Typing indicator */ .typing-indicator { display: flex; align-items: center; gap: 4px; } .typing-indicator span { width: 8px; height: 8px; border-radius: 50%; background-color: #ccc; animation: bounce 1.4s infinite ease-in-out both; } .typing-indicator span:nth-child(1) { animation-delay: -0.32s; } .typing-indicator span:nth-child(2) { animation-delay: -0.16s; } @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1.0); } } @keyframes fade-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }