.dots-wave-fill{isolation:isolate;background:radial-gradient(circle, color-mix(in srgb, var(--foreground) 10%, transparent) 1.2px, transparent 1.8px) 0 0 / 14px 14px, radial-gradient(circle at 20% 25%, color-mix(in srgb, var(--primary-lighter) 50%, transparent), transparent 55%), radial-gradient(circle at 80% 30%, color-mix(in srgb, var(--ai-accent-border) 55%, transparent), transparent 60%), radial-gradient(circle at 60% 85%, color-mix(in srgb, var(--ai-gradient-to) 18%, transparent), transparent 60%), var(--muted);position:absolute;inset:0;overflow:hidden}.dots-wave-overlay{isolation:isolate;-webkit-backdrop-filter:blur(3px)saturate(.85);backdrop-filter:blur(3px)saturate(.85);background:radial-gradient(circle, color-mix(in srgb, var(--foreground) 28%, transparent) 1.2px, transparent 1.8px) 0 0 / 14px 14px, color-mix(in srgb, var(--foreground) 12%, transparent);position:absolute;inset:0;overflow:hidden}.dots-wave-mask{position:absolute;inset:0;overflow:hidden;-webkit-mask:radial-gradient(circle,#000 1.2px,#0000 1.8px) 0 0/14px 14px;mask:radial-gradient(circle,#000 1.2px,#0000 1.8px) 0 0/14px 14px}.dots-wave-pulse{opacity:0;will-change:transform, opacity;background:radial-gradient(circle, transparent 0%, color-mix(in srgb, var(--foreground) 3%, transparent) 18%, color-mix(in srgb, var(--foreground) 12%, transparent) 28%, color-mix(in srgb, var(--foreground) 32%, transparent) 38%, color-mix(in srgb, var(--foreground) 60%, transparent) 46%, color-mix(in srgb, var(--foreground) 82%, transparent) 50%, color-mix(in srgb, var(--foreground) 60%, transparent) 54%, color-mix(in srgb, var(--foreground) 32%, transparent) 62%, color-mix(in srgb, var(--foreground) 12%, transparent) 72%, color-mix(in srgb, var(--foreground) 3%, transparent) 82%, transparent 100%);border-radius:50%;width:56px;height:56px;margin-top:-28px;margin-left:-28px;animation:9s cubic-bezier(.22,.61,.36,1) infinite dots-wave-swell;position:absolute}.dots-wave-pulse--top{top:12%;left:50%}.dots-wave-pulse--bl{top:82%;left:15%}.dots-wave-pulse--br{top:82%;left:85%}@keyframes dots-wave-swell{0%{opacity:0;transform:scale(0)}8%{opacity:1}85%{opacity:.55}to{opacity:0;transform:scale(24)}}@media (prefers-reduced-motion:reduce){.dots-wave-pulse{animation:none}}
