/* No CSS autoplay. WAAPI playback is explicitly unlocked by the reveal lifecycle. */
.vocabulary-motion{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:100%}
.vocabulary-motion-scene{display:block;width:min(100%,320px);height:auto;max-height:220px;border-radius:20px}
.vocabulary-motion [data-motion-part="front-arm"],.vocabulary-motion [data-motion-part="back-arm"]{transform-origin:5px -23px}
.vocabulary-motion [data-motion-part="front-leg"],.vocabulary-motion [data-motion-part="back-leg"]{transform-origin:0 9px}
.vocabulary-motion [data-motion-part="quick-front-leg"]{transform-origin:0 9px}
.vocabulary-motion[data-vocabulary-motion="swim"] [data-motion-part="front-arm"]{transform-origin:155px 125px}
.vocabulary-motion[data-vocabulary-motion="swim"] [data-motion-part="back-leg"]{transform-origin:114px 132px}
.vocabulary-motion-replay{font:inherit;font-size:.82rem;font-weight:700;min-height:36px;padding:6px 14px;border:1px solid #a9c7bd;border-radius:999px;background:#f2f8f5;color:#244c47;cursor:pointer}
.vocabulary-motion-replay:focus-visible{outline:3px solid #397cbd;outline-offset:3px}
.vocabulary-motion-replay:disabled{opacity:.5;cursor:default}
.vocabulary-motion-replay[hidden]{display:none}
.vocabulary-motion{isolation:isolate;contain:layout style}
.vocabulary-motion-scene{overflow:hidden;background:#F7F8F1}
.vocabulary-motion-replay{background:#F7F8F1;color:#123F46;border-color:#AABFB2}
.vocabulary-motion[data-vocabulary-motion="drink"] [data-motion-part="hand"],.vocabulary-motion[data-vocabulary-motion="eat"] [data-motion-part="hand"]{transform-origin:160px 96px;transform:translate(-14px,-3px) rotate(-18deg)}
.vocabulary-motion[data-vocabulary-motion="eat"] [data-motion-part="hand"]{transform:translate(-23px,-3px) rotate(-18deg)}
.vocabulary-motion [data-semantic-base="drink"] [data-motion-part="hand"],.vocabulary-motion [data-semantic-base="eat"] [data-motion-part="hand"]{transform-origin:160px 96px;transform:translate(-14px,-3px) rotate(-18deg)}
.vocabulary-motion [data-semantic-base="eat"] [data-motion-part="hand"]{transform:translate(-23px,-3px) rotate(-18deg)}
.vocabulary-motion [data-semantic-base="swim"] [data-motion-part="front-arm"]{transform-origin:155px 125px}
.vocabulary-motion [data-semantic-base="swim"] [data-motion-part="back-leg"]{transform-origin:114px 132px}
.vocabulary-motion[data-vocabulary-motion="eat"] [data-motion-part="bite"],.vocabulary-motion[data-vocabulary-motion="dry"] [data-motion-part="marks"],.vocabulary-motion[data-vocabulary-motion="dry"] [data-motion-part="drops"]{opacity:0}
@media(prefers-reduced-motion:reduce){.vocabulary-motion-replay{display:none}}
/* The legacy picture entrance must not animate the entire semantic scene. */
.oral-model .vocabulary-motion .vocabulary-motion-scene{animation:none;width:min(100%,320px);height:auto;max-height:220px}
@media(max-width:650px){.oral-model .vocabulary-motion .vocabulary-motion-scene{max-height:180px}}
/* Fit the complete reveal (scene, Replay, word and guidance) inside its card. */
.oral-model.picture-card:has(.vocabulary-motion){display:grid;grid-template-rows:minmax(0,1fr) auto auto;justify-items:center;align-content:stretch;gap:4px}
.oral-model.picture-card .vocabulary-motion{display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;width:min(100%,320px);height:100%;min-height:0;gap:4px}
.oral-model.picture-card .vocabulary-motion .vocabulary-motion-scene{width:100%;height:100%;max-height:100%;min-height:0;object-fit:contain;animation:none}
.oral-model.picture-card:has(.vocabulary-motion) .oral-word,.oral-model.picture-card:has(.vocabulary-motion) .model-label{margin:0;min-width:0}
@media(prefers-reduced-motion:reduce){.oral-model.picture-card .vocabulary-motion{grid-template-rows:minmax(0,1fr)}}
