:root{--bg: #a9d9f7;--ink: #3a2c1c;--gold: #f7a824;--soul: #1fa9c9;--danger: #e5484d;--good: #4fae3d;--panel: #fff6e3;--panel-2: #f7ecd4;--stroke: #4a3a28;--text: #3a2c1c;--muted: #93805f;--font: "Baloo 2", "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:var(--bg);overflow:hidden;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;font-family:var(--font);color:var(--text)}#app{position:fixed;inset:0}#game{position:absolute;inset:0;width:100%;height:100%;display:block}#ui{position:absolute;inset:0;pointer-events:none;z-index:10}#ui>*{pointer-events:auto}.home{position:absolute;inset:0;margin:0 auto;width:min(100vw,calc(100dvh * var(--game-ar, .5625)));display:flex;flex-direction:column;gap:10px;padding:max(14px,env(safe-area-inset-top)) 14px calc(16px + env(safe-area-inset-bottom))}.resbar{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:9px;padding-left:7px}.mute{width:42px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:linear-gradient(180deg,#2c3656eb,#141a2ef5);box-shadow:inset 0 1px #ffffff38,0 3px 8px #0a14284d;color:#fff;font-size:15px;font-family:inherit}.res{position:relative;display:flex;align-items:center;justify-content:flex-end;background:linear-gradient(180deg,#2c3656eb,#141a2ef5);border:1px solid rgba(255,255,255,.3);border-radius:999px;box-shadow:inset 0 1px #ffffff38,0 3px 8px #0a14284d;padding:7px 11px 7px 22px;font-weight:800;font-size:14px;color:#fff}.res .val{text-shadow:0 1px 2px rgba(0,0,0,.55)}.res .ico,.res img.ico{position:absolute;left:-7px;top:50%;transform:translateY(-50%);width:29px;height:29px;font-size:20px;line-height:29px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}.collect{grid-column:1 / -1;background:linear-gradient(#ffd76b,#ffb638);color:#4a3400;border:3px solid var(--stroke);border-radius:12px;padding:9px;font-weight:900;font-size:14px;animation:pop .25s ease}.brand{text-align:center}.logo{height:clamp(74px,14vh,132px);width:auto;max-width:92%;object-fit:contain;display:block;margin:0 auto;filter:drop-shadow(0 3px 0 rgba(74,58,40,.3))}.logo.gone,.title{display:none}.logo.gone~.title{display:block}img.ico{width:19px;height:19px;object-fit:contain;vertical-align:-4px}img.cost-ico{width:14px;height:14px;object-fit:contain;vertical-align:-2px;margin-right:2px}.cico img{width:34px;height:34px;object-fit:contain}.hi img.portrait{width:54px;height:54px;object-fit:contain}.home.imgui .sub{display:none}.home.imgui .panel{border:14px solid transparent;border-image:url(../sprites/ui-panel-frame.png) 15% fill / 18px stretch;background:none}.home.imgui .intro{border:14px solid transparent;border-image:url(../sprites/ui-panel-frame.png) 15% fill / 20px stretch;background:none}.title{font-size:30px;font-weight:900;letter-spacing:1px;color:var(--gold);text-shadow:0 3px 0 var(--stroke);white-space:nowrap;line-height:1.05}.sub{font-size:12px;color:#3f5a74;letter-spacing:2px;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.5)}.tabs{display:flex;gap:8px}.tabs button{flex:1;padding:10px;border-radius:12px 12px 0 0;border:3px solid var(--stroke);border-bottom:none;background:#e3d5b3;color:var(--muted);font-weight:800;font-size:15px;font-family:inherit}.tabs button.on{background:var(--panel-2);color:var(--text)}.panel{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;background:var(--panel-2);border:3px solid var(--stroke);border-radius:0 0 14px 14px;padding:10px;display:flex;flex-direction:column;gap:8px}.card{display:flex;align-items:center;gap:10px;background:var(--panel);border:2px solid var(--stroke);border-radius:12px;padding:8px 10px}.cico{font-size:24px;width:32px;text-align:center}.cmid{flex:1;min-width:0;overflow:hidden}.cname{font-weight:800;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lvpill{display:inline-block;font-size:11px;background:#e4d5b4;padding:1px 6px;margin-right:5px;border-radius:8px;color:#6b5638;font-weight:700}.ceff{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.buy{background:var(--gold);color:#3a2a00;border:none;border-radius:10px;padding:7px 9px;font-weight:900;font-size:11.5px;line-height:1.25;min-width:56px;max-width:100px;text-align:center;flex-shrink:0;font-family:inherit;box-shadow:0 3px #b98f10}.buy:active{transform:translateY(2px);box-shadow:0 1px #b98f10}.buy:disabled{background:#ddd0b2;color:#a2916e;box-shadow:0 3px #bdae8c}.note{font-size:11px;color:var(--muted);text-align:center;padding:4px 6px}.homevid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;opacity:0;transition:opacity .7s ease;pointer-events:none}.homevid.on{opacity:1}.hi.sel{position:relative;width:100%}.herovid{display:block;width:100%;max-height:170px;object-fit:cover;object-position:50% 22%;border-radius:12px;border:2px solid var(--stroke);background:#0006}.herovid.dead{display:none}.hi.sel>img.portrait{display:none}.hi.sel>.herovid.dead+img.portrait{display:inline-block}.heroes{display:flex;flex-direction:column;gap:8px}.herocard{text-align:left;background:var(--panel);border:3px solid var(--stroke);border-radius:12px;padding:10px 12px;color:var(--text);font-family:inherit}.herocard.on{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold) inset}.herocard .hi{font-size:26px}.herocard .hn{font-weight:900;font-size:16px}.herocard .hb{font-size:12px;color:var(--muted)}.reset{margin-top:6px;background:transparent;border:none;color:#9a8664;font-size:12px;text-decoration:underline;font-family:inherit}.sortie{background:linear-gradient(#8be06b,#5fbf4d);color:#0e2415;border:none;border-radius:16px;padding:12px;font-family:inherit;display:flex;flex-direction:column;align-items:center;box-shadow:0 5px #3f8c33}.sortie b{font-size:13px;opacity:.82}.sortie:active{transform:translateY(3px);box-shadow:0 2px #3f8c33}@keyframes pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.bossintro{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#080512db;animation:pop .25s ease}.bossintro video{width:min(86%,420px);max-height:68%;object-fit:cover;border-radius:18px;border:3px solid rgba(255,202,58,.65);box-shadow:0 0 44px #7d50ff66,0 12px 40px #00000080}.bossintro .skiplabel{color:#e8ddff;font-weight:800;font-size:13px;letter-spacing:2px;opacity:.85;animation:skippulse 1.2s ease-in-out infinite}@keyframes skippulse{50%{opacity:.35}}.introwrap{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden;background:#06070c8c}.introvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;opacity:0;transition:opacity .6s ease;pointer-events:none}.introvid.on{opacity:1}.intro{width:min(90vw,50dvh);background:var(--panel);border:3px solid var(--stroke);border-radius:20px;padding:24px 22px;text-align:center;animation:pop .3s ease}.intro h1{color:var(--gold);font-size:26px;letter-spacing:1px;margin:0;text-shadow:0 2px 0 var(--stroke)}.intro p{color:var(--muted);font-size:14px;line-height:1.55;margin:12px 0}.intro p b{color:var(--text)}.intro .go{margin-top:12px;background:linear-gradient(#8be06b,#5fbf4d);color:#0e2415;border:none;border-radius:14px;padding:12px 20px;font-weight:900;font-size:17px;font-family:inherit;box-shadow:0 4px #3f8c33}.intro .go:active{transform:translateY(2px);box-shadow:0 2px #3f8c33}.tabs button{font-size:14px;padding:9px 3px}.home.imgui .tabs button{font-size:13px}.btbar{height:8px;background:#4a3a2838;border-radius:4px;overflow:hidden;margin:4px 0 2px}.bt-fill{height:100%;background:linear-gradient(90deg,#8be06b,#5fbf4d);border-radius:4px;transition:width .3s linear}.bt-time{font-variant-numeric:tabular-nums}.offline{position:absolute;inset:0;z-index:24;display:flex;align-items:center;justify-content:center;padding:24px;background:#06070cbf}.offcard{width:min(88vw,50dvh);background:var(--panel);border:3px solid var(--stroke);border-radius:20px;padding:22px;text-align:center;animation:pop .3s ease}.home.imgui .offcard{border:16px solid transparent;border-image:url(../sprites/ui-panel-frame.png) 15% fill / 18px stretch;background:none}.offcard h2{color:var(--gold);font-size:24px;letter-spacing:1px;margin:0 0 4px;text-shadow:0 2px 0 var(--stroke)}.offcard p{color:var(--muted);font-size:14px;margin:4px 0 14px}.offcard p b{color:var(--text)}.offrows{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;font-size:22px;font-weight:900;color:var(--text);margin-bottom:16px}.offrows img{width:26px;height:26px;vertical-align:-6px}.offcard .go{background:linear-gradient(#8be06b,#5fbf4d);color:#0e2415;border:none;border-radius:14px;padding:12px 28px;font-weight:900;font-size:18px;font-family:inherit;box-shadow:0 4px #3f8c33}.offcard .go:active{transform:translateY(2px);box-shadow:0 2px #3f8c33}.ascend{display:flex;flex-direction:column;gap:10px;align-items:center;padding:4px}.arelics{display:flex;align-items:center;gap:12px;width:100%;background:var(--panel);border:2px solid var(--stroke);border-radius:14px;padding:12px 16px}.arelics img.portrait{width:52px;height:52px}.arelics .an{font-weight:900;font-size:20px;color:var(--gold)}.arelics .ab{font-size:12px;color:var(--muted)}.ascendbtn{width:100%;background:linear-gradient(#c69bff,#9a6cf0);color:#2a1150;border:none;border-radius:14px;padding:13px;font-weight:900;font-size:18px;font-family:inherit;box-shadow:0 4px #6a3fb0}.ascendbtn.dim{filter:grayscale(.6) brightness(.92)}.ascendbtn img.cost-ico{width:16px;height:16px;vertical-align:-2px}.ascendbtn:active{transform:translateY(2px);box-shadow:0 2px #6a3fb0}.tabs{display:flex;gap:5px;padding:5px;border:1px solid rgba(255,236,190,.28);border-radius:16px;background:linear-gradient(180deg,#28201694,#1a140da8);box-shadow:inset 0 1px 2px #00000059,0 4px 14px #0003;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.tabs button{flex:1;padding:9px 3px;border:none;border-radius:11px;background:transparent;color:#ecdfc4;font-family:inherit;font-weight:800;font-size:14px;letter-spacing:.3px;text-shadow:0 1px 2px rgba(0,0,0,.55);transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .12s ease}.tabs button.on{background:linear-gradient(180deg,#ffe6ad,#f3c268 46%,#e2a13c);color:#4a2c00;text-shadow:0 1px 0 rgba(255,255,255,.5);box-shadow:inset 0 1px #fff9,0 2px 9px #f0af3c80}.home.imgui .tabs button{font-size:14px}.sortie,.intro .go,.offcard .go{background:linear-gradient(180deg,#b6f08e,#7ed957 46%,#56bf3d);color:#123c10;border:1.5px solid rgba(232,255,214,.85);font-family:inherit;text-shadow:0 1px 0 rgba(255,255,255,.35);box-shadow:inset 0 1.5px #ffffff8c,inset 0 -3px 7px #285a1452,0 5px 18px #6ed9576b,0 3px #3a782a73;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease}.sortie{border-radius:18px;padding:13px;display:flex;flex-direction:column;align-items:center;gap:1px}.sortie span{font-size:24px;font-weight:900;letter-spacing:1px}.sortie b{font-size:12.5px;font-weight:700;opacity:.8}.intro .go,.offcard .go{border-radius:16px;padding:12px 30px;font-weight:900;font-size:18px;box-shadow:inset 0 1.5px #ffffff80,0 4px 16px #6ed9576b,0 3px #3a782a73}.sortie:active,.intro .go:active,.offcard .go:active{transform:translateY(2px);filter:brightness(.97);box-shadow:inset 0 1.5px #fff6,0 2px 9px #6ed95766}.buy{background:linear-gradient(180deg,#ffe6ad,#f3c268 46%,#e0983a);color:#4a2c00;border:1.25px solid rgba(255,246,214,.85);border-radius:12px;padding:7px 10px;font-family:inherit;font-weight:800;font-size:11.5px;line-height:1.25;min-width:58px;max-width:104px;text-align:center;flex-shrink:0;text-shadow:0 1px 0 rgba(255,255,255,.4);box-shadow:inset 0 1px #ffffff8c,inset 0 -2px 4px #965a1447,0 2px 8px #e6963252;transition:transform .1s ease,filter .1s ease}.buy:active:not(:disabled){transform:translateY(1.5px);filter:brightness(.96)}.buy:disabled{background:linear-gradient(180deg,#e0d6c28c,#cabea88c);color:#5c4c34a6;border-color:#ffffff4d;box-shadow:inset 0 1px #ffffff4d}.collect{grid-column:1 / -1;background:linear-gradient(180deg,#ffe0a0,#f7c25e 46%,#eaa73a);color:#4a3400;border:1.5px solid rgba(255,246,214,.85);border-radius:14px;padding:9px;font-weight:900;font-size:14px;text-shadow:0 1px 0 rgba(255,255,255,.4);box-shadow:inset 0 1px #ffffff8c,0 3px 12px #f0af3c61;animation:pop .25s ease}.collect:active{transform:translateY(1.5px);filter:brightness(.97)}.mute{width:42px;border-radius:999px;border:1px solid rgba(255,236,190,.4);background:linear-gradient(180deg,#30281cd9,#1e1810e6);color:#ffe6ad;font-family:inherit;font-size:15px;box-shadow:inset 0 1px #ffffff38,0 2px 8px #0000004d}.ascendbtn{width:100%;background:linear-gradient(180deg,#e2c6ff,#b98cf5 46%,#9560e6);color:#2e0f5c;border:1.5px solid rgba(240,224,255,.85);border-radius:16px;padding:13px;font-family:inherit;font-weight:900;font-size:18px;text-shadow:0 1px 0 rgba(255,255,255,.4);box-shadow:inset 0 1.5px #ffffff8c,inset 0 -3px 6px #50288c52,0 4px 16px #9b60e680}.ascendbtn.dim{filter:grayscale(.5) brightness(.9);opacity:.85}.ascendbtn:active{transform:translateY(2px);filter:brightness(.96)}.result{position:absolute;inset:0;z-index:26;display:flex;align-items:center;justify-content:center;overflow:hidden}.resultvid,.resultimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.resultimg{transform-origin:50% 42%;animation:resultkenburns 12s ease-out forwards}@keyframes resultkenburns{0%{transform:scale(1.12)}to{transform:scale(1)}}.resultscrim{position:absolute;inset:0}.result.win .resultscrim{background:radial-gradient(ellipse 82% 60% at 50% 42%,#0806101f,#08061099)}.result.lose{background:radial-gradient(ellipse at 50% 38%,#241a30,#0b0e14 78%)}.result.lose .resultscrim{background:radial-gradient(ellipse 88% 66% at 50% 40%,#0a060e52,#06040ac7)}.resultcard{position:relative;z-index:2;width:min(84vw,50dvh);padding:26px 24px 22px;text-align:center;border-radius:22px;border:1.5px solid rgba(255,236,190,.42);background:linear-gradient(180deg,#221a2cc7,#120e1adb);box-shadow:inset 0 1px #ffffff29,0 16px 48px #0000008c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:resultpop .42s cubic-bezier(.2,1.1,.4,1)}@keyframes resultpop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.rtitle{font-size:42px;font-weight:900;letter-spacing:1px;line-height:1.05}.result.win .rtitle{color:#ffdd83;text-shadow:0 0 20px rgba(255,200,80,.6),0 2px 0 rgba(90,50,0,.7)}.result.lose .rtitle{color:#ff7a7a;text-shadow:0 0 16px rgba(255,90,90,.4),0 2px 0 rgba(80,10,10,.6)}.rsub{color:#ddd3f2;font-size:15px;font-weight:700;margin:5px 0 16px;text-shadow:0 1px 3px rgba(0,0,0,.5)}.rrewards{display:flex;flex-direction:column;background:#0000003d;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:8px 16px;margin-bottom:18px}.rrow{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0}.rrow span{color:#c3b6e4;font-size:15px;font-weight:700}.rrow b{font-size:21px;font-weight:900;text-shadow:0 1px 3px rgba(0,0,0,.5)}.rrow:nth-child(1) b{color:#ffd76b}.rrow:nth-child(2) b{color:#7de3ff}.rrow:nth-child(3) b{color:#fff}.rbtn{width:100%;padding:13px;border-radius:16px;font-family:inherit;font-weight:900;font-size:20px;letter-spacing:.5px;border:1.5px solid rgba(232,255,214,.85);background:linear-gradient(180deg,#b6f08e,#7ed957 46%,#56bf3d);color:#123c10;text-shadow:0 1px 0 rgba(255,255,255,.35);box-shadow:inset 0 1.5px #ffffff80,0 4px 16px #6ed95773;transition:transform .12s ease,filter .12s ease}.result.lose .rbtn{--lip: #9a3535;--rim: #ffd9d9;--lipshade: rgba(120, 30, 30, .36);background:linear-gradient(180deg,#ffb3b3,#e56a6a 46%,#c94a4a);color:#3a0f0f}.rbtn:active{transform:translateY(2px);filter:brightness(.97)}.arelics .an,.offcard h2{text-shadow:0 1px 2px rgba(70,45,12,.4),0 1px 0 rgba(255,255,255,.25)}.titleimg{display:block;margin:2px auto 0;height:auto;filter:drop-shadow(0 3px 6px rgba(0,0,0,.4))}.offcard .titleimg{max-width:88%;max-height:96px}.intro .titleimg{max-width:96%;max-height:122px}.sortie,.rbtn,.intro .go,.offcard .go,.ascendbtn{--lip: #3f7d2c;--rim: #eaffce;--lipshade: rgba(30, 80, 15, .34);position:relative;border:2px solid var(--rim);box-shadow:inset 0 2px #ffffff9e,inset 0 -7px 13px var(--lipshade),0 5px 0 var(--lip),0 9px 15px #00000052}.sortie:active,.rbtn:active,.intro .go:active,.offcard .go:active,.ascendbtn:active{transform:translateY(4px);filter:brightness(.98);box-shadow:inset 0 2px #ffffff80,0 1px 0 var(--lip),0 3px 7px #0000004d}.ascendbtn{--lip: #6a3fb0;--rim: #efe0ff;--lipshade: rgba(80, 40, 140, .36)}.sortie{padding:12px 20px}
