/* A correct answer gets a springy pop, a green ring, and a quiet checkmark. */
.input-wrap.answer-confirmed,.hint-blank.answer-confirmed{position:relative;overflow:visible;transform-origin:center;box-shadow:0 0 0 3px #3897601a}
.input-wrap.answer-confirmed{border-color:#389760;background:#effaf3}
.input-wrap input.answer-correct,.hint-blank input.answer-correct,textarea.answer-correct{background:#effaf3;border-color:#389760;box-shadow:inset 0 0 0 2px #389760;color:#174e30}
.answer-success-mark{position:absolute;z-index:2;top:-11px;right:10px;display:grid;place-items:center;width:24px;height:24px;padding:0!important;border:2px solid #fff;border-radius:50%;background:#33895e;color:#fff!important;font-size:15px!important;font-weight:800;line-height:1;pointer-events:none}
.answer-celebrating .answer-success-mark{animation:answer-check-bloom .62s cubic-bezier(.22,1,.36,1) both}
.input-wrap.answer-celebrating::after,.hint-blank.answer-celebrating::after{content:"";position:absolute;inset:-3px;border:2px solid #61b583;border-radius:inherit;pointer-events:none;animation:answer-ring .62s ease-out both}
.hint-blank.answer-confirmed{border-radius:8px}
.concept-option.right{border-color:#389760;background:#effaf3;animation:answer-bubble-pop .62s cubic-bezier(.22,1,.36,1)}
@keyframes answer-check-bloom{0%{opacity:0;transform:scale(.45) rotate(-18deg)}40%{opacity:1;transform:scale(1.18) rotate(4deg)}70%{transform:scale(.94) rotate(-2deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes answer-ring{0%{opacity:.65;transform:scale(1)}100%{opacity:0;transform:scale(1.08,1.35)}}
@keyframes answer-bubble-pop{0%,100%{transform:translateY(0) scale(1)}30%{transform:translateY(-3px) scale(1.025);box-shadow:0 0 0 6px #38976026}56%{transform:translateY(0) scale(.994)}78%{transform:translateY(-1px) scale(1.008)}}
@media(prefers-reduced-motion:reduce){.answer-celebrating::after{display:none}.answer-success-mark,.concept-option.right{animation:none!important}}
