/* Shared styles across all pages */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap'); body { font-family: 'Inter', sans-serif; min-height: 100vh; display: flex; flex-direction: column; background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 50%, #3730a3 100%); } /* Enhanced Chat container scrollbar */ #chat-container::-webkit-scrollbar { width: 6px; } #chat-container::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.05); border-radius: 10px; } #chat-container::-webkit-scrollbar-thumb { background: linear-gradient(135deg, #6366f1, #8b5cf6); border-radius: 10px; } #chat-container::-webkit-scrollbar-thumb:hover { background: linear-gradient(135deg, #4f46e5, #7c3aed); } /* Enhanced Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes slideInRight { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } @keyframes glow { 0% { box-shadow: 0 0 5px rgba(99, 102, 241, 0.5); } 50% { box-shadow: 0 0 20px rgba(99, 102, 241, 0.8); } 100% { box-shadow: 0 0 5px rgba(99, 102, 241, 0.5); } } #chat-container div { animation: fadeInUp 0.4s ease-out; } .user-message { animation: slideInRight 0.4s ease-out; } /* Enhanced Typing Indicator */ .typing-dots { display: flex; gap: 4px; } .typing-dot { width: 8px; height: 8px; border-radius: 50%; background: #6366f1; animation: typing 1.4s infinite ease-in-out; } .typing-dot:nth-child(1) { animation-delay: -0.32s; } .typing-dot:nth-child(2) { animation-delay: -0.16s; } @keyframes typing { 0%, 80%, 100% { transform: scale(0.8); opacity: 0.5; } 40% { transform: scale(1); opacity: 1; } } /* Glass Morphism Effect */ .glass { background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.2); } /* Gradient Text */ .gradient-text { background: linear-gradient(135deg, #60a5fa 0%, #c084fc 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* Enhanced Button Styles */ .btn-gradient { background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); transition: all 0.3s ease; } .btn-gradient:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(99, 102, 241, 0.3); } /* Loading Animation */ .loading-wave { display: flex; gap: 4px; } .loading-bar { width: 4px; height: 20px; background: linear-gradient(135deg, #6366f1, #8b5cf6); animation: wave 1.2s infinite ease-in-out; } .loading-bar:nth-child(1) { animation-delay: 0s; } .loading-bar:nth-child(2) { animation-delay: 0.1s; } .loading-bar:nth-child(3) { animation-delay: 0.2s; } .loading-bar:nth-child(4) { animation-delay: 0.3s; } @keyframes wave { 0%, 40%, 100% { transform: scaleY(0.4); } 20% { transform: scaleY(1); } } /* Enhanced Card Hover Effects */ .feature-card { transition: all 0.3s ease; border: 1px solid rgba(255, 255, 255, 0.1); } .feature-card:hover { transform: translateY(-5px); border-color: rgba(99, 102, 241, 0.5); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); } /* Responsive Design Improvements */ @media (max-width: 768px) { .container { padding-left: 1rem; padding-right: 1rem; } .chat-input { flex-direction: column; gap: 1rem; } .quick-actions { justify-content: center; } } /* Enhanced Focus States */ input:focus, button:focus { outline: none; ring: 2px solid rgba(99, 102, 241, 0.5); } /* Smooth Transitions */ * { transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease; } /* Enhanced Message Bubbles */ .message-bubble { position: relative; overflow: hidden; } .message-bubble::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, transparent 100%); pointer-events: none; }