/* ==========================================
   AOS (Animate On Scroll) 动画库样式
   ========================================== */

[data-aos] {
    opacity: 0;
    transition-property: transform, opacity;
}

[data-aos].aos-animate {
    opacity: 1;
}

/* Fade animations */
[data-aos="fade"] {
    opacity: 0;
    transition-property: opacity;
}

[data-aos="fade"].aos-animate {
    opacity: 1;
}

[data-aos="fade-up"] {
    transform: translate3d(0, 50px, 0);
}

[data-aos="fade-up"].aos-animate {
    transform: translate3d(0, 0, 0);
}

[data-aos="fade-down"] {
    transform: translate3d(0, -50px, 0);
}

[data-aos="fade-down"].aos-animate {
    transform: translate3d(0, 0, 0);
}

[data-aos="fade-left"] {
    transform: translate3d(50px, 0, 0);
}

[data-aos="fade-left"].aos-animate {
    transform: translate3d(0, 0, 0);
}

[data-aos="fade-right"] {
    transform: translate3d(-50px, 0, 0);
}

[data-aos="fade-right"].aos-animate {
    transform: translate3d(0, 0, 0);
}

/* Zoom animations */
[data-aos="zoom-in"] {
    transform: scale(0.6);
}

[data-aos="zoom-in"].aos-animate {
    transform: scale(1);
}

[data-aos="zoom-out"] {
    transform: scale(1.2);
}

[data-aos="zoom-out"].aos-animate {
    transform: scale(1);
}

/* Flip animations */
[data-aos="flip-left"] {
    transform: perspective(2500px) rotateY(-100deg);
}

[data-aos="flip-left"].aos-animate {
    transform: perspective(2500px) rotateY(0);
}

[data-aos="flip-right"] {
    transform: perspective(2500px) rotateY(100deg);
}

[data-aos="flip-right"].aos-animate {
    transform: perspective(2500px) rotateY(0);
}

/* Slide animations */
[data-aos="slide-up"] {
    transform: translateY(100%);
}

[data-aos="slide-up"].aos-animate {
    transform: translateY(0);
}

[data-aos="slide-down"] {
    transform: translateY(-100%);
}

[data-aos="slide-down"].aos-animate {
    transform: translateY(0);
}

/* Duration settings */
[data-aos][data-aos-duration="50"], body[data-aos-duration="50"] [data-aos] {
    transition-duration: 50ms;
}

[data-aos][data-aos-duration="100"], body[data-aos-duration="100"] [data-aos] {
    transition-duration: 100ms;
}

[data-aos][data-aos-duration="150"], body[data-aos-duration="150"] [data-aos] {
    transition-duration: 150ms;
}

[data-aos][data-aos-duration="200"], body[data-aos-duration="200"] [data-aos] {
    transition-duration: 200ms;
}

[data-aos][data-aos-duration="250"], body[data-aos-duration="250"] [data-aos] {
    transition-duration: 250ms;
}

[data-aos][data-aos-duration="300"], body[data-aos-duration="300"] [data-aos] {
    transition-duration: 300ms;
}

[data-aos][data-aos-duration="350"], body[data-aos-duration="350"] [data-aos] {
    transition-duration: 350ms;
}

[data-aos][data-aos-duration="400"], body[data-aos-duration="400"] [data-aos] {
    transition-duration: 400ms;
}

[data-aos][data-aos-duration="450"], body[data-aos-duration="450"] [data-aos] {
    transition-duration: 450ms;
}

[data-aos][data-aos-duration="500"], body[data-aos-duration="500"] [data-aos] {
    transition-duration: 500ms;
}

[data-aos][data-aos-duration="600"], body[data-aos-duration="600"] [data-aos] {
    transition-duration: 600ms;
}

[data-aos][data-aos-duration="700"], body[data-aos-duration="700"] [data-aos] {
    transition-duration: 700ms;
}

[data-aos][data-aos-duration="800"], body[data-aos-duration="800"] [data-aos] {
    transition-duration: 800ms;
}

[data-aos][data-aos-duration="900"], body[data-aos-duration="900"] [data-aos] {
    transition-duration: 900ms;
}

[data-aos][data-aos-duration="1000"], body[data-aos-duration="1000"] [data-aos] {
    transition-duration: 1000ms;
}

