/* 浮动动画 */
@keyframes float {
    0% {
        transform: translate(0, 0);
    }
    50% {
        transform: translate(50px, 50px);
    }
    100% {
        transform: translate(0, 0);
    }
}

/* 扫描线动画 */
@keyframes scan {
    0% {
        transform: translateY(-100%);
    }
    100% {
        transform: translateY(100%);
    }
}

/* 霓虹闪烁 */
@keyframes neon-flicker {
    0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% {
        text-shadow:
            0 0 5px #fff44f,
            0 0 10px #fff44f,
            0 0 20px #fff44f,
            0 0 40px #ff2a6d,
            0 0 80px #ff2a6d,
            0 0 90px #ff2a6d,
            0 0 100px #ff2a6d,
            0 0 150px #ff2a6d;
    }
    20%, 24%, 55% {
        text-shadow: none;
    }
}

.neon-flicker {
    animation: neon-flicker 1.5s infinite alternate;
}

/* 边框动画 */
@keyframes border-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 244, 79, 0.7);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(255, 244, 79, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(255, 244, 79, 0);
    }
}

.border-pulse {
    animation: border-pulse 2s infinite;
}

/* 加载动画 */
@keyframes loading-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.loading-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid rgba(255, 244, 79, 0.3);
    border-top: 4px solid #fff44f;
    border-radius: 50%;
    animation: loading-spin 1s linear infinite;
}