#fairy-1{--dur:14s;--fairy-size:18px;--glow:#b9e6ff;--core:#fff;--trail:#c7f1ff;position:relative;width:100%;padding-top:56.25%}#fairy-1 .stage{position:absolute;inset:0;overflow:hidden;border-radius:14px;background:radial-gradient(120% 100% at 50% 80%,#060d1e 0%,#050916 60%,#030712 100%),radial-gradient(4px 4px at 12% 22%,#ffffff22 50%,transparent 55%),radial-gradient(3px 3px at 70% 30%,#ffffff1a 50%,transparent 55%),radial-gradient(2px 2px at 35% 65%,#ffffff1a 50%,transparent 55%),radial-gradient(2px 2px at 85% 72%,#ffffff14 50%,transparent 55%);box-shadow:inset 0 0 40px #00000080}#fairy-1 .fairy{position:absolute;left:6%;top:74%;width:var(--fairy-size);height:var(--fairy-size);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 40% 40%,var(--core) 0 35%,#ffe3f7 55%,transparent 60%);box-shadow:0 0 12px 6px var(--glow),0 0 28px 12px color-mix(in oklab,var(--glow) 70%,#7dd3fc 30%);animation:fairy-path var(--dur) linear infinite,pulse 2.7s ease-in-out infinite}#fairy-1 .fairy::before,#fairy-1 .fairy::after{content:"";position:absolute;inset:0;width:36px;height:18px;border-radius:60% 80% 55% 80% / 60% 70% 40% 60%;background:radial-gradient(circle at 30% 50%,#ffffffc0,#c9efff55 60%,transparent 70%);filter:blur(.4px);opacity:.9;transform-origin:center left;mix-blend-mode:screen}#fairy-1 .fairy::after{right:auto;left:0;transform-origin:center right}#fairy-1 .fairy::before{transform:translateX(8px) rotate(22deg);animation:flap 260ms cubic-bezier(.4,.05,.6,.95) infinite}#fairy-1 .fairy::after{transform:translateX(-8px) rotate(-22deg);animation:flap 260ms cubic-bezier(.4,.05,.6,.95) infinite reverse}#fairy-1 .trail span{position:absolute;left:6%;top:74%;width:10px;height:10px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,var(--trail) 0 40%,transparent 70%);filter:blur(0.6px);opacity:.85;animation:fairy-path var(--dur) linear infinite}#fairy-1 .trail span:nth-child(1){animation-delay:-.12s;opacity:.95;transform:translate(-50%,-50%) scale(.96);filter:blur(.4px)}#fairy-1 .trail span:nth-child(2){animation-delay:-.24s;opacity:.9;transform:translate(-50%,-50%) scale(.92);filter:blur(.5px)}#fairy-1 .trail span:nth-child(3){animation-delay:-.36s;opacity:.85;transform:translate(-50%,-50%) scale(.88);filter:blur(.6px)}#fairy-1 .trail span:nth-child(4){animation-delay:-.48s;opacity:.8;transform:translate(-50%,-50%) scale(.84);filter:blur(.8px)}#fairy-1 .trail span:nth-child(5){animation-delay:-.60s;opacity:.75;transform:translate(-50%,-50%) scale(.80);filter:blur(1px)}#fairy-1 .trail span:nth-child(6){animation-delay:-.72s;opacity:.7;transform:translate(-50%,-50%) scale(.76);filter:blur(1.2px)}#fairy-1 .trail span:nth-child(7){animation-delay:-.84s;opacity:.65;transform:translate(-50%,-50%) scale(.72);filter:blur(1.4px)}#fairy-1 .trail span:nth-child(8){animation-delay:-.96s;opacity:.6;transform:translate(-50%,-50%) scale(.68);filter:blur(1.6px)}#fairy-1 .trail span:nth-child(9){animation-delay:-1.08s;opacity:.55;transform:translate(-50%,-50%) scale(.64);filter:blur(1.8px)}#fairy-1 .trail span:nth-child(10){animation-delay:-1.20s;opacity:.5;transform:translate(-50%,-50%) scale(.60);filter:blur(2px)}#fairy-1 .trail span:nth-child(11){animation-delay:-1.32s;opacity:.45;transform:translate(-50%,-50%) scale(.56);filter:blur(2.2px)}#fairy-1 .trail span:nth-child(12){animation-delay:-1.44s;opacity:.4;transform:translate(-50%,-50%) scale(.52);filter:blur(2.4px)}@keyframes fairy-path{0%,100%{left:8%;top:78%}10%{left:25%;top:40%}20%{left:46%;top:18%}30%{left:72%;top:36%}40%{left:86%;top:58%}50%{left:68%;top:82%}60%{left:42%;top:62%}70%{left:24%;top:38%}80%{left:12%;top:24%}90%{left:32%;top:12%}}@keyframes flap{0%,100%{transform:translateX(8px) rotate(22deg) scaleY(.95)}50%{transform:translateX(8px) rotate(-10deg) scaleY(1.15)}}@keyframes pulse{0%,100%{box-shadow:0 0 10px 5px var(--glow),0 0 26px 12px color-mix(in oklab,var(--glow) 70%,#7dd3fc 30%)}50%{box-shadow:0 0 14px 7px var(--glow),0 0 34px 16px color-mix(in oklab,var(--glow) 70%,#7dd3fc 30%)}}@media (prefers-reduced-motion:reduce){#fairy-1 .fairy,#fairy-1 .trail span{animation:none}}