*{box-sizing:border-box}html,body{color:#eae2d0;-webkit-user-select:none;user-select:none;touch-action:none;background:#07060a;height:100%;margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden}#c{width:100%;height:100%;display:block;position:fixed;inset:0}#nums{pointer-events:none;position:fixed;inset:0;overflow:hidden}#ui{pointer-events:none;position:fixed;inset:0}#ui>.modal,#ui>.loading{pointer-events:auto}.hidden{display:none!important}button{font:inherit;color:inherit;cursor:pointer}kbd{color:#ffd98a;background:#2a2018;border:1px solid #c9a86a;border-radius:4px;padding:1px 7px;font:600 13px/1.4 monospace;display:inline-block}.dmg{color:#fff;text-shadow:0 2px #000,0 0 6px #000;white-space:nowrap;will-change:transform;font:800 18px/1 system-ui;position:absolute;top:0;left:0}.dmg.crit{color:#ffe070;font-size:24px}.dmg.poison{color:#7dff7a;font-size:14px}.dmg.hurt{color:#ff5050;font-size:22px}.dmg.heal{color:#7dff9a;font-size:20px}.ebars{position:absolute;inset:0;overflow:hidden;pointer-events:none!important}.ebar{background:#000c;border:1px solid #000;border-radius:3px;width:46px;height:6px;position:absolute;top:0;left:0;overflow:hidden}.ebar i{background:#e04030;height:100%;display:block}.ebar.elite i{background:#a050ff}.loading{z-index:50;background:#07060a;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading h1{letter-spacing:4px;color:#e8c070;text-shadow:0 0 30px #a0602080;font:900 clamp(32px,7vw,64px)/1 Georgia,serif}.lbar{background:#241c14;border-radius:4px;width:min(380px,70vw);height:8px;overflow:hidden}.lbar>div{background:linear-gradient(90deg,#a06020,#ffd070);width:0;height:100%;transition:width .15s}.modal{z-index:20;background:radial-gradient(#07060ab0,#07060af0);justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0;overflow:auto}.modal.menu{background:radial-gradient(at 50% 40%,#07060a40 0%,#07060ad0 75%)}.modal.menu .panel{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(#1c1610d8,#120e0ae0)}.panel{background:linear-gradient(#1c1610f0,#120e0af0);border:1px solid #6a4e2c;border-radius:12px;width:min(860px,100%);max-height:100%;padding:20px 24px;overflow:auto;box-shadow:0 10px 50px #000}.panel h2{color:#e8c070;margin:0 0 10px;font:700 26px Georgia,serif}.panel p{color:#d8ccb4;line-height:1.5}.title{text-align:center}.title h1{letter-spacing:4px;color:#e8c070;text-shadow:0 0 30px #a0602080,0 3px #4a2a10;margin:0;font:900 clamp(34px,7vw,60px)/1 Georgia,serif}.title h2{color:#c08850;text-align:center;margin:4px 0 0;font:italic 400 20px Georgia,serif}.lore{text-align:center;max-width:640px;margin:10px auto 14px;font-size:14px}.classes{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.cls{text-align:left;background:#221a12;border:2px solid #3a2c1c;border-radius:10px;flex-direction:column;gap:4px;padding:10px;display:flex}.cls b{color:#f0d8a0;font:700 18px Georgia,serif}.cls small{color:#b8a888;font-size:12px;line-height:1.35}.cls em{color:#d8c8a0;font-size:11px;font-style:normal}.cls.sel{background:#33261a;border-color:#e8c070;box-shadow:0 0 16px #e8c07040}.cls.locked{opacity:.45}.cls-img{background:#120e0a 50%/contain no-repeat;border-radius:6px;justify-content:center;align-items:center;height:54px;font-size:40px;display:flex}.cls-krsnik:after{content:"🛡️"}.cls-vila:after{content:"🧚"}.locked .cls-img:after{content:"🔒"}.menu-btns{flex-direction:column;align-items:stretch;gap:8px;max-width:460px;margin:0 auto;display:flex}.menu-btns button,.back,.upg button{background:#2c2116;border:1px solid #6a4e2c;border-radius:8px;padding:9px 14px;font-weight:600}.menu-btns button:hover,.back:hover,.upg button:hover:not(:disabled){background:#3e2e1c;border-color:#e8c070}.menu-btns .big{color:#fff2d8;background:linear-gradient(#8a4a1c,#5a2c10);border-color:#e8a050;padding:12px;font-size:19px}.menu-btns .big.alt{background:linear-gradient(#2a4a6a,#18304a);border-color:#70a8e0}.menu-btns small{opacity:.8;font-size:12px;font-weight:400;display:block}.stats,.credits{text-align:center;color:#9a8a6a;margin-top:12px;font-size:12px}.credits{opacity:.7;margin-top:4px}.purse{color:#ffd75e;margin:8px 0 12px;font-size:20px;font-weight:700}.upgrades{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.upg{background:#221a12;border:1px solid #3a2c1c;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.upg .lv{color:#e8c070;letter-spacing:2px}.upg small{color:#b8a888}.upg button{min-width:100px}button:disabled{opacity:.45;cursor:default}.keys{border-collapse:collapse;margin:8px 0}.keys td{border-bottom:1px solid #2c2216;padding:4px 14px 4px 0}.keys td:first-child{color:#ffd98a;white-space:nowrap;font-weight:600}label{align-items:center;gap:10px;margin:10px 0;display:flex}.bless{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.bless button{text-align:left;background:#1a1410;border:2px solid;border-radius:10px;flex-direction:column;gap:6px;min-height:150px;padding:14px;transition:transform .1s;display:flex;position:relative}.bless button:hover{background:#261d14;transform:translateY(-3px)}.bless b{color:#fff0d0;font:700 18px Georgia,serif}.bless small{color:#d8ccb4;font-size:14px;line-height:1.4}.bless .lv{color:#ffd98a;font-size:12px}.bless .lv.new{color:#7dff9a}.bless kbd{position:absolute;top:10px;right:10px}.shop{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px;display:grid}.shop button{background:#1a1410;border:2px solid #6a4e2c;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:14px;display:flex}.shop button span{font-size:36px}.shop em{color:#ffd75e;font-style:normal;font-weight:700}.end h2.win{color:#ffd75e}.end h2.lose{color:#ff6a5a}.endstats{grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0;display:grid}.endstats div{text-align:center;background:#221a12;border-radius:8px;padding:10px}.endstats b{color:#fff0d0;font-size:24px;display:block}.endstats small{color:#b8a888}.end .bl{font-size:14px}.hud{pointer-events:none;position:absolute;inset:0}.hud *{pointer-events:none}.hp-wrap{width:min(320px,45vw);position:absolute;top:14px;left:16px}.hp-bar{background:#2a0c0c;border:2px solid #6a2a20;border-radius:6px;height:22px;position:relative;overflow:hidden}.hp-fill{background:linear-gradient(#ff6050,#b02018);height:100%;transition:width .15s}.hp-text{text-align:center;text-shadow:0 1px 2px #000;font:700 13px/18px system-ui;position:absolute;inset:0}.row{text-shadow:0 1px 3px #000;gap:14px;margin-top:6px;font:700 16px system-ui;display:flex}.skude{color:#ffd75e}.blessings{flex-direction:column;gap:4px;margin-top:8px;display:flex}.blessings .bl{background:#000a;border-left:3px solid;border-radius:4px;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;padding:2px 8px;font-size:12px;display:flex}.depth{color:#e8c070;text-shadow:0 1px 3px #000;font:700 16px Georgia,serif;position:absolute;top:14px;right:16px}.abilities{gap:8px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.ab{background:#000b;border:1px solid #6a4e2c;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:74px;height:50px;font-size:11px;display:flex;position:relative;overflow:hidden}.ab b{color:#ffd98a;font-size:11px}.ab i{background:#000c;height:0;position:absolute;bottom:0;left:0;right:0}.prompt{pointer-events:none;background:#000c;border:1px solid #c9a86a;border-radius:8px;padding:8px 14px;font-weight:600;position:absolute;bottom:90px;left:50%;transform:translate(-50%)}.toast{opacity:0;pointer-events:none;text-align:center;background:#000c;border:1px solid #6a4e2c;border-radius:8px;padding:8px 18px;font-weight:600;transition:all .3s;position:absolute;top:70px;left:50%;transform:translate(-50%,-20px)}.toast.on{opacity:1;transform:translate(-50%)}.banner{text-align:center;pointer-events:none;animation:2.2s forwards banner;position:absolute;top:30%;left:50%;transform:translate(-50%)}.banner small{color:#c9a86a;letter-spacing:3px;text-transform:uppercase;display:block}.banner b{color:#f0d8a0;text-shadow:0 2px 10px #000;font:700 38px Georgia,serif}@keyframes banner{0%{opacity:0}15%{opacity:1}75%{opacity:1}to{opacity:0}}.fade{opacity:0;pointer-events:none;background:#000;transition:opacity .3s;position:absolute;inset:0}.fade.on{opacity:1}#ui.hurt:after{content:"";pointer-events:none;animation:.4s forwards hurt;position:absolute;inset:0;box-shadow:inset 0 0 120px #ff000090}@keyframes hurt{to{opacity:0}}.boss{text-align:center;pointer-events:none;width:min(520px,50vw);position:absolute;top:14px;left:50%;transform:translate(-50%)}.boss-name{color:#ff9080;text-shadow:0 1px 3px #000;margin-bottom:4px;font:700 16px Georgia,serif}.boss-bar{background:#2a0c0c;border:2px solid #8a2a20;border-radius:6px;height:14px;overflow:hidden}.boss-fill{background:linear-gradient(#ff4030,#801010);height:100%;transition:width .2s}body{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.panel{touch-action:pan-y}.touch,.tpause{display:none}body.is-touch .hud .touch{display:block}body.is-touch .hud .abilities{display:none}body.is-touch .hud .touch .tzone,body.is-touch .hud .tbtns button,body.is-touch .hud .tpause{pointer-events:auto}.tzone{width:50%;position:absolute;top:0;bottom:0;left:0}.stick{left:calc(36px + env(safe-area-inset-left));bottom:calc(28px + env(safe-area-inset-bottom));opacity:.5;background:#ffffff10;border:2px solid #ffffff2a;border-radius:50%;width:120px;height:120px;transition:opacity .15s;position:absolute;pointer-events:none!important}.stick.on{opacity:1;transition:none;bottom:auto;transform:translate(-50%,-50%)}.knob{background:#e8c070b0;border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;position:absolute;top:50%;left:50%;box-shadow:0 0 12px #0008}.tbtns{right:calc(14px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));width:0;height:0;position:absolute}.tbtns button{touch-action:none;background:#000b;border:2px solid #c9a86a;border-radius:50%;width:64px;height:64px;padding:0;font-size:26px;line-height:1;transition:transform 60ms;position:absolute;overflow:hidden}.tbtns button.down{background:#3e2e1cdd;transform:scale(.9)}.tbtns button i{pointer-events:none;background:#000c;height:0;position:absolute;bottom:0;left:0;right:0}.tbtns [data-b=attack]{border:3px solid #ff8050;width:86px;height:86px;font-size:36px;bottom:0;right:0}.tbtns [data-b=dash]{bottom:4px;right:98px}.tbtns [data-b=special]{bottom:98px;right:10px}.tbtns [data-b=potion]{width:50px;height:50px;font-size:20px;bottom:82px;right:92px}.tbtns [data-b=potion].empty{opacity:.35}.tbtns .cnt{color:#fff;text-shadow:0 1px 2px #000;font:800 12px system-ui;position:absolute;bottom:3px;right:6px}.tbtns [data-b=use]{background:#3a2a10cc;border-color:#ffd75e;animation:1s infinite alternate usepulse;bottom:4px;right:176px}@keyframes usepulse{to{box-shadow:0 0 18px #ffd75e}}.tpause{right:calc(12px + env(safe-area-inset-right));top:calc(8px + env(safe-area-inset-top));background:#000a;border:1px solid #6a4e2c;border-radius:10px;width:44px;height:44px;padding:0;font-size:20px;position:absolute}body.is-touch .tpause{display:block}body.is-touch .depth{right:calc(66px + env(safe-area-inset-right))}body.in-frame .tpause{right:calc(58px + env(safe-area-inset-right))}body.is-touch.in-frame .depth{right:calc(112px + env(safe-area-inset-right))}body.is-touch .prompt{pointer-events:auto;bottom:calc(24px + env(safe-area-inset-bottom));border-color:#ffd75e;padding:10px 16px;font-size:16px}body.is-touch .bless kbd{display:none}.hp-wrap{left:calc(16px + env(safe-area-inset-left));top:calc(14px + env(safe-area-inset-top))}.depth{right:calc(16px + env(safe-area-inset-right));top:calc(14px + env(safe-area-inset-top))}.modal{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}@media (max-width:720px){.classes,.endstats{grid-template-columns:repeat(2,1fr)}.panel{padding:14px}}@media (max-height:520px){.modal{padding-top:max(8px, env(safe-area-inset-top));padding-bottom:max(8px, env(safe-area-inset-bottom))}.panel{padding:12px 16px}.panel h2{margin-bottom:6px;font-size:21px}.panel p{margin:6px 0;font-size:14px;line-height:1.4}.title h1{letter-spacing:3px;font-size:30px}.title h2{margin-top:2px;font-size:15px}.menu .lore,.menu .cls.locked{display:none}.menu .classes{grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.menu .cls{grid-template-columns:46px 1fr;align-items:center;column-gap:10px;padding:6px 10px;display:grid}.menu .cls-img{grid-row:span 3;height:46px;font-size:30px}.menu .cls b{font-size:16px}.menu .cls small{display:none}.menu-btns{flex-flow:wrap;justify-content:center;gap:6px;max-width:none}.menu-btns button{flex:160px;padding:8px 10px}.menu-btns .big{flex:40%;padding:9px;font-size:17px}.stats{margin-top:8px}.credits{display:none}.bless button{min-height:0;padding:10px 12px}.bless small{font-size:13px}.shop button{padding:8px}.shop button span{font-size:28px}.endstats{gap:6px;margin:6px 0}.endstats div{padding:6px}.endstats b{font-size:20px}.upgrades{gap:5px}.upg{padding:6px 10px}.purse{margin:4px 0 8px;font-size:17px}.hp-wrap{width:min(260px,34vw);top:calc(8px + env(safe-area-inset-top))}.hp-bar{height:18px}.hp-text{font-size:11px;line-height:14px}.row{margin-top:4px;font-size:14px}.blessings{flex-flow:wrap;margin-top:5px}.blessings .bl{padding:1px 5px;font-size:14px}.blessings .bl span{display:none}.depth{top:calc(10px + env(safe-area-inset-top));font-size:13px}.boss{width:34vw;top:calc(8px + env(safe-area-inset-top))}.boss-name{margin-bottom:2px;font-size:13px}.boss-bar{height:11px}.toast{max-width:70vw;padding:6px 14px;font-size:14px;top:54px}.banner{top:24%}.banner b{font-size:26px}.banner small{font-size:11px}}@media (orientation:portrait) and (max-width:600px){.hp-wrap{width:46vw}.depth{text-align:right;max-width:34vw;font-size:12px}.boss{top:calc(64px + env(safe-area-inset-top));width:80vw}.toast{max-width:86vw;font-size:14px;top:110px}.tbtns [data-b=use]{bottom:150px;right:96px}body.is-touch .prompt{bottom:calc(190px + env(safe-area-inset-bottom))}.menu .lore,.menu .cls.locked,.menu .cls small{display:none}body.in-frame .hp-wrap{width:38vw}body.in-frame .depth{max-width:28vw}.menu .cls-img{height:44px;font-size:30px}}.death h2.lose{color:#ff6a5a}
