:root{--ink: #07080c;--iron: #141821;--iron-2: #1d2330;--iron-3: #2a3244;--steel: #4a5468;--parchment: #efe3c8;--parchment-2: #d9c8a6;--gold: #d7b45a;--gold-2: #f3d98c;--gold-3: #8f6d25;--ember: #ff7a3d;--blood: #c8352e;--heal: #7ddc8a;--mana: #5aa9ff;--r-common: #aab4c4;--r-rare: #5aa9ff;--r-epic: #b07cff;--r-legendary: #ffcc33;--font-title: "Cinzel", Georgia, serif;--font-deco: "Cinzel Decorative", "Cinzel", Georgia, serif;--font-lore: "IM Fell English", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--ink);color:var(--parchment);font-family:var(--font-body);-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}img.pixel,.pixel{image-rendering:pixelated}.hidden{display:none!important}#app{position:fixed;inset:0}#stage{position:absolute;inset:0}#stage canvas{display:block}#ui{position:absolute;inset:0;pointer-events:none;overflow:hidden}#frame{position:absolute;left:0;top:0;transform-origin:0 0}#frame>*{pointer-events:auto}#frame>.hud{pointer-events:none}#boot{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-title);color:var(--gold);font-size:22px;letter-spacing:.3em;text-transform:uppercase;background:var(--ink)}.plate{background:linear-gradient(180deg,#222836f0,#0e1118f5);border:1px solid rgba(215,180,90,.45);border-radius:12px;box-shadow:inset 0 0 0 1px #000000a6,inset 0 1px #ffffff12,0 6px 18px #0000008c}.panel{position:relative;border-radius:18px;padding:30px 28px;background:linear-gradient(180deg,#1b2130f7,#0c0e14fa);border:2px solid #6b5424;box-shadow:0 0 0 2px #000,inset 0 0 0 1px #f3d98c38,inset 0 0 60px #0000008c,0 24px 60px #000000bf}.panel:after{content:"";position:absolute;inset:8px;pointer-events:none;border-radius:12px;--c: var(--gold);background:linear-gradient(var(--c),var(--c)) 0 0 / 26px 3px no-repeat,linear-gradient(var(--c),var(--c)) 0 0 / 3px 26px no-repeat,linear-gradient(var(--c),var(--c)) 100% 0 / 26px 3px no-repeat,linear-gradient(var(--c),var(--c)) 100% 0 / 3px 26px no-repeat,linear-gradient(var(--c),var(--c)) 0 100% / 26px 3px no-repeat,linear-gradient(var(--c),var(--c)) 0 100% / 3px 26px no-repeat,linear-gradient(var(--c),var(--c)) 100% 100% / 26px 3px no-repeat,linear-gradient(var(--c),var(--c)) 100% 100% / 3px 26px no-repeat;opacity:.8}body.has-panel .panel{border:0;box-shadow:0 24px 60px #000000bf;border-image:url(../assets/ui/panel.png) 104 fill / 48px / 0 stretch;background:none}body.has-panel .panel:after{display:none}.ribbon{position:relative;display:inline-block;padding:12px 62px 14px;margin:0 auto;background:linear-gradient(180deg,#c23a30,#8a1f19 60%,#5e120e);clip-path:polygon(0 0,100% 0,calc(100% - 26px) 50%,100% 100%,0 100%,26px 50%);font-family:var(--font-title);font-weight:900;font-size:26px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-2);text-shadow:0 2px 0 #2a0604,0 0 12px rgba(255,180,80,.35);white-space:nowrap}.ribbon:before{content:"";position:absolute;inset:5px 30px;border-top:1px solid rgba(255,215,140,.45);border-bottom:1px solid rgba(0,0,0,.45)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:64px;padding:14px 36px;border-radius:14px;font-family:var(--font-title);font-weight:900;font-size:24px;letter-spacing:.08em;text-transform:uppercase;color:var(--parchment);transition:transform .08s ease,filter .15s ease;white-space:nowrap}.btn:active{transform:translateY(3px) scale(.98)}.btn.gold{color:#2a1606;text-shadow:0 1px 0 rgba(255,240,200,.6);background:linear-gradient(180deg,#fff0b8,#f0c860 22%,#d39a36 58%,#9a6a1e);box-shadow:0 0 0 2px #2c1c06,0 0 0 4px #f3d98c73,inset 0 2px #ffffffb3,inset 0 -5px #5a320a73,0 10px 24px #0000008c,0 0 28px #ffb43c59}.btn.stone{background:linear-gradient(180deg,#414a5e,#262d3c 55%,#161b25);box-shadow:0 0 0 2px #05060a,inset 0 0 0 1px #d7b45a66,inset 0 2px #ffffff1a,inset 0 -4px #00000059,0 8px 18px #00000080;color:var(--gold-2);text-shadow:0 2px 0 #000}.btn.royal{color:#fff;text-shadow:0 2px 0 #1a0630;background:linear-gradient(180deg,#c9a2ff,#8a4ae0 45%,#4a1a8a);box-shadow:0 0 0 2px #14052a,0 0 0 4px #c8a0ff66,inset 0 2px #ffffff80,0 10px 24px #0000008c,0 0 24px #aa64ff66}.btn.danger{color:#ff9a8a}.btn.huge{font-size:32px;min-height:84px;padding:16px 56px;border-radius:18px}.btn.small{min-height:44px;padding:8px 18px;font-size:16px;border-radius:10px}.btn.disabled{filter:saturate(.25) brightness(.65);pointer-events:none}body.has-buttons .btn.gold{background:url(../assets/ui/button_gold.png) center / 100% 100% no-repeat;box-shadow:0 10px 24px #00000080}body.has-buttons .btn.stone{background:url(../assets/ui/button_stone.png) center / 100% 100% no-repeat;box-shadow:0 8px 18px #00000080}.icon-btn{width:60px;height:60px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(180deg,#3a4254,#1a1f2a);box-shadow:0 0 0 2px #05060a,inset 0 0 0 1px #d7b45a73,0 6px 14px #00000080}.icon-btn.back i{width:18px;height:18px;border-left:4px solid var(--gold-2);border-bottom:4px solid var(--gold-2);transform:rotate(45deg) translate(3px,-3px)}.icon-btn.close{position:absolute;top:-14px;right:-14px;width:52px;height:52px;border-radius:50%}.icon-btn.close i:before,.icon-btn.close i:after{content:"";position:absolute;width:24px;height:4px;background:var(--gold-2);border-radius:2px;transform:translate(-50%,-50%) rotate(45deg)}.icon-btn.close i:after{transform:translate(-50%,-50%) rotate(-45deg)}.icon-btn.close i{position:relative;width:0;height:0}.bar{position:relative;height:12px;background:#05060a;border-radius:8px;overflow:hidden;box-shadow:inset 0 1px 3px #000000e6,0 0 0 1px #d7b45a66}.bar>i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:8px;background:linear-gradient(180deg,#ffe28a,#c8901e);transition:width .15s linear}.bar>i:after{content:"";position:absolute;left:0;right:0;top:1px;height:35%;background:#ffffff47;border-radius:8px}.coin-fallback,.crown-fallback{display:inline-block;width:22px;height:22px;border-radius:50%;vertical-align:middle;flex:0 0 auto}.coin-fallback{background:radial-gradient(circle at 35% 30%,#fff4b8,#e7ae2e 55%,#7a5010);box-shadow:inset 0 0 0 2px #5a3a08,0 0 8px #ffc83c80}.crown-fallback{background:radial-gradient(circle at 35% 30%,#f0d8ff,#9a5ae8 55%,#3a1470);box-shadow:inset 0 0 0 2px #2a0a50,0 0 8px #b46eff99;border-radius:30%;transform:rotate(45deg) scale(.85)}img.coin+.coin-fallback,img.pill-icon+.coin-fallback,img.pill-icon+.crown-fallback{display:none}.el-icon{position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--el) 85%,#fff),color-mix(in srgb,var(--el) 40%,#000) 62%,#05060a)}.el-icon .sigil{font-family:var(--font-deco);font-weight:900;color:#fff;text-shadow:0 0 10px var(--el),0 2px 0 rgba(0,0,0,.7)}.el-icon img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hud{position:absolute;left:0;top:0;width:720px;font-family:var(--font-title)}.hud button,.hud .draft,.hud .pause{pointer-events:auto}.hud-top{position:absolute;left:12px;right:12px;display:grid;grid-template-columns:180px 1fr auto;gap:12px;align-items:center}.hud-wave{padding:8px 12px 10px}.hud-wave-label{font-size:19px;font-weight:900;color:var(--gold-2);text-transform:uppercase;letter-spacing:.06em;text-shadow:0 2px 0 #000;margin-bottom:6px}.hud-xp{display:flex;align-items:center;gap:0}.hud-xp .bar{flex:1;height:18px;margin-left:-10px;border-radius:0 10px 10px 0}.hud-xp .bar>i{background:linear-gradient(180deg,#b8f4ff,#3aa8e0 60%,#1a6aa0);box-shadow:0 0 14px #78dcffbf}.hud-lvl{position:relative;z-index:1;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:26px;font-weight:900;color:#fff;text-shadow:0 2px 0 #000;background:radial-gradient(circle at 35% 30%,#8fe4ff,#1f5fb8 60%,#0b2a5a);border:3px solid var(--gold);box-shadow:0 0 0 2px #000,0 0 16px #5aa9ffd9,0 4px 8px #000000b3}.hud-lvl.pop{animation:lvlPop .7s cubic-bezier(.2,.9,.3,1.4)}@keyframes lvlPop{0%{transform:scale(1)}30%{transform:scale(1.5);box-shadow:0 0 40px #9fe8ff}to{transform:scale(1)}}.hud-right{display:flex;gap:8px;align-items:center}.hud-gold{display:flex;align-items:center;gap:6px;padding:10px 14px;font-size:22px;font-weight:900;color:var(--gold-2);text-shadow:0 2px 0 #000;min-width:96px}.hud-gold img.coin{width:28px;height:28px}.hud-btn{width:58px;height:58px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(180deg,#3a4254,#1a1f2a);box-shadow:0 0 0 2px #05060a,inset 0 0 0 1px #d7b45a73,0 6px 14px #00000080;color:var(--gold-2);font-weight:900;font-size:20px}.hud-pause{display:flex;gap:6px}.hud-pause i{display:block;width:7px;height:22px;border-radius:2px;background:var(--gold-2);box-shadow:0 2px #000}.hud-boss{position:absolute;left:70px;right:70px;text-align:center;animation:bossIn .6s cubic-bezier(.2,.9,.3,1.2)}.hud-boss-name{font-size:22px;font-weight:900;color:#ffc0b0;text-shadow:0 2px 0 #000,0 0 14px rgba(255,60,40,.9);margin-bottom:5px;letter-spacing:.05em}.hud-boss .bar{height:20px;box-shadow:inset 0 1px 3px #000,0 0 0 2px #3a0a06,0 0 18px #ff281473}.hud-boss .bar>i{background:linear-gradient(180deg,#ff8a70,#c0241a 60%,#7a0e08)}@keyframes bossIn{0%{transform:translateY(-40px);opacity:0}}.hud-rampart{position:absolute;left:110px;right:110px;bottom:102px;display:flex;align-items:center;gap:8px}.hud-rampart .bar{flex:1;height:22px;box-shadow:inset 0 1px 3px #000,0 0 0 2px #05060a,0 0 0 3px #d7b45a80}.hud-rampart .bar>i{background:linear-gradient(180deg,#b6f59a,#4aa83a 60%,#2a6a22)}.hud-rampart span{position:absolute;inset:0;font:800 14px/22px var(--font-body);text-align:center;color:#fff;text-shadow:0 1px 2px #000,0 0 4px #000}.hud-rampart.low .bar>i{background:linear-gradient(180deg,#ff9a80,#c02a1a 60%,#6a0e08);animation:lowPulse .8s infinite}.hud-rampart.hurt .bar{animation:hurtShake .28s}.hud-rampart-icon{width:34px;height:34px;background:linear-gradient(180deg,#9aa0b0,#4a5060);clip-path:polygon(0 20%,20% 20%,20% 0,40% 0,40% 20%,60% 20%,60% 0,80% 0,80% 20%,100% 20%,100% 100%,0 100%);filter:drop-shadow(0 2px 0 #000)}@keyframes lowPulse{50%{filter:brightness(1.6)}}@keyframes hurtShake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.hud-slots{position:absolute;left:0;right:0;bottom:18px;display:flex;justify-content:center;gap:12px}.slot{position:relative;width:70px;height:70px;border-radius:16px;background:#0b0e14;box-shadow:0 0 0 2px #000,0 0 0 4px #d7b45a8c,0 6px 14px #000000a6}.slot.sig{box-shadow:0 0 0 2px #000,0 0 0 4px var(--gold-2),0 0 18px #ffd26499,0 6px 14px #000000a6}.slot-icon{position:absolute;inset:0;border-radius:16px}.slot-icon .sigil{font-size:30px}.slot-cd{position:absolute;inset:0;border-radius:16px;background:conic-gradient(rgba(0,0,0,.66) calc(var(--cd, 0) * 360deg),transparent 0)}.slot-pips{position:absolute;left:0;right:0;bottom:-8px;display:flex;justify-content:center;gap:3px}.slot-pips i{width:9px;height:9px;transform:rotate(45deg);background:#1a1d24;border:1px solid #000}.slot-pips i.on{background:var(--gold-2);box-shadow:0 0 6px #ffd264e6}.hud-banner{position:absolute;left:0;right:0;top:36%;text-align:center;opacity:0;transform:scale(.6);transition:opacity .3s ease,transform .45s cubic-bezier(.2,.9,.3,1.35);pointer-events:none}.hud-banner.show{opacity:1;transform:scale(1)}.hud-banner span{display:inline-block;padding:14px 60px;font-family:var(--font-deco);font-weight:900;font-size:54px;letter-spacing:.05em;color:var(--gold-2);text-shadow:0 4px 0 #000,0 0 34px rgba(255,150,40,.75);background:radial-gradient(ellipse at center,rgba(0,0,0,.7) 0%,rgba(0,0,0,.35) 45%,transparent 72%)}.hud-banner.boss span{color:#ffb39a;font-size:44px;text-shadow:0 4px 0 #000,0 0 40px rgba(255,30,10,.95)}.hud-banner.small span{font-size:30px}.hud-banner.title span{font-size:46px}.draft{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:radial-gradient(ellipse at 50% 52%,#14101e80,#030408ed 75%);animation:fadeIn .25s ease}.draft.closing{animation:fadeOut .42s ease forwards}@keyframes fadeIn{0%{opacity:0}}@keyframes fadeOut{to{opacity:0}}.draft-head{text-align:center}.draft-level{font-family:var(--font-title);color:#aeeeff;font-size:22px;font-weight:900;letter-spacing:.3em;text-transform:uppercase;text-shadow:0 0 14px rgba(120,220,255,.9),0 2px 0 #000;margin-bottom:12px}.draft-cards{display:flex;gap:14px;perspective:1400px}.draft-foot{display:flex;gap:16px}.draft-foot .btn b{color:#fff;margin-left:4px}.rcard{--rarity: var(--r-common);--frame: url(../assets/ui/card_frame_common.png);position:relative;width:218px;height:322px;border-radius:16px;cursor:pointer;overflow:hidden;background:linear-gradient(180deg,#1e2230,#0c0f15);box-shadow:0 0 0 2px #000,0 14px 30px #000000bf,0 0 26px color-mix(in srgb,var(--rarity) 45%,transparent);animation:dealIn .62s cubic-bezier(.18,.9,.25,1.12) backwards;animation-delay:calc(var(--i) * .12s);transition:transform .16s ease,box-shadow .16s ease}.rcard:hover{transform:translateY(-16px) scale(1.04);box-shadow:0 0 0 2px #000,0 24px 40px #000c,0 0 44px color-mix(in srgb,var(--rarity) 80%,transparent)}.rcard.r-rare{--rarity: var(--r-rare);--frame: url(../assets/ui/card_frame_rare.png)}.rcard.r-epic{--rarity: var(--r-epic);--frame: url(../assets/ui/card_frame_epic.png)}.rcard.r-legendary{--rarity: var(--r-legendary);--frame: url(../assets/ui/card_frame_legendary.png)}.rcard-art{position:absolute;left:14px;right:14px;top:14px;height:156px;overflow:hidden;display:grid;place-items:center;border-radius:12px 12px 40% 40%/12px 12px 22px 22px;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--el) 90%,#fff),color-mix(in srgb,var(--el) 35%,#000) 62%,#05060a)}.rcard-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.rcard-art:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 30px #000000a6,inset 0 -26px 26px #00000073}.rcard-sigil{font-family:var(--font-deco);font-size:90px;font-weight:900;color:#fff;text-shadow:0 0 26px var(--el),0 5px 0 rgba(0,0,0,.55)}.rcard-frame{position:absolute;inset:0;border-radius:16px;pointer-events:none;box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--rarity) 85%,#000),inset 0 0 0 7px #0b0d12,inset 0 0 0 8px color-mix(in srgb,var(--rarity) 45%,transparent)}body.has-frames .rcard-frame{background:var(--frame) center / 100% 100% no-repeat;box-shadow:none}.rcard-gem{position:absolute;top:5px;left:50%;width:22px;height:22px;transform:translate(-50%) rotate(45deg);background:radial-gradient(circle at 35% 30%,#fff,var(--rarity) 55%,#000);border:2px solid var(--gold);box-shadow:0 0 14px var(--rarity);z-index:2}body.has-frames .rcard-gem{display:none}.rcard-badge{position:absolute;top:24px;right:-38px;width:150px;transform:rotate(38deg);z-index:3;text-align:center;padding:5px 0;font:900 12px var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:#fff;background:linear-gradient(180deg,#ee4d3c,#9a1e16);box-shadow:0 3px 8px #0009}.rcard-badge.up{color:#2a1606;background:linear-gradient(180deg,#ffe38a,#c8901e)}.rcard-name{position:absolute;top:158px;left:12px;right:12px;z-index:2;padding:7px 6px 6px;text-align:center;font-family:var(--font-title);font-weight:900;font-size:19px;color:var(--gold-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:linear-gradient(180deg,#18120af5,#2c2010f5);border-top:1px solid rgba(240,215,138,.5);border-bottom:1px solid rgba(0,0,0,.7);text-shadow:0 2px 0 #000}.rcard-kind{position:absolute;top:198px;left:0;right:0;z-index:2;text-align:center;font:800 11px var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--el);text-shadow:0 1px 0 #000}.rcard-stars{position:absolute;top:216px;left:0;right:0;z-index:2;display:flex;justify-content:center;gap:6px}.rcard-stars i{width:12px;height:12px;transform:rotate(45deg);background:#1a1d24;border:1px solid #000;box-shadow:inset 0 0 0 1px #ffffff1a}.rcard-stars i.on{background:var(--gold-2)}.rcard-stars i.next{background:#fff;box-shadow:0 0 10px #fff,0 0 20px var(--gold-2);animation:starPulse 1s ease-in-out infinite}@keyframes starPulse{50%{transform:rotate(45deg) scale(1.35)}}.rcard-text{position:absolute;inset:236px 16px 14px;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:4px;text-align:center;font:600 14px/1.28 var(--font-body);color:var(--parchment-2)}.rcard-text p{margin:0}.rcard-text .fuse{color:#ffcf6a;font-size:12px}body.has-frames .rcard{width:224px;height:314px;background:#0c0f15;border-radius:12px;box-shadow:0 14px 30px #000000bf,0 0 30px color-mix(in srgb,var(--rarity) 45%,transparent);overflow:visible}body.has-frames .rcard:hover{box-shadow:0 24px 40px #000c,0 0 50px color-mix(in srgb,var(--rarity) 85%,transparent)}body.has-frames .rcard-art{left:27px;right:auto;top:24px;width:170px;height:152px;border-radius:80px 80px 0 0}body.has-frames .rcard-frame{border-radius:0;z-index:1}body.has-frames .rcard-name{top:177px;left:22px;right:22px;padding:0;height:22px;line-height:22px;font-size:16px;background:none;border:0;z-index:3}body.has-frames .rcard-kind{top:207px;font-size:10px;z-index:3}body.has-frames .rcard-stars{top:222px;z-index:3;gap:5px}body.has-frames .rcard-stars i{width:10px;height:10px}body.has-frames .rcard-text{inset:236px 30px 28px;font-size:12.5px;line-height:1.22;z-index:3}body.has-frames .rcard-badge{z-index:4;top:16px;right:-30px}body.has-frames .rcard.r-epic:before,body.has-frames .rcard.r-legendary:before{inset:0;border-radius:12px;overflow:hidden}.rcard.k-fusion .rcard-name{color:#ffe9a8}.rcard.r-epic:before,.rcard.r-legendary:before{content:"";position:absolute;inset:-40% -60%;z-index:4;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(115deg,#fff0 40%,#ffffff3d,#fff0 60%);animation:cardSheen 4.5s ease-in-out infinite}.rcard.r-legendary{animation:dealIn .62s cubic-bezier(.18,.9,.25,1.12) backwards,cardGlow 2.6s ease-in-out infinite;animation-delay:calc(var(--i) * .12s),0s}@keyframes cardSheen{0%{transform:translate(-45%)}55%,to{transform:translate(45%)}}@keyframes cardGlow{50%{box-shadow:0 0 0 2px #000,0 14px 30px #000000bf,0 0 54px #ffcc33d9}}@keyframes dealIn{0%{transform:translateY(560px) rotate(-16deg) scale(.45);opacity:0}70%{opacity:1}}.rcard.picked{animation:pickCard .42s ease-in forwards!important}.rcard.dismissed{animation:dismissCard .32s ease-in forwards!important}@keyframes pickCard{30%{transform:translateY(-40px) scale(1.14);box-shadow:0 0 80px var(--rarity)}to{transform:translateY(420px) scale(.25);opacity:0}}@keyframes dismissCard{to{transform:translateY(90px) scale(.8);opacity:0}}.pause{position:absolute;inset:0;display:grid;place-items:center;background:#030408c7;animation:fadeIn .2s}.pause-panel{width:560px;display:flex;flex-direction:column;align-items:stretch;gap:14px;text-align:center}.pause-panel .ribbon{align-self:center;margin-top:-58px}.pause-spells{display:flex;flex-direction:column;gap:6px;max-height:520px;overflow:auto;margin-bottom:8px}.pause-spell{display:flex;align-items:center;gap:12px;padding:6px 10px;border-radius:10px;background:#00000059;text-align:left}.pause-spell .ps-name{flex:1;font-family:var(--font-title);font-weight:700;font-size:18px;color:var(--gold-2)}.pause-spell small{color:var(--parchment-2);font-family:var(--font-body);font-size:12px;margin-left:6px}.pause-spell .ps-dmg{font:800 16px var(--font-body);color:#ffd9a0}.mini-icon{width:40px;height:40px;border-radius:10px;box-shadow:0 0 0 2px #000,0 0 0 3px #d7b45a80;flex:0 0 auto}.mini-icon .sigil{font-size:18px}.screen{position:absolute;left:0;top:0;width:720px;height:100%;overflow:hidden;display:flex;flex-direction:column;align-items:center;animation:screenIn .35s ease}@keyframes screenIn{0%{opacity:0}}.menu-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,#2a3450,#121622 55%,#07080c);z-index:-2}.menu-bg:before{content:"";position:absolute;inset:0;background:url(../assets/ui/menu_bg.jpg) center 30% / cover no-repeat;opacity:0;transition:opacity .6s}body.has-menu-bg .menu-bg:before{opacity:1}.menu-bg.dim:before{filter:brightness(.45) saturate(.8) blur(2px);transform:scale(1.05)}.vignette{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#07080cb3,#07080c00 22% 45%,#07080cd9 78%,#07080c)}.embers{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.embers i{position:absolute;bottom:-20px;width:calc(6px * var(--s));height:calc(6px * var(--s));border-radius:50%;background:radial-gradient(circle,#fff3c0,#ff8a2a 55%,transparent 70%);box-shadow:0 0 10px #ff7a2a;animation:emberRise 10s linear infinite;opacity:0}@keyframes emberRise{0%{transform:translate(0);opacity:0}10%{opacity:1}80%{opacity:.8}to{transform:translate(var(--drift),-1600px);opacity:0}}.topbar{position:relative;z-index:2;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 18px 10px}.topbar .spacer{width:60px}.topbar-title{flex:1;text-align:center;font-family:var(--font-title);font-weight:900;font-size:30px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-2);text-shadow:0 3px 0 #000,0 0 20px rgba(255,170,60,.35)}.currencies{display:flex;gap:8px}.pill{display:flex;align-items:center;gap:8px;padding:8px 16px 8px 10px;border-radius:30px;background:linear-gradient(180deg,#0a0c12eb,#1c202ceb);box-shadow:inset 0 0 0 1px #d7b45a73,0 4px 10px #00000080;font:800 20px var(--font-body);color:#fff;text-shadow:0 1px 0 #000}.pill-icon{width:28px;height:28px}.profile-chip{display:flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border-radius:40px;background:#080a10bf;box-shadow:inset 0 0 0 1px #d7b45a66}.chip-avatar{position:relative;width:58px;height:58px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--hc) 60%,#fff),color-mix(in srgb,var(--hc) 30%,#000));box-shadow:0 0 0 3px var(--gold),0 0 0 5px #000;display:grid;place-items:center}.chip-avatar img{position:absolute;width:150%;height:150%;left:-25%;top:-5%;object-fit:contain}.chip-text{display:flex;flex-direction:column;font-family:var(--font-title)}.chip-text b{font-size:20px;color:var(--gold-2)}.chip-text small{font:600 13px var(--font-body);color:var(--parchment-2)}.hero-sprite-fallback{font-family:var(--font-deco);font-weight:900;color:#fff;font-size:26px;text-shadow:0 2px 0 #000}.home .logo{position:relative;z-index:2;margin-top:12px;height:230px;width:640px;display:grid;place-items:center}.logo-img{max-width:100%;max-height:100%;filter:drop-shadow(0 8px 20px rgba(0,0,0,.8));animation:logoBreath 5s ease-in-out infinite}.logo-text{display:flex;flex-direction:column;align-items:center;font-family:var(--font-deco);font-weight:900;line-height:.95;text-transform:uppercase}.logo-text span:first-child{font-size:86px;letter-spacing:.04em;background:linear-gradient(180deg,#fff6d0,#f0c860 45%,#9a6a1e 80%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 #1a0e04) drop-shadow(0 0 22px rgba(255,150,40,.45))}.logo-text span:last-child{font-size:50px;letter-spacing:.2em;color:#d8dde8;text-shadow:0 4px 0 #000,0 0 16px rgba(120,160,255,.35)}.logo-img+.logo-text{display:none}@keyframes logoBreath{50%{filter:drop-shadow(0 8px 20px rgba(0,0,0,.8)) drop-shadow(0 0 24px rgba(255,150,50,.5))}}.hero-stage{position:relative;z-index:1;flex:1;width:100%;min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;cursor:pointer}.hero-light{position:absolute;bottom:60px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,190,90,.35),rgba(255,120,40,.08) 45%,transparent 70%);animation:logoBreath 5s infinite}.home .hero-splash{display:none}.hero-sprite{position:relative;display:grid;place-items:center}.hero-sprite.big{width:300px;height:300px;z-index:2}.hero-sprite.big img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 10px rgba(0,0,0,.7));animation:idleBob 2.4s ease-in-out infinite}.hero-sprite.big .hero-sprite-fallback{width:160px;height:220px;border-radius:80px 80px 30px 30px;display:grid;place-items:center;font-size:90px;background:linear-gradient(180deg,color-mix(in srgb,var(--hc) 80%,#fff),color-mix(in srgb,var(--hc) 40%,#000));box-shadow:0 0 0 4px #000,0 0 40px color-mix(in srgb,var(--hc) 60%,transparent)}.hero-sprite img~.hero-sprite-fallback,.hero-sprite .hero-sprite-fallback:has(+img){display:none}@keyframes idleBob{50%{transform:translateY(-8px)}}.pedestal{width:360px;height:60px;margin-top:-40px;border-radius:50%;background:radial-gradient(ellipse,#5a6070 0%,#2a2e3a 55%,transparent 72%);box-shadow:0 0 40px #ffaa3c40}.nameplate{margin-top:-6px;margin-bottom:18px;display:flex;flex-direction:column;align-items:center;font-family:var(--font-title)}.nameplate b{font-size:36px;color:var(--gold-2);text-shadow:0 3px 0 #000,0 0 16px rgba(255,170,60,.4)}.nameplate span{font:700 16px var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--parchment-2)}.play-btn{position:relative;z-index:2;flex-direction:column;gap:2px;margin-bottom:26px;width:420px}.play-btn span{font-size:38px;line-height:1}.play-btn small{font:800 14px var(--font-body);letter-spacing:.12em;opacity:.75}.bottom-nav{position:relative;z-index:3;width:100%;margin-top:auto;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;padding:12px 10px 22px;background:linear-gradient(180deg,#07080c00,#07080ceb 30%,#07080c)}.nav-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;font-family:var(--font-title);font-weight:900;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--parchment-2)}.nav-icon{position:relative;width:70px;height:70px;border-radius:18px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(180deg,#2e3544,#151922);box-shadow:0 0 0 2px #000,inset 0 0 0 1px #d7b45a73,0 6px 14px #0009}.nav-icon img{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:contain}.nav-glyph{font-family:var(--font-deco);font-size:30px;color:var(--gold-2);text-shadow:0 2px 0 #000}.nav-icon img+.nav-glyph,.nav-glyph:has(+img){opacity:0}.nav-item.active{color:var(--gold-2)}.nav-item.active .nav-icon{box-shadow:0 0 0 2px #000,inset 0 0 0 2px var(--gold-2),0 0 18px #ffc85a80}.nav-item.primary .nav-icon{width:96px;height:96px;border-radius:50%;margin-top:-30px;background:radial-gradient(circle at 50% 35%,#ffe7a0,#d39a36 55%,#7a4e14);box-shadow:0 0 0 3px #2c1c06,0 0 0 6px #f3d98c80,0 0 30px #ffaa328c,0 10px 20px #0009}.nav-item.primary .nav-glyph{color:#2a1606;text-shadow:0 1px 0 rgba(255,255,255,.5);font-size:40px}.nav-item .badge{position:absolute;top:-6px;right:18px;min-width:26px;height:26px;padding:0 6px;border-radius:13px;background:#e5332a;color:#fff;font:900 15px/26px var(--font-body);box-shadow:0 0 0 2px #000}.heroes .hero-body{position:relative;z-index:1;flex:1;width:100%;display:flex;flex-direction:column;align-items:center;min-height:0}.hero-art{position:relative;width:100%;height:520px;display:grid;place-items:center;overflow:hidden}.hero-art-glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 60%,color-mix(in srgb,var(--hc) 45%,transparent),transparent 60%)}.hero-art .hero-splash{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}.hero-art .hero-splash~.hero-sprite{position:absolute;right:18px;bottom:10px;width:150px;height:150px}.locked-tag{position:absolute;bottom:30px;left:50%;transform:translate(-50%);padding:8px 30px;font-family:var(--font-title);font-weight:900;font-size:24px;letter-spacing:.2em;text-transform:uppercase;color:#ffd0c0;background:#3c0a08d9;border:1px solid #a33;border-radius:8px}.arrow-btn{position:absolute;top:50%;width:64px;height:64px;margin-top:-32px;border-radius:50%;background:#07080cb3;box-shadow:inset 0 0 0 2px #d7b45a99;display:grid;place-items:center}.arrow-btn.prev{left:14px}.arrow-btn.next{right:14px}.arrow-btn i{width:20px;height:20px;border-left:5px solid var(--gold-2);border-bottom:5px solid var(--gold-2);transform:rotate(45deg) translate(3px,-3px)}.arrow-btn.next i{transform:rotate(-135deg) translate(3px,-3px)}.hero-info{width:680px;margin-top:-60px;padding:24px 26px 22px;display:flex;flex-direction:column;gap:10px}.hero-name{font-family:var(--font-title);font-weight:900;font-size:40px;color:var(--gold-2);text-shadow:0 3px 0 #000;line-height:1}.hero-name span{font-size:22px;color:var(--parchment-2)}.hero-role{font:800 14px var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--hc)}.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px}.stat-row{display:flex;align-items:center;justify-content:space-between;font:700 14px var(--font-body);text-transform:capitalize;color:var(--parchment-2)}.stat-bar{display:flex;gap:4px}.stat-bar i{width:26px;height:10px;border-radius:3px;background:#1a1d24;box-shadow:inset 0 0 0 1px #000}.stat-bar i.on{background:linear-gradient(180deg,var(--gold-2),var(--gold-3))}.hero-abilities{display:flex;justify-content:space-around;margin-top:6px}.ability{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;font:800 13px var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--parchment-2)}.ability-icon{width:84px;height:84px;border-radius:50%;box-shadow:0 0 0 3px #000,0 0 0 5px var(--gold),0 0 16px color-mix(in srgb,var(--el) 60%,transparent)}.ability-icon .sigil{font-size:36px}.hero-desc{font:500 16px/1.35 var(--font-body);color:var(--parchment);min-height:44px}.hero-desc b{color:var(--gold-2);font-family:var(--font-title)}.hero-lore{font:italic 17px/1.3 var(--font-lore);color:#b9ab8c}.hero-actions{display:flex;gap:12px;justify-content:center;margin-top:6px}.hero-thumbs{position:relative;z-index:2;display:flex;gap:10px;padding:12px 0 26px}.hero-thumb{width:96px;height:96px;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--hc) 55%,#fff),color-mix(in srgb,var(--hc) 25%,#000));box-shadow:0 0 0 2px #000,0 0 0 4px #d7b45a59}.hero-thumb.active{box-shadow:0 0 0 2px #000,0 0 0 5px var(--gold-2),0 0 20px #ffd26e99;transform:translateY(-6px)}.hero-thumb.locked{filter:grayscale(.8) brightness(.6)}.thumb-sprite{width:100%;height:100%}.thumb-sprite img{width:130%;height:130%;margin:-10% -15%;object-fit:contain}.map{background:#0b0d12}.map-scroll{position:relative;flex:1;width:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.map-scroll::-webkit-scrollbar{display:none}.map-world{position:relative;width:720px}.map-bg{position:absolute;inset:0;background:linear-gradient(180deg,#3a1a14,#2a2030,#1f2a24,#2a3024,#243a26,#2f4a2a)}body.has-map .map-bg{background:url(../assets/ui/map_bg.jpg) center / 100% 100% no-repeat}.map-path{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.map-path path{fill:none;stroke:#e8d4a0;stroke-width:7;stroke-dasharray:2 16;stroke-linecap:round;opacity:.7;filter:drop-shadow(0 2px 0 #000)}.chapter-banner{position:absolute;left:50%;transform:translate(-50%);width:560px;text-align:center;padding:14px 20px;border-radius:14px;background:#07080cb8;box-shadow:inset 0 0 0 1px #d7b45a73;display:flex;flex-direction:column;gap:2px}.chapter-banner small{font:800 13px var(--font-body);letter-spacing:.3em;text-transform:uppercase;color:var(--ember)}.chapter-banner b{font-family:var(--font-title);font-size:32px;color:var(--gold-2);text-shadow:0 3px 0 #000}.chapter-banner em{font:italic 17px var(--font-lore);color:var(--parchment-2)}.stage-node{position:absolute;width:104px;height:104px;margin:-52px 0 0 -52px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#5a6478,#262c3a 60%,#10131a);box-shadow:0 0 0 3px #000,0 0 0 7px var(--gold),0 10px 20px #000000b3}.stage-node .node-num{font-family:var(--font-deco);font-weight:900;font-size:40px;color:var(--gold-2);text-shadow:0 3px 0 #000}.stage-node.boss{width:130px;height:130px;margin:-65px 0 0 -65px;background:radial-gradient(circle at 50% 35%,#a0342a,#4a1210 60%,#1a0606);box-shadow:0 0 0 3px #000,0 0 0 8px #d7b45a,0 0 30px #ff3c2880}.stage-node.current{animation:nodePulse 1.6s ease-in-out infinite}@keyframes nodePulse{50%{box-shadow:0 0 0 3px #000,0 0 0 7px var(--gold-2),0 0 40px #ffd26ee6}}.stage-node.locked{filter:grayscale(1) brightness(.5)}.node-stars{position:absolute;bottom:-20px;display:flex;gap:2px}.node-stars i{width:22px;height:22px;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#2a2a2a}.node-stars i.on{background:linear-gradient(180deg,#fff2a0,#f0b020);filter:drop-shadow(0 0 4px #ffc040)}.node-name{position:absolute;top:calc(100% + 22px);white-space:nowrap;font-family:var(--font-title);font-weight:700;font-size:18px;color:var(--parchment);text-shadow:0 2px 0 #000,0 0 8px #000}.modal{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:#030408bf;animation:fadeIn .2s}.stage-panel{width:620px;display:flex;flex-direction:column;align-items:center;gap:14px;animation:popIn .35s cubic-bezier(.2,.9,.3,1.3)}@keyframes popIn{0%{transform:scale(.8);opacity:0}}.stage-panel .ribbon{margin-top:-60px}.stage-sub{font:700 14px var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--parchment-2)}.stage-label{align-self:flex-start;font-family:var(--font-title);font-weight:700;color:var(--gold);font-size:18px}.foe-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.foe{width:96px;display:flex;flex-direction:column;align-items:center;gap:4px;font:700 11px var(--font-body);text-transform:capitalize;color:var(--parchment-2)}.foe img{width:72px;height:72px;object-fit:contain;background:radial-gradient(circle,#2a3040,#10131a);border-radius:12px;box-shadow:inset 0 0 0 1px #d7b45a59}.stage-info{display:flex;gap:20px;font:800 16px var(--font-body);color:var(--parchment);text-transform:capitalize;align-items:center}.stage-hero{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;border-radius:14px;background:#00000059;font:600 16px var(--font-body)}.stage-hero>div:nth-child(2){flex:1}.stage-hero b{font-family:var(--font-title);color:var(--gold-2);font-size:20px}.tree-points{position:relative;z-index:1;font:600 16px var(--font-body);color:var(--parchment-2);margin-bottom:8px}.tree-points b{font-family:var(--font-title);font-size:30px;color:#c8a8ff;text-shadow:0 0 12px rgba(170,120,255,.8)}.tree-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:690px}.tree-col{display:flex;flex-direction:column;gap:12px;padding:12px 6px;border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--bc) 14%,rgba(8,10,16,.85)),#080a10d9);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bc) 45%,transparent)}.tree-col-title{text-align:center;font-family:var(--font-title);font-weight:900;font-size:22px;letter-spacing:.12em;text-transform:uppercase;color:var(--bc);text-shadow:0 2px 0 #000}.tree-tier{display:flex;justify-content:center;gap:10px;min-height:92px;align-items:center;position:relative}.tree-tier+.tree-tier:before{content:"";position:absolute;top:-14px;left:50%;width:3px;height:16px;background:color-mix(in srgb,var(--bc) 60%,#000)}.tree-node{position:relative;width:84px;height:84px;border-radius:50%}.tree-icon{width:100%;height:100%;border-radius:50%;box-shadow:0 0 0 3px #000,0 0 0 5px #3a3f4e}.tree-icon .sigil{font-size:32px}.tree-node.locked{filter:grayscale(1) brightness(.45)}.tree-node.avail .tree-icon{box-shadow:0 0 0 3px #000,0 0 0 5px var(--bc),0 0 18px var(--bc);animation:nodePulse2 1.8s infinite}.tree-node.owned .tree-icon{box-shadow:0 0 0 3px #000,0 0 0 5px var(--gold-2),0 0 22px #ffd26eb3}@keyframes nodePulse2{50%{filter:brightness(1.25)}}.tree-cost{position:absolute;right:-4px;bottom:-4px;min-width:28px;height:28px;border-radius:14px;background:#120d1e;color:#d8c0ff;font:900 15px/28px var(--font-body);box-shadow:0 0 0 2px #000,inset 0 0 0 1px #8a6ad0}.tree-node.owned .tree-cost{color:#2a1606;background:var(--gold-2);box-shadow:0 0 0 2px #000}.tree-detail{position:relative;z-index:1;width:690px;margin-top:14px;padding:18px 22px;display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;min-height:150px}.td-name{font-family:var(--font-title);font-weight:900;font-size:26px;color:var(--gold-2)}.td-desc{font:500 17px/1.35 var(--font-body);color:var(--parchment)}.td-req{font:600 14px var(--font-body);color:#ff9a8a}.td-owned{font-family:var(--font-title);color:var(--heal);font-weight:900;letter-spacing:.2em;text-transform:uppercase}.lb-panel{position:relative;z-index:1;width:660px;margin-top:40px;display:flex;flex-direction:column;align-items:center;gap:10px;flex:1;min-height:0;margin-bottom:10px}.lb-panel .ribbon{margin-top:-62px}.lb-mine{font:600 18px var(--font-body);color:var(--parchment-2)}.lb-mine b{color:var(--gold-2);font-family:var(--font-title);font-size:24px}.lb-list{width:100%;flex:1;overflow:auto;display:flex;flex-direction:column;gap:6px;scrollbar-width:none}.lb-empty{text-align:center;padding:40px;font:italic 20px var(--font-lore);color:var(--parchment-2)}.lb-row{display:flex;align-items:center;gap:12px;padding:8px 14px;border-radius:12px;background:#00000059}.lb-rank{width:46px;text-align:center;font-family:var(--font-title);font-weight:900;font-size:26px;color:var(--parchment-2)}.rank-1 .lb-rank{color:#ffd24a;text-shadow:0 0 12px #ffb020}.rank-2 .lb-rank{color:#dfe6f0}.rank-3 .lb-rank{color:#e0a070}.lb-avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;background:radial-gradient(circle,color-mix(in srgb,var(--hc) 50%,#fff),color-mix(in srgb,var(--hc) 25%,#000));box-shadow:0 0 0 2px var(--gold)}.lb-avatar img{width:150%;margin:-10% -25%}.lb-name{flex:1;font-family:var(--font-title);font-weight:700;font-size:20px;color:var(--parchment);display:flex;flex-direction:column}.lb-name small{font:600 12px var(--font-body);color:var(--parchment-2)}.lb-score{font-family:var(--font-title);font-weight:900;font-size:24px;color:var(--gold-2)}.results{justify-content:center}.results-panel{position:relative;z-index:1;width:640px;display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:70px;animation:popIn .5s cubic-bezier(.2,.9,.3,1.25)}.result-banner{position:absolute;top:-70px;left:50%;transform:translate(-50%);width:560px;height:140px;display:grid;place-items:center}.result-banner .banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.result-banner span{position:relative;font-family:var(--font-deco);font-weight:900;font-size:58px;letter-spacing:.04em;text-shadow:0 4px 0 #000,0 0 30px rgba(255,170,50,.7);color:var(--gold-2);white-space:nowrap}.result-banner.loss span{color:#d8c8c0;font-size:44px;text-shadow:0 4px 0 #000,0 0 30px rgba(200,40,30,.7)}.result-stage{font-family:var(--font-title);font-size:22px;color:var(--parchment-2);letter-spacing:.08em}.result-stars{display:flex;gap:10px}.result-stars i{width:80px;height:80px;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#23262e}.result-stars i:nth-child(2){transform:translateY(-16px) scale(1.15)}.result-stars i.on{background:linear-gradient(180deg,#fff6b0,#f3c030 50%,#b07a10);animation:starIn .6s cubic-bezier(.2,.9,.3,1.6) backwards}@keyframes starIn{0%{transform:scale(3) rotate(-40deg);opacity:0}}.result-score{font-family:var(--font-title);font-size:64px;font-weight:900;color:var(--gold-2);text-shadow:0 4px 0 #000;display:flex;flex-direction:column;align-items:center}.result-score small{font:800 16px var(--font-body);color:#9dff9a;letter-spacing:.1em;text-transform:uppercase}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%}.rs{display:flex;flex-direction:column;align-items:center;padding:10px 4px;border-radius:12px;background:#00000059}.rs b{font-family:var(--font-title);font-size:28px;color:#fff}.rs span{font:700 12px var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--parchment-2)}.dmg-chart{width:100%;display:flex;flex-direction:column;gap:6px}.dmg-row{display:flex;align-items:center;gap:10px}.dmg-bar{position:relative;flex:1;height:34px;border-radius:8px;background:#00000073;overflow:hidden}.dmg-bar i{position:absolute;left:0;top:0;bottom:0;width:var(--w);opacity:.55;animation:growBar .9s ease-out backwards .3s}@keyframes growBar{0%{width:0}}.dmg-bar span{position:relative;padding-left:12px;font:700 15px/34px var(--font-body);color:#fff;text-shadow:0 1px 2px #000}.rewards{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.reward{display:flex;align-items:center;gap:8px;padding:8px 18px;border-radius:30px;background:#00000073;box-shadow:inset 0 0 0 1px #d7b45a80;font:800 20px var(--font-body);color:var(--gold-2)}.reward.talent{color:#d8c0ff;box-shadow:inset 0 0 0 1px #8a6ad0}.result-actions{display:flex;gap:14px;margin-top:6px}.hero-sprite-fallback:has(+img){display:none!important}.flex-spacer{flex:1}.home-hero{position:relative;z-index:2;display:flex;align-items:center;gap:16px;width:600px;padding:12px 18px 12px 12px;margin-bottom:18px;text-align:left;border-radius:60px 20px 20px 60px;background:linear-gradient(90deg,#07080ceb,#181c28d1);box-shadow:inset 0 0 0 1px #d7b45a80,0 12px 30px #000000a6}.home-hero-portrait{position:relative;width:104px;height:104px;border-radius:50%;overflow:hidden;flex:0 0 auto;display:grid;place-items:center;background:radial-gradient(circle,color-mix(in srgb,var(--hc) 55%,#fff),color-mix(in srgb,var(--hc) 25%,#000));box-shadow:0 0 0 3px #000,0 0 0 6px var(--gold),0 0 24px #ffbe5a8c}.home-hero-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 12%}.home-hero-text{flex:1;display:flex;flex-direction:column;font-family:var(--font-title)}.home-hero-text small{font:800 12px var(--font-body);letter-spacing:.24em;text-transform:uppercase;color:var(--ember)}.home-hero-text b{font-size:34px;line-height:1.05;color:var(--gold-2);text-shadow:0 3px 0 #000}.home-hero-text span{font:700 14px var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--parchment-2)}.home-hero-sprite{width:96px;height:96px;flex:0 0 auto}.home-hero-sprite img{width:100%;height:100%;object-fit:contain;animation:idleBob 2.4s ease-in-out infinite;filter:drop-shadow(0 6px 4px rgba(0,0,0,.7))}.home-hero-sprite .hero-sprite-fallback{display:none}.heroes .hero-art{flex:1 1 auto;height:auto;min-height:470px}.heroes .hero-info{margin-top:-150px}.hero-art .hero-splash~.hero-sprite{left:auto;right:90px;bottom:210px;width:140px;height:140px}.chapter-sec{position:absolute;left:0;width:720px;height:1280px;overflow:hidden;z-index:0;background:url(../assets/ui/map_bg.jpg) 50% var(--region-y) / 250% auto no-repeat,#141a14}.chapter-sec:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,8,12,.55),transparent 12%,transparent 88%,rgba(7,8,12,.55))}.chapter-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.map-path{z-index:1}.stage-node,.chapter-banner{z-index:2}.map-scroll .map-bg{display:none}.profile-chip{cursor:pointer}.name-panel{width:560px;display:flex;flex-direction:column;align-items:center;gap:16px;animation:popIn .35s cubic-bezier(.2,.9,.3,1.3)}.name-panel .ribbon{margin-top:-60px}.name-input{width:100%;padding:16px 20px;border-radius:14px;border:0;outline:0;text-align:center;font:900 32px var(--font-title);color:var(--gold-2);background:#07080c;user-select:text;-webkit-user-select:text;box-shadow:inset 0 2px 8px #000,0 0 0 2px #d7b45a8c}.name-input:focus{box-shadow:inset 0 2px 8px #000,0 0 0 3px var(--gold-2),0 0 20px #ffc85a66}.name-input.bad{animation:hurtShake .3s;box-shadow:inset 0 2px 8px #000,0 0 0 3px #e5533a}.shell-bar{position:fixed;left:0;right:0;top:0;height:30px;z-index:100;display:flex;align-items:center;gap:4px;padding:0 4px 0 12px;-webkit-app-region:drag;background:linear-gradient(180deg,rgba(0,0,0,.6),transparent);opacity:0;transition:opacity .2s}.shell-bar:hover{opacity:1}.shell-title{flex:1;font:700 12px var(--font-title);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.shell-bar button{-webkit-app-region:no-drag;width:30px;height:24px;border-radius:6px;color:var(--parchment);font-size:18px;line-height:1}.shell-bar button:hover{background:#ffffff1f}.shell-bar .shell-close:hover{background:#c8352e}.hero-rank{display:flex;align-items:center;gap:14px;padding:8px 12px;border-radius:14px;background:#00000059;box-shadow:inset 0 0 0 1px #d7b45a4d}.rank-badge{width:64px;height:64px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;background:radial-gradient(circle at 50% 35%,#ffe7a0,#b8862a 60%,#5a3a0e);box-shadow:0 0 0 3px #000,0 0 14px #ffc85a80;color:#2a1606;font-family:var(--font-title)}.rank-badge small{font:800 10px var(--font-body);letter-spacing:.12em;text-transform:uppercase}.rank-badge b{font-size:28px}.rank-bonus{flex:1;font:600 14px/1.3 var(--font-body);color:var(--parchment-2)}.rank-bonus b{color:#9dff9a}.stage-node{background:url(../assets/ui/stage_node.png) center / 100% 100% no-repeat,radial-gradient(circle at 50% 38%,#4a5468,#1a1f2a 62%,transparent 63%);box-shadow:0 10px 18px #0009}.stage-node:before{content:"";position:absolute;inset:20%;border-radius:50%;background:radial-gradient(circle at 50% 35%,#3a4254,#12151d 75%);z-index:-1}.stage-node.boss{background:url(../assets/ui/stage_node_boss.png) center / 100% 100% no-repeat;box-shadow:0 10px 24px #0009,0 0 30px #ff3c2859}.stage-node.boss:before{inset:29% 27% 25%;background:radial-gradient(circle at 50% 35%,#6a1a14,#1a0606 75%)}.stage-node.locked{filter:none;background:url(../assets/ui/stage_node_locked.png) center / 100% 100% no-repeat}.stage-node.locked .node-num{opacity:.45}.stage-node.current{animation:nodeGlow 1.6s ease-in-out infinite}@keyframes nodeGlow{50%{filter:drop-shadow(0 0 18px rgba(255,210,110,.95))}}.hud-wave.plate,.hud-gold.plate{border:0;background:none;border-image:url(../assets/ui/hud_plate.png) 38 40 fill / 19px 20px / 0 stretch;box-shadow:0 6px 14px #0000008c}.slot{background:#0b0e14;box-shadow:0 6px 14px #000000a6}.slot:after{content:"";position:absolute;inset:-8px;background:url(../assets/ui/hud_slot.png) center / 100% 100% no-repeat;pointer-events:none}.slot.sig:after{filter:drop-shadow(0 0 8px rgba(255,210,100,.8)) brightness(1.2)}.slot-pips{z-index:1}.tree .menu-bg:before{background-image:url(../assets/ui/talent_bg.jpg);opacity:1;filter:brightness(.6);transform:none}.leaderboard .menu-bg:before{background-image:url(../assets/ui/leaderboard_bg.jpg);opacity:1;filter:brightness(.6);transform:none}.loading{justify-content:center;gap:12px;background:radial-gradient(ellipse at center,#1a1f2c,#07080c 70%)}.loading-title{font-family:var(--font-deco);font-size:46px;font-weight:900;color:var(--gold-2);text-shadow:0 4px 0 #000}.loading-sub{font:italic 22px var(--font-lore);color:var(--parchment-2);animation:lowPulse 1.2s infinite}.btn-ico{width:34px;height:34px;vertical-align:middle;margin:-6px 10px -2px -6px;border-radius:8px;box-shadow:0 0 0 2px #0009}.hud-speed{position:relative;overflow:hidden}.hud-speed img{position:absolute;inset:5px;width:calc(100% - 10px);height:calc(100% - 10px);object-fit:contain;opacity:.5;border-radius:10px}.hud-speed span{position:relative;text-shadow:0 2px 0 #000,0 0 8px #000}.lb-empty-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:70px 28px;text-align:center}.lb-empty-icon{width:128px;height:128px;border-radius:24px;box-shadow:0 0 0 3px #05060a,0 0 0 5px #d7b45a73,0 14px 30px #0009}.lb-empty-title{font-family:var(--font-deco);font-size:30px;font-weight:900;color:var(--gold-2);text-shadow:0 3px 0 #000}
