/* TOAI eyes express actual work states, using the existing flat, mouthless face. */
.agent-avatar-art .agent-avatar-expression{transform-origin:18px 18px;transition:transform .24s cubic-bezier(.2,.7,.3,1)}
.agent-avatar-art .agent-avatar-eye-shapes ellipse{transition:cx .22s,cy .22s,rx .22s,ry .22s,transform .22s}
.agent-avatar-art[data-avatar-state="listening"] .agent-avatar-expression{transform:rotate(-3deg) translateY(-.3px)}
.agent-avatar-art[data-avatar-state="curious"] .agent-avatar-expression{transform:rotate(-5deg)}
.agent-avatar-art[data-avatar-state="thinking"] .agent-avatar-expression{animation:toai-eye-consider 3.4s ease-in-out infinite}
.agent-avatar-art[data-avatar-state="searching"] .agent-avatar-expression{animation:toai-eye-scan 2.8s ease-in-out infinite}
.agent-avatar-art[data-avatar-state="reading"] .agent-avatar-expression{transform:translateY(.4px);animation:toai-eye-read 3.6s ease-in-out infinite}
.agent-avatar-art[data-avatar-state="working"] .agent-avatar-expression{transform:rotate(-2deg)}
.agent-avatar-art[data-avatar-state="replying"] .agent-avatar-expression{animation:toai-eye-answer 1.7s ease-in-out infinite}
.agent-avatar-art[data-avatar-state="complete"]{animation:toai-avatar-done .48s ease-out 1!important;transform-origin:50% 70%}
.agent-avatar-art[data-avatar-state="complete"] .agent-avatar-eyes{animation:none}
.agent-avatar-art[data-avatar-state="uncertain"] .agent-avatar-expression{transform:rotate(8deg)}
.agent-avatar-art[data-avatar-state="restricted"] .agent-avatar-expression{transform:translateY(.2px)}
.agent-avatar-art[data-avatar-state="failed"] .agent-avatar-expression{transform:rotate(-5deg) translateY(.5px)}
.agent-avatar-art[data-avatar-state="waiting"] .agent-avatar-expression{animation:toai-eye-wait 4.4s ease-in-out infinite}
.agent-avatar-art[data-avatar-state="paused"] .agent-avatar-expression{transform:translateY(.5px)}
.agent-avatar-art[data-avatar-state="sleep"] .agent-avatar-eyes,.agent-avatar-art[data-avatar-state="paused"] .agent-avatar-eyes,.agent-avatar-art[data-avatar-state="restricted"] .agent-avatar-eyes{animation:none}
.agent-avatar-art.is-looking .agent-avatar-expression{animation-play-state:paused}
.agent-avatar-art[data-avatar-static="true"],.agent-avatar-art[data-avatar-static="true"] *,.agent-message-mark .agent-avatar-art,.agent-message-mark .agent-avatar-art *{animation:none!important;transition:none!important}
.agent-avatar-art.is-out-of-view,.agent-avatar-art.is-out-of-view *,.avatars-paused .agent-avatar-art,.avatars-paused .agent-avatar-art *{animation-play-state:paused!important}
@keyframes toai-eye-consider{0%,30%,100%{transform:translate(0,-.4px) rotate(-5deg)}50%,72%{transform:translate(.8px,-1px) rotate(2deg)}}
@keyframes toai-eye-scan{0%,12%,100%{transform:translateX(0)}28%,44%{transform:translateX(-1.2px)}65%,80%{transform:translateX(1.2px)}}
@keyframes toai-eye-read{0%,32%,100%{transform:translate(0,.4px)}50%,73%{transform:translate(.6px,.8px)}}
@keyframes toai-eye-answer{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-.55px) rotate(-2deg)}70%{transform:translateY(.25px) rotate(1deg)}}
@keyframes toai-eye-wait{0%,100%{transform:translateY(0)}50%{transform:translateY(.6px)}}
@keyframes toai-avatar-done{0%,100%{transform:translateY(0) scale(1)}32%{transform:translateY(-1.5px) scale(1.035)}70%{transform:translateY(.4px) scale(.99)}}
@media(prefers-reduced-motion:reduce){.agent-avatar-art[data-avatar-state],.agent-avatar-art[data-avatar-state] *{animation:none!important;transition:none!important}.agent-avatar-art .agent-avatar-gaze{transform:none!important}}
