/* Custom styles for enhanced UI */ * { scrollbar-width: thin; scrollbar-color: #cbd5e1 #f1f5f9; } *::-webkit-scrollbar { width: 8px; } *::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 4px; } *::-webkit-scrollbar-thumb { background-color: #cbd5e1; border-radius: 4px; } *::-webkit-scrollbar-thumb:hover { background-color: #94a3b8; } /* Smooth transitions */ .transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } /* Message animations */ @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } #messagesArea > div { animation: fadeIn 0.3s ease-out; } /* Typing indicator animation */ @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } .animate-pulse { animation: pulse 1s cubic-bezier(0.4, 0, 0.6, 1) infinite; } /* Enhanced button styles */ button:focus { outline: none; box-shadow: 0 0 0 3px rgba(147, 51, 234, 0.1); } /* Textarea styles */ textarea:focus { box-shadow: 0 0 0 3px rgba(147, 51, 234, 0.1); } /* Loading animation */ @keyframes spin { to { transform: rotate(360deg); } } .animate-spin { animation: spin 1s linear infinite; } /* Responsive adjustments */ @media (max-width: 640px) { .max-w-md { max-width: calc(100% - 3rem); } } /* Gradient text effect */ .gradient-text { background: linear-gradient(to right, #a855f7, #ec4899); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }