body { font-family: 'Poppins', sans-serif; } .animate-scale-up { animation: scale-up 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; } @keyframes scale-up { 0% { transform: scale(0.95); opacity: 0; } 100% { transform: scale(1); opacity: 1; } } .welcome-animation { animation: welcome-flicker 2s ease-in-out forwards; } @keyframes welcome-flicker { 0%, 100% { opacity: 0; transform: scale(0.9); } 10%, 90% { opacity: 1; transform: scale(1); } 50% { opacity: 0.8; transform: scale(1.05); } } /* Custom scrollbar for a cleaner look in dark mode */ .dark ::-webkit-scrollbar { width: 8px; } .dark ::-webkit-scrollbar-track { background: #2d3748; } .dark ::-webkit-scrollbar-thumb { background: #4a5568; border-radius: 4px; } .dark ::-webkit-scrollbar-thumb:hover { background: #718096; } /* Highlighting style */ mark { background-color: rgba(242, 183, 5, 0.5); color: inherit; padding: 2px 0; border-radius: 3px; } .dark mark { background-color: rgba(242, 183, 5, 0.4); } /* Typing indicator animation */ .typing-indicator span { animation-name: typing-bounce; animation-duration: 1.4s; animation-iteration-count: infinite; animation-timing-function: ease-in-out; display: inline-block; } .typing-indicator span:nth-child(1) { animation-delay: 0s; } .typing-indicator span:nth-child(2) { animation-delay: 0.2s; } .typing-indicator span:nth-child(3) { animation-delay: 0.4s; } @keyframes typing-bounce { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-6px); } }