/* Animations */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp {
    from { opacity: 0; transform: translateY(40px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Glass Effect */
.glass-effect {
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

/* Font Smoothing */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 4px;
}

.dark ::-webkit-scrollbar-track {
    background: #1e293b;
}

::-webkit-scrollbar-thumb {
    background: #007AFF;
    border-radius: 4px;
    transition: background-color 0.3s ease;
}

::-webkit-scrollbar-thumb:hover {
    background: #0056CC;
}

.dark ::-webkit-scrollbar-thumb {
    background: #007AFF;
}

.dark ::-webkit-scrollbar-thumb:hover {
    background: #0056CC;
}

/* Firefox Scrollbar */
html {
    scrollbar-width: thin;
    scrollbar-color: #007AFF #f1f5f9;
}

.dark html {
    scrollbar-color: #007AFF #1e293b;
}

/* Animation Delays */
.animation-delay-2000 {
    animation-delay: 2s;
}

.animation-delay-4000 {
    animation-delay: 4s;
}

/* Hover Effects */
.hover\:scale-\[1\.02\]:hover {
    transform: scale(1.02);
}