.solo-stage{position:relative}.solo-reaction-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:20}.solo-reaction-layer span{position:absolute;top:50%;left:var(--x);font-size:clamp(18px,3vw,34px);font-weight:900;opacity:0;animation:solo-particle 1.3s ease-out var(--delay) forwards}.solo-reaction-star{color:#ffd54d;text-shadow:0 0 9px #ffab00}.solo-reaction-miss{color:#ff6e8b;text-shadow:0 0 8px #b91c1c}@keyframes solo-particle{0%{opacity:0;transform:translate(0,15px) scale(.4)}18%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(150deg) scale(1.25)}}@media(prefers-reduced-motion:reduce){.solo-reaction-layer{display:none}}

/* v2.2.8.1: a single unmistakable wrong-answer reaction (not celebratory particles). */
.solo-reaction-layer .solo-wrong-mark{left:50%;top:46%;--x:50%;display:grid;place-items:center;width:max-content;min-width:84px;max-width:90%;padding:9px 15px;border-radius:18px;font-size:clamp(50px,12vw,82px);line-height:1;transform:translate(-50%,-50%);background:rgba(9,18,40,.90);border:2px solid rgba(255,105,117,.5);box-shadow:0 8px 32px rgba(0,0,0,.32);animation:solo-wrong-reveal 1.25s ease-out forwards;color:#ff6e80;text-shadow:0 2px 14px rgba(220,38,38,.3)}
.solo-reaction-layer .solo-wrong-sad{color:#f5b94e;border-color:rgba(245,185,78,.5);animation-name:solo-wrong-drop}
.solo-reaction-layer .solo-wrong-x{color:#ff5266;animation-name:solo-wrong-shake}
.solo-reaction-layer .solo-wrong-broken{border-color:rgba(255,105,140,.5);animation-name:solo-wrong-drop}
.solo-reaction-layer .solo-wrong-oops{font-size:clamp(32px,9vw,58px);font-weight:900;color:#ffb74d;border-color:rgba(255,183,77,.55);animation-name:solo-wrong-wobble}
.solo-reaction-layer .solo-wrong-thumb{animation-name:solo-wrong-drop}
@keyframes solo-wrong-reveal{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}20%,70%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(.9)}}
@keyframes solo-wrong-shake{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1;transform:translate(calc(-50% - 9px),-50%)}30%{transform:translate(calc(-50% + 9px),-50%)}40%{transform:translate(calc(-50% - 5px),-50%)}55%,78%{opacity:1;transform:translate(-50%,-50%)}100%{opacity:0;transform:translate(-50%,-50%)}}
@keyframes solo-wrong-drop{0%{opacity:0;transform:translate(-50%,-85%)}24%,75%{opacity:1;transform:translate(-50%,-50%)}100%{opacity:0;transform:translate(-50%,-15%)}}
@keyframes solo-wrong-wobble{0%{opacity:0;transform:translate(-50%,-50%) rotate(-12deg) scale(.7)}25%{opacity:1;transform:translate(-50%,-50%) rotate(8deg)}45%{transform:translate(-50%,-50%) rotate(-5deg)}65%,78%{opacity:1;transform:translate(-50%,-50%) rotate(0)}100%{opacity:0;transform:translate(-50%,-50%)}}
@media(prefers-reduced-motion:reduce){.solo-reaction-layer{display:none!important}}
