/* One restrained celebration; one unmistakable damage pulse. Neither blocks input. */
.levelup-feedback{--reveal:0;--fade:0;position:fixed;z-index:13;top:17%;left:50%;width:min(360px,86vw);padding:13px 30px 16px;text-align:center;pointer-events:none;opacity:var(--fade);transform:translate(-50%,calc((1 - var(--reveal))*14px));background:radial-gradient(ellipse at 50% 55%,#284944e8,#10282bed 57%,#10232a00 78%);color:#ffedc1;filter:drop-shadow(0 8px 15px #02171999)}
.levelup-feedback:before,.levelup-feedback:after{content:"";position:absolute;left:4%;right:4%;height:1px;background:linear-gradient(90deg,transparent,#cda86c,#fff0c6,#cda86c,transparent);transform:scaleX(var(--reveal));transform-origin:center}
.levelup-feedback:before{top:0}.levelup-feedback:after{bottom:0}
.levelup-kicker{display:block;font:10px "Segoe UI",sans-serif;letter-spacing:5px;text-indent:5px;color:#efd3a3;text-shadow:0 0 18px #edcb7788}
.levelup-medal{position:relative;display:grid;place-items:center;width:90px;height:75px;margin:3px auto 4px}
.levelup-medal:before{content:"";position:absolute;inset:13px 22px;border:1px solid #d9b77a80;transform:rotate(45deg);background:linear-gradient(135deg,#fff1b91c,transparent);box-shadow:0 0 25px #c7a35722}
.levelup-medal:after{content:"";position:absolute;left:-59px;right:-59px;top:50%;height:14px;background:linear-gradient(90deg,transparent,#cfae7144 25%,transparent 35%,transparent 65%,#cfae7144 75%,transparent);clip-path:polygon(0 0,34% 40%,40% 50%,34% 60%,0 100%,24% 50%,0 0,100% 0,76% 50%,100% 100%,66% 60%,60% 50%,66% 40%,100% 0)}
.levelup-medal strong{position:relative;font:50px/.95 Georgia,serif;font-weight:400;color:#fff0c9;text-shadow:0 2px 10px #081d24,0 0 22px #f5d48270;transform:scale(calc(.82 + var(--reveal)*.18))}
.levelup-points{display:block;font:10px "Segoe UI",sans-serif;letter-spacing:2px;color:#bcf0de;text-shadow:0 0 10px #92bca366}
.xp-celebrating .level-hud span{color:#fff1c6;text-shadow:0 0 12px #ffde8a}.xp-celebrating .xp-track{background:#e3c89545;box-shadow:0 0 13px #ffd99140}.xp-celebrating .xp-track i{background:#ffdf94;box-shadow:0 0 12px #ffe4a1}
.damage-veil{--edge:0;--hit:0;position:fixed;inset:0;z-index:12;pointer-events:none;background:linear-gradient(rgba(224,33,47,var(--hit)),rgba(224,33,47,var(--hit))),radial-gradient(ellipse at center,transparent 30%,rgba(160,9,33,calc(var(--edge)*.4)) 66%,rgba(215,20,46,var(--edge)) 100%);box-shadow:inset 0 0 24px rgba(255,66,75,var(--edge))}
.damage-callout{position:fixed;left:50%;top:92px;z-index:14;transform:translateX(-50%);padding:7px 17px;white-space:nowrap;pointer-events:none;border:1px solid #fc8e80aa;background:linear-gradient(90deg,#351b26dd,#812d3af0,#351b26dd);box-shadow:0 3px 18px #19091499;color:#fff1e9;font:10px "Segoe UI",sans-serif;letter-spacing:1.5px}
body:has(#boss-hud:not(.hidden)) .damage-callout{top:180px}
#hearts.took-damage{color:#fff3e7;text-shadow:0 0 6px #ffb3a0,0 0 17px #ff3449;filter:drop-shadow(0 0 5px #e44b53)}#hearts.took-damage .lost{color:#ec6f70;opacity:.55}
.result-actions .earned-level{border:1px solid #e4c79299;background:#d3b47715;padding:12px 18px;color:#ffe7b3;box-shadow:0 0 20px #d6bc7718}
body[data-mode=paused] .levelup-feedback,body[data-mode=paused] .damage-veil,body[data-mode=paused] .damage-callout{visibility:hidden}
body[data-mode=result] .levelup-feedback{top:11%;display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;padding:10px 24px}
body[data-mode=result] .levelup-medal{height:57px;width:70px;margin:0}
body[data-mode=result] .levelup-medal strong{font-size:40px}
body[data-mode=result] .levelup-medal:before{inset:12px 19px}
body[data-mode=result] .levelup-medal:after{display:none}
body[data-mode=result] .levelup-kicker{font-size:8px;letter-spacing:2px}
body[data-mode=result] .levelup-points{font-size:8px;line-height:1.8;letter-spacing:1px}
body[data-mode=result]:has(.levelup-feedback:not(.hidden)) #result-mark,body[data-mode=result]:has(.levelup-feedback:not(.hidden)) #result-label{visibility:hidden}
@media(max-width:760px){.levelup-feedback{top:190px;width:min(330px,88vw);padding:10px 20px 13px}.levelup-kicker{font-size:9px;letter-spacing:4px}.levelup-medal{height:65px}.levelup-medal strong{font-size:44px}.levelup-points{font-size:9px}.damage-callout{top:120px;font-size:9px;padding:6px 12px}body[data-mode=result] .levelup-feedback{top:65px}}
@media(max-height:560px){.levelup-feedback{top:105px;padding-block:8px}.levelup-medal{height:48px}.levelup-medal strong{font-size:36px}.levelup-medal:before{inset:7px 29px}.levelup-points{font-size:8px}}
@media(prefers-reduced-motion:reduce){.levelup-feedback{transform:translateX(-50%)}.levelup-medal strong{transform:none}}
