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

::-webkit-scrollbar-track {
    background: #000000;
}

::-webkit-scrollbar-thumb {
    background: #4B0082;
    border-radius: 4px;
}

/* Reveal animation */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease;
}

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

@keyframes drawPath {
    to {
        stroke-dashoffset: 0;
    }
}

@keyframes drawComplex {
    0% {
        stroke-dashoffset: 500;
        stroke-width: 3;
    }
    50% {
        stroke-dashoffset: 250;
        stroke-width: 5;
    }
    100% {
        stroke-dashoffset: 0;
        stroke-width: 3;
    }
}

@keyframes flowingGradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.animate-draw {
    animation: drawComplex 3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.draw-path {
    opacity: 0.8;
    animation: drawPath 3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.flowing-gradient {
    background-size: 200% 200%;
    animation: flowingGradient 3s ease infinite;
}

.delay-1 {
    animation-delay: 1.5s;
}

.delay-2 {
    animation-delay: 1.75s;
}

.delay-3 {
    animation-delay: 1.8s;
}

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