/* edutarix — multfilm bolalar animatsiyalari */
.kid .k-lean{transform-origin:60px 204px}
.kid .k-sw{transform-origin:0 0}
.kid .k-bob{transform-origin:60px 204px}
.kid .k-head{transform-origin:60px 92px}
.kid .k-tail{transform-origin:40px 52px;animation:kTail 1.6s ease-in-out infinite alternate}
.kid .k-tear{animation:kTear 1.4s ease-in infinite}
@keyframes kTail{from{transform:rotate(-6deg)}to{transform:rotate(8deg)}}
@keyframes kTear{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(16px);opacity:0}}
/* turish — nafas */
.pose-stand .k-bob,.pose-think .k-bob,.pose-read .k-bob,.pose-point .k-bob{animation:kBreath 2.6s ease-in-out infinite}
@keyframes kBreath{50%{transform:scaleY(1.02) translateY(-1px)}}
.pose-read .k-head{animation:kNod 2.2s ease-in-out infinite}
@keyframes kNod{50%{transform:rotate(5deg)}}
.pose-think .k-head{animation:kTilt 3s ease-in-out infinite}
@keyframes kTilt{50%{transform:rotate(-7deg)}}
.pose-point .k-armF .k-sw{animation:kPoint 1.2s ease-in-out infinite}
@keyframes kPoint{50%{transform:rotate(-10deg)}}
/* arqon tortish */
.pose-pull .k-lean{animation:kTug .55s ease-in-out infinite alternate}
@keyframes kTug{from{transform:rotate(-3deg)}to{transform:rotate(2.5deg)}}
.pose-pull .k-legF .k-sw{animation:kBrace .55s ease-in-out infinite alternate}
@keyframes kBrace{from{transform:rotate(-4deg)}to{transform:rotate(5deg)}}
.pose-push .k-lean{animation:kTug .7s ease-in-out infinite alternate}
/* yugurish */
.pose-run .k-bob{animation:kRunBob .3s ease-in-out infinite alternate}
@keyframes kRunBob{to{transform:translateY(-6px)}}
.pose-run .k-armF .k-sw{animation:kSwA .3s ease-in-out infinite alternate}
.pose-run .k-armB .k-sw{animation:kSwA .3s ease-in-out infinite alternate-reverse}
.pose-run .k-legF .k-sw{animation:kSwL .3s ease-in-out infinite alternate}
.pose-run .k-legB .k-sw{animation:kSwL .3s ease-in-out infinite alternate-reverse}
@keyframes kSwA{from{transform:rotate(-40deg)}to{transform:rotate(55deg)}}
@keyframes kSwL{from{transform:rotate(-28deg)}to{transform:rotate(36deg)}}
/* quvonch */
.pose-cheer .k-bob{animation:kJump .55s cubic-bezier(.3,0,.4,1) infinite alternate}
@keyframes kJump{to{transform:translateY(-18px)}}
.pose-cheer .k-armF .k-sw{animation:kWave .28s ease-in-out infinite alternate}
.pose-cheer .k-armB .k-sw{animation:kWave .28s ease-in-out infinite alternate-reverse}
@keyframes kWave{from{transform:rotate(-14deg)}to{transform:rotate(14deg)}}
.pose-sad .k-head{transform:rotate(8deg)}
.pose-fall .k-bob{animation:kWobble .8s ease-in-out infinite alternate}
@keyframes kWobble{to{transform:rotate(-6deg)}}
/* bir martalik reaksiyalar */
.kid.k-hop .k-bob{animation:kHop .6s cubic-bezier(.3,0,.4,1)!important}
@keyframes kHop{40%{transform:translateY(-22px)}70%{transform:translateY(0)}85%{transform:translateY(-6px)}}
.kid.k-no .k-head{animation:kShake .5s ease-in-out!important}
@keyframes kShake{20%,60%{transform:rotate(-12deg)}40%,80%{transform:rotate(12deg)}}
.kid.k-heave .k-lean{animation:kHeave .5s ease-out!important}
@keyframes kHeave{40%{transform:rotate(-10deg)}}
.kid.k-slip .k-lean{animation:kSlip .5s ease-out!important}
@keyframes kSlip{40%{transform:rotate(12deg)}}
@media (prefers-reduced-motion:reduce){.kid *,.kid{animation:none!important}}

/* o'yin sahnasidagi bolalar qatlami */
.kids-layer{position:absolute;inset:auto 0 0 0;height:100%;pointer-events:none;z-index:2}
.kids-layer svg{position:absolute;bottom:0;height:100%;max-height:260px;width:auto;filter:drop-shadow(0 8px 14px rgba(0,0,0,.25))}
.kids-layer svg.kl-l{left:2%}.kids-layer svg.kl-r{right:2%}.kids-layer svg.kl-c{left:50%;transform:translateX(-50%)}
@media(max-width:700px){.kids-layer svg{max-height:150px}}
/* savol yonidagi maskot */
.mascot{position:absolute;right:10px;bottom:6px;width:92px;height:150px;pointer-events:none;z-index:3}
.mascot .bub{position:absolute;bottom:138px;right:4px;background:#fff;border:2px solid #7c3aed;border-radius:14px;padding:4px 10px;font-weight:800;font-size:.85rem;white-space:nowrap;color:#4c1d95;opacity:0;transform:translateY(6px) scale(.9);transition:all .25s}
.mascot .bub.on{opacity:1;transform:none}
.mascot .bub:after{content:"";position:absolute;bottom:-8px;right:28px;border:7px solid transparent;border-top-color:#7c3aed;border-bottom:0}
.stage.has-mascot{padding-bottom:150px}
@media(min-width:900px){.stage.has-mascot{padding-bottom:26px;padding-right:120px}}
.kid .k-flag{transform-origin:0 -47px;animation:kFlag .5s ease-in-out infinite alternate}
@keyframes kFlag{to{transform:skewY(-6deg) scaleX(.94)}}
.kl-race svg{left:0!important;right:auto!important;animation:klRace 10s linear infinite}
.kl-race svg.kl-r{animation-delay:-4.5s}
@keyframes klRace{from{transform:translateX(-30vw)}to{transform:translateX(105vw)}}
.kl-catch svg.kl-l{animation:klCatch 5s ease-in-out infinite alternate}
@keyframes klCatch{from{transform:translateX(0)}to{transform:translateX(min(40vw,520px))}}
.kids-layer svg.kl-l,.kids-layer svg.kl-r{animation-name:klIn;animation-duration:.8s;animation-timing-function:cubic-bezier(.3,1.4,.5,1)}
.kl-race svg.kl-l,.kl-race svg.kl-r{animation:klRace 10s linear infinite}
.kl-race svg.kl-r{animation-delay:-4.5s}
.kl-catch svg.kl-l{animation:klCatch 5s ease-in-out infinite alternate}
@keyframes klIn{from{transform:translateY(60px);opacity:0}}
.kids-layer{z-index:5}
.gscene .gs-strip{position:relative}
.kids-layer.kids-strip{inset:auto 2% 0 auto;width:330px;height:190px}
.kids-layer.kids-strip svg{max-height:190px}
.kids-layer.kids-strip svg.kl-l{left:0}.kids-layer.kids-strip svg.kl-r{right:0}
@media(max-width:900px){.kids-layer.kids-strip{width:200px;height:120px;opacity:.95}.kids-layer.kids-strip svg{max-height:120px}.gscene .gs-strip .wrap{padding-right:150px}}
@media(max-width:480px){.kids-layer.kids-strip{width:140px;height:90px}.kids-layer.kids-strip svg{max-height:90px}.gscene .gs-strip .wrap{padding-right:96px}}
