.mundi-reaction{display:flex;align-items:center;gap:1rem;min-width:0;padding:.65rem 1rem;margin:0 0 1.2rem;border:1px solid #83bdbd40;border-radius:1rem;background:#102e35;color:#e5f0e9}
.mundi-reaction-portrait{position:relative;flex:0 0 84px}.mundi-reaction .mundi-puppet{width:84px;height:84px}.mundi-reaction>div:last-child{min-width:0}.mundi-reaction-label{font-size:.75rem;letter-spacing:.12em;color:#acd5ca}.mundi-reaction p{font-size:1rem!important;line-height:1.5;margin:.35rem 0!important;color:#e5f0e9!important}.mundi-sparkles{position:absolute;inset:0;text-align:center;color:#f0d49c;opacity:0;pointer-events:none;font-size:1.3rem;letter-spacing:.3rem}
.mundi-reaction[data-result=correct] .mundi-sparkles{animation:mundi-feedback-sparks .8s ease-out both}.mundi-reaction[data-result=complete] .mundi-sparkles{animation:mundi-feedback-sparks 1.7s ease-out both;font-size:1.8rem}.mundi-reaction[data-result=incorrect]{border-style:dashed}.mundi-reaction[data-result=settled] .mundi-puppet,.mundi-reaction[data-result=ready] .mundi-puppet{animation:none}.mundi-reaction[data-result=correct] .mundi-puppet{animation:mundi-feedback-nod .65s ease-out both}.mundi-reaction[data-result=incorrect] .mundi-puppet{animation:mundi-feedback-nod .85s ease-out both}.mundi-reaction[data-variant="1"]{--reaction-tilt:-5deg}.mundi-reaction[data-variant="2"]{--reaction-tilt:5deg}
@keyframes mundi-feedback-sparks{0%{opacity:0;transform:translateY(12px) scale(.7)}30%{opacity:1}100%{opacity:0;transform:translateY(-27px) scale(1.25)}}
@keyframes mundi-feedback-nod{0%,100%{transform:none}45%{transform:translateY(-4px) rotate(var(--reaction-tilt,3deg))}}
@media(max-width:540px){.mundi-reaction{gap:.7rem;padding:.5rem .7rem}.mundi-reaction-portrait{flex-basis:68px}.mundi-reaction .mundi-puppet{width:68px;height:68px}}
@media(prefers-reduced-motion:reduce){.mundi-reaction *{animation:none!important;transition:none!important}.mundi-reaction[data-result=correct] .mundi-sparkles,.mundi-reaction[data-result=complete] .mundi-sparkles{opacity:1;transform:none}}
