/* Learning feedback stays in the card, leaving every answer and next button usable. */
.lesson-result-banner{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 16px;color:#fff4cf;min-height:70px}
.lesson-result-stamp{display:grid;place-items:center;flex-shrink:0;width:66px;height:66px;border:3px double currentColor;border-radius:50%;font-size:20px;font-weight:900;transform:rotate(-9deg);color:#ffe083;background:#613b16}
.lesson-result-banner strong{display:block;font-size:18px;line-height:1.5}
.lesson-result-banner small{display:block;font-size:14px;margin-top:3px;line-height:1.5}
.lesson-result-banner.retry .lesson-result-stamp{color:#fff4df;background:#594d3b;font-size:16px}
.lesson-stage.is-correct .flashcard{border-color:#edb942;box-shadow:0 0 0 3px #ffe59755,0 12px 26px #2d170b40}
.lesson-stage.is-correct .lesson-result-stamp{animation:learning-stamp .38s ease-out both}
.lesson-stage.is-correct .lesson-companion .mini-actor{animation:learning-hop .55s ease-out}
.lesson-stage.is-correct .choice.right{animation:learning-right .42s ease-out}
.lesson-stage.is-retry .flashcard{border-color:#c5ac82}
.lesson-stage .lesson-feedback{font-size:14px;line-height:1.7}
.learning-celebrate .completion-seal{animation:learning-stamp .45s ease-out both}
.learning-celebrate .scene-character{animation:learning-hop .65s ease-out}
.learning-celebrate .completion-paper{box-shadow:0 0 35px #ffdc6970}
.review-card.learning-correct{outline:3px solid #e6b943;box-shadow:0 0 25px #efcb6955;animation:learning-right .4s ease-out}
.review-card.learning-retry{outline:2px solid #c5ac82}
#review-screen .review-audio{margin:8px auto 14px;display:block;font-size:14px}
@keyframes learning-stamp{from{opacity:0;scale:1.5}to{opacity:1;scale:1}}
@keyframes learning-hop{0%,100%{translate:0 0}40%{translate:0 -12px}70%{translate:0 -3px}}
@keyframes learning-right{from{filter:brightness(1.22)}to{filter:brightness(1)}}
.reduce-motion .lesson-result-stamp,.reduce-motion .lesson-companion .mini-actor,.reduce-motion .choice.right,.reduce-motion .learning-celebrate .completion-seal,.reduce-motion .learning-celebrate .scene-character,.reduce-motion .review-card{animation:none!important}
@media(prefers-reduced-motion:reduce){.lesson-result-stamp,.lesson-companion .mini-actor,.choice.right,.learning-celebrate .completion-seal,.learning-celebrate .scene-character,.review-card{animation:none!important}}
@media(max-width:359px){.lesson-result-banner{gap:10px}.lesson-result-banner strong{font-size:16px}.lesson-result-stamp{width:58px;height:58px;font-size:18px}}

.lesson-card-actor{position:absolute;right:0;bottom:0;pointer-events:none}
.lesson-card-actor .mini-actor{width:86px;height:86px}
.lesson-stage.is-correct .flashcard-seal,.lesson-stage.is-retry .flashcard-seal,.lesson-stage.is-correct .lesson-companion,.lesson-stage.is-retry .lesson-companion{display:none}

/* Nonblocking arrival/reward flourishes, also visible with audio muted. */
#toast[data-celebration=true]{border:2px solid #e6b34f;background:#fff1bb;color:#623c13;font-weight:800;animation:learning-stamp .35s ease-out}
body:not(.reduce-motion) .scene-interior{animation:world-arrival .25s ease-out}
@keyframes world-arrival{from{opacity:.7;translate:0 5px}to{opacity:1;translate:0 0}}
.music-volume-control{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end;max-width:180px}
.music-volume-control input{width:120px;max-width:100%;accent-color:#b58126;min-height:32px}
.music-volume-control output{font-size:14px;min-width:3em;text-align:right}
.reduce-motion #toast[data-celebration=true]{animation:none}
@media(prefers-reduced-motion:reduce){body .scene-interior,#toast[data-celebration=true]{animation:none!important}}
@media(max-width:400px){.music-volume-control{max-width:115px}.music-volume-control input{width:108px}.music-volume-row>div{max-width:165px}}

.lesson-stage:not(.is-correct):not(.is-retry) .flashcard{animation:world-arrival .24s ease-out}
.lesson-stage.is-correct .flashcard::after{content:"";position:absolute;inset:4px;border:2px solid #e1aa29;border-radius:inherit;pointer-events:none;animation:learning-halo .55s ease-out both}
@keyframes learning-halo{from{opacity:.8;box-shadow:0 0 0 0 #ffd36b60}to{opacity:0;box-shadow:0 0 0 16px #ffd36b00}}
.reduce-motion .lesson-stage .flashcard,.reduce-motion .lesson-stage .flashcard::after{animation:none!important}
.reduce-motion .lesson-stage .flashcard::after{display:none}
@media(prefers-reduced-motion:reduce){.lesson-stage .flashcard,.lesson-stage .flashcard::after{animation:none!important}.lesson-stage .flashcard::after{display:none}}
