/* Animation Keyframes */
@keyframes float {

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

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

@keyframes pulse-slow {

    0%,
    100% {
        opacity: 0.7;
    }

    50% {
        opacity: 0.3;
    }
}

@keyframes spin-slow {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Animation Classes */
.animate-float {
    animation: float 8s ease-in-out infinite;
}

.animate-pulse-slow {
    animation: pulse-slow 6s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.animate-spin-slow {
    animation: spin-slow 20s linear infinite;
}

/* Staggered Floating Animation Delays */
.animate-float-1 {
    animation-delay: 0s;
}

.animate-float-2 {
    animation-delay: 1.5s;
}

.animate-float-3 {
    animation-delay: 3s;
}

.animate-float-4 {
    animation-delay: 4.5s;
}

.animate-float-5 {
    animation-delay: 6s;
}

/* Additional Utility Classes */
.pointer-events-none {
    pointer-events: none;
}

.backdrop-blur-sm {
    backdrop-filter: blur(4px);
}

.backdrop-blur-lg {
    backdrop-filter: blur(16px);
}

.bg-\[\#1c1c1e\]\/70 {
    background-color: rgba(28, 28, 30, 0.7);
}

.border-white\/10 {
    border-color: rgba(255, 255, 255, 0.1);
}

.border-purple-800\/30 {
    border-color: rgba(107, 33, 168, 0.3);
}

.shadow-purple-500\/20 {
    box-shadow: 0 4px 6px -1px rgba(168, 85, 247, 0.2), 0 2px 4px -1px rgba(168, 85, 247, 0.06);
}

.bg-gradient-to-tr {
    background-image: linear-gradient(to top right, var(--tw-gradient-stops));
}

.from-purple-800\/10 {
    --tw-gradient-from: rgba(107, 33, 168, 0.1);
    --tw-gradient-to: rgba(107, 33, 168, 0);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.via-transparent {
    --tw-gradient-to: transparent;
}

.to-transparent {
    --tw-gradient-to: transparent;
}