/* One rig for header, exercise, maps, and word game – derived from the user's SVG demo. */
.pixel-hero{--pixel-accent:#7736d0;display:block;max-width:100%;height:auto;overflow:visible;contain:layout style}
.pixel-hero .pixel-figure{transform-origin:203px 288px;transform-box:view-box}
.pixel-hero .pixel-head{transform-origin:202px 189px}
.pixel-hero .arm-left{transform-origin:165px 219px}
.pixel-hero .arm-right{transform-origin:239px 219px}
.pixel-hero .leg-left{transform-origin:184px 268px}
.pixel-hero .leg-right{transform-origin:220px 268px}
.pixel-hero .torso{transform-origin:203px 268px}
.pixel-hero .cape{transform-origin:171px 215px;animation:aqCape 2.7s ease-in-out infinite}
.pixel-hero .antenna-light{animation:aqLamp 2.5s ease-in-out infinite}
.pixel-hero .eye-normal{transform-origin:201px 137px;animation:aqBlink 5.4s linear infinite}
.pixel-hero .eye-closed,.pixel-hero .eye-wink,.pixel-hero .eye-wow,.pixel-hero .eye-focus,.pixel-hero .eye-worry{opacity:0}
.pixel-hero.mode-blink .eye-normal,.pixel-hero.mode-wink .eye-normal,.pixel-hero.mode-think .eye-normal,.pixel-hero.mode-surprise .eye-normal,.pixel-hero.mode-worry .eye-normal{opacity:0;animation:none}
.pixel-hero.mode-blink .eye-closed,.pixel-hero.mode-wink .eye-wink,.pixel-hero.mode-think .eye-focus,.pixel-hero.mode-worry .eye-worry,.pixel-hero.mode-surprise .eye-wow{opacity:1}
.pixel-hero.mode-wave .arm-right{animation:aqWave .35s ease-in-out 5 alternate}
.pixel-hero.mode-wave .pixel-head{animation:aqNod 1s ease 2}
.pixel-hero.mode-jump .pixel-figure{animation:aqJump 1.2s cubic-bezier(.22,.7,.26,1) 1}
.pixel-hero.mode-cheer .pixel-figure{animation:aqCheer 1.65s ease 1}
.pixel-hero.mode-cheer .arm-left{animation:aqLiftL 1.65s ease 1}
.pixel-hero.mode-cheer .arm-right{animation:aqLiftR 1.65s ease 1}
.pixel-hero.mode-breathe .pixel-figure{animation:aqBreath 2.6s ease-in-out infinite}
.pixel-hero.mode-think .pixel-head{animation:aqThink 2.5s ease-in-out infinite}
.pixel-hero.mode-balance .pixel-figure{animation:aqBalance 3.1s ease-in-out infinite}
.pixel-hero.mode-balance .leg-right{animation:aqLiftLeg 3.1s ease-in-out infinite}
.pixel-hero.mode-surprise .pixel-figure{animation:aqSurprise .8s ease-out 1}
.pixel-hero.mode-worry .pixel-head{animation:aqWorry 2.3s ease-in-out infinite}
.pixel-hero.mode-look-left .pixel-head{animation:aqLookLeft .85s ease 1}
.pixel-hero.mode-look-right .pixel-head{animation:aqLookRight .85s ease 1}
.pixel-hero.mode-run .pixel-figure{animation:aqRun .28s ease-in-out infinite alternate}
.pixel-hero.mode-run .arm-left,.pixel-hero.mode-run .leg-right{animation:aqRunL .28s ease-in-out infinite alternate}
.pixel-hero.mode-run .arm-right,.pixel-hero.mode-run .leg-left{animation:aqRunR .28s ease-in-out infinite alternate}
.pixel-hero .sparkle{opacity:0}
.pixel-hero.mode-cheer .sparkle{animation:aqSparkle 1.2s ease-out 2}
@keyframes aqCape{50%{transform:rotate(-5deg) translateX(-2px)}}
@keyframes aqLamp{50%{opacity:.55;filter:brightness(1.2)}}
@keyframes aqBlink{0%,45%,48%,100%{transform:scaleY(1)}46.3%{transform:scaleY(.08)}}
@keyframes aqWave{to{transform:rotate(-56deg)}}
@keyframes aqNod{50%{transform:rotate(5deg)}}
@keyframes aqJump{0%,100%{transform:translateY(0)}12%{transform:translateY(8px) scaleY(.97)}42%{transform:translateY(-60px)}65%{transform:translateY(-48px)}84%{transform:translateY(4px)}}
@keyframes aqCheer{0%,100%{transform:translateY(0)}28%{transform:translateY(-30px) rotate(-5deg)}50%{transform:translateY(0)}73%{transform:translateY(-22px) rotate(5deg)}}
@keyframes aqLiftL{20%,85%{transform:rotate(80deg)}}
@keyframes aqLiftR{20%,85%{transform:rotate(-95deg)}}
@keyframes aqBreath{50%{transform:translateY(-5px) scale(1.028)}}
@keyframes aqThink{25%,80%{transform:rotate(9deg)}}
@keyframes aqBalance{22%{transform:rotate(-8deg)}43%{transform:rotate(7deg)}63%{transform:rotate(-4deg)}83%,100%{transform:rotate(0)}}
@keyframes aqLiftLeg{20%,82%{transform:rotate(-43deg)}}
@keyframes aqSurprise{25%{transform:translateY(-12px) scale(1.04)}60%{transform:translateY(0)}}
@keyframes aqWorry{0%,100%{transform:rotate(0)}30%,65%{transform:rotate(-6deg)}}
@keyframes aqLookLeft{30%,65%{transform:translateX(-7px) rotate(-8deg)}}
@keyframes aqLookRight{30%,65%{transform:translateX(7px) rotate(8deg)}}
@keyframes aqRun{to{transform:translateY(-10px) rotate(-3deg)}}
@keyframes aqRunL{to{transform:rotate(-37deg)}}
@keyframes aqRunR{to{transform:rotate(37deg)}}
@keyframes aqSparkle{0%,100%{opacity:0;transform:scale(.4)}40%,70%{opacity:1;transform:scale(1.3)}}
@media(prefers-reduced-motion:reduce){.pixel-hero *,.pixel-hero{animation:none!important;transition:none!important}}
