@charset "UTF-8";
/* 倚边伙伴独立占位，不碰输入框、正文或业务状态。 */
.question-box:has(> .xb-presence) { position:relative; margin-top:136px; overflow:visible; }
.xb-presence { display:block; position:absolute; width:152px; height:152px; top:-137px; left:28px; right:auto; z-index:2; pointer-events:none; isolation:isolate; }
.xb-presence-rest { display:block; width:100%; height:100%; transform-origin:50% 92%; animation:xb-rest-breathe 6s ease-in-out infinite; }
.xb-presence-rest img { display:block; width:100%; height:100%; object-fit:contain; max-width:none; margin:0; opacity:1; filter:drop-shadow(0 5px 8px #0005); }
.xb-presence-thinking { position:absolute; inset:0; display:flex; align-items:flex-end; justify-content:center; padding-bottom:13px; }
.xb-presence-thinking .xb-figure { transform:translateY(-2px); }
.xb-presence [hidden] { display:none!important; }
.xb-presence[data-xb-mood="listen"] .xb-presence-rest { animation:xb-listen 4.6s ease-in-out infinite; }
.xb-presence[data-xb-mood="ready"] .xb-presence-rest { animation:xb-ready-nod 1.8s ease-in-out both; animation-delay:var(--xb-ready-delay,0ms); }
.xb-presence[data-xb-mood="error"] .xb-presence-rest { animation:none; transform:rotate(3deg) translateY(2px); }
.xb-presence[data-xb-mood="think"]::after { content:""; position:absolute; bottom:1px; left:42%; width:16%; height:2px; border-radius:99px; background:#e7c28d; animation:xb-thought-light 2.8s ease-in-out infinite; }
@keyframes xb-rest-breathe { 0%,100%{transform:translateY(0) rotate(0deg)} 50%{transform:translateY(-2px) rotate(1deg)} }
@keyframes xb-listen { 0%,100%{transform:translateY(-3px) rotate(-3deg)} 50%{transform:translateY(-5px) rotate(-1deg)} }
@keyframes xb-ready-nod { 0%,100%{transform:translateY(0) rotate(0)} 30%{transform:translateY(5px) rotate(3deg)} 66%{transform:translateY(-2px) rotate(-2deg)} }
@keyframes xb-thought-light { 0%,100%{opacity:.25;transform:scaleX(.6)} 50%{opacity:.85;transform:scaleX(1.2)} }
.xb-presence[data-xb-paused="true"] *, .xb-presence[data-xb-paused="true"]::after { animation-play-state:paused!important; }
.xb-presence[data-xb-motion="still"] *, .xb-presence[data-xb-motion="still"]::after { animation:none!important; transform:none!important; transition:none!important; }
@media(max-width:650px){
 .question-box:has(> .xb-presence) { margin-top:108px; }
 .xb-presence { width:118px;height:118px;top:-106px;left:18px;right:auto; }
 .xb-presence-thinking { padding-bottom:12px; }
 .xb-presence-thinking .xb-figure { --xb-size:82px!important; }
}
@media(prefers-reduced-motion:reduce){
 .xb-presence *, .xb-presence::after { animation:none!important;transition:none!important;transform:none!important; }
}
@media print { .xb-presence { display:none!important; } .question-box:has(> .xb-presence){margin-top:24px;} }

body[data-xb-speaking="true"] .xb-presence[data-xb-mood="rest"] .xb-presence-rest,body[data-xb-speaking="true"] .xb-presence[data-xb-mood="listen"] .xb-presence-rest{animation:xb-voice-nod 3.2s ease-in-out infinite;}
@keyframes xb-voice-nod{0%,100%{transform:rotate(-1deg)}45%{transform:translateY(-3px) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){body[data-xb-speaking="true"] .xb-presence .xb-presence-rest{animation:none;}}
