@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&display=swap');

body { 
    font-family: 'Nunito', sans-serif; 
}

/* Smooth transitions for dark mode */
body, .theme-transition {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Sleek, soft shadow for rounded corners */
.sleek-shadow { 
    box-shadow: 0 10px 25px -5px rgba(213, 43, 30, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.01); 
}
.dark .sleek-shadow { 
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3); 
}

/* Animations */
.fade-in { animation: fadeIn 0.4s cubic-bezier(0.18, 0.89, 0.32, 1.28) forwards; }
@keyframes fadeIn { 
    from { opacity: 0; transform: translateY(15px) scale(0.95); } 
    to { opacity: 1; transform: translateY(0) scale(1); } 
}

/* Shake animation for invalid input */
.shake { animation: shake 0.4s ease-in-out; }
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-8px); }
    75% { transform: translateX(8px); }
}

html, body { height: 100%; }

/* Custom scrollbar for webkit */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #e5e7eb; border-radius: 4px; }
.dark ::-webkit-scrollbar-thumb { background: #4b5563; }