/* 樱花飘落效果 */
.sakura {
    position: absolute;
    top: -50px;
    z-index: -1;
    color: #ffb6c1;
    text-shadow: 0 0 5px rgba(255, 182, 193, 0.5);
    animation: fall linear forwards;
    user-select: none;
}

@keyframes fall {
    to {
        transform: translateY(105vh) rotate(360deg);
        opacity: 0;
    }
}

/* 动画定义 */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

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

/* 应用动画 */
header {
    animation: fadeInDown 1s ease-out;
}

.slogan {
    animation: fadeIn 1.5s ease-out;
}

nav {
    animation: fadeIn 1.8s ease-out;
}

.download-section {
    animation: fadeInUp 1s ease-out;
}

.section-title {
    animation: fadeIn 1s ease-out;
}

.server-card {
    animation: fadeInUp 1s ease-out;
}

.resource-card {
    animation: fadeIn 1s ease-out;
}

.about-card {
    animation: fadeInUp 1s ease-out;
}

.logo-image {
    animation: pulse 4s infinite;
}

.resource-icon i {
    animation: pulse 4s infinite;
}