/* ==========================================================================
   LocalGraph.Cloud - Micro-animations & Transitions
   ========================================================================== */

/* Scroll Reveal */
.reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

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

/* Stagger delay classes if applied */
.reveal[style*="--reveal-delay"] {
    transition-delay: var(--reveal-delay);
}

/* Subtle dot pulsing animation */
@keyframes pulseGlow {
    0% {
        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.6);
    }
    70% {
        box-shadow: 0 0 0 8px rgba(16, 185, 129, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
    }
}

/* Floating animation for subtle ambient elements */
@keyframes floatSlow {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-8px);
    }
}

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