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

::-webkit-scrollbar-track {
    background: #102a43;
}

::-webkit-scrollbar-thumb {
    background: #243b53;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: #6fd513;
}

/* Glassmorphism Utilities */
/* .glass-header moved to Tailwind utility classes in navbar.php */

/* Smooth transition for theme toggle */
body {
    transition: background-color 0.4s cubic-bezier(0.4, 0, 0.2, 1), color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 100vh;
}

/* Light Mode Overrides */
html.light body {
    background-color: #f0f4f8;
    /* ice-gray */
    color: #0f172a;
    /* slate-900 */
}

/* --- Scroll Reveal Animations --- */
.reveal-hidden {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.5, 0, 0, 1), transform 0.8s cubic-bezier(0.5, 0, 0, 1);
    will-change: opacity, transform;
}

.reveal-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered delays for grids */
.stagger-1 {
    transition-delay: 100ms;
}

.stagger-2 {
    transition-delay: 200ms;
}

.stagger-3 {
    transition-delay: 300ms;
}

.stagger-4 {
    transition-delay: 400ms;
}

/* Scale animation for hero/special elements */
.scale-hidden {
    opacity: 0;
    transform: scale(0.95);
    transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.scale-visible {
    opacity: 1;
    transform: scale(1);
}