.flow-motion{--fl-loop:3s;width:48px;height:34px;color:var(--foreground);flex:none;overflow:visible}.flow-motion[data-state=generating]{--fl-loop:2.4s}.flow-motion[data-state=loading]{--fl-loop:1.8s}.flow-motion[data-state=refining]{--fl-loop:2.8s}.flow-motion .fl-scene{animation:fl-scene var(--fl-loop) linear infinite}@keyframes fl-scene{0%,90%{opacity:1}97%,to{opacity:0}}.flow-motion .fl-edge-bg{stroke:color-mix(in oklch, currentColor 26%, transparent);opacity:0}.flow-motion .fl-ebg1{animation:fl-track-e1 var(--fl-loop) ease-out infinite}.flow-motion .fl-ebg2{animation:fl-track-e2 var(--fl-loop) ease-out infinite}.flow-motion .fl-ebg3{animation:fl-track-e3 var(--fl-loop) ease-out infinite}.flow-motion .fl-edge-draw{stroke:currentColor;stroke-dasharray:1;stroke-dashoffset:1px;opacity:0}.flow-motion .fl-e1{animation:fl-draw-e1 var(--fl-loop) ease-in-out infinite}.flow-motion .fl-e2{animation:fl-draw-e2 var(--fl-loop) ease-in-out infinite}.flow-motion .fl-e3{animation:fl-draw-e3 var(--fl-loop) ease-in-out infinite}@keyframes fl-track-e1{0%,8%{opacity:0}13%,to{opacity:1}}@keyframes fl-track-e2{0%,23%{opacity:0}28%,to{opacity:1}}@keyframes fl-track-e3{0%,38%{opacity:0}43%,to{opacity:1}}@keyframes fl-draw-e1{0%,9%{stroke-dashoffset:1px;opacity:0}11%{opacity:.95}19%,to{stroke-dashoffset:0;opacity:.95}}@keyframes fl-draw-e2{0%,24%{stroke-dashoffset:1px;opacity:0}26%{opacity:.95}34%,to{stroke-dashoffset:0;opacity:.95}}@keyframes fl-draw-e3{0%,39%{stroke-dashoffset:1px;opacity:0}41%{opacity:.95}49%,to{stroke-dashoffset:0;opacity:.95}}.flow-motion .fl-node{transform-box:fill-box;transform-origin:50%;opacity:0}.flow-motion .fl-n1{animation:fl-node-n1 var(--fl-loop) ease-out infinite}.flow-motion .fl-n2{animation:fl-node-n2 var(--fl-loop) ease-out infinite}.flow-motion .fl-n3{animation:fl-node-n3 var(--fl-loop) ease-out infinite}.flow-motion .fl-n4{animation:fl-node-n4 var(--fl-loop) ease-out infinite}@keyframes fl-node-n1{0%,4%{opacity:0;transform:scale(.6)}9%,to{opacity:1;transform:scale(1)}}@keyframes fl-node-n2{0%,19%{opacity:0;transform:scale(.6)}24%,to{opacity:1;transform:scale(1)}}@keyframes fl-node-n3{0%,34%{opacity:0;transform:scale(.6)}39%,to{opacity:1;transform:scale(1)}}@keyframes fl-node-n4{0%,49%{opacity:0;transform:scale(.6)}55%,to{opacity:1;transform:scale(1)}}.flow-motion .fl-dot{fill:color-mix(in oklch, currentColor 42%, transparent);stroke:color-mix(in oklch, currentColor 62%, transparent);stroke-width:1px}.flow-motion .fl-ring{fill:none;stroke:color-mix(in oklch, currentColor 62%, transparent);stroke-width:1.4px}.flow-motion .fl-halo{fill:currentColor;opacity:0}.flow-motion .fl-n1 .fl-dot{animation:fl-dot-n1 var(--fl-loop) ease-out infinite}.flow-motion .fl-n2 .fl-dot{animation:fl-dot-n2 var(--fl-loop) ease-out infinite}.flow-motion .fl-n3 .fl-dot{animation:fl-dot-n3 var(--fl-loop) ease-out infinite}.flow-motion .fl-n4 .fl-dot{animation:fl-dot-n4 var(--fl-loop) ease-out infinite}@keyframes fl-dot-n1{0%,4%{fill:color-mix(in oklch, currentColor 42%, transparent)}9%,to{fill:currentColor}}@keyframes fl-dot-n2{0%,19%{fill:color-mix(in oklch, currentColor 42%, transparent)}24%,to{fill:currentColor}}@keyframes fl-dot-n3{0%,34%{fill:color-mix(in oklch, currentColor 42%, transparent)}39%,to{fill:currentColor}}@keyframes fl-dot-n4{0%,49%{fill:color-mix(in oklch, currentColor 42%, transparent)}55%,to{fill:currentColor}}.flow-motion .fl-n1 .fl-halo{animation:fl-halo-n1 var(--fl-loop) ease-in-out infinite}.flow-motion .fl-n2 .fl-halo{animation:fl-halo-n2 var(--fl-loop) ease-in-out infinite}.flow-motion .fl-n3 .fl-halo{animation:fl-halo-n3 var(--fl-loop) ease-in-out infinite}.flow-motion .fl-n4 .fl-halo{animation:fl-halo-n4 var(--fl-loop) ease-in-out infinite}@keyframes fl-halo-n1{0%,4%{opacity:0}10%,16%{opacity:.3}26%,to{opacity:.08}}@keyframes fl-halo-n2{0%,19%{opacity:0}25%,31%{opacity:.3}41%,to{opacity:.08}}@keyframes fl-halo-n3{0%,34%{opacity:0}40%,46%{opacity:.3}56%,to{opacity:.08}}@keyframes fl-halo-n4{0%,49%{opacity:0}55%,60%{opacity:.22}68%,72%{opacity:.08}80%{opacity:.5}88%,to{opacity:.12}}.flow-motion .fl-pulse{fill:currentColor;opacity:0}.flow-motion .fl-p-trunk{animation:fl-signal var(--fl-loop) linear infinite}.flow-motion .fl-p-trunk2{display:none}@keyframes fl-signal{0%,56%{opacity:0;transform:translate(0)}58%{opacity:.95}78%{opacity:.95;transform:translate(42px)}84%,to{opacity:0;transform:translate(42px)}}@keyframes fl-signal-trail{0%,62%{opacity:0;transform:translate(0)}64%{opacity:.5}82%{opacity:.5;transform:translate(42px)}87%,to{opacity:0;transform:translate(42px)}}.flow-motion[data-state=initializing] .fl-p-trunk,.flow-motion[data-state=initializing] .fl-p-trunk2{display:none}.flow-motion[data-state=generating] .fl-p-trunk2{animation:fl-signal-trail var(--fl-loop) linear infinite;display:block}.flow-motion[data-state=refining] .fl-scene,.flow-motion[data-state=refining] .fl-edge-bg{opacity:1;animation:none}.flow-motion[data-state=refining] .fl-edge-draw{display:none}.flow-motion[data-state=refining] .fl-node{opacity:1;animation:none;transform:none}.flow-motion[data-state=refining] .fl-dot{fill:currentColor;animation:none}.flow-motion[data-state=refining] .fl-pulse{display:none}.flow-motion[data-state=refining] .fl-halo{opacity:.08;animation:fl-validate var(--fl-loop) ease-in-out infinite}.flow-motion[data-state=refining] .fl-n1 .fl-halo{animation-delay:0s}.flow-motion[data-state=refining] .fl-n2 .fl-halo{animation-delay:.4s}.flow-motion[data-state=refining] .fl-n3 .fl-halo{animation-delay:.8s}.flow-motion[data-state=refining] .fl-n4 .fl-halo{animation-delay:1.2s}@keyframes fl-validate{0%,to{opacity:.08}12%,28%{opacity:.34}44%,90%{opacity:.08}}@media (prefers-reduced-motion:reduce){.flow-motion .fl-scene,.flow-motion .fl-edge-bg,.flow-motion .fl-edge-draw,.flow-motion .fl-node,.flow-motion .fl-node .fl-dot,.flow-motion .fl-node .fl-halo{opacity:1;animation:none;transform:none}.flow-motion .fl-edge-draw{display:none}.flow-motion .fl-node .fl-halo{opacity:.1}.flow-motion .fl-node .fl-dot{fill:currentColor}.flow-motion .fl-pulse,.flow-motion[data-state] .fl-pulse{animation:none;display:none}}
