/* Slovo character choreography. A single finite body track owns the lifecycle;
   face, shoulders and paws follow with deliberate offsets within that scene. */
.slovo-bear{overflow:visible;--bear-time:1.7s;--bear-ease:cubic-bezier(.32,0,.24,1)}
.slovo-bear :is(.bear-body,.bear-head,.bear-arm-left,.bear-arm-right,.bear-hand,.bear-hand-left,.bear-foot-left,.bear-foot-right,.bear-shadow,.bear-eyes,.bear-brow-left,.bear-brow-right){animation:none;transform:none}
.slovo-bear .bear-body{transform-origin:140px 270px}
.slovo-bear .bear-head{transform-origin:141px 151px}
.slovo-bear .bear-arm-left{transform-origin:91px 157px}
.slovo-bear .bear-arm-right{transform-origin:189px 157px}
.slovo-bear .bear-hand-left{transform-origin:75px 203px}
.slovo-bear .bear-hand{transform-origin:206px 214px}
.slovo-bear .bear-foot-left{transform-origin:108px 269px}
.slovo-bear .bear-foot-right{transform-origin:177px 269px}
.slovo-bear .bear-shadow{transform-origin:140px 279px}
.slovo-bear .bear-eyes,.slovo-bear .bear-gaze,.slovo-bear .bear-lids{transform-origin:140px 94px}
.slovo-bear .bear-ear-left{transform-origin:84px 64px}
.slovo-bear .bear-ear-right{transform-origin:194px 62px}
.slovo-bear .bear-brow-left{transform-origin:108px 78px}
.slovo-bear .bear-brow-right{transform-origin:171px 76px}
.slovo-bear .bear-lids{transform:scaleY(0)}
.slovo-bear :is(.bear-eye-smiles,.bear-grin,.bear-concern){display:inline;opacity:0}
.slovo-bear :is(.bear-mouth,.bear-eyes){display:inline;opacity:1}
.slovo-bear :is(.bear-sparks,.bear-idea){display:none}
.bear-think .bear-head{transform:rotate(-3deg)}
.bear-think .bear-brow-right,.bear-hint .bear-brow-left{transform:translateY(-3px)}
.bear-sleep .bear-eyes{transform:scaleY(.08)}
.bear-greeting{--bear-time:1.85s}
.bear-hint{--bear-time:1.65s}
.bear-sad,.bear-retry,.bear-encouraging{--bear-time:1.9s}
.bear-complete,.bear-perfect{--bear-time:2.6s}
@media(prefers-reduced-motion:no-preference){
 .bear-idle .bear-body,.bear-think .bear-body{animation:bear-rest-breath 6.4s ease-in-out infinite}
 .bear-idle .bear-lids,.bear-think .bear-lids{animation:bear-rest-blink 17s linear infinite}
 .bear-idle .bear-gaze{animation:bear-rest-gaze 23s ease-in-out infinite}
 .bear-idle .bear-head{animation:bear-rest-attend 23s ease-in-out infinite}
 .slovo-bear:where(:not(.bear-idle):not(.bear-think):not(.bear-sleep)) .bear-body{animation:bear-scene-attend var(--bear-time) var(--bear-ease) both}
 .bear-greeting .bear-head,.bear-hint .bear-head{animation:bear-listen-head var(--bear-time) var(--bear-ease) both}
 .bear-greeting .bear-arm-right,.bear-hint .bear-arm-right{animation:bear-greet-shoulder var(--bear-time) var(--bear-ease) both}
 .bear-greeting .bear-hand,.bear-hint .bear-hand{animation:bear-greet-paw var(--bear-time) var(--bear-ease) both}
 :is(.bear-happy,.bear-proud,.bear-clap,.bear-streak) .bear-body{animation-name:bear-scene-recognition}
 :is(.bear-happy,.bear-proud,.bear-clap,.bear-streak,.bear-complete,.bear-perfect) .bear-grin{animation:bear-face-delight var(--bear-time) ease-in-out both}
 :is(.bear-happy,.bear-proud,.bear-clap,.bear-streak,.bear-complete,.bear-perfect) .bear-mouth{animation:bear-face-soften var(--bear-time) ease-in-out both}
 :is(.bear-happy,.bear-clap,.bear-streak,.bear-complete,.bear-perfect) .bear-eye-smiles{animation:bear-face-delight var(--bear-time) ease-in-out both}
 :is(.bear-happy,.bear-clap,.bear-streak,.bear-complete,.bear-perfect) .bear-eyes{animation:bear-face-soften var(--bear-time) ease-in-out both}
 :is(.bear-happy,.bear-proud,.bear-clap,.bear-streak) .bear-head{animation:bear-recognize-head var(--bear-time) var(--bear-ease) both}
 :is(.bear-happy,.bear-streak) .bear-arm-left{animation:bear-delight-left var(--bear-time) var(--bear-ease) both}
 :is(.bear-happy,.bear-streak) .bear-arm-right{animation:bear-delight-right var(--bear-time) var(--bear-ease) both}
 :is(.bear-happy,.bear-streak,.bear-complete,.bear-perfect) .bear-hand{animation:bear-paw-follow var(--bear-time) var(--bear-ease) both}
 :is(.bear-happy,.bear-streak,.bear-complete,.bear-perfect) .bear-hand-left{animation:bear-paw-follow-left var(--bear-time) var(--bear-ease) both}
 :is(.bear-happy,.bear-streak,.bear-complete,.bear-perfect) .bear-ear-left{animation:bear-ear-follow var(--bear-time) var(--bear-ease) both}
 :is(.bear-happy,.bear-streak,.bear-complete,.bear-perfect) .bear-ear-right{animation:bear-ear-follow-right var(--bear-time) var(--bear-ease) both}
 .bear-proud .bear-arm-left,.bear-clap .bear-arm-left{animation:bear-heart-left var(--bear-time) var(--bear-ease) both}
 .bear-proud .bear-arm-right,.bear-clap .bear-arm-right{animation:bear-heart-right var(--bear-time) var(--bear-ease) both}
 :is(.bear-sad,.bear-retry,.bear-encouraging) .bear-body{animation-name:bear-scene-support}
 :is(.bear-sad,.bear-retry,.bear-encouraging) .bear-head{animation:bear-support-head var(--bear-time) var(--bear-ease) both}
 :is(.bear-sad,.bear-retry,.bear-encouraging) .bear-brow-left{animation:bear-empathy-brow-left var(--bear-time) ease-in-out both}
 :is(.bear-sad,.bear-retry,.bear-encouraging) .bear-brow-right{animation:bear-empathy-brow-right var(--bear-time) ease-in-out both}
 :is(.bear-sad,.bear-retry,.bear-encouraging) .bear-concern{animation:bear-face-concern var(--bear-time) ease-in-out both}
 :is(.bear-sad,.bear-retry,.bear-encouraging) .bear-mouth{animation:bear-support-smile var(--bear-time) ease-in-out both}
 :is(.bear-sad,.bear-retry,.bear-encouraging) .bear-arm-left{animation:bear-support-heart var(--bear-time) var(--bear-ease) both}
 :is(.bear-sad,.bear-retry,.bear-encouraging) .bear-arm-right{animation:bear-offer-paw var(--bear-time) var(--bear-ease) both}
 :is(.bear-sad,.bear-retry,.bear-encouraging) .bear-hand{animation:bear-offer-wrist var(--bear-time) var(--bear-ease) both}
 :is(.bear-complete,.bear-perfect) .bear-body{animation-name:bear-scene-celebrate}
 :is(.bear-complete,.bear-perfect) .bear-head{animation:bear-celebrate-head var(--bear-time) var(--bear-ease) both}
 :is(.bear-complete,.bear-perfect) .bear-arm-left{animation:bear-celebrate-left var(--bear-time) var(--bear-ease) both}
 :is(.bear-complete,.bear-perfect) .bear-arm-right{animation:bear-celebrate-right var(--bear-time) var(--bear-ease) both}
 :is(.bear-complete,.bear-perfect) .bear-shadow{animation:bear-ground-weight var(--bear-time) ease-in-out both}
}
/* Long holds and short blinks: the companion listens instead of fidgeting. */
@keyframes bear-rest-breath{0%,100%{transform:none}46%{transform:translateY(-.7px) scale(1.002,1.005)}}
@keyframes bear-rest-blink{0%,18%,19.3%,55%,56.3%,59%,60.3%,91%,92.3%,100%{transform:scaleY(0)}18.6%,55.6%,59.6%,91.6%{transform:scaleY(1)}}
@keyframes bear-rest-gaze{0%,72%,91%,100%{transform:none}77%,85%{transform:translate(2px,1px)}}
@keyframes bear-rest-attend{0%,73%,95%,100%{transform:none}80%,86%{transform:rotate(1.5deg)}}
/* Correct: register → smile → lift through chest and paws → exhale. */
@keyframes bear-scene-recognition{0%,12%,100%{transform:none}23%{transform:translateY(1.5px) scale(1.012,.985)}43%{transform:translateY(-3px) scale(.997,1.012)}61%{transform:translateY(-2px)}81%{transform:translateY(.5px) scale(1.004,.998)}}
@keyframes bear-recognize-head{0%,100%{transform:none}16%{transform:translateY(-2px) rotate(-2deg)}30%{transform:translateY(1px) rotate(-1deg)}48%,63%{transform:translateY(-3px) rotate(3deg)}83%{transform:translateY(1px) rotate(.5deg)}}
@keyframes bear-face-delight{0%,13%,100%{opacity:0}27%,76%{opacity:1}94%{opacity:0}}
@keyframes bear-face-soften{0%,13%,100%{opacity:1}27%,76%{opacity:0}94%{opacity:1}}
@keyframes bear-delight-left{0%,16%,100%{transform:none}26%{transform:translate(1px,2px) rotate(-5deg)}45%,60%{transform:translate(-2px,-3px) rotate(35deg)}79%{transform:rotate(8deg)}92%{transform:rotate(-2deg)}}
@keyframes bear-delight-right{0%,19%,100%{transform:none}29%{transform:translate(-1px,2px) rotate(4deg)}48%,63%{transform:translate(2px,-4px) rotate(-45deg)}81%{transform:rotate(-9deg)}94%{transform:rotate(2deg)}}
@keyframes bear-paw-follow{0%,30%,100%{transform:none}52%,65%{transform:rotate(-10deg)}80%{transform:rotate(5deg)}}
@keyframes bear-paw-follow-left{0%,29%,100%{transform:none}49%,63%{transform:rotate(8deg)}79%{transform:rotate(-4deg)}}
@keyframes bear-ear-follow{0%,23%,100%{transform:none}46%{transform:rotate(-4deg)}67%{transform:rotate(2deg)}85%{transform:rotate(-.5deg)}}
@keyframes bear-ear-follow-right{0%,27%,100%{transform:none}51%{transform:rotate(3deg)}71%{transform:rotate(-1.5deg)}89%{transform:rotate(.5deg)}}
@keyframes bear-heart-left{0%,19%,100%{transform:none}44%,65%{transform:translate(2px,-4px) rotate(-33deg)}84%{transform:rotate(-5deg)}}
@keyframes bear-heart-right{0%,24%,100%{transform:none}49%,65%{transform:translate(-3px,-5px) rotate(34deg)}84%{transform:rotate(5deg)}}
/* Wrong: lean toward learner; acknowledge, offer a paw, then one affirmative nod. */
@keyframes bear-scene-support{0%,100%{transform:none}25%,43%{transform:translateY(1px) rotate(-1deg)}65%{transform:translateY(-1px)}84%{transform:translateY(.5px)}}
@keyframes bear-support-head{0%,100%{transform:none}23%,36%{transform:translate(-1px,3px) rotate(-6deg)}58%{transform:translateY(-1px) rotate(-2deg)}71%{transform:translateY(2px) rotate(-1deg)}84%{transform:translateY(-1px)}}
@keyframes bear-empathy-brow-left{0%,100%{transform:none}20%,42%{transform:rotate(-11deg) translateY(-1px)}68%{transform:translateY(-1px)}}
@keyframes bear-empathy-brow-right{0%,100%{transform:none}20%,42%{transform:rotate(10deg) translateY(-1px)}68%{transform:translateY(-1px)}}
@keyframes bear-face-concern{0%,100%{opacity:0}16%,39%{opacity:1}61%{opacity:0}}
@keyframes bear-support-smile{0%,100%{opacity:1}16%,39%{opacity:0}61%{opacity:1}}
@keyframes bear-support-heart{0%,19%,100%{transform:none}39%,64%{transform:translate(1px,-2px) rotate(-24deg)}85%{transform:rotate(-4deg)}}
@keyframes bear-offer-paw{0%,34%,100%{transform:none}57%,73%{transform:translate(4px,-2px) rotate(-30deg)}89%{transform:rotate(-6deg)}}
@keyframes bear-offer-wrist{0%,43%,100%{transform:none}64%,76%{transform:rotate(-11deg)}90%{transform:rotate(3deg)}}
/* Completion is one grounded, broad opening gesture, with a late head follow. */
@keyframes bear-scene-celebrate{0%,100%{transform:none}15%{transform:translateY(3px) scale(1.02,.97)}34%{transform:translateY(-5px) scale(.99,1.02) rotate(-2deg)}49%,61%{transform:translateY(-3px) rotate(2deg)}78%{transform:translateY(1px) scale(1.007,.995)}92%{transform:translateY(-.5px)}}
@keyframes bear-celebrate-head{0%,100%{transform:none}18%{transform:translateY(3px) rotate(-3deg)}39%,52%{transform:translateY(-4px) rotate(5deg)}67%{transform:translateY(-1px) rotate(2deg)}82%{transform:translateY(1px) rotate(-1deg)}}
@keyframes bear-celebrate-left{0%,100%{transform:none}17%{transform:translate(1px,2px) rotate(-10deg)}37%,57%{transform:translate(-2px,-5px) rotate(51deg)}73%{transform:rotate(23deg)}88%{transform:rotate(-3deg)}}
@keyframes bear-celebrate-right{0%,100%{transform:none}20%{transform:translate(-1px,2px) rotate(9deg)}41%,61%{transform:translate(2px,-6px) rotate(-58deg)}77%{transform:rotate(-23deg)}91%{transform:rotate(3deg)}}
@keyframes bear-ground-weight{0%,100%{transform:none}16%{transform:scaleX(1.04)}38%,58%{transform:scaleX(.96)}79%{transform:scaleX(1.015)}}
@keyframes bear-scene-attend{0%,100%{transform:none}25%{transform:translateY(1px)}55%{transform:translateY(-1px)}}
@keyframes bear-listen-head{0%,100%{transform:none}28%,59%{transform:rotate(-4deg) translateY(-1px)}79%{transform:rotate(1deg)}}
@keyframes bear-greet-shoulder{0%,100%{transform:none}17%{transform:rotate(5deg)}38%,64%{transform:translate(2px,-4px) rotate(-48deg)}82%{transform:rotate(-9deg)}}
@keyframes bear-greet-paw{0%,28%,100%{transform:none}42%{transform:rotate(-13deg)}54%{transform:rotate(7deg)}66%{transform:rotate(-7deg)}81%{transform:rotate(2deg)}}
/* Equivalent readable still poses; no motion or delayed continuation. */
@media(prefers-reduced-motion:reduce){
 .slovo-bear *{animation:none!important}
 :is(.bear-happy,.bear-proud,.bear-clap,.bear-streak,.bear-complete,.bear-perfect) .bear-grin{opacity:1}
 :is(.bear-happy,.bear-proud,.bear-clap,.bear-streak,.bear-complete,.bear-perfect) .bear-mouth{opacity:0}
 :is(.bear-happy,.bear-clap,.bear-streak,.bear-complete,.bear-perfect) .bear-eye-smiles{opacity:1}
 :is(.bear-happy,.bear-clap,.bear-streak,.bear-complete,.bear-perfect) .bear-eyes{opacity:0}
 :is(.bear-happy,.bear-streak,.bear-complete,.bear-perfect) .bear-arm-left{transform:rotate(35deg)}
 :is(.bear-happy,.bear-streak,.bear-complete,.bear-perfect) .bear-arm-right{transform:rotate(-45deg)}
 :is(.bear-complete,.bear-perfect) .bear-arm-left{transform:translate(-2px,-5px) rotate(51deg)}
 :is(.bear-complete,.bear-perfect) .bear-arm-right{transform:translate(2px,-6px) rotate(-58deg)}
 :is(.bear-complete,.bear-perfect) .bear-head{transform:rotate(4deg)}
 :is(.bear-proud,.bear-clap) .bear-arm-left{transform:rotate(-30deg)}
 :is(.bear-proud,.bear-clap) .bear-arm-right{transform:rotate(30deg)}
 :is(.bear-sad,.bear-retry,.bear-encouraging) .bear-head{transform:rotate(-4deg)}
 :is(.bear-sad,.bear-retry,.bear-encouraging) .bear-brow-left{transform:rotate(-9deg)}
 :is(.bear-sad,.bear-retry,.bear-encouraging) .bear-brow-right{transform:rotate(9deg)}
 :is(.bear-sad,.bear-retry,.bear-encouraging) .bear-arm-right{transform:rotate(-25deg)}
 :is(.bear-greeting,.bear-hint) .bear-arm-right{transform:rotate(-42deg)}
}
