.level-up[hidden]{display:none!important}
.level-up{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;background:#112c35ed;isolation:isolate;overscroll-behavior:contain;color:#fff3d4}
.level-up-stage{position:relative;width:min(100vw,177.7778dvh);aspect-ratio:16/9;max-height:100dvh;overflow:hidden;background:#193b48}
.level-up-backdrop{position:absolute;inset:0;pointer-events:none}
.level-up-backdrop img{display:block;width:100%;height:100%;object-fit:contain}
.level-up-stage:after{content:"";position:absolute;inset:12% 15% 16% 20%;background:radial-gradient(ellipse,#173542b8,transparent 72%);pointer-events:none;z-index:0}
.level-up-content{position:absolute;inset:16% 19% 16% 24%;display:flex;flex-direction:column;align-items:center;text-align:center;z-index:1;text-shadow:0 2px 8px #102e3e,0 1px 3px #102e3e;min-height:0}
.level-up .level-up-heading{display:block;background:none;border:0;padding:0;min-height:0;flex:none;width:100%;height:auto;box-shadow:none}
.level-up-heading small{font-size:11px;letter-spacing:.15em;color:#f7dda7}
.level-up-heading h1{margin:8px 0;font-size:clamp(20px,3vw,38px);line-height:1.12;color:#fff0ba}
.level-up-unlock{flex:1;min-height:0;width:100%;overflow-y:auto;overscroll-behavior:contain;padding:4px 5px;scrollbar-width:thin;touch-action:pan-y}
.level-up-unlock h2{font-size:clamp(18px,2.4vw,29px);margin:6px 0;color:#fff3d4;line-height:1.15}
.level-up-unlock p{font-size:clamp(13px,1.3vw,17px);line-height:1.4;margin:8px auto;max-width:36em;color:#fff3d4}
.level-up-art{display:block;width:clamp(120px,18vw,230px);height:clamp(65px,11vw,138px);margin:0 auto;filter:drop-shadow(0 5px 9px #12304370)}
.level-up-icon,.level-up-star{display:block;font-size:clamp(40px,6vw,78px);line-height:1.1;color:#ffe6a4;margin:5px 0}
.level-up-kind{font-size:11px;color:#f6dfa8;letter-spacing:.05em}
.level-up-hint{display:block;font-size:12px;color:#ffdf9b;line-height:1.35;margin:4px 0}
.level-up-items{list-style:none;padding:0;margin:10px auto;max-width:36em;text-align:left;font-size:14px}
.level-up-items li{padding:7px 4px;border-bottom:1px solid #fff0ba35}
.level-up-items small{display:block;font-size:12px;line-height:1.35;margin-top:3px;color:#fff3d4}
.level-up-nav{width:100%;flex:none;margin-top:8px;text-shadow:none}
.level-up-step{display:flex;align-items:center;justify-content:center;gap:14px}
.level-up-step button{min-height:48px;min-width:48px;touch-action:manipulation}
.level-up-step .primary{min-width:150px;background:#f5d598;color:#254b46;border-color:#f5d598;font-weight:700}
.level-up-step .secondary{color:#ffe5af;background:#244a51cc;border:1px solid #f9deb26b;font-size:24px}
.level-up-step span{white-space:nowrap;min-width:36px;font-size:12px}
.level-up-return{border:0;background:transparent;color:#fff1ce;text-decoration:underline;text-underline-offset:4px;font-size:12px;min-height:44px;padding:6px 16px}
@media(orientation:portrait){
 .level-up-stage{width:min(100vw,56.25dvh);aspect-ratio:9/16}
 .level-up-stage:after{inset:14% 6% 31%}
 .level-up-content{inset:17% 11% 31%}
 .level-up-heading h1{font-size:clamp(20px,6vw,34px)}
 .level-up-art{width:clamp(130px,39vw,225px);height:clamp(72px,23vw,120px)}
 .level-up-unlock h2{font-size:clamp(18px,5.4vw,27px)}
 .level-up-icon,.level-up-star{font-size:54px}
 .level-up-step{gap:8px}
 .level-up-step .primary{min-width:128px;padding:9px 12px}
}
@media(orientation:landscape) and (max-height:540px){
 .level-up-content{inset:15% 18% 14% 23%}
 .level-up-heading small{font-size:9px}
 .level-up-heading h1{font-size:22px;margin:4px 0}
 .level-up-art{width:130px;height:65px}
 .level-up-icon,.level-up-star{font-size:34px;margin:0}
 .level-up-unlock h2{font-size:19px;margin:3px 0}
 .level-up-unlock p{font-size:12px;margin:4px 0}
 .level-up-return{position:absolute;right:0;bottom:0;transform:translateY(100%);min-height:36px}
 .level-up-nav{margin-top:4px}
}
