.voice-orb.has-avatar{overflow:hidden;gap:0;background:radial-gradient(circle at 40% 22%,#edfff8,#b5e8d8 62%,#72c5ae);color:#174f45;isolation:isolate;box-shadow:inset 0 1px 2px #fff9,0 18px 45px #176f5726;transition:box-shadow .4s ease,background .4s ease}
.voice-orb.has-avatar:after{display:none}
.voice-orb.has-avatar .companion-sprite{position:relative;display:block;flex-shrink:0;width:82%;aspect-ratio:1;margin-top:-1%;pointer-events:none;--row:0%;--cut:polygon(8% 16%,39% 16%,39% 43%,23% 53%,7% 53%);--body:polygon(evenodd,0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,8% 16%,7% 53%,23% 53%,39% 43%,39% 16%,8% 16%,0% 0%);--pivot:17% 51%}
[data-companion="female"] .companion-sprite{--row:100%;--cut:polygon(5% 17%,33% 17%,33% 43%,22% 64%,7% 64%);--body:polygon(evenodd,0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,5% 17%,7% 64%,22% 64%,33% 43%,33% 17%,5% 17%,0% 0%);--pivot:15% 62%}
.companion-pose,.companion-body,.companion-hand{position:absolute;inset:0;background-size:200% 200%;background-repeat:no-repeat;background-position:0 var(--row);transform-origin:50% 90%}
.companion-wave{background-image:none!important;opacity:1;transition:opacity .32s ease,transform .45s cubic-bezier(.22,1,.36,1)}
.companion-body{clip-path:var(--body)}
.companion-hand{clip-path:var(--cut);transform-origin:var(--pivot);animation:companion-wave 6s ease-in-out infinite}
.companion-ear{background-position:100% var(--row);opacity:0;transform:translateY(3%) rotate(-3deg);transition:opacity .32s ease,transform .45s cubic-bezier(.22,1,.36,1)}
.companion-listening .companion-wave,.companion-working .companion-wave,.companion-done .companion-wave{opacity:0;transform:translateY(2%)}
.companion-listening .companion-ear{opacity:1;transform:translateY(0) rotate(0)}
.companion-listening .companion-ear{animation:companion-arrive .45s ease-out both,companion-attentive 4s .45s ease-in-out infinite}

.voice-orb.has-avatar .orb-label{font-size:14px;line-height:1.2;margin:0 0 6%;text-shadow:none;position:relative;z-index:2}
.voice-orb.has-avatar.listening{animation:none;box-shadow:inset 0 1px 2px #fff9,0 0 0 7px #63c6a51f,0 18px 45px #176f5733}
.companion-choice{display:flex;flex-direction:column;gap:5px;font-size:14px;min-width:110px}.companion-choice select{font:inherit;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
@keyframes companion-arrive{from{opacity:0;transform:translateY(3%) rotate(-3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes companion-wave{0%,4%,24%,100%{transform:rotate(0)}8%,16%{transform:rotate(-7deg)}12%,20%{transform:rotate(5deg)}}
@keyframes companion-attentive{0%,100%{transform:rotate(0) translateY(0)}50%{transform:rotate(1.5deg) translateY(.6%)}}
@keyframes companion-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(1%)}}
@media(prefers-reduced-motion:reduce){.voice-orb.has-avatar,.companion-sprite *{animation:none!important;transition:none!important}}

.companion-sprite{--pen-cut:polygon(23% 65%,40% 64%,53% 84%,44% 90%,27% 94%,18% 91%);--pen-pivot:27% 88%;--thumb-cut:polygon(20% 33%,29% 33%,35% 53%,32% 66%,20% 76%,10% 71%,10% 62%);--thumb-pivot:18% 71%}
[data-companion="female"] .companion-sprite{--pen-pivot:26% 91%;--thumb-cut:polygon(23% 38%,30% 38%,37% 56%,36% 75%,25% 86%,14% 80%,14% 70%);--thumb-pivot:22% 79%}
.companion-notes,.companion-thumbs{background-image:none!important;opacity:0;transform:translateY(3%);transition:opacity .35s ease,transform .45s cubic-bezier(.22,1,.36,1)}
.companion-notes-body,.companion-pen-hand,.companion-thumbs-body,.companion-thumb-hand{position:absolute;inset:0;background-size:200% 200%;background-repeat:no-repeat;background-position:0 var(--row)}
.companion-pen-hand{clip-path:var(--pen-cut);transform-origin:var(--pen-pivot)}
.companion-thumbs-body,.companion-thumb-hand{background-position:100% var(--row)}
.companion-thumb-hand{clip-path:var(--thumb-cut);transform-origin:var(--thumb-pivot)}
.companion-working .companion-notes,.companion-done .companion-thumbs{opacity:1;transform:translateY(0)}
.companion-working .companion-pen-hand{animation:companion-write 1.5s ease-in-out infinite}
.companion-done .companion-thumb-hand{animation:companion-approve .65s cubic-bezier(.22,1,.36,1) both}
.companion-done .companion-thumbs{animation:companion-arrive .45s ease-out both}
@keyframes companion-write{0%,100%{transform:translate(0,0) rotate(0)}20%{transform:translate(.8%,.2%) rotate(1.3deg)}40%{transform:translate(-.2%,.3%) rotate(-.6deg)}60%{transform:translate(.7%,-.2%) rotate(1deg)}80%{transform:translate(.1%,0) rotate(0)}}
@keyframes companion-approve{0%{transform:translateY(3%) rotate(-5deg)}60%{transform:translateY(-1%) rotate(2deg)}100%{transform:translateY(0) rotate(0)}}
