/* 凝神: the selected spirit leans into the conversation; its mist breathes. */
.mira-thinking{--thought-tint:145,176,208}
body[data-page="chat"] .mira-thinking{
 display:flex;align-items:center;gap:12px;min-height:96px;width:fit-content;
 margin:2px 0 18px;padding:0 2px;color:#627895;background:none;
}
.mira-thinking[data-appearance="rabbit"]{--thought-tint:176,154,209}
.mira-thinking[data-appearance="dog"]{--thought-tint:211,177,163}
.mira-thinking[data-appearance="fox"]{--thought-tint:205,188,143}
.mira-thinking[data-appearance="cat"]{--thought-tint:191,170,183}
.thinking-scene{position:relative;flex:none;width:84px;height:96px;isolation:isolate}
.thinking-spirit{position:absolute;inset:0 0 12px;z-index:1;transform-origin:50% 78%;animation:spirit-attending 4.8s ease-in-out infinite}
.thinking-spirit .companion-avatar{width:84px;height:84px;box-shadow:none}
.thinking-spirit .companion-avatar.avatar-spirit{border-radius:0;background:none;padding:0;object-fit:contain}
.thinking-glow{position:absolute;inset:6px -5px 8px;border-radius:50%;background:radial-gradient(ellipse,rgba(var(--thought-tint),.32),rgba(var(--thought-tint),.09) 48%,transparent 72%);animation:thought-mist 4.8s ease-in-out infinite}
.thinking-shadow{position:absolute;left:19px;right:19px;bottom:9px;height:7px;border-radius:50%;background:radial-gradient(ellipse,rgba(var(--thought-tint),.3),transparent 73%);animation:thought-ground 4.8s ease-in-out infinite}
.mira-thinking .thinking-caption{font:13px/1.7 var(--font);letter-spacing:.035em;color:#627895}
@keyframes spirit-attending{
 0%,100%{transform:translate(0,0) rotate(-2deg)}
 32%{transform:translate(1px,-4px) rotate(2.5deg)}
 64%{transform:translate(-1px,-2px) rotate(-1deg)}
 82%{transform:translate(0,0) rotate(-2deg)}
}
@keyframes thought-mist{0%,100%{opacity:.45;transform:scale(.94)}40%{opacity:.9;transform:scale(1.09)}75%{opacity:.62;transform:scale(1)}}
@keyframes thought-ground{0%,100%{opacity:.65;transform:scaleX(1)}35%{opacity:.34;transform:scaleX(.8)}80%{opacity:.65;transform:scaleX(1)}}
.mira-thinking[data-thinking-state="paused"] *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
 .mira-thinking *{animation:none!important;transform:none!important}
 .mira-thinking .deer-blink-frame{opacity:0}
 .thinking-glow{opacity:.5}.thinking-shadow{opacity:.5}
}
