@keyframes vf-wave{0%,to{transform:scaleY(.32)}50%{transform:scaleY(1)}}@keyframes vf-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.75)}}@keyframes vf-glow{0%,to{opacity:.5;transform:translate(0)scale(1)}50%{opacity:.85;transform:translate(5%,-4%)scale(1.12)}}@keyframes vf-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes vf-scan{0%{opacity:0;top:4px}12%{opacity:1}88%{opacity:1}to{opacity:0;top:calc(100% - 6px)}}@keyframes vf-blink{0%,to{opacity:1}50%{opacity:0}}.vf-wave-bar{transform-origin:bottom;animation:1s infinite vf-wave}.vf-pulse{animation:1.5s infinite vf-pulse}.vf-blink{animation:1s step-end infinite vf-blink}.vf-scan-line{animation:1.15s linear infinite vf-scan}.vf-glow{filter:blur(64px);pointer-events:none;z-index:0;border-radius:9999px;animation:10s ease-in-out infinite vf-glow;position:absolute}.vf-skel-bar{background:linear-gradient(90deg,var(--muted) 20%,color-mix(in oklch,var(--muted) 55%,var(--border)) 50%,var(--muted) 80%);background-size:200% 100%;border-radius:6px;animation:1.5s linear infinite vf-shimmer}@media(prefers-reduced-motion:reduce){.vf-wave-bar,.vf-pulse,.vf-blink,.vf-scan-line,.vf-glow,.vf-skel-bar{animation:none!important}}
