.small-particle {
    position: absolute;
    width: 2vw;
    height: 2vw;
    background: linear-gradient(45deg, rgba(255, 255, 255, 0.95), rgba(180, 220, 255, 0.85));
    border-radius: 50%;
    box-shadow: 
        0 0 3vw rgba(60, 160, 255, 0.8),
        0 0 1.2vw rgba(100, 200, 255, 0.6),
        0 0 0.8vw rgba(255, 255, 255, 1) inset;
    border: 0.15vw solid rgba(80, 180, 255, 0.7);
    opacity: 0;
    animation: smallExplode 1.5s linear forwards;
    animation-delay: 2.8s;
    z-index: 10;
    transform: translate(-50%, -50%);
}

/* 所有粒子定位、轨迹不变 */
/* 上粒子（美） */
.small-particle.p1-1 { top: calc(50% - 22vw); left: 50%; --rx: 0; --ry: -30vw; }
.small-particle.p1-2 { top: calc(50% - 22vw); left: 50%; --rx: 22vw; --ry: -22vw; }
.small-particle.p1-3 { top: calc(50% - 22vw); left: 50%; --rx: -22vw; --ry: -22vw; }
.small-particle.p1-4 { top: calc(50% - 22vw); left: 50%; --rx: 15vw; --ry: -15vw; }
.small-particle.p1-5 { top: calc(50% - 22vw); left: 50%; --rx: -15vw; --ry: -15vw; }
/* 右上粒子（好） */
.small-particle.p2-1 { top: calc(50% - 18vw); left: calc(50% + 18vw); --rx: 30vw; --ry: 0; }
.small-particle.p2-2 { top: calc(50% - 18vw); left: calc(50% + 18vw); --rx: 22vw; --ry: 22vw; }
.small-particle.p2-3 { top: calc(50% - 18vw); left: calc(50% + 18vw); --rx: 22vw; --ry: -22vw; }
.small-particle.p2-4 { top: calc(50% - 18vw); left: calc(50% + 18vw); --rx: 15vw; --ry: 15vw; }
.small-particle.p2-5 { top: calc(50% - 18vw); left: calc(50% + 18vw); --rx: 15vw; --ry: -15vw; }
/* 右粒子（生） */
.small-particle.p3-1 { top: 50%; left: calc(50% + 22vw); --rx: 30vw; --ry: 0; }
.small-particle.p3-2 { top: 50%; left: calc(50% + 22vw); --rx: 22vw; --ry: 22vw; }
.small-particle.p3-3 { top: 50%; left: calc(50% + 22vw); --rx: 22vw; --ry: -22vw; }
.small-particle.p3-4 { top: 50%; left: calc(50% + 22vw); --rx: 15vw; --ry: 15vw; }
.small-particle.p3-5 { top: 50%; left: calc(50% + 22vw); --rx: 15vw; --ry: -15vw; }
/* 右下粒子（活） */
.small-particle.p4-1 { top: calc(50% + 18vw); left: calc(50% + 18vw); --rx: 0; --ry: 30vw; }
.small-particle.p4-2 { top: calc(50% + 18vw); left: calc(50% + 18vw); --rx: 22vw; --ry: 22vw; }
.small-particle.p4-3 { top: calc(50% + 18vw); left: calc(50% + 18vw); --rx: -22vw; --ry: 22vw; }
.small-particle.p4-4 { top: calc(50% + 18vw); left: calc(50% + 18vw); --rx: 15vw; --ry: 15vw; }
.small-particle.p4-5 { top: calc(50% + 18vw); left: calc(50% + 18vw); --rx: -15vw; --ry: 15vw; }
/* 下粒子（如） */
.small-particle.p5-1 { top: calc(50% + 22vw); left: 50%; --rx: 0; --ry: 30vw; }
.small-particle.p5-2 { top: calc(50% + 22vw); left: 50%; --rx: 22vw; --ry: 22vw; }
.small-particle.p5-3 { top: calc(50% + 22vw); left: 50%; --rx: -22vw; --ry: 22vw; }
.small-particle.p5-4 { top: calc(50% + 22vw); left: 50%; --rx: 15vw; --ry: 15vw; }
.small-particle.p5-5 { top: calc(50% + 22vw); left: 50%; --rx: -15vw; --ry: 15vw; }
/* 左下粒子（期） */
.small-particle.p6-1 { top: calc(50% + 18vw); left: calc(50% - 18vw); --rx: -30vw; --ry: 0; }
.small-particle.p6-2 { top: calc(50% + 18vw); left: calc(50% - 18vw); --rx: -22vw; --ry: 22vw; }
.small-particle.p6-3 { top: calc(50% + 18vw); left: calc(50% - 18vw); --rx: -22vw; --ry: -22vw; }
.small-particle.p6-4 { top: calc(50% + 18vw); left: calc(50% - 18vw); --rx: -15vw; --ry: 15vw; }
.small-particle.p6-5 { top: calc(50% + 18vw); left: calc(50% - 18vw); --rx: -15vw; --ry: -15vw; }
/* 左粒子（而） */
.small-particle.p7-1 { top: 50%; left: calc(50% - 22vw); --rx: -30vw; --ry: 0; }
.small-particle.p7-2 { top: 50%; left: calc(50% - 22vw); --rx: -22vw; --ry: 22vw; }
.small-particle.p7-3 { top: 50%; left: calc(50% - 22vw); --rx: -22vw; --ry: -22vw; }
.small-particle.p7-4 { top: 50%; left: calc(50% - 22vw); --rx: -15vw; --ry: 15vw; }
.small-particle.p7-5 { top: 50%; left: calc(50% - 22vw); --rx: -15vw; --ry: -15vw; }
/* 左上粒子（至） */
.small-particle.p8-1 { top: calc(50% - 18vw); left: calc(50% - 18vw); --rx: -30vw; --ry: 0; }
.small-particle.p8-2 { top: calc(50% - 18vw); left: calc(50% - 18vw); --rx: -22vw; --ry: -22vw; }
.small-particle.p8-3 { top: calc(50% - 18vw); left: calc(50% - 18vw); --rx: -22vw; --ry: 22vw; }
.small-particle.p8-4 { top: calc(50% - 18vw); left: calc(50% - 18vw); --rx: -15vw; --ry: -15vw; }
.small-particle.p8-5 { top: calc(50% - 18vw); left: calc(50% - 18vw); --rx: -15vw; --ry: 15vw; }
/* 慢飞+闪灭：70%缓慢飞到终点，71%瞬间消失 */
@keyframes smallExplode {
    0% { opacity: 0; transform: translate(-50%, -50%) scale(0.5); }
    30% { opacity: 1; transform: translate(-50%, -50%) scale(1.3); } /* 快速炸开放大 */
    70% { opacity: 1; transform: translate(calc(-50% + var(--rx)), calc(-50% + var(--ry))) scale(1.1); } /* 缓慢飞到终点 */
    80% { opacity: 0; transform: translate(calc(-50% + var(--rx)), calc(-50% + var(--ry))) scale(0.9); } /* 10%时间缓和消散 */
    100% { opacity: 0; transform: translate(calc(-50% + var(--rx)), calc(-50% + var(--ry))) scale(0.8); } /* 彻底隐去 */
}