/* Delay settings */
[data-aos][data-aos-delay="50"], body[data-aos-delay="50"] [data-aos] {
    transition-delay: 0;
}

[data-aos][data-aos-delay="50"].aos-animate, body[data-aos-delay="50"] [data-aos].aos-animate {
    transition-delay: 50ms;
}

[data-aos][data-aos-delay="100"], body[data-aos-delay="100"] [data-aos] {
    transition-delay: 0;
}

[data-aos][data-aos-delay="100"].aos-animate, body[data-aos-delay="100"] [data-aos].aos-animate {
    transition-delay: 100ms;
}

[data-aos][data-aos-delay="150"], body[data-aos-delay="150"] [data-aos] {
    transition-delay: 0;
}

[data-aos][data-aos-delay="150"].aos-animate, body[data-aos-delay="150"] [data-aos].aos-animate {
    transition-delay: 150ms;
}

[data-aos][data-aos-delay="200"], body[data-aos-delay="200"] [data-aos] {
    transition-delay: 0;
}

[data-aos][data-aos-delay="200"].aos-animate, body[data-aos-delay="200"] [data-aos].aos-animate {
    transition-delay: 200ms;
}

[data-aos][data-aos-delay="300"], body[data-aos-delay="300"] [data-aos] {
    transition-delay: 0;
}

[data-aos][data-aos-delay="300"].aos-animate, body[data-aos-delay="300"] [data-aos].aos-animate {
    transition-delay: 300ms;
}

[data-aos][data-aos-delay="400"], body[data-aos-delay="400"] [data-aos] {
    transition-delay: 0;
}

[data-aos][data-aos-delay="400"].aos-animate, body[data-aos-delay="400"] [data-aos].aos-animate {
    transition-delay: 400ms;
}

[data-aos][data-aos-delay="500"], body[data-aos-delay="500"] [data-aos] {
    transition-delay: 0;
}

[data-aos][data-aos-delay="500"].aos-animate, body[data-aos-delay="500"] [data-aos].aos-animate {
    transition-delay: 500ms;
}

[data-aos][data-aos-delay="600"], body[data-aos-delay="600"] [data-aos] {
    transition-delay: 0;
}

[data-aos][data-aos-delay="600"].aos-animate, body[data-aos-delay="600"] [data-aos].aos-animate {
    transition-delay: 600ms;
}

[data-aos][data-aos-delay="700"], body[data-aos-delay="700"] [data-aos] {
    transition-delay: 0;
}

[data-aos][data-aos-delay="700"].aos-animate, body[data-aos-delay="700"] [data-aos].aos-animate {
    transition-delay: 700ms;
}

[data-aos][data-aos-delay="800"], body[data-aos-delay="800"] [data-aos] {
    transition-delay: 0;
}

[data-aos][data-aos-delay="800"].aos-animate, body[data-aos-delay="800"] [data-aos].aos-animate {
    transition-delay: 800ms;
}

[data-aos][data-aos-delay="900"], body[data-aos-delay="900"] [data-aos] {
    transition-delay: 0;
}

[data-aos][data-aos-delay="900"].aos-animate, body[data-aos-delay="900"] [data-aos].aos-animate {
    transition-delay: 900ms;
}

[data-aos][data-aos-delay="1000"], body[data-aos-delay="1000"] [data-aos] {
    transition-delay: 0;
}

[data-aos][data-aos-delay="1000"].aos-animate, body[data-aos-delay="1000"] [data-aos].aos-animate {
    transition-delay: 1000ms;
}

/* Easing settings */
[data-aos][data-aos-easing="linear"], body[data-aos-easing="linear"] [data-aos] {
    transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
}

[data-aos][data-aos-easing="ease"], body[data-aos-easing="ease"] [data-aos] {
    transition-timing-function: ease;
}

[data-aos][data-aos-easing="ease-in"], body[data-aos-easing="ease-in"] [data-aos] {
    transition-timing-function: ease-in;
}

[data-aos][data-aos-easing="ease-out"], body[data-aos-easing="ease-out"] [data-aos] {
    transition-timing-function: ease-out;
}

[data-aos][data-aos-easing="ease-in-out"], body[data-aos-easing="ease-in-out"] [data-aos] {
    transition-timing-function: ease-in-out;
}

