/* Reusable Scholar Quest companion presentation pack v1. */
.companion-svg{overflow:visible;filter:drop-shadow(0 7px 4px rgba(11,25,48,.12))}.companion-svg .mascot-body{transform-origin:122px 220px}.companion-svg .mascot-eye-look{transform:translate(var(--eye-x,0px),var(--eye-y,0px));transform-box:fill-box;transform-origin:center;transition:transform 90ms linear}
.companion-svg[data-species="axolotl"] .mascot-gill-left{transform-origin:72px 111px;animation:sqGillL 5.8s ease-in-out infinite}.companion-svg[data-species="axolotl"] .mascot-gill-right{transform-origin:172px 111px;animation:sqGillR 5.8s ease-in-out infinite}.companion-svg[data-species="axolotl"] .mascot-tail{transform-origin:83px 205px;animation:sqTailSoft 4.8s ease-in-out infinite}
.companion-svg[data-species="penguin"] .mascot-flipper-right{transform-origin:166px 172px;animation:sqFlipper 6.2s ease-in-out infinite}.companion-svg[data-species="penguin"] .mascot-body{animation:sqWeightShift 6.5s ease-in-out infinite}
.companion-svg[data-species="fox"] .fox-tail{transform-origin:155px 206px;animation:sqFoxTail 5.6s ease-in-out infinite}.companion-svg[data-species="fox"] .fox-ear-right{transform-origin:158px 70px;animation:sqFoxEar 7.2s ease-in-out infinite}
.stage-character-v3.react .companion-svg[data-species="axolotl"] .mascot-body,.reaction-cheer .companion-svg[data-species="axolotl"] .mascot-body{animation:sqAxolotlDiscover .58s cubic-bezier(.2,.8,.2,1)}
.stage-character-v3.react .companion-svg[data-species="penguin"] .mascot-body,.reaction-cheer .companion-svg[data-species="penguin"] .mascot-body{animation:sqPenguinCelebrate .58s cubic-bezier(.2,.8,.2,1)}
.stage-character-v3.react .companion-svg[data-species="fox"] .mascot-body,.reaction-cheer .companion-svg[data-species="fox"] .mascot-body{animation:sqFoxNotice .58s cubic-bezier(.2,.8,.2,1)}
@keyframes sqGillL{0%,88%,100%{transform:rotate(0)}92%{transform:rotate(-5deg)}96%{transform:rotate(3deg)}}@keyframes sqGillR{0%,88%,100%{transform:rotate(0)}92%{transform:rotate(5deg)}96%{transform:rotate(-3deg)}}@keyframes sqTailSoft{0%,100%{transform:rotate(0)}50%{transform:rotate(-2.5deg)}}
@keyframes sqFlipper{0%,84%,100%{transform:rotate(0)}90%{transform:rotate(-7deg)}95%{transform:rotate(2deg)}}@keyframes sqWeightShift{0%,100%{transform:translateX(0)}50%{transform:translateX(1.5px)}}
@keyframes sqFoxTail{0%,100%{transform:rotate(0)}50%{transform:rotate(3deg)}}@keyframes sqFoxEar{0%,91%,100%{transform:rotate(0)}94%{transform:rotate(7deg)}97%{transform:rotate(-2deg)}}
@keyframes sqAxolotlDiscover{0%{transform:translateY(0) scale(1)}45%{transform:translateY(-8px) scale(1.025)}100%{transform:translateY(0) scale(1)}}@keyframes sqPenguinCelebrate{0%{transform:rotate(0)}40%{transform:rotate(-3deg) translateY(-4px)}70%{transform:rotate(3deg) translateY(-4px)}100%{transform:rotate(0)}}@keyframes sqFoxNotice{0%{transform:translateX(0) rotate(0)}45%{transform:translateX(5px) rotate(2deg)}100%{transform:translateX(0) rotate(0)}}
@media(prefers-reduced-motion:reduce){.companion-svg *{animation:none!important;transition:none!important}.stage-character-v3.react .companion-svg .mascot-body,.reaction-cheer .companion-svg .mascot-body{animation:none!important}}
.companion-v3 .stage-character-v3,.companion-v3 .stage-character-v3.react{animation:none}.spelling-companion{height:100px;display:grid;place-items:center;margin:6px 0!important;font-size:0!important}.spelling-companion .companion-svg{width:86px!important;height:98px!important;filter:drop-shadow(0 5px 3px rgba(11,25,48,.10))}
.companion-choice span{display:block;margin-top:5px;color:#5B6D7F;font-size:11px;line-height:1.25}.companion-choices{grid-template-columns:repeat(3,minmax(0,1fr))!important}.companion-choice{border-color:#D8E3E9!important;background:#FFFDF7!important;color:#0B1930!important}.companion-choice.selected{border-color:#177BE8!important;background:#EEF7FF!important;box-shadow:0 0 0 2px rgba(23,123,232,.08)}
@media(max-width:560px){.companion-choices{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px}.companion-choice{padding:8px 4px!important}.companion-choice .companion-svg{width:84px!important;height:96px!important}.companion-choice span{display:none}}

/* v4.4.1 visual-quality patch: illustration-grade companion masters live inside the
   existing SVG scene so cosmetics, sizing and reactions remain modular. */
.companion-svg .illustrated-base{transform-box:fill-box;transform-origin:50% 82%}
.companion-svg[data-species="axolotl"] .illustrated-base{animation:sqAxoIdle 5.8s ease-in-out infinite}
.companion-svg[data-species="penguin"] .illustrated-base{animation:sqPenguinIdle 6.4s ease-in-out infinite}
.companion-svg[data-species="fox"] .illustrated-base{animation:sqFoxIdle 6.8s ease-in-out infinite}
@keyframes sqAxoIdle{0%,100%{transform:translateY(0) rotate(0deg)}48%{transform:translateY(-2px) rotate(-.6deg)}56%{transform:translateY(-3px) rotate(.5deg)}}
@keyframes sqPenguinIdle{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-1px) rotate(-.45deg)}55%{transform:translateY(-2px) rotate(.45deg)}}
@keyframes sqFoxIdle{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(.35deg)}}
@media(prefers-reduced-motion:reduce){.companion-svg .illustrated-base{animation:none!important}}
