/**
 * GLiBz Frontier - Keyframe Animations
 * All animations use transform/opacity for GPU compositing.
 */

/* ── Tumbleweed Roll ───────────────────────────────────────────── */
/* Rolls from off-screen left to off-screen right with rotation */

@keyframes gf-tumbleweed-roll {
    0% {
        left: -80px;
        transform: rotate(0deg);
    }
    100% {
        left: calc(100vw + 80px);
        transform: rotate(720deg);
    }
}

/* ── Shooting Star Streak ──────────────────────────────────────── */
/* Diagonal sweep with fade-out */

@keyframes gf-star-streak {
    0% {
        opacity: 1;
        transform: rotate(-35deg) translateX(0);
    }
    100% {
        opacity: 0;
        transform: rotate(-35deg) translateX(200px);
    }
}

/* ── Lightning Flash ───────────────────────────────────────────── */
/* Quick triple-flash effect */

@keyframes gf-lightning-flash {
    0%   { opacity: 0; }
    10%  { opacity: 0.8; }
    20%  { opacity: 0.1; }
    30%  { opacity: 0.6; }
    40%  { opacity: 0; }
    50%  { opacity: 0.4; }
    60%  { opacity: 0; }
    100% { opacity: 0; }
}

/* ── Popup Slide-Up ────────────────────────────────────────────── */
/* Slides in from below the viewport */

@keyframes gf-popup-slide {
    0% {
        transform: translateY(100%);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

/* ── Nugget Float ──────────────────────────────────────────────── */
/* Gold text floats upward and fades */

@keyframes gf-nugget-float {
    0% {
        transform: translateY(0);
        opacity: 1;
    }
    100% {
        transform: translateY(-80px);
        opacity: 0;
    }
}

/* ── Slot Machine Reel Spin ────────────────────────────────────── */
/* Continuous vertical scroll for reel illusion */

@keyframes gf-spin-reel {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-300px);
    }
}

/* ── Bounce (mule / interactive elements) ──────────────────────── */

@keyframes gf-bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-12px);
    }
}

/* ── Glow Pulse (golden tumbleweed) ────────────────────────────── */

@keyframes gf-glow-pulse {
    0%, 100% {
        filter: drop-shadow(0 0 8px #D4A843) drop-shadow(0 0 3px #FFD700);
    }
    50% {
        filter: drop-shadow(0 0 18px #D4A843) drop-shadow(0 0 8px #FFD700);
    }
}

/* Apply glow pulse to golden tumbleweeds */
.gf-tumbleweed-golden {
    animation: gf-tumbleweed-roll 10s linear forwards, gf-glow-pulse 1s ease-in-out infinite;
}

/* ── Wanted Stamp ──────────────────────────────────────────────── */
/* Dramatic stamp-down effect for WANTED header */

@keyframes gf-wanted-stamp {
    0% {
        transform: scale(3) rotate(-10deg);
        opacity: 0;
    }
    60% {
        transform: scale(0.9) rotate(2deg);
        opacity: 1;
    }
    80% {
        transform: scale(1.05) rotate(-1deg);
    }
    100% {
        transform: scale(1) rotate(0deg);
        opacity: 1;
    }
}
