.agent-mascot{--amp:1;--spd:1;--look-x:0;--look-y:0;inline-size:var(--m-size,56px);block-size:var(--m-size,56px);vertical-align:middle;-webkit-tap-highlight-color:transparent;flex:none;display:inline-block;position:relative}.agent-mascot[data-motion=soft]{--amp:.5;--spd:1.45}.agent-mascot .m-disc{isolation:isolate;background:#e3eefb;border-radius:50%;transition:transform .22s cubic-bezier(.2,.8,.3,1.2);position:absolute;inset:0;overflow:hidden;box-shadow:0 2px 8px -3px #0a143259}.agent-mascot[data-plate="1"] .m-disc{box-shadow:0 0 0 max(1.5px, calc(var(--m-size,56px) * .03)) var(--ui-accent,#2f6fdf), 0 3px 10px -4px #0a143266}.agent-mascot[data-small="1"] .m-disc{box-shadow:0 0 0 1.5px var(--ui-accent,#2f6fdf)}.agent-mascot[data-small="1"]:not([data-plate="1"]) .m-disc{box-shadow:none}.agent-mascot .m-move{transform:translate(calc(var(--look-x) * 2.5%), calc(var(--look-y) * 1.5%));transition:transform .42s ease-out;position:absolute;inset:0}.agent-mascot .m-pose{transform-origin:50% 90%;position:absolute;inset:0;scale:1.05}.agent-mascot .m-frame{object-fit:cover;object-position:50% 50%;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;block-size:100%;inline-size:100%;max-inline-size:none;transition:opacity .18s ease-in-out;position:absolute;inset:0}.agent-mascot .m-frame[data-f=rest],.agent-mascot .m-frame[data-on="1"]{opacity:1}.agent-mascot .m-frame[data-f=blink],.agent-mascot .m-frame[data-f=talk]{transition-duration:70ms}.agent-mascot .m-think{align-items:flex-end;gap:calc(var(--m-size,56px) * .035);pointer-events:none;display:none;position:absolute;inset-block-start:-7%;inset-inline-end:-16%}.agent-mascot .m-think i{inline-size:calc(var(--m-size,56px) * .085);block-size:calc(var(--m-size,56px) * .085);background:var(--ui-accent,#2f6fdf);border-radius:50%;display:block;box-shadow:0 0 0 1.5px #fff}.agent-mascot .m-think i:nth-child(2){inline-size:calc(var(--m-size,56px) * .11);block-size:calc(var(--m-size,56px) * .11)}.agent-mascot .m-think i:nth-child(3){inline-size:calc(var(--m-size,56px) * .14);block-size:calc(var(--m-size,56px) * .14)}.agent-mascot[data-state=thinking]:not([data-motion=none]):not([data-small="1"]) .m-think{display:flex}@media (prefers-reduced-motion:no-preference){.agent-mascot[data-hover="1"]:not([data-motion=none]) .m-disc{transform:translateY(calc(var(--m-size,56px) * -.04)) scale(1.04)}.agent-mascot:not([data-motion=none])[data-state=idle]:not([data-mood]) .m-pose{animation:m-breathe calc(3.8s * var(--spd)) ease-in-out infinite}.agent-mascot:not([data-motion=none])[data-state=thinking] .m-pose{animation:m-sway calc(3.2s * var(--spd)) ease-in-out infinite}.agent-mascot:not([data-motion=none])[data-state=thinking] .m-think i{animation:m-dot calc(1.2s * var(--spd)) ease-in-out infinite}.agent-mascot[data-state=thinking] .m-think i:nth-child(2){animation-delay:.15s}.agent-mascot[data-state=thinking] .m-think i:nth-child(3){animation-delay:.3s}.agent-mascot:not([data-motion=none])[data-state=answering]:not([data-mood]) .m-pose{animation:m-nod calc(.9s * var(--spd)) ease-in-out infinite}.agent-mascot:not([data-motion=none])[data-mood=wave] .m-pose{animation:m-wiggle calc(.85s * var(--spd)) ease-in-out 2}.agent-mascot:not([data-motion=none])[data-mood=happy] .m-disc{animation:m-bounce calc(.62s * var(--spd)) cubic-bezier(.3, .7, .4, 1.3) 2}}@keyframes m-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(calc(-1.6% * var(--amp))) scale(calc(1 + .018 * var(--amp)))}}@keyframes m-sway{0%,to{transform:rotate(calc(-1.8deg * var(--amp))) translateX(calc(-1% * var(--amp)))}50%{transform:rotate(calc(1.8deg * var(--amp))) translateX(calc(1% * var(--amp)))}}@keyframes m-nod{0%,to{transform:translateY(0)}50%{transform:translateY(calc(-1.2% * var(--amp)))}}@keyframes m-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(calc(-3.5deg * var(--amp)))}75%{transform:rotate(calc(3.5deg * var(--amp)))}}@keyframes m-bounce{0%,to{transform:translateY(0)scale(1)}40%{transform:translateY(calc(var(--m-size,56px) * -.09 * var(--amp))) scale(calc(1 + .04 * var(--amp)))}70%{transform:translateY(0) scale(calc(1 - .015 * var(--amp)))}}@keyframes m-dot{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(-35%)}}
