/* 东方墨韵 — 动效：墨迹浮现 × 缓入缓出 */

[data-animate] {
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.25,0.1,0.25,1),
                transform 0.8s cubic-bezier(0.25,0.1,0.25,1);
}

[data-animate="fade-in"] { opacity: 0; }
[data-animate="slide-up"] { transform: translateY(32px); }
[data-animate="slide-left"] { transform: translateX(40px); }
[data-animate="slide-right"] { transform: translateX(-40px); }
[data-animate="ink-spread"] { transform: scale(0.92); filter: blur(4px); }

[data-animate].animated {
    opacity: 1;
    transform: none;
    filter: none;
}

@keyframes ink-drip {
    0% { clip-path: inset(0 0 100% 0); opacity: 0; }
    40% { opacity: 1; }
    100% { clip-path: inset(0 0 0 0); opacity: 1; }
}

@keyframes brush-stroke {
    0% { width: 0; }
    100% { width: 100%; }
}

@keyframes pulse-glow {
    0%,100% { box-shadow: 0 0 0 rgba(196,70,58,0); }
    50% { box-shadow: 0 0 24px rgba(196,70,58,0.15); }
}

@keyframes float-gentle {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

@keyframes ink-reveal {
    0% { opacity: 0; transform: translateY(20px); filter: blur(2px); }
    100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}

.animate-ink-reveal {
    animation: ink-reveal 0.7s cubic-bezier(0.25,0.1,0.25,1) forwards;
}

.stagger-1 { animation-delay: 0.1s; }
.stagger-2 { animation-delay: 0.2s; }
.stagger-3 { animation-delay: 0.3s; }
.stagger-4 { animation-delay: 0.4s; }
.stagger-5 { animation-delay: 0.5s; }
.stagger-6 { animation-delay: 0.6s; }
