/* ============================================================
 * 枫叶飘落 – 性能精简版（不动 HTML）
 * 仅保留 7 个径向渐变，大幅减少重绘负担
 * ============================================================ */

body::before,
body::after {
    content: '';
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 30;
    background-repeat: repeat;
    will-change: background-position; /* 提示浏览器优化（有限） */
}

/* ---------- 第一层：小密 → 减少为 4 个 ---------- */
body::before {
    background-image:
        radial-gradient(ellipse 4px 6px at  8% 12%, rgba(var(--primary-rgb), 0.7), transparent 70%),
        radial-gradient(ellipse 4px 6px at 41% 23%, rgba(var(--primary-rgb), 0.65), transparent 70%),
        radial-gradient(ellipse 4px 6px at 74% 31%, rgba(var(--secondary-rgb), 0.65), transparent 70%),
        radial-gradient(ellipse 4px 6px at 89% 82%, rgba(var(--primary-rgb), 0.6), transparent 70%);
    background-size: 100% 240px;          /* 高度缩减，减少垂直绘制范围 */
    animation: maple-fall-1 16s linear infinite; /* 放慢速度 */
}

/* ---------- 第二层：大疏 → 减少为 3 个 ---------- */
body::after {
    background-image:
        radial-gradient(ellipse 5px 9px at 18% 22%, rgba(var(--primary-rgb), 0.6), transparent 70%),
        radial-gradient(ellipse 5px 9px at 45% 55%, rgba(var(--secondary-rgb), 0.55), transparent 70%),
        radial-gradient(ellipse 5px 9px at 72% 18%, rgba(var(--primary-rgb), 0.55), transparent 70%);
    background-size: 100% 360px;
    animation: maple-fall-2 22s linear infinite;
}

/* ---------- 动画：X 方向轻微飘摆，Y 方向完整周期 ---------- */
@keyframes maple-fall-1 {
    from { background-position: 0 0, 0 0, 0 0, 0 0; }
    to   { background-position: -30px 240px, -30px 240px, -30px 240px, -30px 240px; }
}
@keyframes maple-fall-2 {
    from { background-position: 0 0, 0 0, 0 0; }
    to   { background-position: 20px 360px, 20px 360px, 20px 360px; }
}

/* ---------- 尊重“减弱动效”设置 ---------- */
@media (prefers-reduced-motion: reduce) {
    body::before,
    body::after {
        animation: none;
        opacity: 0.35;
    }
}