.axon-character{--gx:0;--gy:0}.axon-character .ax-lean{transform:translate(calc(var(--gx) * 7%), calc(var(--gy) * 5%)) rotate(calc(var(--gx) * 9deg));transform-origin:50% 90%;transition:transform .25s ease-out}.axon-character .ax-body{transform-origin:50% 90%;transition:filter .4s;animation:3.4s ease-in-out infinite ax-breathe}.axon-character .ax-fx{opacity:0;transition:opacity .25s}.axon-character .ax-fx *{transform-box:fill-box;transform-origin:50%}.axon-character[data-mood=curious] .ax-body{animation:.5s cubic-bezier(.3,1.5,.5,1) both ax-tilt}.axon-character[data-mood=curious] .ax-question{opacity:1;animation:.45s cubic-bezier(.3,1.6,.5,1) both ax-pop-in}.axon-character[data-mood=listening] .ax-body{animation:.8s ease-in-out infinite ax-nod}.axon-character[data-mood=listening] .ax-waves{opacity:1}.axon-character[data-mood=listening] .ax-wave{animation:.8s ease-in-out infinite ax-wave}.axon-character[data-mood=listening] .ax-wave:nth-child(2){animation-delay:.15s}.axon-character[data-mood=thinking] .ax-lean{transition-duration:.4s;transform:translate(5%,-4%)rotate(8deg)}.axon-character[data-mood=thinking] .ax-body{animation:2.4s ease-in-out infinite ax-ponder}.axon-character[data-mood=thinking] .ax-dots{opacity:1}.axon-character[data-mood=thinking] .ax-dot{animation:1.2s ease-in-out infinite ax-dot}.axon-character[data-mood=thinking] .ax-dot:nth-child(2){animation-delay:.15s}.axon-character[data-mood=thinking] .ax-dot:nth-child(3){animation-delay:.3s}.axon-character[data-mood=talking] .ax-body{animation:.6s ease-in-out infinite ax-bob}.axon-character[data-mood=happy] .ax-body{animation:.7s cubic-bezier(.3,1.6,.5,1) 2 ax-hop}.axon-character[data-mood=happy] .ax-stars{opacity:1}.axon-character[data-mood=happy] .ax-star{animation:1.1s ease-out both ax-burst}.axon-character[data-mood=excited] .ax-body{animation:.5s ease-in-out infinite ax-wiggle}.axon-character[data-mood=excited] .ax-stars{opacity:1}.axon-character[data-mood=excited] .ax-star{animation:.9s ease-in-out infinite ax-twinkle}.axon-character[data-mood=excited] .ax-star:nth-child(2n){animation-delay:.3s}.axon-character[data-mood=sad] .ax-lean{transform:translateY(5%)}.axon-character[data-mood=sad] .ax-body{filter:saturate(.45)brightness(.95);animation:3s ease-in-out infinite ax-slump}.axon-character[data-mood=sad] .ax-cloud{opacity:1}.axon-character[data-mood=sad] .ax-drop{animation:.9s linear infinite ax-drop}.axon-character[data-mood=sad] .ax-drop:nth-child(3){animation-delay:.3s}.axon-character[data-mood=sad] .ax-drop:nth-child(4){animation-delay:.6s}.axon-character[data-mood=sleepy] .ax-lean{transition-duration:1.2s;transform:translateY(4%)rotate(-10deg)}.axon-character[data-mood=sleepy] .ax-body{filter:brightness(.9)saturate(.8);animation:3.6s ease-in-out infinite ax-snore}.axon-character[data-mood=sleepy] .ax-zzz{opacity:1}.axon-character[data-mood=sleepy] .ax-z{animation:2.7s ease-out infinite ax-z}.axon-character[data-mood=sleepy] .ax-z:nth-child(2){animation-delay:.9s}.axon-character[data-mood=sleepy] .ax-z:nth-child(3){animation-delay:1.8s}@keyframes ax-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02,.98)}}@keyframes ax-tilt{0%{transform:rotate(0)}to{transform:rotate(-9deg)scale(1.04)}}@keyframes ax-pop-in{0%{transform:scale(0)rotate(-30deg)}to{transform:scale(1)rotate(0)}}@keyframes ax-nod{0%,to{transform:rotate(-5deg)translateY(0)}50%{transform:rotate(-5deg)translateY(4%)}}@keyframes ax-wave{0%,to{opacity:.25;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@keyframes ax-ponder{0%,to{transform:rotate(0)}50%{transform:rotate(4deg)translateY(-2%)}}@keyframes ax-dot{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}@keyframes ax-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2%)}}@keyframes ax-hop{0%,to{transform:translateY(0)scale(1)}20%{transform:translateY(0)scale(1.08,.9)}50%{transform:translateY(-16%)scale(.95,1.06)}80%{transform:translateY(0)scale(1.05,.95)}}@keyframes ax-burst{0%{opacity:1;transform:scale(0)rotate(0)}60%{opacity:1;transform:scale(1.3)rotate(60deg)}to{opacity:0;transform:scale(.8)rotate(90deg)}}@keyframes ax-wiggle{0%,to{transform:rotate(0)scale(1.04)}25%{transform:rotate(-8deg)scale(1.06)}75%{transform:rotate(8deg)scale(1.06)}}@keyframes ax-twinkle{0%,to{opacity:1;transform:scale(1)rotate(0)}50%{opacity:.6;transform:scale(.6)rotate(25deg)}}@keyframes ax-slump{0%,to{transform:scale(1.02,.97)}50%{transform:scale(1.03,.96)translateY(1%)}}@keyframes ax-drop{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@keyframes ax-snore{0%,to{transform:scale(1)}50%{transform:scale(1.05,.95)}}@keyframes ax-z{0%{opacity:0;transform:translate(0)scale(.6)}20%{opacity:1}to{opacity:0;transform:translate(12px,-26px)scale(1.2)}}@media (prefers-reduced-motion:reduce){.axon-character *,.axon-character .ax-lean{transition:none!important;animation:none!important}}
