:root{--bg: #0a0916;--bg2: #110e24;--panel: #171330;--panel2: #221c46;--line: #3a3466;--gold: #f2c75c;--gold2: #b8862c;--violet: #8e6bff;--text: #efeaff;--muted: #9d98c6;--good: #5fe08a;--bad: #ff6a7a;--hp: #e5414f;--xp: #5ab0ff;--safe-top: env(safe-area-inset-top, 0px);--safe-bot: env(safe-area-inset-bottom, 0px);--head: "Jersey15", "Pixelify", system-ui, sans-serif;--body: system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--pix: "Pixelify", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{font-variant-ligatures:none;font-feature-settings:"liga" 0,"clig" 0,"calt" 0;margin:0;height:100%;background:#05040c;color:var(--text);font-family:var(--body);font-size:15px;overscroll-behavior:none;user-select:none;-webkit-user-select:none}button{font-family:inherit;color:inherit}img{image-rendering:pixelated}input{font-family:inherit}#app{position:fixed;inset:0 0 var(--ad-h, 0px) 0;margin:0 auto;max-width:520px;display:flex;flex-direction:column;background:radial-gradient(120% 60% at 50% 0%,#1d1744 0%,var(--bg) 60%);overflow:hidden}@media(min-width:560px){#app{border-left:1px solid var(--line);border-right:1px solid var(--line)}}.top{padding:calc(var(--safe-top) + 8px) 12px 8px;display:flex;align-items:center;gap:8px;background:linear-gradient(#0d0a20,#120e2a);border-bottom:1px solid var(--line);z-index:5}.top .title{font-family:var(--head);font-size:22px;letter-spacing:.5px;color:var(--gold);line-height:1;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top .title small{display:block;font-family:var(--body);font-size:11px;color:var(--muted);letter-spacing:0;margin-top:2px}.res{display:inline-flex;align-items:center;gap:4px;background:#ffffff0d;border:1px solid var(--line);border-radius:999px;padding:3px 10px 3px 4px;font-size:13px;font-weight:600}.res .ico{width:20px;height:20px}.res.pulse{animation:pulse .35s}@keyframes pulse{50%{transform:scale(1.12);border-color:var(--gold)}}#main{flex:1;min-height:0;position:relative;overflow:hidden}.screen{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;padding:12px 12px 18px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.screen::-webkit-scrollbar{display:none}.screen.flush{padding:0 0 18px}.nav{display:flex;background:#0c0a1d;border-top:1px solid var(--line);padding-bottom:var(--safe-bot);z-index:6}.nav button{font-family:var(--pix);flex:1;position:relative;background:none;border:0;padding:7px 0 6px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;letter-spacing:.3px}.nav button .ico{width:26px;height:26px;opacity:.6;filter:grayscale(.4);transition:transform .15s}.nav button.on{color:var(--gold)}.nav button.on .ico{opacity:1;filter:none;transform:translateY(-2px) scale(1.1)}.nav button.on:before{content:"";position:absolute;top:0;left:22%;right:22%;height:2px;background:var(--gold);border-radius:0 0 3px 3px;box-shadow:0 0 8px var(--gold)}.nav .dot{position:absolute;top:4px;right:calc(50% - 20px);min-width:16px;height:16px;border-radius:8px;background:var(--bad);color:#fff;font-size:10px;display:grid;place-items:center;padding:0 4px}h2{font-family:var(--head);font-size:22px;font-weight:400;margin:14px 0 8px;color:var(--gold);letter-spacing:.5px}h3{font-family:var(--head);font-size:18px;font-weight:400;margin:10px 0 6px;color:var(--text)}.muted{color:var(--muted)}.small{font-size:12px}.tiny{font-size:11px}.good{color:var(--good)}.bad{color:var(--bad)}.gold{color:var(--gold)}.row{display:flex;align-items:center;gap:8px}.col{display:flex;flex-direction:column;gap:6px}.grow{flex:1;min-width:0}.sp{height:8px}.center{text-align:center}.card{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:8px;box-shadow:0 2px #00000059}.card.tap:active{transform:translateY(1px);filter:brightness(1.15)}.card.locked{opacity:.5}.card.active{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset,0 0 14px #f2c75c33}.btn{appearance:none;border:1px solid #5b4d9e;background:linear-gradient(#4a3c8a,#33296b);color:#fff;border-radius:10px;padding:9px 14px;font-size:14px;font-weight:600;box-shadow:0 3px #1c1544;cursor:pointer;transition:transform .06s,filter .1s}.btn:active{transform:translateY(2px);box-shadow:0 1px #1c1544;filter:brightness(1.1)}.btn.gold{background:linear-gradient(#f6d77c,#d19a2f);border-color:#ffe9a3;color:#3a2503;box-shadow:0 3px #7a5410}.btn.red{background:linear-gradient(#d9505d,#a52b3b);border-color:#ff9aa6;box-shadow:0 3px #5e1220}.btn.green{background:linear-gradient(#4cc977,#2a8f50);border-color:#a2f2bf;box-shadow:0 3px #145a30}.btn.ghost{background:#ffffff0d;border-color:var(--line);box-shadow:none}.btn.sm{padding:5px 10px;font-size:12px;border-radius:8px}.btn.block{display:block;width:100%}.btn[disabled],.btn.off{opacity:.45;filter:grayscale(.6);pointer-events:none}.chip{font-family:var(--pix);display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 8px;border-radius:999px;background:#ffffff12;border:1px solid var(--line);color:var(--muted);white-space:nowrap}.chip.gold{color:var(--gold);border-color:#6b5520}.chip.good{color:var(--good);border-color:#1f6b3a}.chip.bad{color:var(--bad);border-color:#6b2030}.seg{display:flex;gap:4px;background:#00000059;padding:3px;border-radius:12px;border:1px solid var(--line);margin-bottom:10px;overflow-x:auto;scrollbar-width:none}.seg button{flex:1;min-width:max-content;background:none;border:0;padding:7px 12px;border-radius:9px;color:var(--muted);font-size:13px;white-space:nowrap}.seg button.on{background:linear-gradient(#4a3c8a,#33296b);color:#fff;box-shadow:0 1px #ffffff26 inset}.ico{display:inline-block;width:32px;height:32px;flex:none}.ico img{width:100%;height:100%;object-fit:contain;display:block;image-rendering:pixelated}.ico.lg{width:48px;height:48px}.ico.xl{width:64px;height:64px}.ico.sm{width:22px;height:22px}.slotbox{position:relative;display:inline-grid;place-items:center;width:48px;height:48px;flex:none;border-radius:9px;background:linear-gradient(#0d0b1f,#1b1638);border:2px solid #3a3466}.slotbox .ico{width:32px;height:32px}.slotbox.r{border-color:var(--rc);box-shadow:0 0 6px -1px var(--rg),0 0 0 1px #0009 inset}.slotbox.hi{box-shadow:0 0 10px 0 var(--rg),0 0 0 1px #0009 inset}.slotbox.epic{animation:epic 2.2s ease-in-out infinite}@keyframes epic{50%{box-shadow:0 0 16px 2px var(--rg),0 0 0 1px #0009 inset}}.slotbox .up{position:absolute;right:1px;bottom:0;font-size:10px;font-style:normal;color:#fff;text-shadow:0 0 3px #000,0 0 3px #000}.slotbox .qty{position:absolute;right:2px;bottom:0;font-size:11px;color:#fff;text-shadow:0 0 3px #000,0 0 3px #000,0 0 3px #000}.slotbox.empty{border-style:dashed;opacity:.6}.slotbox.empty .ico{opacity:.25;filter:grayscale(1)}.slotbox.sm{width:38px;height:38px}.slotbox.sm .ico{width:26px;height:26px}.slotbox.lg{width:60px;height:60px}.slotbox.lg .ico{width:42px;height:42px}.bar{position:relative;height:10px;border-radius:6px;background:#0000008c;border:1px solid rgba(255,255,255,.12);overflow:hidden}.bar>i{position:absolute;inset:0 auto 0 0;width:0;border-radius:6px;transition:width .18s linear}.bar>span{position:absolute;inset:0;display:grid;place-items:center;font-size:9px;font-weight:700;text-shadow:0 1px 2px #000}.bar.hp>i{background:linear-gradient(#ff6b78,#c22d3f)}.bar.hp.ally>i{background:linear-gradient(#6df09a,#2ca357)}.bar.xp>i{background:linear-gradient(#7cc8ff,#3b7de0)}.bar.gold>i{background:linear-gradient(#ffe38a,#d19a2f)}.bar.act>i{background:linear-gradient(#b99bff,#7a55f0);transition:none}.bar.cd>i{background:linear-gradient(#ffe38a,#e0a030);transition:none}.bar.thin{height:6px}.bar.tall{height:16px}.bar.tall>span{font-size:11px}.arena{position:relative;height:390px;overflow:hidden;background-size:cover;background-position:center bottom;image-rendering:pixelated;border-bottom:2px solid var(--line)}.arena:after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 40%,transparent 55%,rgba(0,0,0,.45));pointer-events:none}.arena .zonetag{position:absolute;left:8px;top:8px;z-index:4;background:#080614b3;border:1px solid var(--line);border-radius:9px;padding:4px 10px;font-size:12px;backdrop-filter:blur(3px)}.arena .zonetag b{font-family:var(--head);font-weight:400;font-size:16px;color:var(--gold);display:block;line-height:1.05}.arena .killtag{position:absolute;right:8px;top:8px;z-index:4;background:#080614b3;border:1px solid var(--line);border-radius:9px;padding:4px 10px;font-size:12px;text-align:right}.enemy{position:absolute;left:0;right:0;top:44px;display:flex;flex-direction:column;align-items:center;z-index:2}.enemy .ename{font-family:var(--head);font-size:18px;text-shadow:0 2px 0 #000,0 0 6px #000;line-height:1;margin-bottom:4px}.enemy .ename em{font-style:normal;font-size:12px;color:var(--muted);font-family:var(--body);margin-left:4px}.enemy .ebar{width:62%;max-width:250px}.enemy .estat{min-height:20px;display:flex;gap:3px;margin-top:3px;flex-wrap:wrap;justify-content:center}.enemy .body{margin-top:4px;display:flex;align-items:center;justify-content:center;height:170px;position:relative}.enemy .body:after{content:"";position:absolute;bottom:-4px;left:50%;width:70%;height:14px;transform:translate(-50%);background:radial-gradient(ellipse,rgba(0,0,0,.55),transparent 70%);z-index:-1}.enemy .sprite{animation:bob 2.4s ease-in-out infinite}.enemy.hit .sprite{animation:hit .22s}.enemy.dead .sprite{animation:die .35s forwards}.enemy.spawn .sprite{animation:spawn .3s}@keyframes bob{50%{transform:translateY(-4px)}}@keyframes hit{25%{transform:translate(-6px);filter:brightness(2.2)}60%{transform:translate(4px)}}@keyframes die{to{opacity:0;transform:scale(.7) translateY(14px);filter:brightness(3)}}@keyframes spawn{0%{opacity:0;transform:translateY(-20px) scale(1.15)}}.heroes{position:absolute;left:0;right:0;bottom:6px;display:flex;justify-content:space-around;align-items:flex-end;padding:0 4px;z-index:3}.hero{width:19%;display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}.hero .hb{height:100px;display:flex;align-items:flex-end}.hero .sprite{animation:bob 2.2s ease-in-out infinite;animation-delay:var(--d, 0s)}.hero.hit .sprite{animation:hit .22s}.hero.cast .sprite{animation:cast .5s}.hero.down .sprite{filter:grayscale(1) brightness(.45);opacity:.6;animation:none;transform:translateY(14px) scaleY(.6)}@keyframes cast{30%{transform:translateY(-10px) scale(1.12);filter:drop-shadow(0 0 8px var(--gold)) brightness(1.4)}}.hero .bar{width:100%;height:7px}.hero .bar.cd{height:4px}.hero .hstat{position:absolute;top:-4px;display:flex;gap:2px}.fx{position:absolute;inset:0;pointer-events:none;z-index:6;overflow:hidden}.num{position:absolute;font-family:var(--head);font-size:20px;color:#fff;text-shadow:0 2px 0 #000,0 0 5px #000;animation:floatup .9s ease-out forwards;white-space:nowrap;transform:translate(-50%)}.num.crit{font-size:28px;color:#ffe27a}.num.heal{color:var(--good)}.num.hurt{color:#ff8a8a}.num.miss{font-size:14px;color:#cfd0e8}.num.text{font-size:16px;color:var(--gold)}@keyframes floatup{0%{opacity:0;transform:translate(-50%,8px) scale(.6)}15%{opacity:1;transform:translate(-50%) scale(1.1)}to{opacity:0;transform:translate(-50%,-46px) scale(1)}}.banner{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);z-index:8;font-family:var(--head);font-size:34px;color:var(--gold);text-shadow:0 3px 0 #000,0 0 14px rgba(242,199,92,.8);animation:banner 1.8s ease-out forwards;white-space:nowrap;pointer-events:none}.banner.bad{color:var(--bad);text-shadow:0 3px 0 #000,0 0 14px rgba(255,106,122,.8)}@keyframes banner{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-80%) scale(1)}}.sbadge{display:inline-block;font-size:8px;padding:1px 3px;border-radius:4px;background:#000000b3;border:1px solid var(--sc);color:var(--sc);font-weight:700;line-height:1.1}.sbadge sup{font-size:7px}.sbadge.good{background:color-mix(in srgb,var(--sc) 25%,#000)}.shield-ring{box-shadow:0 0 0 2px #9fd0ff inset}.ticker{display:flex;flex-direction:column;gap:2px;min-height:66px;font-size:12px;padding:6px 4px}.ticker div{opacity:.9;display:flex;align-items:center;gap:6px;animation:slidein .25s}.ticker div:nth-child(n+4){opacity:.5}@keyframes slidein{0%{opacity:0;transform:translate(-8px)}}.item{display:flex;gap:10px;align-items:center}.item .meta{flex:1;min-width:0}.item .meta b{display:block;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item .meta span{display:block;font-size:12px;color:var(--muted)}.cost{display:inline-flex;align-items:center;gap:3px;font-size:11px;padding:1px 6px 1px 2px;border-radius:6px;background:#0006;border:1px solid var(--line);margin:2px 3px 0 0}.cost.no{color:var(--bad);border-color:#6b2030}.cost .ico{width:16px;height:16px}.grid{display:grid;gap:8px}.grid.g2{grid-template-columns:repeat(2,1fr)}.grid.g3{grid-template-columns:repeat(3,1fr)}.grid.g5{grid-template-columns:repeat(5,1fr)}.grid.bag{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px}.grid.bag .slotbox{width:100%;height:auto;aspect-ratio:1}.skillcard{text-align:center;padding:10px 6px 8px;position:relative;overflow:hidden}.skillcard .lv{position:absolute;top:4px;right:6px;font-size:11px;color:var(--muted)}.skillcard .nm{font-size:12px;margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skillcard .ico{width:36px;height:36px}.skillcard.run:after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gold);box-shadow:0 0 8px var(--gold);animation:runbar 1.2s linear infinite}@keyframes runbar{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}.statline{display:flex;justify-content:space-between;font-size:13px;padding:3px 0;border-bottom:1px dashed rgba(255,255,255,.08)}.statline:last-child{border-bottom:0}.statline b{font-weight:600}.herotabs{display:flex;gap:6px;margin-bottom:8px}.herotabs button{flex:1;background:var(--panel);border:2px solid var(--line);border-radius:10px;padding:4px 0 2px;display:flex;flex-direction:column;align-items:center;height:64px;justify-content:flex-end;overflow:hidden}.herotabs button.on{border-color:var(--gold);background:var(--panel2)}.herotabs button i{font-style:normal;font-size:10px;color:var(--muted)}.equipgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.equipgrid .cell{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:var(--muted)}.equipgrid .slotbox{width:100%;height:auto;aspect-ratio:1}.overlay{position:fixed;inset:0;z-index:50;background:#04030cc7;display:flex;align-items:flex-end;justify-content:center;animation:fade .18s;backdrop-filter:blur(2px)}.overlay.mid{align-items:center;padding:18px}@keyframes fade{0%{opacity:0}}.sheet{width:100%;max-width:520px;max-height:88dvh;display:flex;flex-direction:column;background:linear-gradient(#211b44,#131030);border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;padding:14px 14px calc(14px + var(--safe-bot) + var(--ad-h, 0px));animation:rise .22s ease-out}.overlay.mid .sheet{border-radius:18px;border-bottom:1px solid var(--line);max-height:82dvh}@keyframes rise{0%{transform:translateY(40px);opacity:0}}.sheet .hd{display:flex;align-items:center;gap:8px;margin-bottom:8px}.sheet .hd h3{flex:1;margin:0;font-size:22px;color:var(--gold)}.sheet .bd{overflow-y:auto;flex:1;min-height:0;scrollbar-width:none}.sheet .bd::-webkit-scrollbar{display:none}.x{width:32px;height:32px;border-radius:50%;background:#ffffff14;border:1px solid var(--line);color:var(--text);font-size:16px}.toasts{position:fixed;left:0;right:0;top:calc(var(--safe-top) + 58px);z-index:70;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.toast{background:#14102cf2;border:1px solid var(--line);border-radius:12px;padding:7px 14px;font-size:13px;animation:toast 2.6s forwards;max-width:88%;display:flex;gap:8px;align-items:center;box-shadow:0 4px 16px #00000080}.toast.good{border-color:#2a8f50}.toast.bad{border-color:#a52b3b}.toast.gold{border-color:var(--gold);color:var(--gold)}@keyframes toast{0%{opacity:0;transform:translateY(-10px)}8%{opacity:1;transform:none}85%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.slider{width:100%;accent-color:var(--gold)}.toggle{appearance:none;width:46px;height:26px;border-radius:14px;background:#2a2550;border:1px solid var(--line);position:relative;transition:background .15s;flex:none}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#cfc8ff;transition:transform .15s}.toggle:checked{background:#3c8f5a}.toggle:checked:after{transform:translate(20px);background:#fff}.field{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#0006;color:var(--text);font-size:16px;user-select:text;-webkit-user-select:text}textarea.field{min-height:90px;font-size:12px;resize:none}.item .meta span.badge-r,.badge-r{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;border:1px solid var(--rc);color:var(--rc);background:#00000059}.full{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;background:#05040c;max-width:520px;margin:0 auto}.splash{background-size:cover;background-position:center;justify-content:flex-end;align-items:center;padding:0 24px calc(48px + var(--safe-bot))}.splash:before{content:"";position:absolute;inset:0;background:linear-gradient(#05040c1a,#05040c33 40%,#05040ceb)}.splash>*{position:relative}.logo{text-align:center;margin-bottom:26px}.logo .l1{font-family:var(--head);font-size:64px;line-height:.9;color:var(--gold);text-shadow:0 4px 0 #6b4a12,0 0 24px rgba(242,199,92,.5);letter-spacing:2px}.logo .l2{font-family:var(--head);font-size:34px;line-height:1;color:#e8e0ff;text-shadow:0 3px 0 #1c1544,0 0 18px rgba(142,107,255,.8);letter-spacing:8px;margin-top:2px}.logo .l3{font-size:12px;color:var(--muted);margin-top:10px;letter-spacing:2px}.splash .menu{width:100%;max-width:300px;display:flex;flex-direction:column;gap:10px}.splash .tap{animation:blink 1.4s infinite;color:#cfc8ff;font-size:14px;letter-spacing:2px}@keyframes blink{50%{opacity:.25}}.loadbar{width:70%;max-width:260px}.slide{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:24px 28px 8px;background-size:cover;background-position:center top;position:relative}.slide:before{content:"";position:absolute;inset:0;background:linear-gradient(#05040c00 25%,#05040cf5 78%)}.slide>*{position:relative}.slide h1{font-family:var(--head);font-weight:400;font-size:36px;color:var(--gold);margin:0 0 8px;text-shadow:0 3px 0 #000}.slide p{font-size:15px;line-height:1.45;color:#ddd6ff;margin:0 0 16px;max-width:360px}.dots{display:flex;gap:6px;justify-content:center;padding:10px 0}.dots i{width:8px;height:8px;border-radius:50%;background:#3a3466}.dots i.on{background:var(--gold);width:22px;border-radius:6px}.foot{padding:10px 20px calc(16px + var(--safe-bot));background:#05040c;display:flex;flex-direction:column;gap:8px}.hint{position:fixed;left:12px;right:12px;bottom:calc(76px + var(--safe-bot) + var(--ad-h, 0px));z-index:40;max-width:496px;margin:0 auto;background:linear-gradient(#2f2563,#1f1846);border:1px solid var(--gold);border-radius:12px;padding:10px 12px;display:flex;gap:10px;align-items:center;box-shadow:0 6px 24px #0009;animation:rise .25s;font-size:13px}.hint .ico{width:36px;height:36px}.kv{display:grid;grid-template-columns:1fr auto;gap:2px 10px;font-size:13px}.kv span:nth-child(odd){color:var(--muted)}.kv span:nth-child(2n){text-align:right}.list-hd{display:flex;align-items:center;gap:6px;margin:12px 0 6px}.list-hd h2{margin:0;flex:1}.empty{text-align:center;color:var(--muted);padding:28px 12px;font-size:13px}.qstep{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-top:3px}.qstep.done{color:var(--good)}.qstep .bar{flex:0 0 70px;height:6px}.portrait{width:64px;height:64px;border-radius:12px;border:2px solid var(--line);background:#0d0b1f;object-fit:cover;image-rendering:pixelated}.sprite{image-rendering:pixelated;display:block;width:auto}.tabs-sub{margin:0 0 6px}.back{background:none;border:0;color:var(--gold);font-size:14px;padding:4px 0 8px}.ability{font-size:12px;background:#0000004d;border:1px solid var(--line);border-radius:8px;padding:6px 8px;margin-top:6px}.ability b{color:var(--gold)}.zonecard{display:flex;gap:10px;align-items:center}.zonecard .thumb{width:64px;height:56px;border-radius:8px;background-size:cover;border:1px solid var(--line);flex:none;image-rendering:pixelated}.idletxt{color:#e8e4ff;background:#080614b8;border-radius:8px;padding:3px 10px;text-shadow:0 1px 2px #000}.money{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.money .mn{display:inline-flex;align-items:center;gap:3px}.coin{display:inline-block;width:13px;height:13px;border-radius:50%;border:1.5px solid #00000066;box-shadow:inset 0 -2px #0003,inset 0 1px #fff6;flex:none}.coin.s{background:radial-gradient(circle at 35% 30%,#fff,#b9c0cc 55%,#7d8594)}.coin.g{background:radial-gradient(circle at 35% 30%,#fff3b0,#f2c75c 55%,#b9831b)}.coin.p{background:radial-gradient(circle at 35% 30%,#fff,#8fe3ff 50%,#4a8bff);box-shadow:inset 0 -2px #0003,inset 0 1px #fff6,0 0 6px #6fc8ff88}.res .money{font-size:13px}.res .coin{width:16px;height:16px}.sprite.silhouette{filter:brightness(0) opacity(.75)}.herotabs button.locked{opacity:.8}.ability.off{opacity:.6}.scene{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#0d0a1e;margin:4px 0 10px;box-shadow:0 6px 18px #00000073}.scene canvas{display:block;width:100%;aspect-ratio:2 / 1;image-rendering:pixelated}.scene.compact{margin:2px 0 8px}.scene.compact canvas{aspect-ratio:3 / 1;object-fit:cover;object-position:50% 80%}.scene .slabel{position:absolute;left:8px;top:6px;font-size:11px;font-weight:700;letter-spacing:.3px;color:#fff;text-shadow:0 1px 0 #000,0 0 6px #000;background:#0a08188c;border:1px solid #ffffff22;border-radius:999px;padding:2px 9px;max-width:80%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sfloats{position:absolute;inset:0;pointer-events:none;overflow:hidden}.sfloat{position:absolute;bottom:26%;display:flex;align-items:center;gap:4px;font-size:13px;font-weight:800;color:#fff3b0;text-shadow:0 2px 0 #000,0 0 8px #000;animation:sfloat 1.4s ease-out forwards;white-space:nowrap}.sfloat img{width:22px;height:22px;image-rendering:pixelated}@keyframes sfloat{0%{transform:translateY(8px) scale(.7);opacity:0}15%{opacity:1;transform:translateY(0) scale(1.1)}to{transform:translateY(-62px) scale(1);opacity:0}}.hero.atk .sprite{animation:lunge .32s ease-out}.enemy.foe .sprite{animation:foeatk .34s ease-out}@keyframes lunge{35%{transform:translate(10px,-16px) rotate(7deg) scale(1.1);filter:brightness(1.3)}to{transform:none}}@keyframes foeatk{35%{transform:translateY(26px) scale(1.12);filter:brightness(1.25)}to{transform:none}}.proj{position:absolute;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,#fff,var(--c) 60%,transparent 72%);box-shadow:0 0 12px 3px var(--c);pointer-events:none;z-index:6}.proj.arrow{width:26px;height:3px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--c));box-shadow:0 0 6px var(--c)}.slashfx{position:absolute;width:70px;height:70px;border-radius:50%;border:5px solid transparent;border-top-color:var(--c);border-right-color:var(--c);filter:drop-shadow(0 0 7px var(--c));pointer-events:none;z-index:6}.slashfx.foe{width:60px;height:60px;border-width:4px}.slotbox.cardbox{border-color:var(--cc, #9a9ab0);background:radial-gradient(circle at 50% 70%,color-mix(in srgb,var(--cc, #666) 35%,#0d0b1f),#0d0b1f 75%);box-shadow:0 0 7px -1px var(--cc, #666),0 0 0 1px #0009 inset;overflow:hidden;align-items:end}.slotbox.cardbox .sprite{max-height:88%;max-width:92%;width:auto;object-fit:contain;image-rendering:auto;margin-bottom:2px}.slotbox.cardbox:after{content:"";position:absolute;inset:2px;border:1px solid color-mix(in srgb,var(--cc, #666) 55%,transparent);border-radius:6px;pointer-events:none}.socketrow{display:flex;gap:8px;margin-top:8px}.socket{flex:1;min-height:54px;border:2px dashed #3a3466;border-radius:10px;display:flex;align-items:center;gap:8px;padding:6px;background:#0d0b1f99}.socket.full{border-style:solid;border-color:var(--gold)}.herotabs button.bench{border-style:dashed;opacity:.85}.merchant-hd{display:flex;gap:10px;align-items:center}.merchant-hd img{width:84px;height:84px;border-radius:12px;object-fit:cover;border:2px solid var(--gold)}.packbadge{position:absolute;top:-6px;right:-2px;background:#7a1f2b;color:#fff;border-radius:10px;font-size:12px;padding:1px 7px;border:1px solid #ff8c9a;font-weight:700;z-index:5}.giantbadge{position:absolute;top:-6px;left:-2px;background:#5b2a8a;color:#fff;border-radius:10px;font-size:11px;padding:1px 7px;border:1px solid #c78bff;font-weight:700;z-index:5}.vw{opacity:.32;transition:opacity .25s}.vw.on{opacity:1}.vobtn{position:absolute;top:calc(var(--safe-top) + 10px);right:12px;z-index:3;background:#080614b3;color:var(--text, #eee);border:1px solid var(--line);border-radius:16px;padding:5px 11px;font-size:12px}.arena:before{content:"";position:absolute;inset:-20% 0 0;pointer-events:none;z-index:1;opacity:.5;background-image:radial-gradient(circle,rgba(255,244,200,.85) 0 1.2px,transparent 2px),radial-gradient(circle,rgba(255,255,255,.55) 0 1px,transparent 1.8px),radial-gradient(circle,rgba(255,230,160,.6) 0 1.6px,transparent 2.4px);background-size:97px 131px,151px 187px,211px 173px;background-position:10px 20px,60px 90px,120px 40px;animation:motes 22s linear infinite}@keyframes motes{to{background-position:40px -131px,20px -187px,90px -173px}}.hero .sprite{animation:breathe 2.4s ease-in-out infinite;animation-delay:var(--d, 0s);transform-origin:50% 100%}.enemy .sprite{animation:breathe 2.8s ease-in-out infinite;transform-origin:50% 100%}@keyframes breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.015,.985)}}.enemy.hit .sprite{animation:hit .24s}.enemy.hitc .sprite{animation:hitc .34s}.enemy.dead .sprite{animation:die .42s forwards}.enemy.spawn .sprite{animation:spawn .34s cubic-bezier(.2,1.4,.4,1)}@keyframes hit{15%{transform:translate(-9px) scale(.93,1.06);filter:brightness(3.2) saturate(.2)}45%{transform:translate(6px) scale(1.04,.96);filter:brightness(1.6)}to{transform:none}}@keyframes hitc{12%{transform:translate(-16px) scale(.88,1.1) rotate(-3deg);filter:brightness(4) saturate(0)}40%{transform:translate(10px) scale(1.08,.93) rotate(2deg);filter:brightness(1.9) sepia(.4)}70%{transform:translate(-3px)}to{transform:none}}@keyframes die{25%{transform:scale(1.06);filter:brightness(4) saturate(0)}to{opacity:0;transform:scale(.55) translateY(24px);filter:brightness(5) blur(4px)}}@keyframes spawn{0%{opacity:0;transform:translateY(-34px) scale(1.25);filter:brightness(2.2)}60%{transform:translateY(4px) scale(.96,1.04)}}.hero.hit .sprite{animation:herohit .26s}@keyframes herohit{15%{transform:translate(-8px) scale(.93,1.06);filter:brightness(2.4) hue-rotate(-30deg) saturate(2)}50%{transform:translate(4px)}to{transform:none}}.hero.cast .sprite{animation:cast .6s}@keyframes cast{25%{transform:translateY(-14px) scale(1.16);filter:drop-shadow(0 0 10px var(--gold)) brightness(1.6)}60%{transform:translateY(-4px) scale(1.06);filter:drop-shadow(0 0 6px var(--gold)) brightness(1.2)}to{transform:none}}.hero.down .sprite{transition:transform .5s,opacity .5s,filter .5s}.hero.low .bar.ally{animation:blink .7s infinite}.hero.low .hb{filter:drop-shadow(0 0 5px rgba(255,60,70,.75))}.enemy.aura-rare .body:before,.enemy.aura-legend .body:before,.enemy.aura-boss .body:before{content:"";position:absolute;left:50%;top:50%;width:150%;height:120%;transform:translate(-50%,-50%);border-radius:50%;z-index:-1;pointer-events:none;animation:aura 2.2s ease-in-out infinite}.enemy.aura-rare .body:before{background:radial-gradient(circle,rgba(170,90,255,.55),rgba(120,40,220,.18) 55%,transparent 70%)}.enemy.aura-legend .body:before{background:radial-gradient(circle,rgba(255,150,50,.6),rgba(255,80,20,.2) 55%,transparent 70%)}.enemy.aura-boss .body:before{background:radial-gradient(circle,rgba(255,70,90,.35),rgba(160,20,40,.14) 55%,transparent 70%)}@keyframes aura{50%{transform:translate(-50%,-50%) scale(1.14);opacity:.75}}.enemy.aura-legend .sprite{filter:drop-shadow(0 0 8px rgba(255,140,40,.8))}.enemy.aura-rare .sprite{filter:drop-shadow(0 0 8px rgba(180,100,255,.8))}.spark{position:absolute;border-radius:50%;pointer-events:none;z-index:7}.ringfx{position:absolute;border-radius:50%;border:3px solid var(--c);box-shadow:0 0 12px var(--c),inset 0 0 10px var(--c);pointer-events:none;z-index:6}.ringfx.flat{border-width:2px;height:auto!important;aspect-ratio:3.4 / 1}.starfx{position:absolute;pointer-events:none;z-index:7;background:conic-gradient(from 0deg,transparent 0 6%,var(--c) 8% 10%,transparent 12% 24%,var(--c) 26% 28%,transparent 30% 49%,var(--c) 51% 53%,transparent 55% 74%,var(--c) 76% 78%,transparent 80%);-webkit-mask:radial-gradient(circle,#000 0 18%,transparent 68%);mask:radial-gradient(circle,#000 0 18%,transparent 68%);filter:drop-shadow(0 0 8px var(--c))}.flashfx{position:absolute;inset:0;pointer-events:none;z-index:5;mix-blend-mode:screen}.proj2{position:absolute;pointer-events:none;z-index:6;transform-origin:0 50%}.proj2.magic{width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:radial-gradient(circle,#fff 0 25%,var(--c) 60%,transparent 72%);box-shadow:0 0 14px 4px var(--c)}.proj2.magic:before{content:"";position:absolute;right:6px;top:50%;width:40px;height:8px;transform:translateY(-50%);background:linear-gradient(270deg,var(--c),transparent);border-radius:50%;filter:blur(2px);opacity:.85}.proj2.arrow{width:34px;height:3px;margin:-1px 0 0 -17px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--c) 55%,#fff);box-shadow:0 0 8px var(--c)}.slash2{position:absolute;pointer-events:none;z-index:6;border-radius:50%;border:6px solid transparent;border-top-color:#fff;border-right-color:var(--c);filter:drop-shadow(0 0 8px var(--c))}.slash2:after{content:"";position:absolute;inset:7px;border-radius:50%;border:4px solid transparent;border-top-color:var(--c);border-right-color:transparent;opacity:.8}.num.crit{font-size:30px;color:#ffe27a;animation:critup 1s ease-out forwards;text-shadow:0 3px 0 #000,0 0 10px #ff9a2a}@keyframes critup{0%{opacity:0;transform:translate(-50%,10px) scale(.4) rotate(-8deg)}14%{opacity:1;transform:translate(-50%,-4px) scale(1.5) rotate(3deg)}30%{transform:translate(-50%,-6px) scale(1.15)}to{opacity:0;transform:translate(-50%,-58px) scale(1)}}@media(prefers-reduced-motion:reduce){.arena:before,.enemy .body:before{animation:none!important}}.sel{background:#1b1538;color:#f1ecff;border:1px solid var(--line);border-radius:8px;padding:7px 6px;font-size:13px;min-width:0;max-width:100%;font-family:inherit}.sel.grow{flex:1 1 0}.plan-step{padding:8px}.plan-n{width:22px;height:22px;border-radius:50%;background:var(--gold);color:#1a1230;display:inline-grid;place-items:center;font-size:12px;flex:none}.plan-live{border-color:#3c8a56;background:linear-gradient(#17301f,#121027);padding:10px}
