@keyframes moveArrow {
    20% {
        transform: translate(-100%, 100%);
    }
    50% {
        transform: translate(0, 0);
    }
}

@keyframes right-arrow {
	0%, 100% {
        transform: translateX(0px);
      }
        40% {
        transform: translateX(6px);
      }
        60% {
        transform: translateX(0px);
      }
}

@keyframes float {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px); /* 上升 */
    }
    100% {
        transform: translateY(0); /* 回到原位 */
    }
}

@keyframes float-mb {
    0% {
        transform: translateY(0) translateX(-50%);
    }
    50% {
        transform: translateY(-10px) translateX(-50%); /* 上升 */
    }
    100% {
        transform: translateY(0) translateX(-50%); /* 回到原位 */
    }
}

@keyframes scale-up-down {
    0% {
        transform: scale(1);
    }
    10% {
        transform: scale(0.85);
    }
    20% {
        transform: scale(1.1);
    }
    40% {
        transform: scale(1);
    }
    100% {
        transform: scale(1);
    }
}

.arrow-animation {
    animation: moveArrow 1s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

.right-arrow-animation {
    animation: right-arrow 0.75s alternate infinite;
}

@keyframes swipe-left {
    0%, 60%, 100% {
        transform: translateX(0);
    }
    30% {
        transform: translateX(-6px);
    }
}

.swipe-left-animation {
    animation: swipe-left 1.5s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .swipe-left-animation {
        animation: none;
    }
}

.float-animation {
    animation: float 3s ease-in-out infinite;
}

.scale-animation {
    animation: scale-up-down 1.5s ease-in-out infinite;
}

@keyframes shine {
    0% {
        transform: translateX(-50%);
        background: linear-gradient(315deg, rgba(255,255,255,0) 40%, rgba(255, 255, 255, 0.4), rgba(255,255,255,0) 55%);
    }
    50%,100% {
        transform: translateX(60%);
        background: linear-gradient(315deg, rgba(255,255,255,0) 40%, rgba(255, 255, 255, 0.4), rgba(255,255,255,0) 55%);
    }
}

.shine-animation::after {
    content: '';
    position: absolute;
    inset: -20%;
    animation: shine 5s infinite;
    pointer-events: none;
}
