.sa-character{flex:none;width:96px;max-width:96px;margin-inline:auto;position:relative}.sa-character-greet{aspect-ratio:1;cursor:pointer;touch-action:pan-y;background:radial-gradient(at 50% 42%,#f6f3fa 0,#eae6f1 68%,#e6e2ec 100%);border:0;border-radius:50%;width:100%;height:auto;padding:0;display:block;position:relative;overflow:hidden}.sa-character-greet:focus-visible{outline-offset:4px;outline:2px solid #665188}.sa-character-stage{justify-content:center;align-items:flex-start;transition:transform .2s;display:flex;position:absolute;inset:0;overflow:hidden}.sa-character-picture{pointer-events:none;transform-origin:50% 15%;flex-shrink:0;width:250%;max-width:none;height:auto;animation:5s ease-in-out infinite paused sa-character-breathe;display:block;position:relative;left:8%}.sa-character[data-character-phase=fallback] .sa-character-picture{visibility:hidden}.sa-character[data-character-playing=true] .sa-character-picture{animation-play-state:running}.sa-character[data-character-motion=thinking] .sa-character-picture{animation-name:sa-character-think;animation-duration:4.5s}.sa-character[data-character-motion=searching] .sa-character-picture{animation-name:sa-character-look;animation-duration:5s}.sa-character[data-character-motion=working] .sa-character-picture{animation-duration:3.8s}.sa-character[data-character-motion=done] .sa-character-picture,.sa-character[data-character-greeting=true] .sa-character-picture{animation-name:sa-character-acknowledge;animation-duration:1s;animation-iteration-count:1}@keyframes sa-character-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2px)scale(1.012)}}@keyframes sa-character-think{0%,to{transform:rotate(0)}50%{transform:rotate(-1.5deg)translateY(-1px)}}@keyframes sa-character-look{0%,to{transform:translate(0)}35%{transform:translate(-2px)rotate(-.7deg)}70%{transform:translate(2px)rotate(.7deg)}}@keyframes sa-character-acknowledge{0%,to{transform:translateY(0)rotate(0)}45%{transform:translateY(-3px)rotate(1.5deg)}70%{transform:translateY(-1px)rotate(-.7deg)}}.sa-character-fallback{color:#665188;background:#e4dcec;border-radius:50%;place-items:center;width:72px;height:72px;margin:auto;font-size:28px;display:grid;position:absolute;inset:0}.sa-character-greeting{bottom:5px;text-align:center;color:#49365f;pointer-events:none;font-size:12px;position:absolute;inset-inline:0}.sa-character-greeting:empty{display:none}.sa-character-compact{width:72px;max-width:72px;margin:0}.sa-character-fullbody{width:280px;max-width:100%}.sa-character-fullbody .sa-character-greet{aspect-ratio:auto;background:0 0;border-radius:0;height:min(52dvh,450px);overflow:visible}.sa-character-fullbody .sa-character-stage{overflow:visible}.sa-character-fullbody .sa-character-picture{object-fit:contain;transform-origin:50% 85%;width:100%;max-width:100%;height:100%;left:0}.sa-character-compact .sa-character-greeting{background:#f6f3facf;font-size:11px}.sa-character-portrait{max-height:calc(100dvh - 2rem);overflow:auto}.sa-character-response{min-height:2.8em}.sa-character-portrait-greet{cursor:pointer;transform-origin:50% 80%;touch-action:pan-y;background:0 0;border:0;border-radius:20px;width:100%;padding:0;transition:transform .2s;display:block}.sa-character-portrait-greet:focus-visible{outline:2px solid var(--ring);outline-offset:4px}.sa-character-portrait-image{object-fit:contain;transform-origin:50% 85%;width:auto;max-width:100%;height:min(60dvh,460px);margin-inline:auto;animation:4s ease-in-out infinite paused sa-character-portrait-idle;display:block}.sa-character-portrait[data-character-playing=true] .sa-character-portrait-image{animation-play-state:running}.sa-character-portrait[data-character-motion=thinking] .sa-character-portrait-image{animation-name:sa-character-think}.sa-character-portrait[data-character-motion=searching] .sa-character-portrait-image{animation-name:sa-character-look}.sa-character-portrait .sa-character-portrait-image.sa-character-portrait-responding{animation-name:sa-character-portrait-greeting;animation-duration:1.1s;animation-iteration-count:1}@keyframes sa-character-portrait-idle{0%,to{transform:translateY(0)rotate(-.4deg)}50%{transform:translateY(-3px)rotate(.4deg)}}@keyframes sa-character-portrait-greeting{0%,to{transform:rotate(0)}35%{transform:rotate(2deg)translateY(-4px)}65%{transform:rotate(-1deg)translateY(-2px)}}@media (hover:hover) and (pointer:fine){.sa-character-greet:hover .sa-character-stage{transform:scale(1.045)translateY(-1px)}.sa-character-portrait-greet:hover{transform:rotate(-1deg)scale(1.015)}}.sa-character-greet:active .sa-character-stage{transform:scale(.97)}.sa-character-portrait-greet:active{transform:scale(.985)}.sa-agent-identity:has(.sa-character){gap:10px;padding:14px 14px 18px}:is(.sa-agent-panel-chat .sa-agent-identity:has(.sa-character),.sa-agent-sheet-chat .sa-agent-identity:has(.sa-character)){gap:12px;padding:10px}@media (max-width:600px){.sa-character-compact{width:64px;max-width:64px}}@media (prefers-reduced-motion:reduce){.sa-character .sa-character-picture,.sa-character-portrait-image{animation:none!important}.sa-character-stage,.sa-character-portrait-greet{transition:none!important;transform:none!important}}
