:root{--ink:#140d08;--ink-2:#1e140c;--panel:#22160de0;--line:#d6b2764d;--text:#f5e9cf;--muted:#c4ad87;--accent:#e8b558;--accent-bright:#f5cc7c;--vignette:#120c0875;--mint:#86f7c0;--gold:#ffe27a;--danger:#f0785a;--parchment:#ead9b0;--parchment-deep:#cdb582;--ink-brown:#2c1d12;--ink-brown-soft:#5f4730;--wood:#2a1b12;--wood-light:#4a3120;--bronze:#9c7338;--weapon:#a8452c;--passive:#3f6e4c;--special:#ffcf6b;--special-deep:#b5722a;--rare:#d8d2c0;--rare-deep:#7d7564;--epic:#c94230;--font-heraldic:"Cinzel", Georgia, "Times New Roman", serif;--font-display:"Unbounded", "Segoe UI", system-ui, sans-serif;--font-body:"Manrope", "Segoe UI", system-ui, -apple-system, sans-serif;--radius:20px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--ink);height:100%;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}#app{position:fixed;inset:0;overflow:hidden}#game,#game canvas{display:block;position:absolute;inset:0}[hidden]{display:none!important}#vignette{pointer-events:none;background:radial-gradient(ellipse at center, transparent 58%, var(--vignette) 100%);position:absolute;inset:0}#touch-layer{pointer-events:none;touch-action:none;position:absolute;inset:0}#touch-layer.active{pointer-events:auto}#joy-base{opacity:0;pointer-events:none;background:radial-gradient(circle,#e8b5581f,#e8b55808 70%);border:1.5px solid #e8b55866;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;transition:opacity .15s;position:absolute;top:0;left:0}#joy-base.on{opacity:1}#joy-knob{background:#e8b55899;border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:absolute;top:50%;left:50%;box-shadow:0 0 16px #e8b55866}#hurt{pointer-events:none;opacity:0;will-change:opacity;position:absolute;inset:0;box-shadow:inset 0 0 120px 20px #c82c188c}#hurt.flash{animation:.45s ease-out hurt}@keyframes hurt{0%{opacity:1}to{opacity:0}}#hud{padding:calc(var(--safe-t) + 10px) max(14px, var(--safe-r)) 0 max(14px, var(--safe-l));pointer-events:none;position:absolute;inset:0 0 auto}.xp{height:calc(var(--safe-t) + 4px);background:#140c068c;position:absolute;inset:0 0 auto}#xp-fill{background:linear-gradient(90deg, var(--special-deep), var(--special));transform-origin:0;height:100%;transition:transform .18s ease-out;transform:scaleX(0)}.hud-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:6px;display:grid}.hud-right{justify-content:flex-end;align-items:center;gap:8px;display:flex}.chip{background:var(--panel);border:1px solid var(--line);height:34px;font-family:var(--font-display);font-variant-numeric:tabular-nums;border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.chip b{font-weight:600}.chip-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.chip svg{width:12px;height:12px;color:var(--danger)}.timer{font-family:var(--font-display);letter-spacing:.02em;font-variant-numeric:tabular-nums;text-shadow:0 2px 18px #0009;font-size:clamp(20px,4.4vw,28px);font-weight:600}.icon-btn{pointer-events:auto;border:1px solid var(--line);background:var(--panel);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.icon-btn svg{fill:currentColor;width:16px;height:16px}#toast{left:50%;top:calc(var(--safe-t) + 64px);background:var(--panel);border:1px solid var(--line);white-space:nowrap;opacity:0;pointer-events:none;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:600;transition:opacity .25s,transform .25s;position:absolute;transform:translate(-50%,-8px)}#hud:has(#boss-bar:not([hidden]))~#toast{top:calc(var(--safe-t) + 98px)}#toast.show{opacity:1;transform:translate(-50%)}#toast.danger{color:var(--danger);border-color:#f0785a73}.screen{padding:calc(var(--safe-t) + 20px) max(18px, var(--safe-r)) calc(var(--safe-b) + 20px) max(18px, var(--safe-l));touch-action:pan-y;display:flex;position:absolute;inset:0;overflow-y:auto}.modal{background:#0c0704b8;justify-content:center;align-items:center;animation:.2s ease-out fade}@keyframes fade{0%{opacity:0}}.eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.title{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:4px 0 0;font-size:clamp(28px,6vw,40px);font-weight:600}.sub{color:var(--muted);margin:6px 0 0}.panel{border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);flex-direction:column;gap:18px;width:min(380px,100%);padding:26px 24px 22px;animation:.28s cubic-bezier(.2,.8,.2,1) rise;display:flex;box-shadow:0 30px 80px #00000073}.panel .title{margin:-12px 0 0}@keyframes rise{0%{opacity:0;transform:translateY(14px)scale(.98)}}.stack{flex-direction:column;gap:10px;display:flex}.btn{appearance:none;border:1px solid var(--line);height:50px;color:var(--text);font:600 15px/1 var(--font-body);cursor:pointer;background:#ffffff0d;border-radius:14px;padding:0 22px;transition:transform .12s,background .15s,box-shadow .15s}.btn:hover{background:#ffffff17}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent);color:var(--ink);font-family:var(--font-display);letter-spacing:.04em;border:0;font-size:15px;box-shadow:0 8px 28px #e8b55847}.btn.primary:hover{background:var(--accent-bright);box-shadow:0 8px 36px #e8b5586b}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--text)}button:focus-visible,.toggle input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:3px}.toggle{color:var(--muted);cursor:pointer;align-items:center;gap:10px;font-size:14px;display:inline-flex}.toggle input{opacity:0;pointer-events:none;position:absolute}.track{background:#ffffff1f;border-radius:999px;flex:none;width:38px;height:22px;transition:background .15s;position:relative}.thumb{background:var(--text);border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:3px;left:3px}.toggle input:checked+.track{background:#e8b558b3}.toggle input:checked+.track .thumb{transform:translate(16px)}.volumes{gap:8px;width:min(260px,100%);margin-top:12px;display:grid}.slider{color:var(--muted);grid-template-columns:82px 1fr;align-items:center;gap:10px;font-size:14px;display:grid}.slider input{appearance:none;cursor:pointer;--fill:60%;background:0 0;height:22px;margin:0}.slider input::-webkit-slider-runnable-track{background:linear-gradient(90deg, #e8b558bf var(--fill), #ffffff1f var(--fill));border-radius:999px;height:6px}.slider input::-moz-range-track{background:linear-gradient(90deg, #e8b558bf var(--fill), #ffffff1f var(--fill));border-radius:999px;height:6px}.slider input::-webkit-slider-thumb{appearance:none;background:var(--text);border:0;border-radius:50%;width:16px;height:16px;margin-top:-5px}.slider input::-moz-range-thumb{background:var(--text);border:0;border-radius:50%;width:16px;height:16px}.slider input:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.start{background:linear-gradient(90deg,#140d08eb 0%,#140d08b3 38%,#140d0800 70%);align-items:flex-end}.start-panel{flex-direction:column;align-items:flex-start;gap:16px;width:min(520px,100%);margin-top:auto;padding:0 0 clamp(8px,4vh,48px) clamp(0px,4vw,48px);animation:.5s cubic-bezier(.2,.8,.2,1) rise;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-crest{filter:drop-shadow(0 6px 14px #00000080);flex:none;width:clamp(68px,19vw,88px);height:auto}.panel-crest{width:52px;height:auto;margin-bottom:-6px}.logo{font-family:var(--font-heraldic);letter-spacing:.005em;background:linear-gradient(180deg, #fff4d6 10%, var(--accent) 95%);color:#0000;filter:drop-shadow(0 0 22px #e8b55859);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(38px,10.5vw,54px);font-weight:800;line-height:1}.logo span{letter-spacing:.46em;text-transform:uppercase;-webkit-text-fill-color:var(--muted);color:var(--muted);margin-top:8px;font-size:.34em;font-weight:700;display:block}.lede{color:#e0d2b4;max-width:36ch;margin:0;font-size:16px;line-height:1.55}.start .btn.primary{min-width:200px;height:56px;font-size:17px}.best{color:var(--muted);font-variant-numeric:tabular-nums;margin:-4px 0 0;font-size:14px}.best b{color:var(--gold);font-family:var(--font-display);font-weight:600}.hint{max-width:40ch;color:var(--muted);margin:0;font-size:13px;line-height:1.5}.credits{max-width:44ch;color:var(--muted);opacity:.75;margin:0;font-size:11px;line-height:1.5}.credits a{color:inherit}.levelup{text-align:center;flex-direction:column;align-items:center;width:min(960px,100%);max-height:100%;display:flex}.levelup-eyebrow{color:var(--parchment-deep);font:700 13px/1.2 var(--font-heraldic);letter-spacing:.26em;text-transform:uppercase;margin:0}.levelup-title{color:#fff4d6;font:800 clamp(34px, 6vw, 52px) / 1.05 var(--font-heraldic);text-shadow:0 2px #00000080;margin:4px 0 0}.levelup-sub{color:#d9ccb0;margin:6px 0 0;font-size:15px}.levelup.special .levelup-eyebrow{color:var(--special)}.levelup.special .levelup-title{color:var(--special);text-shadow:0 2px #0000008c,0 0 34px #ffbe5a8c}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%;margin-top:20px;display:grid}.card{--i:0;--band:var(--bronze);appearance:none;text-align:left;border:2px solid var(--wood-light);border-top:7px solid var(--band);background:radial-gradient(120% 70% at 50% 0%, #ffffff57, #fff0 70%), linear-gradient(180deg, var(--parchment), var(--parchment-deep));min-height:244px;color:var(--ink-brown);font:inherit;cursor:pointer;animation:.3s cubic-bezier(.2,.8,.2,1) both card-in;animation-delay:calc(var(--i) * 50ms);border-radius:6px;flex-direction:column;gap:12px;padding:16px 16px 12px;transition:transform .14s,box-shadow .14s,border-color .14s;display:flex;position:relative;box-shadow:0 10px 26px #00000080,inset 0 0 26px #78542847}.card.tag-senjata{--band:var(--weapon)}.card.tag-pasif{--band:var(--passive)}.card.tag-pusaka{--band:var(--special-deep);border-color:var(--special-deep);color:#f7e8c6;background:radial-gradient(130% 80% at 50% 0,#ffebaa47,#ffebaa00 72%),linear-gradient(#3a2413,#1d120a);box-shadow:0 12px 30px #0009,0 0 26px #ffb4504d,inset 0 0 0 1px #ffcf6b73}@keyframes card-in{0%{opacity:0;transform:translateY(16px)}}.card:hover,.card:focus-visible{box-shadow:0 18px 34px #0000008c, 0 0 0 2px var(--band), inset 0 0 26px #78542833;outline:none;transform:translateY(-5px)}.card.tag-pusaka:hover,.card.tag-pusaka:focus-visible{box-shadow:0 18px 36px #0009, 0 0 0 2px var(--special), 0 0 44px #ffbe5a80}.card:active{transform:scale(.98)}.card-head{align-items:center;gap:12px;min-width:0;display:flex}.card-crest{border:2px solid var(--bronze);width:56px;height:56px;color:var(--band);background:radial-gradient(circle at 35% 30%,#fff5d8,#d9c08a);border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:inset 0 -3px 5px #5a3c1959,0 2px 4px #0000004d}.tag-pusaka .card-crest{border-color:var(--special);color:var(--special);background:radial-gradient(circle at 35% 30%,#6b4120,#24150b);box-shadow:0 0 16px #ffbe5a80,inset 0 0 10px #ffbe5a40}.card-crest svg{width:32px;height:32px}.card-title{min-width:0}.card-tag{letter-spacing:.12em;text-transform:uppercase;color:var(--band);align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.tag-pusaka .card-tag{color:var(--special)}.card-new{background:var(--band);color:#fff6df;letter-spacing:.08em;border-radius:3px;padding:1px 6px;font-size:9.5px}.tag-pusaka .card-new{color:#2a1a0c;background:var(--special)}.card-name{font:700 18px/1.14 var(--font-heraldic);margin-top:2px}.card-desc{color:var(--ink-brown-soft);flex:1;font-size:13.5px;font-weight:500;line-height:1.42}.tag-pusaka .card-desc{color:#dcc9a4}.card-stats{border-top:1px dashed #462d1466;gap:3px;margin:0;padding:7px 0 0;font-size:12.5px;list-style:none;display:grid}.tag-pusaka .card-stats{border-top-color:#ffcf6b59}.card-stats li{justify-content:space-between;gap:8px;display:flex}.card-stats span{color:var(--ink-brown-soft);font-weight:600}.tag-pusaka .card-stats span{color:#cdb78e}.card-stats b{color:var(--band);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:4px;font-weight:800;display:inline-flex}.tag-pusaka .card-stats b{color:var(--special)}.card-stats s{color:var(--ink-brown-soft);opacity:.75;font-weight:600;text-decoration:none}.tag-pusaka .card-stats s{color:#cdb78e}.card-stats em{opacity:.7;font-style:normal}.card-foot{justify-content:space-between;align-items:center;gap:8px;min-height:22px;display:flex}.pips{gap:5px;display:flex}.pips i{border:1.5px solid var(--bronze);background:#462d1424;width:10px;height:10px;transform:rotate(45deg)}.pips i.on{background:var(--bronze)}.pips i.next{background:var(--band);border-color:var(--band);box-shadow:0 0 6px var(--band);animation:.9s ease-in-out infinite alternate pip-next}.tag-pusaka .pips i{border-color:var(--special-deep)}.tag-pusaka .pips i.on{background:var(--special-deep)}.tag-pusaka .pips i.next{background:var(--special);border-color:var(--special);box-shadow:0 0 8px var(--special)}@keyframes pip-next{to{opacity:.45}}.card-key{min-width:22px;height:22px;color:var(--ink-brown-soft);font:700 12px/1 var(--font-heraldic);border:1px solid #462d1473;border-radius:4px;place-items:center;display:grid}.tag-pusaka .card-key{color:var(--special);border-color:#ffcf6b73}.loadout{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px;display:flex}.gear{--band:var(--bronze);border:1.5px solid var(--bronze);color:#e2cfa6;background:#180f09d1;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:relative}.gear.tag-senjata{color:#eb9c7f}.gear.tag-pasif{color:#9fd2a5}.gear.tag-pusaka{border-color:var(--special);color:var(--special)}.gear svg{width:19px;height:19px}.gear b{background:var(--wood-light);color:#fff4d6;min-width:14px;height:14px;font:700 9px/1 var(--font-body);border-radius:7px;place-items:center;padding:0 2px;display:grid;position:absolute;bottom:-3px;right:-3px}.boss-bar{text-align:center;width:min(520px,76vw);margin:10px auto 0}.boss-name{color:#fff4d6;font:700 14px/1.2 var(--font-heraldic);letter-spacing:.08em;text-shadow:0 1px 3px #000}.boss-track{border:1.5px solid var(--bronze);background:#140a08cc;border-radius:3px;height:10px;margin-top:4px;overflow:hidden}#boss-fill{transform-origin:0;background:linear-gradient(#e0553e,#8d2418);height:100%;transition:transform .12s}.specials{top:calc(var(--safe-t) + 62px);left:calc(var(--safe-l) + 12px);max-height:calc(100vh - var(--safe-t) - 80px);flex-flow:column wrap;align-content:flex-start;gap:7px;display:flex;position:absolute}.special-slot{--ready:0;width:42px;height:42px;color:var(--special);background:radial-gradient(closest-side, #24150b 82%, transparent 84%), conic-gradient(var(--special) calc(var(--ready) * 360deg), #462d14d9 0);border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:0 2px 6px #00000080}.special-slot.ready{box-shadow:0 2px 6px #00000080,0 0 14px #ffbe5a99}.special-slot svg{width:22px;height:22px}.special-slot b{background:var(--special-deep);color:#fff4d6;font:700 9px/1 var(--font-heraldic);border-radius:3px;padding:1px 3px;position:absolute;bottom:-2px;right:-3px}.card.rarity-rare{box-shadow:0 10px 26px #00000080, inset 0 0 26px #78542847, 0 0 0 2px var(--rare)}.card.rarity-epic:not(.tag-pusaka){box-shadow:0 10px 26px #00000080, inset 0 0 26px #78542847, 0 0 0 2px var(--epic), 0 0 22px #c942308c}.card-rarity{color:#fff6df;letter-spacing:.08em;background:var(--rare-deep);border-radius:3px;padding:1px 6px;font-size:9.5px}.rarity-epic .card-rarity{background:var(--epic)}.end-redirect{color:var(--muted);margin:-6px 0 0;font-size:14px}.end-redirect b{color:var(--gold);font-family:var(--font-display);font-variant-numeric:tabular-nums}.record{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;background:#ffe27a24;border-radius:999px;align-self:flex-start;margin:-8px 0 0;padding:5px 11px;font-size:12px;font-weight:700}.stats{border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(3,1fr);margin:0;display:grid;overflow:hidden}.stats div{padding:12px 14px}.stats div+div{border-left:1px solid var(--line)}.stats dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600}.stats dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:22px;font-weight:600}#screen-end.win .eyebrow{color:var(--gold)}#screen-end:not(.win) .eyebrow{color:var(--danger)}@media (width<=720px){.start{background:linear-gradient(#140d0800 20%,#140d08cc 55%,#140d08f2 100%)}.start-panel{padding:0 4px 8px}.lede{font-size:15px}.start .btn.primary{width:100%}.levelup-title{font-size:30px}.levelup-sub{font-size:13px}.cards{grid-template-columns:1fr;gap:9px;margin-top:12px}.card{border-top-width:2px;border-left:6px solid var(--band);gap:6px;min-height:0;padding:10px 12px 9px}.card-crest{width:42px;height:42px}.card-crest svg{width:24px;height:24px}.card-name{font-size:15.5px}.card-desc{font-size:12.5px;line-height:1.32}.card-stats{grid-template-columns:1fr 1fr;column-gap:14px;padding-top:5px;font-size:12px}.card-foot{min-height:0;position:absolute;top:9px;right:10px}.pips{gap:3px}.pips i{width:7px;height:7px}.card-key{display:none}.loadout{margin-top:10px}.gear{width:28px;height:28px}.gear svg{width:16px;height:16px}.specials{top:calc(var(--safe-t) + 54px);left:calc(var(--safe-l) + 8px)}.special-slot{width:36px;height:36px}.special-slot svg{width:19px;height:19px}}@media (height<=480px){.start-panel{gap:10px;padding-bottom:0}.start .eyebrow,.lede,.hint{display:none}.brand-crest{width:68px}.start .btn.primary{height:48px}}@media (pointer:coarse){.card-key{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
