:root {
    --color-primary: #2563eb;
    --color-secondary: #4f46e5;
    --color-bg: #f8fafc;
    --color-text: #1e293b;
}

body {
    background-color: var(--color-bg);
    color: var(--color-text);
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Animations */
@keyframes float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-20px);
    }
}

.animate-float {
    animation: float 6s ease-in-out infinite;
}

@keyframes float-delayed {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-15px);
    }
}

.animate-float-delayed {
    animation: float-delayed 5s ease-in-out infinite;
    animation-delay: 2s;
}

.path-animate {
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
    animation: dash 2s linear infinite;
}

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

/* Glassmorphism utilities */
.glass-panel {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.5);
}