@property --lm-lx{syntax:"<length>";inherits:true;initial-value:0}@property --lm-ly{syntax:"<length>";inherits:true;initial-value:0}@property --lm-px{syntax:"<length>";inherits:true;initial-value:0}@property --lm-py{syntax:"<length>";inherits:true;initial-value:0}.luuply-mascot{transition:--lm-lx var(--motion-duration-moderate) var(--motion-ease-spring), --lm-ly var(--motion-duration-moderate) var(--motion-ease-spring), --lm-px .18s linear, --lm-py .18s linear;display:block;overflow:visible}.luuply-mascot *{transform-box:view-box}.luuply-mascot__base{fill:var(--mascot-iri-base)}.luuply-mascot__iri--pink{fill:var(--mascot-iri-pink)}.luuply-mascot__iri--blush{fill:var(--mascot-iri-blush)}.luuply-mascot__iri--peach{fill:var(--mascot-iri-peach)}.luuply-mascot__iri--yellow{fill:var(--mascot-iri-yellow)}.luuply-mascot__iri--mint{fill:var(--mascot-iri-mint)}.luuply-mascot__iri--cyan{fill:var(--mascot-iri-cyan)}.luuply-mascot__iri--violet{fill:var(--mascot-iri-violet)}.luuply-mascot__iri--periwinkle{fill:var(--mascot-iri-periwinkle)}.luuply-mascot__iri--blue{fill:var(--mascot-iri-blue)}.luuply-mascot__iri--center{fill:var(--mascot-iri-center)}.luuply-mascot__cut{fill:var(--mascot-light)}.luuply-mascot__flood-shade{flood-color:var(--mascot-shade)}.luuply-mascot__flood-light{flood-color:var(--mascot-light)}.luuply-mascot__glow-stop{stop-color:var(--mascot-light)}.luuply-mascot__halo-stop{stop-color:var(--mascot-halo)}.luuply-mascot__shadow{fill:var(--mascot-ground);transform-origin:120px 205px}.luuply-mascot__rig{transform-origin:120px 200px}.luuply-mascot__squash{transform-origin:120px 191px}.luuply-mascot__puff{transform-box:fill-box;transform-origin:50% 85%}.luuply-mascot__face-size,.luuply-mascot__face{transform-origin:121px 130px}.luuply-mascot__eyes-pose,.luuply-mascot__eyes{transform-origin:121px 123px}.luuply-mascot__mouth-pose,.luuply-mascot__smile{transform-origin:120.8px 148px}.luuply-mascot__eye{fill:none;stroke:var(--mascot-eye);stroke-width:13.2px;stroke-linecap:round;stroke-linejoin:round}.luuply-mascot__eyes-closed{opacity:0;transition:opacity var(--motion-duration-normal) var(--motion-ease-standard)}.luuply-mascot__eyes-closed path{fill:none;stroke:var(--mascot-eye);stroke-width:8.5px;stroke-linecap:round}.luuply-mascot__smile path{fill:none;stroke:var(--mascot-smile);stroke-width:6.4px;stroke-linecap:round}.luuply-mascot__mouth-open{fill:var(--mascot-mouth);opacity:0;transform-origin:120.8px 142.5px;transform:scaleY(.2)}.luuply-mascot__blush{fill:var(--mascot-blush);opacity:0}.luuply-mascot__look{transform:translate(calc(var(--lm-lx) + var(--lm-px)), calc(var(--lm-ly) + var(--lm-py)))}.luuply-mascot__light{transform:translate(calc((var(--lm-lx) + var(--lm-px)) * .45), calc((var(--lm-ly) + var(--lm-py)) * .45))}.luuply-mascot__back{transform:translate(calc((var(--lm-lx) + var(--lm-px)) * -.2), calc((var(--lm-ly) + var(--lm-py)) * -.2))}.luuply-mascot__puff,.luuply-mascot__eyes-pose,.luuply-mascot__mouth-pose,.luuply-mascot__smile,.luuply-mascot__mouth-open,.luuply-mascot__blush{transition:transform var(--motion-duration-moderate) var(--motion-ease-spring), opacity var(--motion-duration-normal) var(--motion-ease-standard)}.luuply-mascot__fx-p>*{fill:none;stroke:var(--lm-fx,var(--mascot-particle));stroke-width:3.4px;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform-box:fill-box;transform-origin:50%}.luuply-mascot__fx-p>circle{fill:var(--lm-fx,var(--mascot-particle));stroke:none}.luuply-mascot:is([data-state=idle],[data-state=listening],[data-state=thinking],[data-state=talking],[data-state=working],[data-state=error]) .luuply-mascot__eyes{animation:luuply-mascot-blink var(--mascot-loop-blink) linear infinite var(--lm-blink-offset,0s)}.luuply-mascot[data-state=idle] .luuply-mascot__rig{animation:luuply-mascot-float var(--mascot-loop-float) var(--mascot-ease-sine) infinite}.luuply-mascot[data-state=idle] .luuply-mascot__shadow{animation:luuply-mascot-shadow-float var(--mascot-loop-float) var(--mascot-ease-sine) infinite}.luuply-mascot[data-state=idle] .luuply-mascot__squash{animation:luuply-mascot-breathe var(--mascot-loop-float) var(--mascot-ease-sine) infinite}.luuply-mascot[data-state=idle] .luuply-mascot__puff{animation:luuply-mascot-boil var(--mascot-loop-float) var(--mascot-ease-sine) infinite;animation-delay:calc(var(--lm-p) * -1067ms)}.luuply-mascot[data-state=idle] .luuply-mascot__glance{animation:luuply-mascot-glance var(--mascot-loop-glance) var(--mascot-ease-sine) infinite var(--lm-glance-offset,0s)}.luuply-mascot[data-state=listening]{--lm-lx:-1px;--lm-ly:4px}.luuply-mascot[data-state=listening] .luuply-mascot__squash{animation:luuply-mascot-nod 1.4s var(--mascot-ease-sine) infinite}.luuply-mascot[data-state=listening] .luuply-mascot__puff{transform:scale(1.03)}.luuply-mascot[data-state=listening] .luuply-mascot__blush{opacity:.18}.luuply-mascot[data-state=thinking]{--lm-lx:6px;--lm-ly:-6px}.luuply-mascot[data-state=thinking] .luuply-mascot__smile{transform:translate(3px,1px)scale(.6)}.luuply-mascot[data-state=thinking] .luuply-mascot__squash{animation:luuply-mascot-sway var(--mascot-loop-think) var(--mascot-ease-sine) infinite}.luuply-mascot[data-state=thinking] .luuply-mascot__puff{animation:luuply-mascot-boil calc(var(--mascot-loop-think) / 2) var(--mascot-ease-sine) infinite;animation-delay:calc(var(--lm-p) * -267ms)}.luuply-mascot[data-state=thinking] .luuply-mascot__fx--think .luuply-mascot__fx-p>*{animation:luuply-mascot-twinkle var(--mascot-loop-think) var(--mascot-ease-sine) infinite;animation-delay:calc(var(--lm-i) * -530ms)}.luuply-mascot[data-state=talking] .luuply-mascot__rig{animation:luuply-mascot-bob calc(var(--mascot-loop-talk) * 2) var(--mascot-ease-sine) infinite}.luuply-mascot[data-state=talking] .luuply-mascot__smile{opacity:0}.luuply-mascot[data-state=talking] .luuply-mascot__mouth-open{opacity:1;animation:luuply-mascot-talk var(--mascot-loop-talk) linear infinite}.luuply-mascot[data-state=talking] .luuply-mascot__blush{opacity:.18}.luuply-mascot[data-state=working]{--lm-lx:1px;--lm-ly:3px}.luuply-mascot[data-state=working] .luuply-mascot__rig{animation:luuply-mascot-hop calc(var(--mascot-loop-work) / 2) var(--mascot-ease-sine) infinite}.luuply-mascot[data-state=working] .luuply-mascot__face{animation:luuply-mascot-face-hop calc(var(--mascot-loop-work) / 2) var(--mascot-ease-sine) infinite}.luuply-mascot[data-state=working] .luuply-mascot__shadow{animation:luuply-mascot-shadow-hop calc(var(--mascot-loop-work) / 2) var(--mascot-ease-sine) infinite}.luuply-mascot[data-state=working] .luuply-mascot__puff{animation:luuply-mascot-pulse-puff var(--mascot-loop-work) var(--mascot-ease-sine) infinite;animation-delay:calc(var(--lm-p) * .16s)}.luuply-mascot[data-state=celebrate] .luuply-mascot__eyes-pose{transform:scale(1.08)}.luuply-mascot[data-state=celebrate] .luuply-mascot__smile{opacity:0}.luuply-mascot[data-state=celebrate] .luuply-mascot__mouth-open{opacity:1;transform:scale(1.15,1.1)}.luuply-mascot[data-state=celebrate] .luuply-mascot__blush{opacity:.55}.luuply-mascot[data-state=celebrate] .luuply-mascot__squash{animation:luuply-mascot-jump var(--mascot-beat-celebrate) cubic-bezier(.33, 0, .67, 1) 1}.luuply-mascot[data-state=celebrate] .luuply-mascot__face{animation:luuply-mascot-face-jump var(--mascot-beat-celebrate) cubic-bezier(.33, 0, .67, 1) 1}.luuply-mascot[data-state=celebrate] .luuply-mascot__shadow{animation:luuply-mascot-shadow-jump var(--mascot-beat-celebrate) cubic-bezier(.33, 0, .67, 1) 1}.luuply-mascot[data-state=celebrate] .luuply-mascot__puff{animation:luuply-mascot-puff-pop var(--mascot-beat-celebrate) var(--motion-ease-standard) 1;animation-delay:calc(var(--lm-p) * var(--mascot-stagger))}.luuply-mascot[data-state=celebrate] .luuply-mascot__fx--party .luuply-mascot__fx-p>*{animation:luuply-mascot-pop .82s var(--motion-ease-enter) 1 both;animation-delay:calc(.26s + var(--lm-i) * var(--mascot-stagger))}.luuply-mascot[data-state=boop] .luuply-mascot__eyes-pose{transform:scaleY(.72)}.luuply-mascot[data-state=boop] .luuply-mascot__smile{opacity:0}.luuply-mascot[data-state=boop] .luuply-mascot__mouth-open{opacity:1;transform:scale(.85,.75)}.luuply-mascot[data-state=boop] .luuply-mascot__blush{opacity:.5}.luuply-mascot[data-state=boop][data-boop="0"] .luuply-mascot__squash{animation:luuply-mascot-boop-squish var(--lm-beat-ms) cubic-bezier(.33, 0, .67, 1) 1}.luuply-mascot[data-state=boop][data-boop="1"] .luuply-mascot__rig{animation:luuply-mascot-boop-hop var(--lm-beat-ms) cubic-bezier(.33, 0, .67, 1) 1}.luuply-mascot[data-state=boop][data-boop="1"] .luuply-mascot__shadow{animation:luuply-mascot-shadow-hop calc(var(--lm-beat-ms) / 2) var(--mascot-ease-sine) 1}.luuply-mascot[data-state=boop][data-boop="1"] .luuply-mascot__puff{animation:luuply-mascot-puff-pop var(--lm-beat-ms) var(--motion-ease-standard) 1;animation-delay:calc(var(--lm-p) * 40ms)}.luuply-mascot[data-state=boop][data-boop="2"] .luuply-mascot__rig{animation:luuply-mascot-boop-wobble var(--lm-beat-ms) var(--motion-ease-standard) 1}.luuply-mascot[data-state=boop][data-boop="1"] .luuply-mascot__face{animation:luuply-mascot-face-jump var(--lm-beat-ms) cubic-bezier(.33, 0, .67, 1) 1}.luuply-mascot[data-state=error] .luuply-mascot__rig{animation:luuply-mascot-shake var(--mascot-beat-error) var(--motion-ease-standard) 1}.luuply-mascot[data-state=error] .luuply-mascot__face{animation:luuply-mascot-face-shake var(--mascot-beat-error) var(--motion-ease-standard) 1}.luuply-mascot[data-state=error] .luuply-mascot__puff{transform:scale(.94)}.luuply-mascot[data-state=error] .luuply-mascot__eyes-pose{transform:translateY(2px)scaleY(.55)}.luuply-mascot[data-state=error] .luuply-mascot__mouth-pose{transform:translateY(2px)scaleY(-.8)}.luuply-mascot[data-state=sleep]{--lm-lx:-1px;--lm-ly:4px}.luuply-mascot[data-state=sleep] .luuply-mascot__squash{animation:luuply-mascot-sleep var(--mascot-loop-sleep) var(--mascot-ease-sine) infinite}.luuply-mascot[data-state=sleep] .luuply-mascot__eyes-pose{opacity:0;transform:translateY(5px)scaleY(.3)}.luuply-mascot[data-state=sleep] .luuply-mascot__eyes-closed{opacity:1}.luuply-mascot[data-state=sleep] .luuply-mascot__smile{transform:scale(.7)}.luuply-mascot[data-state=sleep] .luuply-mascot__puff{transform:scale(.97)}.luuply-mascot[data-state=sleep] .luuply-mascot__fx--sleep .luuply-mascot__fx-p>*{animation:luuply-mascot-z 2.4s var(--mascot-ease-sine) infinite;animation-delay:calc(var(--lm-i) * .6s)}.luuply-mascot[data-beat]{animation:luuply-mascot-beat var(--lm-beat-ms,1.2s) linear 1}.luuply-mascot:is([data-size=md],[data-size=sm]) :is(.luuply-mascot__fx,.luuply-mascot__shadow,.luuply-mascot__halo){display:none}.luuply-mascot[data-size=md] .luuply-mascot__face-size{transform:scale(1.15)}.luuply-mascot[data-size=sm] .luuply-mascot__face-size{transform:scale(1.3)}.luuply-mascot:is([data-size=md],[data-size=sm])[data-state=celebrate] .luuply-mascot__squash{animation-name:luuply-mascot-jump-sm}@keyframes luuply-mascot-blink{0%,38%,42%,89%,92.5%,96%,to{transform:scaleY(1)}40%,90.75%,94.25%{transform:scaleY(.08)}}@keyframes luuply-mascot-glance{0%,55%,to{transform:translate(0)}60%,70%{transform:translate(-4px)}76%,88%{transform:translate(4px,-1px)}}@keyframes luuply-mascot-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes luuply-mascot-shadow-float{0%,to{opacity:1;transform:scaleX(1)}50%{opacity:.65;transform:scaleX(.88)}}@keyframes luuply-mascot-breathe{0%,to{transform:scale(1)}50%{transform:scale(.992,1.014)}}@keyframes luuply-mascot-boil{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes luuply-mascot-nod{0%,to{transform:rotate(0)translateY(0)}40%{transform:rotate(-2.5deg)translateY(2px)}70%{transform:rotate(1deg)translateY(0)}}@keyframes luuply-mascot-sway{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}@keyframes luuply-mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}@keyframes luuply-mascot-talk{0%{transform:scaleY(.25)}22%{transform:scaleY(1)}45%{transform:scaleY(.45)}70%{transform:scaleY(.9)}to{transform:scaleY(.25)}}@keyframes luuply-mascot-hop{0%,to{transform:translateY(0)scale(1.02,.98)}45%{transform:translateY(-5px)scale(.99,1.01)}}@keyframes luuply-mascot-face-hop{0%,to{transform:translateY(0)}30%{transform:translateY(1.5px)}65%{transform:translateY(-1px)}}@keyframes luuply-mascot-shadow-hop{0%,to{transform:scaleX(1)}45%{transform:scaleX(.9)}}@keyframes luuply-mascot-pulse-puff{0%,50%,to{transform:scale(1)}22%{transform:scale(1.08)}}@keyframes luuply-mascot-jump{0%{transform:translateY(0)scale(1)}16%{transform:translateY(0)scale(1.08,.9)}42%{transform:translateY(-30px)scale(.95,1.07)}62%{transform:translateY(0)scale(1.07,.92)}80%{transform:translateY(0)scale(.98,1.02)}to{transform:translateY(0)scale(1)}}@keyframes luuply-mascot-jump-sm{0%{transform:translateY(0)scale(1)}16%{transform:translateY(0)scale(1.06,.92)}42%{transform:translateY(-14px)scale(.96,1.05)}62%{transform:translateY(0)scale(1.05,.94)}to{transform:translateY(0)scale(1)}}@keyframes luuply-mascot-face-jump{0%,to{transform:translateY(0)}18%{transform:translateY(3px)}38%{transform:translateY(2px)}50%{transform:translateY(-2px)}66%{transform:translateY(4px)}82%{transform:translateY(-1.5px)}}@keyframes luuply-mascot-shadow-jump{0%,16%{opacity:1;transform:scaleX(1.08)}42%{opacity:.35;transform:scaleX(.55)}62%,to{opacity:1;transform:scaleX(1)}}@keyframes luuply-mascot-puff-pop{0%,58%,to{transform:scale(1)}70%{transform:scale(1.1)}84%{transform:scale(.97)}}@keyframes luuply-mascot-shake{0%,to{transform:translate(0)}15%{transform:translate(-5px)rotate(-2deg)}35%{transform:translate(5px)rotate(2deg)}55%{transform:translate(-3px)rotate(-1deg)}75%{transform:translate(2px)}}@keyframes luuply-mascot-face-shake{0%,to{transform:translate(0)}22%{transform:translate(-3px)}42%{transform:translate(4px)}62%{transform:translate(-2px)}82%{transform:translate(1px)}}@keyframes luuply-mascot-boop-squish{0%{transform:scale(1)}22%{transform:scale(1.1,.8)}50%{transform:scale(.95,1.08)}75%{transform:scale(1.02,.98)}to{transform:scale(1)}}@keyframes luuply-mascot-boop-hop{0%{transform:translateY(0)scale(1)}18%{transform:translateY(0)scale(1.06,.92)}45%{transform:translateY(-14px)scale(.96,1.05)}70%{transform:translateY(0)scale(1.05,.94)}to{transform:translateY(0)scale(1)}}@keyframes luuply-mascot-boop-wobble{0%,to{transform:rotate(0)}20%{transform:rotate(-6deg)}45%{transform:rotate(5deg)}70%{transform:rotate(-2.5deg)}88%{transform:rotate(1deg)}}@keyframes luuply-mascot-sleep{0%,to{transform:scale(1)}50%{transform:scale(1.02,.975)}}@keyframes luuply-mascot-twinkle{0%,to{opacity:.4;transform:scale(.6)rotate(0)}50%{opacity:1;transform:scale(1)rotate(18deg)}}@keyframes luuply-mascot-pop{0%{opacity:0;transform:translate(0)scale(0)}30%{transform:translate(var(--lm-tx), var(--lm-ty)) scale(1.2);opacity:1}70%{transform:translate(calc(var(--lm-tx) * 1.4), calc(var(--lm-ty) * 1.4)) scale(1);opacity:1}to{transform:translate(calc(var(--lm-tx) * 1.6), calc(var(--lm-ty) * 1.6)) scale(.7);opacity:0}}@keyframes luuply-mascot-z{0%{opacity:0;transform:translateY(3px)scale(.7)}25%,65%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-4px)}}@keyframes luuply-mascot-beat{0%{opacity:1}to{opacity:1}}@keyframes luuply-mascot-pulse{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.luuply-mascot,.luuply-mascot *{transition:none!important;animation:none!important}.luuply-mascot[data-beat]{animation:luuply-mascot-beat var(--lm-beat-ms,1.2s) linear 1!important}.luuply-mascot[data-state=working] .luuply-mascot__face{animation:1.2s ease-in-out infinite luuply-mascot-pulse!important}.luuply-mascot[data-state=thinking] .luuply-mascot__fx--think .luuply-mascot__fx-p>*{animation:luuply-mascot-pulse var(--mascot-loop-think) ease-in-out infinite!important}.luuply-mascot[data-state=talking] .luuply-mascot__mouth-open{transform:scaleY(.7)}.luuply-mascot[data-state=boop] .luuply-mascot__mouth-open{transform:scale(.85,.75)}.luuply-mascot[data-state=celebrate] .luuply-mascot__fx--party .luuply-mascot__fx-p>*{opacity:1;transform:translate(var(--lm-tx), var(--lm-ty))}.luuply-mascot[data-state=sleep] .luuply-mascot__fx--sleep .luuply-mascot__fx-p>*{opacity:1}}
