.seasonal-particle{display:none;position:absolute;z-index:3;top:-8%;left:var(--particle-x);width:var(--particle-size);height:var(--particle-size);pointer-events:none;will-change:transform,opacity}
[data-season="halloween"] .living-city::after{content:"";position:absolute;inset:42% -25% 0;background:linear-gradient(180deg,transparent,rgba(175,136,196,.12),rgba(62,38,82,.2),transparent);filter:blur(14px);animation:halloweenMist 13s ease-in-out infinite alternate}
[data-season="halloween"] .seasonal-particle{display:block;width:calc(var(--particle-size) * 1.7);height:calc(var(--particle-size) * .72);border-radius:80% 15% 75% 20%;background:linear-gradient(135deg,#f8a348,#9c3f32);box-shadow:0 0 3px rgba(255,141,58,.3);animation:autumnFall var(--particle-duration) linear var(--particle-delay) infinite}
[data-season="halloween"] .bird{color:#120d2199;text-shadow:12px 2px #120d2188}
[data-season="winter"] .seasonal-particle,[data-season="christmas"] .seasonal-particle{display:block;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 0 4px rgba(210,235,255,.85);animation:snowFall var(--particle-duration) linear var(--particle-delay) infinite}
[data-season="winter"] .cloud,[data-season="christmas"] .cloud{background:rgba(225,237,250,.55);opacity:.3}
[data-season="christmas"] .glow{animation-duration:1.9s;box-shadow:0 0 10px 3px #ffd873}
[data-season="christmas"] .spark{animation-duration:2.2s}
@keyframes snowFall{0%{transform:translate3d(0,-12px,0);opacity:0}12%{opacity:.9}100%{transform:translate3d(var(--particle-drift),620px,0) rotate(200deg);opacity:.15}}
@keyframes autumnFall{0%{transform:translate3d(0,-15px,0) rotate(0deg);opacity:0}10%{opacity:.9}55%{transform:translate3d(var(--particle-drift),290px,0) rotate(240deg)}100%{transform:translate3d(calc(var(--particle-drift) * -.7),620px,0) rotate(620deg);opacity:.08}}
@keyframes halloweenMist{from{transform:translateX(-7%) scaleY(.85);opacity:.45}to{transform:translateX(7%) scaleY(1.08);opacity:.82}}
@media(prefers-reduced-motion:reduce){.seasonal-particle,.living-city::after{display:none!important}}
