/* Custom Scrollbar */
html { scrollbar-gutter: stable; }
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0c1211; }
::-webkit-scrollbar-thumb { background: #2d3735; border-radius: 9999px; }
::-webkit-scrollbar-thumb:hover { background: #059669; }

/* Terminal Cursor Animation */
.cursor-blink { animation: blink 1s step-end infinite; }
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }

/* Floating Animation */
.floating { animation: float 6s ease-in-out infinite; }
@keyframes float {
    0% { transform: translateY(0px) scale(1); }
    50% { transform: translateY(-20px) scale(1.02); }
    100% { transform: translateY(0px) scale(1); }
}

/* Scroll Reveal Animations */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.reveal.active { opacity: 1; transform: translateY(0); }
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }