:root{--bg: #0b0e1a;--panel: #131830;--panel-edge: #2a3358;--ink: #e8ecff;--ink-dim: #8a93c4;--accent: #ffd23f;--accent-2: #4de1ff;--danger: #ff5470;--good: #57e389;--ui-scale: clamp(10px, 2.2vmin, 16px);--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px)}*{margin:0;padding:0;box-sizing:border-box}#gpu-error{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:2rem;background:#0b0e1a;color:#ffd23f;text-align:center;font-family:Courier New,ui-monospace,monospace}#gpu-error[hidden]{display:none!important}.gpu-error__title{font-size:1.6rem;font-weight:900;letter-spacing:.14em}.gpu-error__body{color:#8a93c4;max-width:28rem;line-height:1.5}html,body{position:fixed;inset:0;width:100%;height:100%;height:100svh;overflow:hidden;background:var(--bg);font-family:Courier New,ui-monospace,monospace;color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;overscroll-behavior:none}#app{position:fixed;left:0;top:0;width:100%;height:100%;height:100svh;overflow:hidden}#game{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated;image-rendering:crisp-edges}#ui-root{position:absolute;inset:0;pointer-events:none;z-index:10}#ui-root>*{pointer-events:auto}#vignette{position:absolute;inset:0;pointer-events:none;z-index:5;background:radial-gradient(ellipse 72% 62% at 50% 46%,transparent 58%,rgba(2,3,8,.62) 100%)}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--ui-scale) * 1.2);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(2px);padding:calc(var(--ui-scale) * 1.5);padding-top:calc(var(--ui-scale) * 1.5 + var(--sat));padding-bottom:calc(var(--ui-scale) * 1.5 + var(--sab));padding-left:calc(var(--ui-scale) * 1.5 + var(--sal));padding-right:calc(var(--ui-scale) * 1.5 + var(--sar))}.screen.hidden,.hidden{display:none!important}.title{font-size:calc(var(--ui-scale) * 3.2);font-weight:900;letter-spacing:.14em;color:var(--accent);text-shadow:.08em .08em 0 #7a2e00,0 0 24px rgba(255,210,63,.35);text-align:center;line-height:1.1}.subtitle{font-size:calc(var(--ui-scale) * 1.1);color:var(--ink-dim);letter-spacing:.08em;text-align:center}.menu-col{display:flex;flex-direction:column;gap:calc(var(--ui-scale) * .9);min-width:min(78vw,340px)}.btn{font-family:inherit;font-size:calc(var(--ui-scale) * 1.3);font-weight:700;letter-spacing:.1em;color:var(--ink);background:var(--panel);border:3px solid var(--panel-edge);padding:calc(var(--ui-scale) * .9) calc(var(--ui-scale) * 1.4);min-height:44px;cursor:pointer;text-align:center;transition:transform 60ms ease,border-color 60ms ease}.btn:hover,.btn:focus-visible{border-color:var(--accent);transform:translateY(-2px);outline:none}.btn:active{transform:translateY(1px)}.btn.primary{border-color:var(--accent);color:var(--accent)}.btn:disabled{opacity:.4;cursor:default;transform:none;border-color:var(--panel-edge)}#hud{position:absolute;inset:0;pointer-events:none;padding-top:var(--sat);padding-left:var(--sal);padding-right:var(--sar)}.hud-top{position:absolute;top:calc(var(--ui-scale) * .8 + var(--sat));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;width:min(52vw,300px)}#hud-timer{font-size:calc(var(--ui-scale) * 1.45);font-weight:900;letter-spacing:.12em;text-shadow:0 2px 0 #000}.bar{width:100%;height:6px;background:#000a;border:2px solid var(--panel-edge);position:relative}.bar>i{display:block;height:100%;width:0%;transition:width .12s linear}.bar.enraged{animation:enrage-pulse .5s steps(2) infinite;border-color:#ff5a4d}@keyframes enrage-pulse{50%{box-shadow:0 0 14px 2px #ff3c28cc}}#hud-hp{margin-top:0}#hud-hp>i{background:linear-gradient(180deg,#ff7a90,var(--danger))}#hud-stam{height:5px;margin-top:2px}#hud-stam>i{background:linear-gradient(180deg,#7dffd2,#1ec8a0)}#hud-stam.tired{border-color:#ff8a4d}#hud-stam.tired>i{background:linear-gradient(180deg,#ffb14b,#ff6a3a)}#hud-xp{height:5px}#hud-xp>i{background:linear-gradient(180deg,#8ff0ff,var(--accent-2))}#hud-status{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:4px;max-width:min(92vw,420px)}#hud-status .st{font-size:9px;font-weight:800;letter-spacing:.08em;padding:1px 6px;border:1px solid #fff3;background:#0008}#hud-status .st.buff{color:#7dffd2}#hud-status .st.debuff{color:#ff8098}#hud-status .st.syn{color:#ffd76a}#hud-broker{position:absolute;bottom:18%;left:50%;transform:translate(-50%);font-weight:800;letter-spacing:.12em;color:#ffd76a;text-shadow:0 1px 0 #000,0 0 10px rgba(255,200,60,.45);font-size:calc(var(--ui-scale) * 1.05)}#hud-hp span,#hud-xp span,#hud-stam span{position:absolute;inset:0;font-size:7px;font-weight:700;display:flex;align-items:center;justify-content:center;color:#fff;text-shadow:0 1px 0 #000c;letter-spacing:.06em}#hud-stam span,#hud-xp span{display:none}#hud-progress{position:relative;width:100%;height:3px;margin-top:2px;background:#000a;border:1px solid var(--panel-edge)}#hud-progress>i{display:block;height:100%;width:0%;background:linear-gradient(90deg,#ffd76a,#ff9a3d);transition:width .4s linear}#hud-progress>.tick{position:absolute;top:-2px;width:2px;height:7px;background:#ff5a4d;box-shadow:0 0 4px #ff3c28cc}#hud-progress>.tick.mid{left:46.7%}#hud-progress>.tick.final{left:100%;margin-left:-2px}#danger-vignette{box-shadow:inset 0 0 90px 26px #ff1e3c6b;transition:opacity .4s}#danger-vignette.on{opacity:1;animation:danger-breathe 1.1s ease-in-out infinite}@keyframes danger-breathe{0%,to{box-shadow:inset 0 0 90px 26px #ff1e3c57}50%{box-shadow:inset 0 0 120px 40px #ff1e3c94}}.hud-corner{position:absolute;display:flex;flex-direction:column;gap:3px;font-size:calc(var(--ui-scale) * 1.05);font-weight:700;letter-spacing:.06em;text-shadow:0 2px 0 #000}.hud-corner.tl{top:calc(var(--ui-scale) * .8 + var(--sat));left:calc(var(--ui-scale) * .9 + var(--sal))}.hud-corner.tr{top:calc(var(--ui-scale) * .8 + var(--sat));right:calc(var(--ui-scale) * .9 + var(--sar));text-align:right}.hud-corner .lv,.hud-corner .gold{color:var(--accent)}#hud-controls{position:absolute;left:calc(var(--ui-scale) * .9 + var(--sal));bottom:calc(var(--ui-scale) * .9 + var(--sab));pointer-events:none;font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--ink-dim);text-shadow:0 1px 0 #000}#hud-controls kbd,.controls-pc kbd{display:inline-block;margin:0 3px;padding:1px 5px;border:2px solid var(--panel-edge);background:#000a;color:var(--accent);font-family:inherit;font-size:inherit;font-weight:900;letter-spacing:.06em}.controls-touch{display:none}@media(pointer:coarse){.controls-pc{display:none}.controls-touch{display:block}}.hud-bottom{position:absolute;bottom:calc(var(--ui-scale) * .8 + var(--sab));left:50%;transform:translate(-50%);display:flex;gap:6px}.slot{width:38px;height:38px;border:2px solid var(--panel-edge);background:#0009;display:flex;align-items:center;justify-content:center;font-size:15px;position:relative}.ico{display:inline-block;width:12px;height:12px;vertical-align:-2px;image-rendering:pixelated;box-sizing:border-box}.ico-gold{border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6b0 0 22%,#ffd23f 23% 70%,#8a5a10 71% 100%)}.ico-kill{background:linear-gradient(#ff5470,#ff5470) 5px 2px / 2px 8px no-repeat,linear-gradient(#ff5470,#ff5470) 2px 5px / 8px 2px no-repeat}.ico-item{background:#c89646;border:2px solid #7a5020;box-shadow:inset 0 2px #e8c878}.ico-descend{background:linear-gradient(#ffd23f,#ffd23f) 5px 1px / 2px 6px no-repeat,linear-gradient(#ffd23f,#ffd23f) 3px 6px / 6px 2px no-repeat,linear-gradient(#ffd23f,#ffd23f) 4px 8px / 4px 2px no-repeat}.ico-lock{background:#b4bed8;border:2px solid #6a7494;box-shadow:inset 0 -4px #8a94b0}.slot>small{position:absolute;right:1px;bottom:0;font-size:9px;font-weight:900;color:var(--accent);text-shadow:0 1px 0 #000}#pause-btn{position:absolute;bottom:calc(var(--ui-scale) * .8 + var(--sab));right:calc(var(--ui-scale) * .9 + var(--sar));pointer-events:auto;width:44px;height:44px;font-size:18px;background:#0008;border:2px solid var(--panel-edge);color:var(--ink);font-family:inherit;cursor:pointer}#levelup{background:color-mix(in srgb,#05070f 78%,transparent)}#levelup h2{font-size:calc(var(--ui-scale) * 2.2);letter-spacing:.16em;color:var(--accent);text-shadow:.08em .08em 0 #7a2e00}.cards{display:flex;gap:calc(var(--ui-scale) * 1);flex-wrap:wrap;justify-content:center;max-width:96vw}.card{width:min(84vw,240px);background:var(--panel);border:3px solid var(--panel-edge);padding:calc(var(--ui-scale) * 1.1);cursor:pointer;display:flex;flex-direction:column;gap:calc(var(--ui-scale) * .5);transition:transform 80ms ease,border-color 80ms ease;font-family:inherit;color:var(--ink);text-align:left}.card:hover,.card:focus-visible{transform:translateY(-6px) scale(1.02);outline:none}.card .card-head{display:flex;align-items:center;gap:10px}.card .icon{font-size:26px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#0008;border:2px solid var(--panel-edge)}.card .name{font-size:calc(var(--ui-scale) * 1.2);font-weight:900;letter-spacing:.06em}.card .tag{font-size:calc(var(--ui-scale) * .75);color:var(--ink-dim);letter-spacing:.14em}.card .desc{font-size:calc(var(--ui-scale) * .95);color:var(--ink-dim);line-height:1.45;min-height:3.6em}.card .lvl{font-size:calc(var(--ui-scale) * .8);color:var(--accent);font-weight:700}.card.rarity-rare{border-color:var(--accent-2)}.card.rarity-epic{border-color:#c77dff;box-shadow:0 0 18px #c77dff40}.card.rarity-legendary{border-color:var(--accent);box-shadow:0 0 26px #ffd23f66;background:#1c1830}.card.evolution{border-color:var(--good);box-shadow:0 0 24px #57e38959}.card.locked .lvl:after{content:" 🔒"}.card-tools{display:flex;justify-content:flex-end;gap:6px;margin-top:2px}.card{position:relative}.card .tool{font-family:inherit;font-size:13px;cursor:pointer;min-width:30px;min-height:30px;background:#0000008c;border:2px solid var(--panel-edge);color:var(--ink)}.card .tool.on{border-color:var(--accent);background:#ffd23f2e}.card .tool:disabled{opacity:.3;cursor:default}.reroll-btn{font-family:inherit;font-size:calc(var(--ui-scale) * 1.1);font-weight:900;letter-spacing:.1em;color:var(--accent-2);background:var(--panel);border:3px solid var(--panel-edge);padding:10px 22px;min-height:44px;cursor:pointer}.reroll-btn:hover:not(:disabled){border-color:var(--accent-2)}.reroll-btn:disabled{opacity:.35;cursor:default}#toast{position:absolute;top:calc(var(--ui-scale) * 4.2 + var(--sat));right:calc(var(--ui-scale) * .9 + var(--sar));max-width:min(44vw,340px);text-align:right;font-size:calc(var(--ui-scale) * .78);font-weight:900;letter-spacing:.1em;color:var(--accent);text-shadow:0 2px 0 #000;background:#05070fa8;border-right:3px solid var(--accent);padding:.45em .7em;pointer-events:none;opacity:0;transition:opacity .18s}#toast.show{opacity:1;animation:toast-in .2s ease-out}@keyframes toast-in{0%{transform:translate(10px);opacity:0}to{transform:translate(0);opacity:1}}.sound-row{display:flex;align-items:center;justify-content:center;gap:calc(var(--ui-scale) * 1.2)}.sound-row label{display:flex;align-items:center;gap:6px;font-size:calc(var(--ui-scale) * .7);color:var(--ink-dim);letter-spacing:.1em}.sound-row input[type=range]{width:110px;accent-color:var(--accent)}.shop-list{display:flex;flex-direction:column;gap:8px;width:min(92vw,420px);max-height:62vh;overflow-y:auto}.shop-row{display:flex;align-items:center;gap:10px;background:var(--panel);border:2px solid var(--panel-edge);padding:10px}.shop-row .info{flex:1}.shop-row .info b{font-size:calc(var(--ui-scale) * 1.05);letter-spacing:.05em}.shop-row .info small{display:block;color:var(--ink-dim);font-size:calc(var(--ui-scale) * .8);margin-top:2px}.shop-row .buy{font-family:inherit;font-weight:900;cursor:pointer;background:#0008;color:var(--accent);border:2px solid var(--panel-edge);padding:8px 10px;min-width:74px;min-height:44px;font-size:calc(var(--ui-scale) * .95)}.shop-row .buy:disabled{opacity:.35;cursor:default}.pips{display:flex;gap:3px;margin-top:4px}.pips i{width:10px;height:6px;background:#0009;border:1px solid var(--panel-edge)}.pips i.on{background:var(--accent)}.char-row{display:flex;align-items:center;gap:12px;width:min(92vw,420px);background:var(--panel);border:3px solid var(--panel-edge);padding:12px;cursor:pointer;font-family:inherit;color:var(--ink);text-align:left}.char-row.selected{border-color:var(--accent)}.char-row.locked{opacity:.55}.char-row canvas{image-rendering:pixelated;width:48px;height:48px;flex:none}.skin-row{display:flex;gap:10px;justify-content:center;margin:-6px 0 8px}.skin-swatch{background:#0d1226;border:2px solid var(--panel-edge);border-radius:10px;padding:6px 8px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;color:var(--ink-dim)}.skin-swatch canvas{image-rendering:pixelated;width:32px;height:32px}.skin-swatch small{font-size:9px;letter-spacing:.08em;font-weight:700}.skin-swatch.selected{border-color:var(--accent);color:var(--ink)}.skin-swatch.locked{opacity:.55;cursor:default}.shop-heading{margin:14px 0 4px;font-weight:900;letter-spacing:.14em;font-size:calc(var(--ui-scale) * .9);color:var(--accent);text-shadow:0 1px 0 #000}.shop-row.milestone .depth-tag{font-weight:900;color:var(--accent);white-space:nowrap}.shop-row.milestone.earned{opacity:.75}.shop-row.milestone.earned .depth-tag{color:var(--good)}.unlock-banner{margin:10px auto;padding:8px 18px;border:2px solid var(--accent);border-radius:12px;background:#ffc83c14;color:var(--accent);font-weight:800;letter-spacing:.08em;width:fit-content;animation:unlock-pop .5s cubic-bezier(.2,1.6,.4,1)}@keyframes unlock-pop{0%{transform:scale(.6);opacity:0}}.char-row .info{flex:1}.char-row .info b{letter-spacing:.06em}.char-row .info small{display:block;color:var(--ink-dim);font-size:calc(var(--ui-scale) * .8);margin-top:3px;line-height:1.4}.gold-chip{font-size:calc(var(--ui-scale) * 1.2);font-weight:900;color:var(--accent);letter-spacing:.08em}.stat-line{color:var(--ink-dim);font-size:calc(var(--ui-scale) * 1);letter-spacing:.06em;text-align:center;line-height:1.7}.stat-line b{color:var(--ink)}.row{display:flex;gap:calc(var(--ui-scale) * .8);flex-wrap:wrap;justify-content:center}#rotate-overlay{display:none;position:fixed;inset:0;z-index:9999;background:#0b0e1a;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;pointer-events:all}#rotate-overlay .rot-phone{width:40px;height:72px;border:4px solid var(--accent);border-radius:10px;animation:rot-tilt 1.8s ease-in-out infinite}@keyframes rot-tilt{0%,15%{transform:rotate(0)}55%,85%{transform:rotate(-90deg)}to{transform:rotate(-90deg)}}#rotate-overlay .rot-text{font-family:inherit;font-size:calc(var(--ui-scale) * 1.6);font-weight:900;letter-spacing:.2em;color:var(--accent)}#rotate-overlay .rot-sub{font-family:inherit;font-size:calc(var(--ui-scale) * .9);letter-spacing:.14em;color:var(--ink-dim)}@media(orientation:portrait)and (pointer:coarse){#rotate-overlay{display:flex}}body.force-portrait #rotate-overlay{display:flex}#fs-btn{position:absolute;bottom:calc(var(--ui-scale) * .8 + var(--sab));right:calc(44px + var(--ui-scale) * 1.4 + var(--sar));pointer-events:auto;width:44px;height:44px;font-size:17px;background:#0008;border:2px solid var(--panel-edge);color:var(--ink);font-family:inherit;cursor:pointer}#fs-btn:active{border-color:var(--accent)}#fs-btn.hidden{display:none}.pix{width:1.3em;height:1.3em;image-rendering:pixelated;vertical-align:-.24em}.slot .pix{width:22px;height:22px;vertical-align:0}.card .icon .pix{width:30px;height:30px}.bar{box-shadow:inset 0 2px #ffffff12,inset 0 -2px #00000073}.bar>i{box-shadow:inset 0 -3px #00000047,inset 0 2px #ffffff2e}.slot{box-shadow:inset 0 0 0 1px #ffffff0d}#hud-boss-name{position:absolute;top:13px;left:50%;transform:translate(-50%);font-size:10px;font-weight:900;letter-spacing:.3em;color:#ff8098;text-shadow:0 1px 0 #000;white-space:nowrap}@media(pointer:coarse){:root{--ui-scale: clamp(13px, 3.3vmin, 17px)}.slot{width:calc(var(--ui-scale) * 2.7);height:calc(var(--ui-scale) * 2.7)}.slot>small{font-size:calc(var(--ui-scale) * .68)}}body.force-coarse{--ui-scale: clamp(13px, 3.3vmin, 17px)}body.force-coarse .controls-pc{display:none}body.force-coarse .controls-touch{display:block}body.force-coarse .slot{width:calc(var(--ui-scale) * 2.7);height:calc(var(--ui-scale) * 2.7)}body.force-coarse .slot>small{font-size:calc(var(--ui-scale) * .68)}body.short-phone .card{width:min(29.5vw,250px);padding:calc(var(--ui-scale) * .75)}body.short-phone .card .icon{width:30px;height:30px}body.short-phone .card .icon .pix{width:24px;height:24px}body.short-phone .card .desc{font-size:calc(var(--ui-scale) * .8);line-height:1.3;min-height:0}body.short-phone .card .name{font-size:calc(var(--ui-scale) * 1)}body.short-phone .card .tag{font-size:calc(var(--ui-scale) * .62)}body.short-phone .card .lvl{font-size:calc(var(--ui-scale) * .68)}body.short-phone #levelup h2{font-size:calc(var(--ui-scale) * 1.6)}body.short-phone #levelup .subtitle{display:none}body.short-phone .cards{gap:calc(var(--ui-scale) * .55)}body.short-phone .reroll-btn{padding:calc(var(--ui-scale) * .6) calc(var(--ui-scale) * 1)}#jump-btn{animation:jump-pulse 1.8s ease-in-out infinite}@keyframes jump-pulse{0%,to{box-shadow:0 0 #ffd23f00}50%{box-shadow:0 0 0 7px #ffd23f38}}body.short-phone .screen{gap:calc(var(--ui-scale) * .6);padding-top:calc(var(--ui-scale) * .6 + var(--sat));padding-bottom:calc(var(--ui-scale) * .6 + var(--sab))}body.short-phone .title{font-size:calc(var(--ui-scale) * 2.4)}body.short-phone .subtitle{font-size:calc(var(--ui-scale) * .85)}body.short-phone .menu-col{gap:calc(var(--ui-scale) * .55)}body.short-phone .btn{padding:calc(var(--ui-scale) * .65) calc(var(--ui-scale) * 1.2);font-size:calc(var(--ui-scale) * 1.15)}@font-face{font-family:"Press Start 2P";src:url(fonts/press-start-2p.woff2) format("woff2");font-display:swap}:root{--px-font: "Press Start 2P", "Courier New", monospace}.title,#levelup h2,.card .name,#toast,#hud-timer,#hud-boss-name,#hud-event{font-family:var(--px-font);letter-spacing:.06em}.title{text-shadow:.1em .1em 0 #7a2e00,0 0 30px rgba(255,210,63,.45)}.card{box-shadow:0 6px #000a;transition:transform .15s ease-out,box-shadow .15s ease-out,border-color .15s}.card.rarity-common{border-color:#5d6788}.card.rarity-rare{border-color:var(--accent-2);box-shadow:0 0 14px #4de1ff47,0 6px #000a}.card.rarity-epic{border-color:#b48cff;box-shadow:0 0 16px #b284ff61,0 6px #000a}.card.rarity-legendary{border-color:#ffd23f;background:linear-gradient(160deg,#2a1c08,#131830 55%,#2a1c08);animation:legendary-shimmer 2.2s linear infinite}@keyframes legendary-shimmer{0%,to{box-shadow:0 0 18px #ffd23f73,0 6px #000a}50%{box-shadow:0 0 30px #ffa028bf,0 6px #000a}}.card:hover,.card:focus-visible{box-shadow:0 0 20px #ffd23f4d,0 9px #000a}.card .icon{background:linear-gradient(180deg,#0a0d1c,#05070f);border:2px solid var(--panel-edge)}.cards .card{animation:card-in .3s cubic-bezier(.2,1.4,.4,1) backwards}.cards .card:nth-child(2){animation-delay:.07s}.cards .card:nth-child(3){animation-delay:.14s}.cards .card:nth-child(4){animation-delay:.21s}@keyframes card-in{0%{transform:translateY(26px) scale(.92);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.btn,.reroll-btn{box-shadow:0 4px #05070f;transition:transform .06s ease-out,box-shadow .06s ease-out,border-color .12s}.btn:hover,.reroll-btn:hover{border-color:var(--accent)}.btn:active,.reroll-btn:active{transform:translateY(3px);box-shadow:0 1px #05070f}#toast,.card .name{text-rendering:geometricPrecision}
