@font-face{font-family:Grenze Gotisch;font-style:normal;font-display:swap;font-weight:600;src:url(./grenze-gotisch-vietnamese-600-normal-BsAsJLVD.woff2)format("woff2"),url(./grenze-gotisch-vietnamese-600-normal-pllIcTQe.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Grenze Gotisch;font-style:normal;font-display:swap;font-weight:600;src:url(./grenze-gotisch-latin-ext-600-normal-Bg9stwCb.woff2)format("woff2"),url(./grenze-gotisch-latin-ext-600-normal-CQqEs0pn.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Grenze Gotisch;font-style:normal;font-display:swap;font-weight:600;src:url(./grenze-gotisch-latin-600-normal-C3H1tCTC.woff2)format("woff2"),url(./grenze-gotisch-latin-600-normal-DwyVc51H.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./alegreya-sans-cyrillic-ext-500-normal-BjdEjhHc.woff2)format("woff2"),url(./alegreya-sans-cyrillic-ext-500-normal-CBZLRaMr.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./alegreya-sans-cyrillic-500-normal-kQHBM3cE.woff2)format("woff2"),url(./alegreya-sans-cyrillic-500-normal-gEBUHwKD.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./alegreya-sans-greek-ext-500-normal-8OvC5Vmr.woff2)format("woff2"),url(./alegreya-sans-greek-ext-500-normal-Cp0bGOKK.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./alegreya-sans-greek-500-normal-CjlmbScm.woff2)format("woff2"),url(./alegreya-sans-greek-500-normal-BwxJMQU_.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./alegreya-sans-vietnamese-500-normal-CFLbXWhL.woff2)format("woff2"),url(./alegreya-sans-vietnamese-500-normal-B1LHNMw0.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./alegreya-sans-latin-ext-500-normal-TH5u60nj.woff2)format("woff2"),url(./alegreya-sans-latin-ext-500-normal-CxFoZ42m.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./alegreya-sans-latin-500-normal-DS713u5J.woff2)format("woff2"),url(./alegreya-sans-latin-500-normal-vXxrTKJT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./alegreya-sans-cyrillic-ext-700-normal-Cpzx2u2L.woff2)format("woff2"),url(./alegreya-sans-cyrillic-ext-700-normal-YOec_wOb.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./alegreya-sans-cyrillic-700-normal-BMO00Gdb.woff2)format("woff2"),url(./alegreya-sans-cyrillic-700-normal-qSextXl4.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./alegreya-sans-greek-ext-700-normal-ChNZoGr1.woff2)format("woff2"),url(./alegreya-sans-greek-ext-700-normal-BVJ8GoGc.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./alegreya-sans-greek-700-normal-CTof9pYC.woff2)format("woff2"),url(./alegreya-sans-greek-700-normal-BZuMtSJ5.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./alegreya-sans-vietnamese-700-normal-CHYTK2w7.woff2)format("woff2"),url(./alegreya-sans-vietnamese-700-normal-D0056cUE.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./alegreya-sans-latin-ext-700-normal-HuHd3-Mg.woff2)format("woff2"),url(./alegreya-sans-latin-ext-700-normal-CkNjzB9Y.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./alegreya-sans-latin-700-normal-DEbcy2sF.woff2)format("woff2"),url(./alegreya-sans-latin-700-normal-BnzUNlma.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(./alegreya-sans-cyrillic-ext-800-normal-t99nLxKn.woff2)format("woff2"),url(./alegreya-sans-cyrillic-ext-800-normal-AL7dFV8Q.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(./alegreya-sans-cyrillic-800-normal-D2Jsre_s.woff2)format("woff2"),url(./alegreya-sans-cyrillic-800-normal-BCYhB7NR.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(./alegreya-sans-greek-ext-800-normal-uCdZyMib.woff2)format("woff2"),url(./alegreya-sans-greek-ext-800-normal-Y9Z6K4Rv.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(./alegreya-sans-greek-800-normal-BF_Q3SoR.woff2)format("woff2"),url(./alegreya-sans-greek-800-normal-BLeqXWgY.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(./alegreya-sans-vietnamese-800-normal-BW-pKOU0.woff2)format("woff2"),url(./alegreya-sans-vietnamese-800-normal-DR1LKS7f.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(./alegreya-sans-latin-ext-800-normal-BBRJ-mcX.woff2)format("woff2"),url(./alegreya-sans-latin-ext-800-normal-D8aPPA-q.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(./alegreya-sans-latin-800-normal-CpHsWMQ0.woff2)format("woff2"),url(./alegreya-sans-latin-800-normal-17etSahV.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#07080a;--stone-1:#121319;--stone-2:#1b1d24;--stone-3:#2a2e38;--stone-4:#3e4350;--bone:#e8e0cc;--bone-dim:#b9b2a2;--ash:#8f8a80;--ember:#f08a3c;--ember-hot:#ffc073;--ember-deep:#b8461f;--hollow:#6be3d4;--blood:#c8323a;--blood-deep:#6e141b;--gold:#d6b25e;--font-display:"Grenze Gotisch", "Times New Roman", serif;--font-ui:"Alegreya Sans", "Segoe UI", sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--edge:16px;--ease-out:cubic-bezier(.16, 1, .3, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--ink);height:100%;color:var(--bone);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;margin:0;font-weight:500;overflow:hidden}body{position:fixed;inset:0}::selection{background:var(--ember);color:var(--ink)}#app{width:100vw;height:100vh;height:100dvh;position:fixed;inset:0;overflow:hidden}#game,#game canvas{display:block;position:absolute;inset:0}#vignette{pointer-events:none;background:radial-gradient(75% 70% at 50% 46%,#0000 45%,#0404068c 78%,#020203e6 100%);position:absolute;inset:0}#hurt{--hurt:.5;pointer-events:none;opacity:0;background:radial-gradient(70% 65%,#0000 40%,#c81e288c 100%);position:absolute;inset:0}#hurt.is-on{animation:hurt .52s var(--ease-out)}@keyframes hurt{0%{opacity:var(--hurt)}to{opacity:0}}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--ember-hot);outline-offset:3px}#hud{pointer-events:none;position:absolute;inset:0}#hud[hidden]{display:none}.hud-top{top:calc(var(--safe-t) + 12px);left:calc(var(--safe-l) + var(--edge));right:calc(var(--safe-r) + var(--edge));pointer-events:none;z-index:3;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:absolute}.vitals{width:min(60vw,300px)}.hp{clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);background:linear-gradient(#0c0c10,#17171c);height:22px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #e8e0cc1f}.hp-fill,.hp-ghost{transform-origin:0;clip-path:polygon(5px 0,100% 0,calc(100% - 5px) 100%,0 100%);position:absolute;inset:3px 6px}.hp-ghost{background:var(--ember-hot);opacity:.55}.hp-fill{background:linear-gradient(180deg, #e04a44 0%, var(--blood) 55%, #8f1c24 100%);transition:transform 90ms linear}.hp.is-low .hp-fill{animation:.9s ease-in-out infinite low}@keyframes low{50%{filter:brightness(1.45)}}.hp-text{font-variant-numeric:tabular-nums;color:#fff6ea;text-shadow:0 1px 2px #000000e6;font-size:15px;font-weight:800;line-height:1;position:absolute;top:50%;right:16px;transform:translateY(-52%)}.xp{background:#0a0a0ecc;height:5px;margin:4px 8px 0 4px;position:relative;overflow:hidden}.xp-fill{transform-origin:0;background:linear-gradient(90deg, var(--ember-deep), var(--ember-hot));transition:transform .16s linear;position:absolute;inset:0;transform:scaleX(0)}.hud-line{color:var(--bone-dim);text-shadow:0 1px 3px #000000e6;align-items:center;gap:14px;margin:7px 0 0 4px;font-size:14px;display:flex}.hud-line b{font-variant-numeric:tabular-nums;color:var(--bone);font-size:16px;font-weight:800}.ash{align-items:center;gap:4px;display:inline-flex}.ash svg,.pill svg,.gain svg,.btn-buy svg{fill:none;width:15px;height:15px;stroke:var(--bone-dim);stroke-width:2px;stroke-linejoin:round}.where{color:var(--ash);text-shadow:0 1px 3px #000000e6;margin:3px 0 0 4px;font-size:13px}.hud-right{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.hud-buttons{gap:8px;display:flex}.minimap{background:#07080a8c;border-radius:6px;width:150px;height:100px;box-shadow:inset 0 0 0 1px #e8e0cc1f}#fade{z-index:8;background:var(--ink);opacity:0;pointer-events:none;transition:opacity .6s var(--ease-out);place-items:center;display:grid;position:absolute;inset:0}#fade.is-on{opacity:1}#fade p{font-family:var(--font-display);color:var(--bone);margin:0;font-size:clamp(2.6rem,12vw,4.4rem);font-weight:600}.icon-btn{pointer-events:auto;background:#0e0e12b8;border:0;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;box-shadow:inset 0 0 0 1px #e8e0cc33,0 2px 8px #00000080}.icon-btn svg,.act svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.icon-btn svg{width:20px;height:20px}.banner{text-align:center;pointer-events:none;opacity:0;z-index:2;position:absolute;top:24%;left:0;right:0;transform:translateY(6px)}.banner.is-on{animation:banner 2.2s var(--ease-out) forwards}@keyframes banner{0%{opacity:0;filter:blur(6px);transform:translateY(10px)}14%{opacity:1;filter:blur();transform:translateY(0)}78%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.banner-title{font-family:var(--font-display);color:var(--bone);text-shadow:0 2px 18px #000000e6,0 0 2px #000;margin:0;font-size:clamp(2.4rem,11vw,4rem);font-weight:600;line-height:1}.banner-sub{color:var(--ember-hot);text-shadow:0 1px 6px #000000f2;margin:8px 0 0;font-size:15px}.stick-zone{width:55%;bottom:0;left:0;top:calc(var(--safe-t) + 96px);z-index:1;touch-action:none;pointer-events:auto;position:absolute}.stick{--r:60px;width:calc(var(--r) * 2);height:calc(var(--r) * 2);margin:calc(var(--r) * -1) 0 0 calc(var(--r) * -1);pointer-events:none;z-index:2;background:radial-gradient(circle,#0a0a0e26,#0a0a0e73);border-radius:50%;display:none;position:absolute;top:0;left:0;box-shadow:inset 0 0 0 2px #e8e0cc38}.is-touch .stick{opacity:.38;transform:translate(calc(var(--safe-l) + 92px), calc(100dvh - var(--safe-b) - 104px));display:block}.stick.is-active,.is-touch .stick.is-active{opacity:1;display:block}.stick-knob{background:radial-gradient(circle at 40% 35%,#4a4e5a,#23252d 70%);border-radius:50%;width:54px;height:54px;margin:-27px 0 0 -27px;position:absolute;top:50%;left:50%;box-shadow:inset 0 0 0 2px #e8e0cc59,0 4px 10px #0009}.actions{right:calc(var(--safe-r) + 22px);bottom:calc(var(--safe-b) + 26px);z-index:3;pointer-events:none;width:176px;height:176px;position:absolute}.act{--cd:0;pointer-events:auto;touch-action:none;color:var(--bone);transition:transform .12s var(--ease-out), box-shadow .2s var(--ease-out);background:radial-gradient(circle at 50% 35%,#2c2f38,#15161b 72%);border:0;border-radius:50%;place-items:center;display:grid;position:absolute;box-shadow:inset 0 0 0 2px #e8e0cc2e,0 4px 14px #0000008c}.act:before{content:"";background:conic-gradient(#050508c7 calc(var(--cd) * 360deg), transparent 0);pointer-events:none;border-radius:50%;position:absolute;inset:0}.act.is-ready{box-shadow:inset 0 0 0 2px var(--ember), 0 4px 14px #0000008c}.act.just-ready{animation:ready .42s var(--ease-out)}@keyframes ready{0%{box-shadow:inset 0 0 0 2px var(--ember-hot), 0 0 0 0 #f08a3cb3}to{box-shadow:inset 0 0 0 2px var(--ember), 0 0 0 16px #f08a3c00}}.act.is-pressed{transform:scale(.92)}.act.is-blocked svg{opacity:.45}.act svg{width:44%;height:44%;position:relative}.act .cd{font-variant-numeric:tabular-nums;color:#fff6ea;text-shadow:0 1px 3px #000000e6;pointer-events:none;place-items:center;font-size:22px;font-weight:800;display:grid;position:absolute;inset:0}.act .cd:not(:empty)+.key{opacity:.25}.act:has(.cd:not(:empty)) svg{opacity:.25}.act-dodge{width:92px;height:92px;bottom:0;right:0}.act[hidden]{display:none}.act-skill1{width:70px;height:70px;bottom:6px;right:104px}.act-skill2{width:64px;height:64px;bottom:86px;right:96px}.act-skill3{width:64px;height:64px;bottom:106px;right:6px}.key{font-family:var(--font-ui);letter-spacing:.04em;color:var(--bone-dim);white-space:nowrap;text-shadow:0 1px 2px #000000e6;font-size:11px;font-weight:700;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)}.is-touch .key{display:none}.screen{z-index:10;padding:calc(var(--safe-t) + 24px) calc(var(--safe-r) + 24px) calc(var(--safe-b) + 28px) calc(var(--safe-l) + 24px);touch-action:manipulation;position:absolute;inset:0}.screen[hidden]{display:none}.screen-title{background:radial-gradient(60% 55% at 62% 42%,#0000 0%,#07080a59 60%),linear-gradient(200deg,#07080a00 25%,#07080ad1 72%,#07080af5 100%);align-items:flex-end;display:flex}.title-block{max-width:34rem;animation:rise .9s var(--ease-out) both}@keyframes rise{0%{opacity:0;filter:blur(4px);transform:translateY(14px)}}.title{flex-direction:column;margin:0;line-height:.86;display:flex}.title-main{font-family:var(--font-display);letter-spacing:-.01em;color:var(--bone);text-shadow:0 4px 30px #000000e6;font-size:clamp(4rem,22vw,6rem);font-weight:600}.title-sub{font-family:var(--font-display);color:var(--ember);margin-top:10px;font-size:clamp(1.5rem,7vw,2.1rem);font-weight:600;line-height:1}.lore{max-width:30rem;color:var(--bone-dim);text-wrap:pretty;margin:18px 0 26px;font-size:17px;line-height:1.5}.btn{letter-spacing:.01em;min-height:52px;transition:transform .14s var(--ease-out), background-color .16s var(--ease-out), filter .16s;border:0;justify-content:center;align-items:center;padding:0 26px;font-size:17px;font-weight:800;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{color:#1a0d05;background:linear-gradient(180deg, var(--ember-hot), var(--ember) 45%, #d06a26);clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);padding:0 34px}.btn-primary:hover{filter:brightness(1.08)}.btn-ghost,.btn-toggle{color:var(--bone);background:#e8e0cc0f;box-shadow:inset 0 0 0 1px #e8e0cc38}.btn-ghost:hover,.btn-toggle:hover{background:#e8e0cc1f}.how{flex-wrap:wrap;gap:8px 22px;margin:26px 0 0;font-size:14px;display:flex}.how div{gap:6px;display:flex}.how dt{color:var(--bone);font-weight:800}.how dd{color:var(--ash);margin:0}.how-touch{display:none}.is-touch .how-touch{display:flex}.is-touch .how-keys{display:none}.screen-panel{-webkit-backdrop-filter:blur(3px)saturate(.7);background:#050507b8;align-items:center;display:flex}.panel{width:min(100%,26rem);animation:rise .42s var(--ease-out) both;margin-left:max(0px,50vw - 30rem)}.panel-title{font-family:var(--font-display);margin:0;font-size:clamp(3rem,14vw,4.2rem);font-weight:600;line-height:.9}.death-title{color:#ef5a50}.panel-note{color:var(--bone-dim);max-width:24rem;margin:12px 0 24px;font-size:16px;line-height:1.5}.panel-actions{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.settings{border-top:1px solid #e8e0cc1f;flex-direction:column;align-items:flex-start;gap:16px;margin-top:30px;padding-top:18px;display:flex}.btn-toggle{min-height:46px;font-size:15px;font-weight:700}.btn-toggle[aria-pressed=true]{color:var(--ash)}.slider{color:var(--bone-dim);align-items:center;gap:14px;font-size:15px;display:flex}.slider input{width:180px;accent-color:var(--ember);touch-action:pan-x}.stats{gap:30px;margin:0 0 28px;display:flex}.stats div{flex-direction:column-reverse;display:flex}.stats dt{color:var(--ash);letter-spacing:.03em;font-size:13px}.stats dd{font-variant-numeric:tabular-nums;color:var(--bone);margin:0;font-size:34px;font-weight:800;line-height:1}.fatal{background:var(--ink);z-index:20;place-items:center;padding:24px;font-size:17px;display:grid;position:absolute;inset:0}.fatal[hidden]{display:none}.screen{overscroll-behavior:contain;touch-action:pan-y;overflow-y:auto}.menu-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pill{font-variant-numeric:tabular-nums;background:#07080a99;border-radius:99px;align-items:center;gap:4px;margin-left:10px;padding:3px 9px;font-size:14px;display:inline-flex}.pill-big{margin-left:auto;padding:6px 12px;font-size:17px}.record{color:var(--ash);min-height:1em;margin:14px 0 0;font-size:14px}.screen-pick{background:radial-gradient(80% 70% at 50% 40%,#07080ab8,#040406f0);justify-content:center;display:flex}.pick{width:min(100%,60rem);animation:rise .42s var(--ease-out) both;margin:auto 0}.pick-head{align-items:center;gap:12px;display:flex}.pick-title{font-family:var(--font-display);margin:0;font-size:clamp(2.2rem,9vw,3.4rem);font-weight:600;line-height:1}.pick-note{color:var(--bone-dim);max-width:40rem;margin:10px 0 0;font-size:15px;line-height:1.45}.cards{gap:14px;margin-top:20px;display:grid}.cards-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}.cards-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}.card{text-align:left;color:var(--bone);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));transition:transform .16s var(--ease-out), box-shadow .2s var(--ease-out), background-color .2s;background:linear-gradient(170deg,#1d1f26,#121318 70%);border:0;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 18px 16px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #e8e0cc24,0 6px 18px #00000073}.card:hover,.card:focus-visible{box-shadow:inset 0 0 0 2px var(--ember), 0 8px 22px #00000080;outline:none}.card:active{transform:scale(.98)}.card-role{letter-spacing:.06em;text-transform:uppercase;color:var(--ember);font-size:12px;font-weight:800}.card-name{font-family:var(--font-display);font-size:1.75rem;font-weight:600;line-height:1}.card-text{color:var(--bone-dim);font-size:15px;line-height:1.45}.card-foot{color:var(--ash);margin-top:auto;padding-top:8px;font-size:13px}.portrait{object-fit:contain;filter:drop-shadow(0 6px 10px #0009);pointer-events:none;width:76px;height:96px;position:absolute;top:10px;right:14px}.card-hero .card-name,.card-hero .card-role,.card-hero .card-text{padding-right:84px}.bars{gap:5px;width:100%;margin-top:8px;display:grid}.bar{color:var(--bone-dim);grid-template-columns:7.2rem 1fr 2.6rem;align-items:center;gap:8px;font-size:13px;display:grid}.bar i{background:#e8e0cc14;height:6px;position:relative}.bar i:after{content:"";width:calc(var(--v) * 100%);background:linear-gradient(90deg, var(--ember-deep), var(--ember));position:absolute;inset:0}.bar b{text-align:right;font-variant-numeric:tabular-nums;color:var(--bone);font-weight:800}.skill-icon{width:52px;height:52px;box-shadow:inset 0 0 0 2px var(--ember);background:radial-gradient(circle at 50% 35%,#2c2f38,#15161b 72%);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.skill-icon svg{fill:none;width:26px;height:26px;stroke:var(--bone);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.card-up.is-special{background:linear-gradient(170deg,#2a1d14,#15110e 70%)}.card-up.is-special .card-role{color:var(--ember-hot)}.pips{gap:4px;margin-top:6px;display:flex}.pips i{background:#e8e0cc24;width:14px;height:5px}.pips i.on{background:var(--ember)}.pips i.next{background:var(--ember-hot);animation:.9s ease-in-out infinite low}.screen-choice{background:radial-gradient(80% 70% at 50% 45%,#140c06e0,#040406f5)}.screen-choice .pick{animation:pop .2s var(--ease-out) both}@keyframes pop{0%{opacity:0;transform:translateY(8px)}}.ranks{gap:10px;margin-top:20px;display:grid}.rank{background:#121318e0;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:12px 14px;display:grid;box-shadow:inset 0 0 0 1px #e8e0cc1a}.rank-info{flex-direction:column;gap:2px;display:flex}.rank-info b{font-size:17px}.rank-info span{color:var(--bone-dim);font-size:14px}.rank .pips{margin:0}.btn-sm{min-height:44px;padding:0 14px;font-size:15px}.btn-buy{color:#1a0d05;background:linear-gradient(180deg, var(--ember-hot), var(--ember));gap:5px}.btn-buy svg{stroke:#1a0d05}.btn:disabled{opacity:.4;cursor:default;filter:grayscale(.6)}.panel-wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:26px 40px;width:min(100%,52rem);margin:auto;display:grid}.panel-title-sm{font-size:clamp(2rem,8vw,2.8rem)}.sheet{background:#121318db;padding:18px;box-shadow:inset 0 0 0 1px #e8e0cc1a}.sheet-title{font-family:var(--font-display);margin:0 0 12px;font-size:1.7rem;font-weight:600}.sheet-title span{font-family:var(--font-ui);color:var(--ash);font-size:15px;font-weight:500}.sheet-stats{gap:5px;margin:0;display:grid}.sheet-stats div{border-bottom:1px solid #e8e0cc0f;justify-content:space-between;gap:12px;padding:3px 0;font-size:15px;display:flex}.sheet-stats dt{color:var(--bone-dim)}.sheet-stats dd{font-variant-numeric:tabular-nums;margin:0;font-weight:800}.sheet-sub{letter-spacing:.05em;text-transform:uppercase;color:var(--ember);margin:18px 0 8px;font-size:13px;font-weight:800}.sheet-empty{color:var(--ash);margin:0;font-size:14px}.sheet-ups{gap:8px;margin:0;padding:0;list-style:none;display:grid}.sheet-ups li{grid-template-columns:1fr auto;font-size:15px;display:grid}.sheet-ups span{color:var(--ember-hot);font-variant-numeric:tabular-nums;font-weight:800}.sheet-ups em{color:var(--ash);grid-column:1/-1;font-size:13px;font-style:normal}.stats{flex-wrap:wrap;gap:18px 30px}.gain{color:var(--bone-dim);align-items:center;gap:6px;margin:0 0 24px;font-size:16px;display:flex}.gain b{color:var(--ember-hot);font-weight:800}.boss-bar{left:50%;top:calc(var(--safe-t) + 70px);text-align:center;pointer-events:none;width:min(78vw,460px);position:absolute;transform:translate(-50%)}.boss-bar[hidden]{display:none}.boss-name{font-family:var(--font-display);color:var(--bone);text-shadow:0 2px 8px #000000e6;margin:0;font-size:22px;font-weight:600}.boss-hp{background:#08080ad9;height:10px;margin-top:4px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #d6b25e73}.boss-fill{transform-origin:0;background:linear-gradient(90deg, #8f1c24, var(--blood), #e04a44);transition:transform .12s linear;position:absolute;inset:2px}.boss-bar.is-enraged .boss-fill{animation:.7s ease-in-out infinite low}.boss-title{color:var(--ash);text-shadow:0 1px 4px #000000e6;margin:4px 0 0;font-size:13px}.toast{left:50%;bottom:calc(var(--safe-b) + 170px);pointer-events:none;z-index:4;flex-direction:column;align-items:center;gap:6px;width:min(92vw,420px);display:flex;position:absolute;transform:translate(-50%)}.toast-item{text-align:center;color:var(--bone-dim);box-shadow:inset 0 0 0 1px var(--c), 0 4px 12px #00000080;animation:toast 3.2s var(--ease-out) forwards;background:#08080bdb;margin:0;padding:7px 14px;font-size:14px}.toast-item b{color:var(--c);font-weight:800}@keyframes toast{0%{opacity:0;transform:translateY(8px)}10%,80%{opacity:1;transform:none}to{opacity:0}}.fx-chips{gap:6px;margin:6px 0 0 4px;display:flex}.chip{--cd:0;min-width:26px;height:26px;color:var(--ash);background:#08080bcc;border-radius:13px;align-items:center;gap:3px;padding:0 6px;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #e8e0cc2e}.chip:before{content:"";background:conic-gradient(#0009 calc(var(--cd) * 360deg), transparent 0);position:absolute;inset:0}.chip.is-on{color:#bfe6ff;box-shadow:inset 0 0 0 1px #8fd0ff}.chip svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px;position:relative}.chip b{color:var(--bone);font-size:12px;position:relative}.inv{width:min(100%,62rem)}.tabs{gap:6px;margin-left:8px;display:flex}.tab{min-height:40px;color:var(--ash);background:#e8e0cc0f;border:0;padding:0 12px;font-size:14px;font-weight:700}.tab.is-on{color:var(--bone);box-shadow:inset 0 -2px 0 var(--ember)}.inv-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:18px 26px;margin-top:18px;display:grid}.slots{gap:6px;display:grid}.slot{--r:var(--ash);text-align:left;min-height:56px;color:var(--bone);box-shadow:inset 2px 0 0 var(--r), inset 0 0 0 1px #e8e0cc14;background:#121318e6;border:0;align-items:center;gap:12px;padding:6px 12px;display:flex}.slot.is-empty{opacity:.55}.slot.is-sel,.tile.is-sel{box-shadow:inset 0 0 0 2px var(--r)}.slot-icon{width:38px;height:38px;color:var(--r,var(--bone));background:radial-gradient(circle at 50% 35%,#2c2f38,#15161b 72%);border-radius:50%;flex:none;place-items:center;display:grid}.slot-icon svg,.tile svg,.end-loot svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.slot-text{flex-direction:column;min-width:0;display:flex}.slot-text b{color:var(--r);white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.slot-text em{color:var(--ash);font-size:12px;font-style:normal}.inv-stats{grid-template-columns:1fr 1fr;gap:4px 16px;margin:14px 0 0;font-size:14px;display:grid}.inv-stats div{border-bottom:1px solid #e8e0cc0f;justify-content:space-between;padding:3px 0;display:flex}.inv-stats dt{color:var(--ash)}.inv-stats dd{font-variant-numeric:tabular-nums;margin:0;font-weight:800}.inv-count{color:var(--ash);margin:0 0 8px;font-size:13px}.bag{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;display:grid}.bag-empty{color:var(--ash);grid-column:1/-1;margin:0;font-size:14px}.tile{--r:var(--ash);aspect-ratio:1;color:var(--r);box-shadow:inset 0 0 0 1px var(--r);background:radial-gradient(circle at 50% 35%,#23252d,#131419 75%);border:0;place-items:center;display:grid;position:relative}.tile.is-other{opacity:.45}.tile-lvl{color:var(--bone-dim);font-size:11px;font-weight:800;position:absolute;bottom:2px;right:4px}.tile-fx{background:var(--r);width:6px;height:6px;box-shadow:0 0 6px var(--r);border-radius:50%;position:absolute;top:5px;left:5px}.detail{background:#121318e6;min-height:110px;margin-top:14px;padding:14px;box-shadow:inset 0 0 0 1px #e8e0cc1a}.detail-hint{color:var(--ash);margin:0;font-size:14px}.detail-head{align-items:center;gap:12px;display:flex}.detail-head h3{font-family:var(--font-display);color:var(--r);margin:0;font-size:1.5rem;font-weight:600;line-height:1.05}.detail-head p{color:var(--ash);margin:2px 0 0;font-size:13px}.lines,.compare{gap:3px;margin:10px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.lines li,.compare li{justify-content:space-between;display:flex}.lines b{font-variant-numeric:tabular-nums}.compare{border-top:1px solid #e8e0cc14;padding-top:8px}.compare .up b{color:#8fe08a}.compare .down b{color:#ff7a6e}.detail-fx{color:var(--ember-hot);margin:10px 0 0;font-size:14px;line-height:1.45}.detail-note{color:var(--ash);margin:8px 0 0;font-size:13px}.detail-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.end-loot ul{gap:4px;margin:0 0 22px;padding:0;list-style:none;display:grid}.end-loot li{color:var(--r);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.end-loot-h{color:var(--ash);margin:-10px 0 8px;font-size:13px}@media (max-height:480px){.minimap{width:108px;height:72px}.where{display:none}.stick-zone{top:calc(var(--safe-t) + 70px)}}@media (prefers-reduced-motion:reduce){.banner.is-on,.title-block,.panel{animation-duration:1ms}}.loadout-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.lo-slot{text-align:left;min-height:64px;color:var(--bone);box-shadow:inset 0 0 0 2px var(--ember), 0 4px 14px #0006;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));background:linear-gradient(170deg,#1d1f26,#121318 70%);border:0;align-items:center;gap:10px;padding:8px 12px;display:flex}button.lo-slot:hover,button.lo-slot:focus-visible{background:linear-gradient(170deg,#2a2118,#15110e 70%);outline:none}.lo-slot.is-empty{color:var(--ash);background:#e8e0cc08;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;box-shadow:inset 0 0 0 1px #e8e0cc1f}.lo-slot .skill-icon{flex:none;width:40px;height:40px;margin:0}.lo-slot .skill-icon svg{width:22px;height:22px}.lo-text{gap:2px;min-width:0;display:grid}.lo-num{letter-spacing:.06em;text-transform:uppercase;color:var(--ember);font-size:12px;font-weight:800}.lo-slot.is-empty .lo-num{color:var(--ash)}.lo-name{font-family:var(--font-display);font-size:1.2rem;font-weight:600;line-height:1.05}.loadout-msg{min-height:1.5em;color:var(--ember-hot);margin:10px 0 2px;font-size:14px;font-weight:700}.skill-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:10px;display:grid}.sk{text-align:left;min-height:88px;color:var(--bone);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));transition:transform .14s var(--ease-out), box-shadow .18s var(--ease-out);background:linear-gradient(170deg,#1d1f26,#121318 70%);border:0;align-items:flex-start;gap:12px;padding:12px 14px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #e8e0cc24}.sk:active:not(:disabled){transform:scale(.985)}.sk:hover:not(:disabled),.sk:focus-visible{box-shadow:inset 0 0 0 2px var(--ember-hot);outline:none}.sk.is-on{box-shadow:inset 0 0 0 2px var(--ember);background:linear-gradient(170deg,#2a2118,#15110e 70%)}.sk .skill-icon{flex:none;margin:0}.sk-body{gap:3px;min-width:0;display:grid}.sk-name{font-family:var(--font-display);font-size:1.4rem;font-weight:600;line-height:1}.sk-meta{letter-spacing:.05em;text-transform:uppercase;color:var(--ash);font-size:12px;font-weight:800}.sk-text{color:var(--bone-dim);font-size:14px;line-height:1.4}.sk-lock{color:var(--gold);font-size:14px;font-weight:700}.sk-badge{width:24px;height:24px;color:var(--ink);background:var(--ember);border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid;position:absolute;top:10px;right:18px}.sk.is-locked{cursor:not-allowed}.sk.is-locked .skill-icon,.sk.is-locked .sk-name,.sk.is-locked .sk-meta{opacity:.5}.sk.is-locked .skill-icon{box-shadow:inset 0 0 0 2px var(--stone-4)}.loadout-foot{bottom:calc(var(--safe-b) * -1 - 14px);background:linear-gradient(#0000,#040406f0 45%);justify-content:flex-end;margin-top:14px;padding:18px 0 4px;display:flex;position:sticky}@media (max-width:520px){.loadout-slots{grid-template-columns:1fr}.lo-slot,.lo-slot.is-empty{min-height:56px}.lo-slot.is-empty{flex-direction:row;align-items:center;gap:10px}}.card-skillup{background:linear-gradient(170deg,#14222a,#0f1417 70%);box-shadow:inset 0 0 0 1px #6be3d459,0 6px 18px #00000073}.card-skillup:hover,.card-skillup:focus-visible{box-shadow:inset 0 0 0 2px var(--hollow), 0 8px 22px #00000080}.card-skillup .card-role,.card-up .up-skill{color:var(--hollow);align-items:center;gap:8px;display:flex}.up-icon{width:22px;height:22px;box-shadow:inset 0 0 0 1.5px var(--hollow);border-radius:50%;place-items:center;display:inline-grid}.up-icon svg{fill:none;width:13px;height:13px;stroke:var(--hollow);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.up-lines{border-top:1px solid #e8e0cc1f;gap:4px;width:100%;margin:6px 0 2px;padding:8px 0 0;list-style:none;display:grid}.up-lines li{color:var(--bone-dim);justify-content:space-between;gap:10px;font-size:14px;line-height:1.3;display:flex}.up-lines b{text-align:right;font-variant-numeric:tabular-nums;color:var(--bone);flex:none;font-weight:800}.card-skillup .pips i.on{background:var(--hollow)}.card-skillup .pips i.next{background:#b9f5ee}.sk-codex{color:var(--ash);font-size:12px}.sheet-ups em{font-style:normal}.sk-syn{color:var(--hollow);font-size:12px;font-weight:700}.codex-head{margin-top:14px}.codex-role{letter-spacing:.06em;text-transform:uppercase;color:var(--ember);margin:0;font-size:12px;font-weight:800}.codex-desc,.codex-hint{max-width:44rem;color:var(--bone-dim);margin:4px 0 0;font-size:15px;line-height:1.45}.codex-hint{color:var(--ash);font-size:13px}.codex-prog{flex-wrap:wrap;gap:8px 22px;margin:12px 0 0;display:flex}.codex-prog div{gap:1px;display:grid}.codex-prog dt{color:var(--ash);font-size:12px}.codex-prog dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:0;font-size:1.5rem;line-height:1}.codex-skills{gap:8px;margin-top:16px;display:grid}.cx{clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));background:linear-gradient(170deg,#1d1f26,#121318 70%);box-shadow:inset 0 0 0 1px #e8e0cc24}.cx[open]{box-shadow:inset 0 0 0 1px #f08a3c8c}.cx summary{cursor:pointer;align-items:center;gap:12px;min-height:64px;padding:10px 14px;list-style:none;display:flex}.cx summary::-webkit-details-marker{display:none}.cx summary:focus-visible{outline:2px solid var(--ember-hot);outline-offset:-2px}.cx .skill-icon{flex:none;margin:0}.cx.is-locked .skill-icon{box-shadow:inset 0 0 0 2px var(--stone-4);opacity:.7}.cx-main{flex:1;gap:2px;min-width:0;display:grid}.cx-name{font-family:var(--font-display);font-size:1.4rem;font-weight:600;line-height:1}.cx.is-locked .cx-name{color:var(--bone-dim)}.cx-meta{letter-spacing:.05em;text-transform:uppercase;color:var(--ash);font-size:12px;font-weight:800}.cx-state{color:var(--hollow);font-size:14px;font-weight:700}.cx-state.is-locked{color:var(--gold)}.cx-chev{border-right:2px solid var(--bone-dim);border-bottom:2px solid var(--bone-dim);width:10px;height:10px;transition:transform .16s var(--ease-out);flex:none;transform:rotate(45deg)}.cx[open] .cx-chev{transform:rotate(-135deg)}.cx-body{padding:2px 16px 16px}.cx-body h5{letter-spacing:.06em;text-transform:uppercase;color:var(--ember);margin:14px 0 4px;font-size:12px;font-weight:800}.cx-text{color:var(--bone);margin:0;font-size:15px;line-height:1.45}.cx-sub{color:var(--ash);margin:0 0 6px;font-size:13px}.cx-unlock{color:var(--bone);background:#d6b25e14;gap:6px;margin-top:10px;padding:10px 12px;font-size:14px;display:grid;box-shadow:inset 0 0 0 1px #d6b25e59}.cx-unlock b{color:var(--gold)}.cx-bar{background:#e8e0cc1a;height:6px;display:block}.cx-bar i{height:100%;width:calc(var(--v) * 100%);background:linear-gradient(90deg, var(--ember-deep), var(--gold));display:block}.cx-list,.cx-ups,.cx-levels{margin:0;padding:0;list-style:none}.cx-list{color:var(--bone-dim);gap:6px;font-size:14px;line-height:1.4;display:grid}.cx-list b{color:var(--hollow)}.cx-ups{gap:8px;display:grid}.cx-ups>li{background:#07080a66;gap:3px;padding:10px 12px;display:grid;box-shadow:inset 0 0 0 1px #e8e0cc1a}.cx-ups>li.is-found{box-shadow:inset 0 0 0 1px #6be3d473}.cx-uphead{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.cx-uphead b{font-family:var(--font-display);font-size:1.15rem;font-weight:600}.cx-uphead span{color:var(--ash);font-size:12px}.is-found .cx-uphead span{color:var(--hollow)}.cx-ups em{color:var(--bone-dim);font-size:14px;font-style:normal}.cx-levels{color:var(--bone-dim);gap:2px;margin-top:4px;font-size:13px;display:grid}.cx-levels b{color:var(--ember-hot);margin-right:4px}.cx-levels i{color:var(--bone);font-style:normal;font-weight:800}.codex-rules{margin-top:22px;padding-bottom:12px}.btn[hidden],.record[hidden]{display:none}
