.bf{--bf-px:0;--bf-py:0;flex-shrink:0;display:inline-block;overflow:visible}.bf-jump,.bf-all,.bf-wing,.bf-antenna,.bf-body,.bf-eyes,.bf-gaze,.bf-shadow{transform-box:fill-box}.bf-jump,.bf-all,.bf-body{transform-origin:50% 100%}.bf-shadow,.bf-eyes,.bf-gaze{transform-origin:50%}.bf-wl{transform-origin:100%}.bf-wr{transform-origin:0%}.bf-al{transform-origin:100% 100%}.bf-ar{transform-origin:0 100%}.bf-gaze{transform:translate(calc(var(--bf-px) * 1px), calc(var(--bf-py) * 1px));transition:transform .18s ease-out}.bf-eyes{animation:bf-blink var(--bf-blink,5s) ease-in-out var(--bf-delay,0s) infinite}.bf[data-state=blocked] .bf-wr,.bf[data-state=error] .bf-wr,.bf[data-state=sleeping] .bf-wr{transform:rotate(26deg)}.bf[data-state=blocked] .bf-wl,.bf[data-state=error] .bf-wl,.bf[data-state=sleeping] .bf-wl{transform:rotate(-26deg)}.bf[data-state=sleeping] .bf-all{transform:translateY(3px)scale(1.02,.97)}.bf[data-state=listening] .bf-all{transform:rotate(-4deg)}.bf[data-state=needs-you] .bf-wr{transform:rotate(-14deg)}@media (prefers-reduced-motion:no-preference){.bf[data-state=idle] .bf-wr{animation:bf-flap-r 3.8s ease-in-out var(--bf-phase,0s) infinite}.bf[data-state=idle] .bf-wl{animation:bf-flap-l 3.8s ease-in-out var(--bf-phase,0s) infinite}.bf[data-state=idle] .bf-all{animation:bf-float 4.6s ease-in-out var(--bf-phase,0s) infinite}.bf[data-state=idle] .bf-jump{animation:bf-idle-hop 9s ease-in-out var(--bf-delay,0s) infinite}.bf[data-state=idle] .bf-gaze,.bf[data-state=listening] .bf-gaze{animation:bf-look 7s ease-in-out var(--bf-delay,0s) infinite}.bf[data-state=idle] .bf-antenna{animation:bf-wig-r 5s ease-in-out var(--bf-phase,0s) infinite}.bf[data-state=listening] .bf-wing{animation:2.6s ease-in-out infinite bf-flap-r}.bf[data-state=listening] .bf-wl{animation-name:bf-flap-l}.bf[data-state=thinking] .bf-wr{animation:2.8s ease-in-out infinite bf-flap-r}.bf[data-state=thinking] .bf-wl{animation:3.2s ease-in-out .4s infinite bf-flap-l}.bf[data-state=thinking] .bf-all{animation:3.6s ease-in-out infinite bf-tilt}.bf[data-state=thinking] .bf-ar{animation:3s ease-in-out infinite bf-wig-r}.bf[data-state=working] .bf-jump,.bf[data-state=vm] .bf-jump{animation:1.15s ease-in-out infinite bf-work-hop}.bf[data-state=working] .bf-wr,.bf[data-state=vm] .bf-wr{animation:.4s ease-in-out infinite bf-flap-r}.bf[data-state=working] .bf-wl,.bf[data-state=vm] .bf-wl{animation:.4s ease-in-out infinite bf-flap-l}.bf[data-state=working] .bf-antenna,.bf[data-state=vm] .bf-antenna{animation:.6s ease-in-out infinite bf-wig-r}.bf[data-state=browsing] .bf-wr{animation:.9s ease-in-out infinite bf-flap-r}.bf[data-state=browsing] .bf-wl{animation:.9s ease-in-out infinite bf-flap-l}.bf[data-state=browsing] .bf-all{animation:2.4s ease-in-out infinite bf-sway}.bf[data-state=browsing] .bf-gaze{animation:3s ease-in-out infinite bf-look}.bf[data-state=executing] .bf-wr{animation:.3s ease-in-out infinite bf-flap-r}.bf[data-state=executing] .bf-wl{animation:.3s ease-in-out infinite bf-flap-l}.bf[data-state=executing] .bf-jump{animation:.7s ease-in-out infinite bf-work-hop}.bf[data-state=success] .bf-jump,.bf[data-state=excited] .bf-jump{animation:.9s ease-out infinite bf-hop}.bf[data-state=success] .bf-jump{animation-iteration-count:2}.bf[data-state=success] .bf-wr,.bf[data-state=excited] .bf-wr{animation:.34s ease-in-out infinite bf-flap-r}.bf[data-state=success] .bf-wl,.bf[data-state=excited] .bf-wl{animation:.34s ease-in-out infinite bf-flap-l}.bf[data-state=needs-you] .bf-wr{animation:1.2s ease-in-out infinite bf-wave}.bf[data-state=needs-you] .bf-jump{animation:2.4s ease-in-out infinite bf-nudge}.bf[data-state=speaking] .bf-wr{animation:1.2s ease-in-out infinite bf-flap-r}.bf[data-state=speaking] .bf-wl{animation:1.2s ease-in-out infinite bf-flap-l}.bf[data-state=speaking] .bf-body{animation:.5s ease-in-out infinite bf-talk}.bf[data-state=error] .bf-all{animation:.5s ease-in-out bf-shake}.bf[data-state=blocked] .bf-body{animation:4s ease-in-out infinite bf-breathe}.bf[data-state=sleeping] .bf-body{animation:4.8s ease-in-out infinite bf-breathe}.bf[data-state=speaking] .bf-al,.bf[data-state=browsing] .bf-al,.bf[data-state=working] .bf-al,.bf[data-state=vm] .bf-al,.bf[data-state=idle] .bf-al{animation-name:bf-wig-l}.bf[data-state=working] .bf-ar,.bf[data-state=vm] .bf-ar,.bf[data-state=speaking] .bf-ar,.bf[data-state=browsing] .bf-ar{animation-delay:.15s}.bf.bf-clicked .bf-jump{animation:.75s cubic-bezier(.3,.7,.4,1) bf-click-hop}.bf-shadow{animation:none}}@media (prefers-reduced-motion:reduce){.bf-eyes,.bf-gaze{animation:none}}@keyframes bf-blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.08)}}@keyframes bf-look{0%,8%,to{transform:translate(0)}22%,38%{transform:translate(-2.2px,-.6px)}54%,70%{transform:translate(2.2px,.4px)}84%{transform:translateY(1px)}}@keyframes bf-flap-r{0%,to{transform:rotate(-6deg)}50%{transform:rotate(10deg)}}@keyframes bf-flap-l{0%,to{transform:rotate(6deg)}50%{transform:rotate(-10deg)}}@keyframes bf-float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes bf-idle-hop{0%,84%,to{transform:translateY(0)scale(1)}88%{transform:translateY(0)scale(1.08,.88)}93%{transform:translateY(-12px)scale(.94,1.08)}97%{transform:translateY(0)scale(1.1,.86)}}@keyframes bf-work-hop{0%,to{transform:translateY(0)scale(1.05,.93)}40%{transform:translateY(-7px)scale(.96,1.06)}70%{transform:translateY(0)scale(1.06,.92)}}@keyframes bf-hop{0%,to{transform:translateY(0)scale(1.08,.88)}35%{transform:translateY(-11px)scale(.93,1.1)}60%{transform:translateY(0)scale(1.1,.86)}78%{transform:translateY(-3px)scale(1)}}@keyframes bf-click-hop{0%{transform:translateY(0)scale(1.12,.84)}35%{transform:translateY(-14px)rotate(-8deg)scale(.92,1.12)}65%{transform:translateY(0)rotate(0)scale(1.12,.84)}to{transform:translateY(0)scale(1)}}@keyframes bf-tilt{0%,to{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}@keyframes bf-sway{0%,to{transform:translate(-2px)rotate(-3deg)}50%{transform:translate(2px)rotate(3deg)}}@keyframes bf-wave{0%,to{transform:rotate(-14deg)}50%{transform:rotate(-34deg)}}@keyframes bf-nudge{0%,80%,to{transform:translateY(0)}88%{transform:translateY(-6px)}94%{transform:translateY(0)}}@keyframes bf-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@keyframes bf-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03,1.05)}}@keyframes bf-talk{0%,to{transform:scale(1)}50%{transform:scale(1.02,.97)}}@keyframes bf-wig-l{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes bf-wig-r{0%,to{transform:rotate(8deg)}50%{transform:rotate(-8deg)}}
