/* Motion stays within the sprite; positioning and feedback never animate. */
.cat-happy-feedback{display:none}
[data-reaction="happy"] .cat-happy-feedback{display:block}
[data-reaction="happy"] .story-emotion{display:none}
[data-reaction="happy"] .story-cat-motion{animation:cat-play-ready 1.6s ease-in-out infinite}
.cat-touch{cursor:pointer;outline:none}
.cat-touch:focus-visible{stroke:#89634d;stroke-width:2;stroke-dasharray:3 3}
.cat-interaction-controls{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.cat-interaction-controls button{font:inherit;font-size:14px;min-height:40px;padding:7px 12px;border:1px solid #cbbba5;border-radius:12px;background:#fffaf2;color:#624a37}
.cat-reply{font-size:14px;line-height:1.5;color:#826249;min-height:3em;margin:5px 0}
@media(max-width:700px){.cat-interaction-controls{margin-top:6px;gap:6px}.cat-interaction-controls button{flex:1;padding:5px 8px;min-height:36px;font-size:13px}.cat-reply{font-size:12px;min-height:2.8em;margin:2px 0}.scene-column .scene-caption{margin:2px 0;font-size:11px}}
.story-cat-motion.is-calm{transform-box:fill-box;transform-origin:50% 100%;animation:cat-scene-breath 5.8s ease-in-out infinite}
@keyframes cat-scene-breath{50%{transform:scaleY(.99)}}
.story-cat-motion.is-playing{transform-box:fill-box;transform-origin:50% 100%;animation:cat-play-ready 2.8s ease-in-out infinite}
.story-cat-motion.is-breathing{transform-box:fill-box;transform-origin:50% 100%;animation:cat-effort-breath 1.5s ease-in-out infinite}
.story-cat-motion.is-resting{transform-box:fill-box;transform-origin:50% 100%;animation:cat-scene-breath 6s ease-in-out infinite}
@keyframes cat-play-ready{35%{transform:rotate(-3deg) scaleY(.96)}55%{transform:rotate(2deg)}}
@keyframes cat-effort-breath{50%{transform:scaleY(1.025)}}
@media(prefers-reduced-motion:reduce){.story-cat-motion{animation:none!important}}
@media(prefers-reduced-motion:reduce){.story-cat-motion.is-calm{animation:none}}
