#level-up-notice{position:fixed;z-index:30;width:calc(46px * var(--level-fit,1));height:calc(60px * var(--level-fit,1));min-width:0;padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;transform:translate(-50%,-100%);isolation:isolate;touch-action:manipulation}
#level-up-notice[hidden]{display:none}
#level-up-notice:hover,#level-up-notice:active{background:none;box-shadow:none;transform:translate(-50%,-100%)}
#level-up-notice img{position:relative;display:block;width:100%;height:100%;object-fit:contain;z-index:2;filter:drop-shadow(0 2px 2px #0009);transition:filter .18s ease;pointer-events:none}
#level-up-notice:hover img,#level-up-notice:focus-visible img{filter:drop-shadow(0 0 5px #ffe9a0)}
#level-up-notice:focus-visible{outline:1px solid #f7df9a;outline-offset:5px;border-radius:4px}
.level-up-flare{position:absolute;left:50%;top:50%;width:140px;height:140px;transform:translate(-50%,-50%) scale(.15);opacity:0;background:radial-gradient(circle,#fff9dc 0%,#fff1b9bb 9%,#f1cf6970 25%,#dca84000 65%);border-radius:50%;pointer-events:none;z-index:0}
.level-up-flare:before,.level-up-flare:after{content:'';position:absolute;inset:48% 5%;background:linear-gradient(90deg,transparent,#fff4c2,transparent);border-radius:50%}
.level-up-flare:after{transform:rotate(90deg)}
.level-up-particles{position:absolute;inset:0;pointer-events:none;z-index:3}
.level-up-particles i{position:absolute;left:50%;top:50%;width:3px;height:3px;background:#fff3b3;border-radius:50%;box-shadow:0 0 4px #efcc69}
.level-up-appear img{animation:level-up-reveal .65s cubic-bezier(.16,.8,.3,1)}
.level-up-appear .level-up-flare{animation:level-up-flash .8s ease-out}
@keyframes level-up-reveal{0%{opacity:0;transform:translateY(12px) scale(.3)}55%{opacity:1;transform:translateY(-3px) scale(1.16)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes level-up-flash{0%{opacity:0;transform:translate(-50%,-50%) scale(.15)}22%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.25)}}
@media(prefers-reduced-motion:reduce){.level-up-appear img{animation:none}.level-up-appear .level-up-flare{animation:level-up-flash .25s ease-out}#level-up-notice img{transition:none}}
.level-up-rays{position:absolute;inset:0;z-index:0;pointer-events:none}
.level-up-rays i{position:absolute;left:50%;top:50%;width:calc(78px * var(--level-fit,1));height:calc(14px * var(--level-fit,1));margin-top:calc(-7px * var(--level-fit,1));transform-origin:left center;transform:rotate(var(--ray-angle));clip-path:polygon(0 0,100% 50%,0 100%);background:linear-gradient(90deg,#fff0ae88 0%,#ffd77bba 35%,#ecac4600 100%);animation:level-up-ray 2.6s ease-in-out var(--ray-delay) infinite}
@keyframes level-up-ray{0%,100%{opacity:.25;transform:rotate(var(--ray-angle)) scaleX(.72)}50%{opacity:.78;transform:rotate(var(--ray-angle)) scaleX(1.16)}}
.level-up-tooltip{position:absolute;z-index:4;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,4px);width:max-content;max-width:calc(100vw - 24px);padding:9px 14px;border:1px solid #b18c48;border-radius:5px;background:#15241b;box-shadow:0 4px 14px #0009;color:#f3deb0;font:600 13px/1.35 Georgia,serif;text-align:center;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}
.level-up-tooltip strong{display:block;color:#ffe7a6;font-size:16px;margin-bottom:3px}
#level-up-notice:hover .level-up-tooltip,#level-up-notice:focus-visible .level-up-tooltip{opacity:1;transform:translate(-50%,0)}
@media(prefers-reduced-motion:reduce){.level-up-rays i{animation:none;opacity:.42}.level-up-tooltip{transition:none}}
.level-up-world{position:fixed;left:0;top:0;width:0;height:0;z-index:16;pointer-events:none}
.level-up-world[hidden]{display:none}
.level-up-world-art{position:absolute;inset:0;transform:scale(var(--world-level-scale,1))}
.level-up-world-art i{position:absolute;display:block}
.level-up-world-aura{left:-82px;bottom:-26px;width:164px;height:180px;background:radial-gradient(ellipse,#fff5bcbb 4%,#ffd57060 37%,transparent 72%);opacity:0}
.level-up-world-flash{left:-66px;bottom:104px;width:132px;height:132px;background:radial-gradient(circle,#fffdf3 0%,#ffe9a8 7%,#ffd47580 24%,transparent 61%);opacity:0}
.level-up-world-flash::after{content:'';position:absolute;inset:10%;background:linear-gradient(90deg,transparent,#fff5c8,transparent);clip-path:polygon(0 50%,46% 46%,50% 0,54% 46%,100% 50%,54% 54%,50% 100%,46% 54%)}
.level-up-world-ring{left:-66px;bottom:-23px;width:132px;height:46px;border:2px solid #ffe9a0;border-radius:50%;box-shadow:inset 0 0 12px #ffe4a3,0 0 13px #ffd273;opacity:0}
.level-up-world-sparks i{left:0;bottom:68px;width:4px;height:4px;border-radius:50%;background:#fff6b9;box-shadow:0 0 8px 2px #edbc53;opacity:0}
.level-up-world strong{position:absolute;left:0;bottom:calc(154px * var(--world-level-scale,1));width:max-content;color:#fff0b2;font:700 clamp(16px,calc(24px * var(--world-level-scale,1)),30px)/1 Georgia,serif;text-shadow:0 2px 2px #24180c,0 0 10px #a76109;transform:translateX(-50%);opacity:0}
.level-up-world-play .level-up-world-aura{animation:level-world-aura 1.45s ease-out both}
.level-up-world-play .level-up-world-flash{animation:level-world-burst .85s ease-out both}
.level-up-world-play .level-up-world-ring{animation:level-world-ring 1.12s ease-out both}
.level-up-world-play .level-up-world-sparks i{animation:level-world-spark 1.05s ease-out var(--spark-delay) both}
.level-up-world-play strong{animation:level-world-text 2.22s ease-out both}
@keyframes level-world-aura{0%{opacity:0;transform:scale(.65)}20%{opacity:.92}100%{opacity:0;transform:scale(1.25)}}
@keyframes level-world-burst{0%{opacity:0;transform:scale(.25)}16%{opacity:.95;transform:scale(.9)}100%{opacity:0;transform:scale(1.45)}}
@keyframes level-world-ring{0%{opacity:0;transform:scale(.35)}20%{opacity:.92}100%{opacity:0;transform:scale(1.28)}}
@keyframes level-world-spark{0%{opacity:0;transform:scale(.4)}18%{opacity:1}100%{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(.2)}}
@keyframes level-world-text{0%{opacity:0;transform:translate(-50%,8px)}17%,72%{opacity:1}100%{opacity:0;transform:translate(-50%,-12px)}}
@media(prefers-reduced-motion:reduce){.level-up-world-play .level-up-world-art{display:none}.level-up-world-play strong{animation:none;opacity:1}}
