/* Original AI Spark portrait with dynamic vector expressions and a visible pause control. */
.assistant-core{width:100%;max-width:138px;gap:4px}
.assistant-avatar-button{display:block;width:96px;height:96px;max-width:100%;padding:0;border:0;border-radius:14px;background:transparent;color:var(--accent);cursor:pointer;touch-action:manipulation;transition:background-color .15s ease-out}
.assistant-avatar-button:hover{background:var(--accent-soft)}
.assistant-avatar-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.assistant-avatar-button:active{background:var(--warm)}
.assistant-avatar-art{position:relative;display:block;width:100%;height:100%;overflow:visible}
.assistant-body-art{display:block;width:100%;height:100%;object-fit:contain;user-select:none}
.assistant-face-layer{position:absolute;left:30%;top:33%;width:40%;height:30%;overflow:visible;pointer-events:none}
.assistant-name{font-weight:600;color:var(--ink)}
.assistant-state{display:block;min-height:2.5em;font-size:11px;line-height:1.25;text-align:center;color:var(--accent);text-wrap:balance}
.assistant-hint{display:block;max-width:100%;font-size:10px;line-height:1.4;text-align:center;color:var(--muted);text-wrap:balance}
.assistant-face [data-face]{display:none}
.assistant-core[data-state="idle"] [data-face="idle"],.assistant-core[data-state="listening"] [data-face="listening"],.assistant-core[data-state="thinking"] [data-face="thinking"],.assistant-core[data-state="done"] [data-face="done"],.assistant-core[data-state="handover"] [data-face="handover"]{display:block}
.assistant-head{transform-origin:50% 70%}
.assistant-transfer{opacity:0}
.assistant-core[data-state="handover"] .assistant-transfer{opacity:1}
.assistant-core[data-state="thinking"] .assistant-head{transform:rotate(-5deg)}
.assistant-core[data-state="listening"] .assistant-head{transform:rotate(4deg)}
.assistant-core.is-animated[data-state="listening"] .assistant-head{animation:assistant-listen .45s cubic-bezier(.16,1,.3,1) 1}
.assistant-core.is-animated[data-state="thinking"] .assistant-head{animation:assistant-consider .45s cubic-bezier(.16,1,.3,1) 1}
.assistant-core.is-animated[data-state="done"] .assistant-head{animation:assistant-nod .45s cubic-bezier(.16,1,.3,1) 1}
.assistant-core.is-animated[data-state="handover"] .assistant-transfer{animation:assistant-pass .4s cubic-bezier(.16,1,.3,1) 1}
@keyframes assistant-listen{from{transform:rotate(0)}to{transform:rotate(4deg)}}
@keyframes assistant-consider{from{transform:rotate(4deg)}to{transform:rotate(-5deg)}}
@keyframes assistant-nod{0%,100%{transform:translateY(0)}40%{transform:translateY(3px)}}
@keyframes assistant-pass{from{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:1100px) and (min-width:761px){.assistant-avatar-button{width:84px;height:84px}}
@media(max-width:760px){.assistant-avatar-button{width:72px;height:72px}.assistant-core{max-width:180px;gap:3px}.assistant-state{min-height:1.25em}.assistant-hint{font-size:10px}.assistant-name{font-size:11px}}
@media(prefers-reduced-motion:reduce){.assistant-core .assistant-head,.assistant-core .assistant-transfer{animation:none!important;transform:none!important}.assistant-avatar-button{transition:none}}

.assistant-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0 5px;max-width:100%}
.assistant-autoplay{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:44px;min-width:44px;padding:4px;border:0;border-radius:7px;background:transparent;color:var(--ink);font:inherit;font-size:11px;cursor:pointer;touch-action:manipulation}
.assistant-autoplay:hover{background:var(--accent-soft)}
.assistant-autoplay:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.assistant-autoplay:disabled{color:var(--muted);cursor:default}
