/* 淡入淡出 */
.fade-in {
    animation: fadeIn 0.5s ease-in forwards;
}

.fade-out {
    animation: fadeOut 0.5s ease-out forwards;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes fadeOut {
    from { opacity: 1; }
    to { opacity: 0; }
}

/* 脉冲效果 */
.pulse {
    animation: pulse 1.5s ease-in-out infinite;
}

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

/* 旋转 */
.rotate {
    animation: rotate 2s linear infinite;
}

@keyframes rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* 高亮闪烁 */
.highlight {
    animation: highlight 1.5s ease-in-out infinite;
}

@keyframes highlight {
    0%, 100% {
        box-shadow: 0 0 20px rgba(255, 215, 0, 0.8);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 0 40px rgba(255, 215, 0, 1);
        transform: scale(1.1);
    }
}
