/* ==========================================
   动画效果模块 - Animations
   包含：各种动画效果和关键帧
   ========================================== */

/* 基础动画 */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInFromLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}

/* 上传成功脉冲动画 */
@keyframes successPulse {
    0% {
        transform: scale(1);
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    }
    25% {
        transform: scale(1.03);
        box-shadow: 0 15px 35px rgba(76, 175, 80, 0.4);
    }
    50% {
        transform: scale(1);
        box-shadow: 0 10px 25px rgba(76, 175, 80, 0.2);
    }
    75% {
        transform: scale(1.02);
        box-shadow: 0 12px 30px rgba(76, 175, 80, 0.3);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    }
}

@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

/* 粘贴成功动画 */
@keyframes pasteSuccess {
    0% {
        transform: scale(1) rotate(0deg);
    }
    50% {
        transform: scale(1.3) rotate(5deg);
    }
    100% {
        transform: scale(1) rotate(0deg);
    }
}

/* 文件项闪光动画 */
@keyframes itemShine {
    0% {
        left: -100%;
    }
    100% {
        left: 100%;
    }
}

/* 现代化文件项目动画已移除 - 现在使用 autoAnimate 库处理 */

/* 进度条闪光动画 */
@keyframes progressShine {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

/* 模态框滑入动画 */
@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: scale(0.9) translateY(-20px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* 淡入动画 */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 格式内容淡入动画 */
.format-content {
    animation: fadeIn 0.3s ease;
}

/* 减少动画模式支持 */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

