*{margin:0;padding:0;box-sizing:border-box}:root{--ink: #120d22;--panel: rgba(22, 18, 42, .88);--hot: #ff4f6d;--gold: #ffd166;--cyan: #46f5d6;--leaf: #69df74;--violet: #a96dff;--text: #fff7df}body{background:var(--ink);color:var(--text);font-family:Trebuchet MS,Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden;width:100vw;height:100vh;height:100dvh;user-select:none;text-rendering:geometricPrecision;overscroll-behavior:none}canvas{display:block;position:fixed;top:0;left:0;width:100vw!important;height:100vh!important}#sound-toggle{position:fixed;top:42px;right:14px;z-index:120;width:38px;min-width:0;height:34px;min-height:0;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:linear-gradient(135deg,#120c22e6,#201438d1);color:#fff3d6;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;pointer-events:auto;cursor:pointer;box-shadow:0 5px #00000061,0 0 16px #a96dff38}#sound-toggle:hover{transform:translateY(-1px);border-color:#ffd166b3}.screen{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;background:linear-gradient(115deg,rgba(255,79,109,.18),transparent 26%),linear-gradient(245deg,rgba(70,245,214,.16),transparent 30%),linear-gradient(160deg,#17112e,#24113a 44%,#102b37);gap:16px;isolation:isolate;overflow-x:hidden;overflow-y:auto;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));-webkit-overflow-scrolling:touch;scrollbar-color:rgba(255,209,102,.62) rgba(18,13,34,.54);scrollbar-width:thin}.screen::-webkit-scrollbar,.modal::-webkit-scrollbar,#curse-grid::-webkit-scrollbar,#char-panel::-webkit-scrollbar,.run-recap::-webkit-scrollbar{width:10px}.screen::-webkit-scrollbar-track,.modal::-webkit-scrollbar-track,#curse-grid::-webkit-scrollbar-track,#char-panel::-webkit-scrollbar-track,.run-recap::-webkit-scrollbar-track{background:#120d228a;border-left:1px solid rgba(255,255,255,.08)}.screen::-webkit-scrollbar-thumb,.modal::-webkit-scrollbar-thumb,#curse-grid::-webkit-scrollbar-thumb,#char-panel::-webkit-scrollbar-thumb,.run-recap::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ffd166c7,#a96dffb8);border:2px solid rgba(18,13,34,.76);border-radius:999px}.screen::-webkit-scrollbar-thumb:hover,.modal::-webkit-scrollbar-thumb:hover,#curse-grid::-webkit-scrollbar-thumb:hover,#char-panel::-webkit-scrollbar-thumb:hover,.run-recap::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ffe7a3f2,#46f5d6c2)}.screen:before{content:"";position:absolute;inset:-20%;z-index:-2;opacity:.4;background:repeating-linear-gradient(30deg,rgba(255,255,255,.08) 0 2px,transparent 2px 42px),repeating-linear-gradient(120deg,rgba(255,209,102,.08) 0 2px,transparent 2px 54px);animation:driftBackdrop 18s linear infinite}.screen:after{content:"";position:absolute;inset:-8%;z-index:-1;opacity:.5;background-image:radial-gradient(circle at 8% 18%,rgba(255,247,223,.2) 0 2px,transparent 3px),radial-gradient(circle at 22% 78%,rgba(255,247,223,.16) 0 3px,transparent 4px),radial-gradient(circle at 38% 34%,rgba(255,209,102,.18) 0 2px,transparent 3px),radial-gradient(circle at 54% 68%,rgba(70,245,214,.15) 0 3px,transparent 4px),radial-gradient(circle at 72% 22%,rgba(255,247,223,.16) 0 2px,transparent 3px),radial-gradient(circle at 86% 84%,rgba(169,109,255,.2) 0 3px,transparent 4px);background-size:260px 220px,340px 300px,300px 260px,420px 360px,380px 320px,460px 420px;animation:glyphField 24s linear infinite}.screen .glyph-field{position:absolute;inset:-10%;z-index:-1;pointer-events:none;overflow:hidden}.screen .glyph-field:before,.screen .glyph-field:after{content:"✦      ◇        ✧      ◆        ✺      ◌\a" "      ◇      ✦       ◍       ✧      ◆     \a" "◆        ✧       ◇      ✦       ◌       ✺\a" "    ✧       ✦       ◆        ◇       ◍    \a" "◇      ◌        ✺       ✧       ✦       ◆\a" "      ◆       ◇       ✦       ✧       ◌   ";position:absolute;inset:0;color:#fff7df21;font-size:clamp(22px,3.2vw,42px);line-height:2.8;white-space:pre;letter-spacing:22px;text-shadow:0 0 16px rgba(255,209,102,.18);transform:rotate(-11deg);animation:glyphRain 22s linear infinite}.screen .glyph-field:after{color:#46f5d61a;font-size:clamp(18px,2.4vw,34px);line-height:3.4;letter-spacing:34px;transform:rotate(8deg) translateY(-18%);animation:glyphRainAlt 31s linear infinite}.screen.hidden{display:none}.screen h1{font-size:clamp(3rem,7vw,6.2rem);font-weight:950;letter-spacing:0;color:var(--text);text-shadow:4px 5px 0 rgba(0,0,0,.45),-2px -2px 0 rgba(255,79,109,.65),2px 2px 0 rgba(70,245,214,.55),0 0 36px rgba(255,209,102,.55);margin-bottom:8px;animation:titlePulse 3.2s ease-in-out infinite}.screen h2{font-size:clamp(2rem,4vw,3.4rem);font-weight:950;text-shadow:3px 4px 0 rgba(0,0,0,.36),0 0 22px rgba(169,109,255,.55);margin-bottom:8px}.screen h3{font-size:1.2rem;font-weight:600;color:#aaa}.subtitle{font-size:1.2rem;color:#ffe7a3;font-weight:800;text-shadow:0 2px 0 rgba(0,0,0,.35);margin-bottom:24px}button{padding:12px 32px;font-size:1.1rem;font-weight:950;border:2px solid rgba(255,255,255,.3);border-radius:8px;cursor:pointer;transition:transform .12s cubic-bezier(.2,1.8,.3,1),box-shadow .12s,filter .12s,background-position .25s;min-width:200px;background:linear-gradient(135deg,#ff335f,#ff8a3d 48%,#ffd166);background-size:180% 180%;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.38);box-shadow:0 6px #460f1cf2,0 12px 24px #00000059,inset 0 2px #ffffff59}button:hover{transform:translateY(-4px) rotate(-1deg) scale(1.04);filter:saturate(1.25) brightness(1.08);background-position:100% 0;box-shadow:0 10px #460f1cf2,0 18px 34px #00000075,0 0 24px #ffd16647,inset 0 2px #ffffff6b}button:active{transform:translateY(3px) scale(.98);box-shadow:0 3px #460f1cf2,0 7px 16px #00000061,inset 0 2px #ffffff4d}button.secondary{background:linear-gradient(135deg,#24344f,#523d89 52%,#20b9a5);box-shadow:0 6px #0d172af2,0 12px 24px #00000059,inset 0 2px #ffffff38}button.secondary:hover{background-position:100% 0;box-shadow:0 10px #0d172af2,0 18px 34px #00000075,0 0 24px #46f5d63d,inset 0 2px #ffffff52}#class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:900px;width:90%;margin-bottom:16px}#class-select-screen,#curse-select-screen,#game-over-screen,#victory-screen{justify-content:flex-start}.class-card{--accent: var(--gold);position:relative;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,transparent),#ffffff06),var(--panel);border:2px solid color-mix(in srgb,var(--accent) 38%,rgba(255,255,255,.18));border-radius:12px;padding:20px;cursor:pointer;transition:all .2s;text-align:center;color:inherit;font:inherit;min-width:0;width:100%;box-shadow:0 5px #00000059,0 14px 28px #0003,inset 0 0 34px color-mix(in srgb,var(--accent) 8%,transparent);text-shadow:none}.class-card:nth-child(1){--accent: #ff7043}.class-card:nth-child(2){--accent: #42d9ff}.class-card:nth-child(3){--accent: #ffd84a}.class-card:nth-child(4){--accent: #c77dff}.class-card:nth-child(5){--accent: #c9935b}.class-card:nth-child(6){--accent: #a96dff}.class-card:nth-child(7){--accent: #69df74}.class-card:nth-child(8){--accent: #ffed80}.class-card:nth-child(9){--accent: #9be8ff}.class-card:nth-child(10){--accent: #915cff}.class-card:nth-child(11){--accent: #ff4f6d}.class-card:nth-child(12){--accent: #46f5d6}.class-card:before,.upgrade-card:before,.forge-card:before{content:"";position:absolute;inset:-60% -40%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.28) 50%,transparent 60%);transform:translate(-65%) rotate(10deg);transition:transform .45s;pointer-events:none}.class-card:hover{border-color:color-mix(in srgb,var(--accent) 82%,white);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 32%,transparent),#ffffff14),var(--panel);transform:translateY(-8px) rotate(1deg) scale(1.03);box-shadow:0 12px #00000061,0 22px 36px #00000059,0 0 30px color-mix(in srgb,var(--accent) 34%,transparent)}.class-card:hover:before,.upgrade-card:hover:before,.forge-card:hover:before{transform:translate(62%) rotate(10deg)}.class-card:focus-visible{outline:3px solid rgba(204,136,255,.85);outline-offset:3px}.class-card.selected{border-color:#f1c40f;animation:cardPick .28s cubic-bezier(.2,1.9,.25,1) both;box-shadow:0 0 0 4px #ffd16626,0 0 34px #f1c40f73}.class-emoji{font-size:2.5rem;margin-bottom:8px;filter:drop-shadow(0 6px 0 rgba(0,0,0,.28)) drop-shadow(0 0 12px rgba(255,255,255,.22))}.class-name{font-size:1rem;font-weight:700;margin-bottom:4px}.class-desc{font-size:.75rem;color:#aaa;line-height:1.4}.class-stats{margin-top:8px;font-size:.7rem;color:#8ac}#version-watermark{position:fixed;bottom:max(8px,env(safe-area-inset-bottom));right:max(28px,calc(env(safe-area-inset-right) + 28px));font-family:monospace;font-size:11px;color:#fff7df94;pointer-events:none;user-select:none;letter-spacing:.04em;text-shadow:0 1px 2px rgba(0,0,0,.85),0 0 8px rgba(18,13,34,.8);z-index:10000}#hud{position:fixed;top:0;left:0;width:100%;pointer-events:none;z-index:50;filter:drop-shadow(0 3px 0 rgba(0,0,0,.35))}#hud.hidden{display:none}#hp-bar-top{position:fixed;top:28px;left:0;right:0;height:22px;background:linear-gradient(90deg,#0c0718e0,#220e32e0,#0c0718e0);display:flex;align-items:center;padding:0 14px;z-index:55;pointer-events:none;border-bottom:1px solid rgba(255,60,90,.2)}#boss-bar-container{margin-top:50px;background:linear-gradient(135deg,#000c,#280000cc);padding:8px 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,0,0,.3)}#boss-bar-container.hidden{display:none}#boss-name{font-size:.85rem;font-weight:700;color:#f66;min-width:120px}#boss-bar-bg{flex:1;height:16px;background:#ffffff1a;border-radius:8px;overflow:hidden}#boss-bar-fill{height:100%;background:linear-gradient(90deg,#c0392b,#e74c3c);transition:width .1s;border-radius:8px}#boss-relic-preview{font-size:.8rem;color:#c8f;min-width:50px;text-align:right}#hud-bottom{position:fixed;bottom:0;left:0;right:0;z-index:55;background:linear-gradient(to top,rgba(8,6,18,.95),rgba(8,6,18,.72),transparent);padding:6px 16px 14px;display:flex;align-items:center;justify-content:flex-end;gap:16px}.bar-bg{height:16px;background:#ffffff1f;border-radius:6px;overflow:hidden;flex:1;border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 2px 8px #0000006b}.bar-fill{height:100%;border-radius:6px;transition:width .1s}.hp-fill{background:linear-gradient(90deg,#ff335f,#ff896b,#ffd166);box-shadow:0 0 14px #ff4f6d80}.xp-fill{background:linear-gradient(90deg,#8e44ad,#c8f)}#hp-section{display:flex;align-items:center;gap:6px;flex:1;min-width:0}#hp-text{font-size:.75rem;color:#faa;min-width:60px;text-align:right}#timer-section,#relic-section,#kills-section{position:relative;z-index:2}#xp-bar-top{position:fixed;top:0;left:0;right:0;height:28px;background:linear-gradient(90deg,#0c0718eb,#291541eb,#0c0718eb);display:flex;align-items:center;gap:10px;padding:0 14px;z-index:55;pointer-events:none;border-bottom:1px solid rgba(140,80,220,.3)}#xp-bar-track{flex:1;height:14px;background:#ffffff1a;border-radius:7px;overflow:hidden}#xp-fill{height:100%;border-radius:7px;background:linear-gradient(90deg,#46f5d6,#a96dff,#ff4f6d);transition:width .15s ease-out;box-shadow:0 0 12px #a96dffa6}#level-badge{font-size:.8rem;font-weight:700;color:#ffd166;min-width:38px;white-space:nowrap}#xp-text{font-size:.7rem;color:#a7d;min-width:72px;text-align:right;white-space:nowrap}#timer-section{display:flex;align-items:center;gap:8px;margin-left:auto}#timer-text{font-size:1rem;font-weight:950;font-variant-numeric:tabular-nums;color:#fff}#wave-text{font-size:.8rem;color:#fc4;font-weight:700}#relic-section,#kills-section{font-size:.85rem;font-weight:700;color:#c8f;min-width:50px;text-align:center}#kills-section{color:#f99}.modal{position:fixed;top:0;left:0;width:100%;height:100%;height:100dvh;background:radial-gradient(ellipse at center,rgba(169,109,255,.18),transparent 45%),#040309d1;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:200;gap:24px;overflow-x:hidden;overflow-y:auto;padding:max(20px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));-webkit-overflow-scrolling:touch;scrollbar-color:rgba(255,209,102,.62) rgba(18,13,34,.54);scrollbar-width:thin}.modal.hidden{display:none}.modal h2{font-size:clamp(2rem,5vw,4rem);font-weight:950;color:var(--gold);text-shadow:4px 5px 0 rgba(0,0,0,.45),0 0 26px rgba(241,196,15,.65);animation:titlePulse 1.8s ease-in-out infinite}#upgrade-cards{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;max-width:900px;width:100%}.upgrade-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#28194b,#102c40);border:2px solid rgba(255,255,255,.15);border-radius:12px;padding:20px;width:260px;min-width:260px;cursor:pointer;transition:transform .16s cubic-bezier(.2,1.8,.3,1),box-shadow .16s,filter .16s;text-align:center;color:inherit;font:inherit;text-shadow:none;box-shadow:0 8px #0006,0 22px 38px #0000004d;animation:cardDeal .34s cubic-bezier(.18,1.7,.3,1) both}.upgrade-card:nth-child(2){animation-delay:.06s}.upgrade-card:nth-child(3){animation-delay:.12s}.upgrade-card:nth-child(4){animation-delay:.18s}.upgrade-card:hover{transform:translateY(-12px) rotate(-1deg) scale(1.06);border-color:#f1c40f;filter:saturate(1.25);box-shadow:0 14px #0000006b,0 30px 46px #00000061,0 0 28px #f1c40f42}.upgrade-card.rarity-common{border-color:#96969666}.upgrade-card.rarity-rare{border-color:#46f5d6b3;background:linear-gradient(135deg,#122f42,#251a50)}.upgrade-card.rarity-epic{border-color:#a96dffd9;background:linear-gradient(135deg,#301451,#141f42)}.upgrade-card.rarity-legendary{border-color:#ffd166f2;background:linear-gradient(135deg,#3a1c2d,#4d2c08);box-shadow:0 8px #0006,0 0 26px #f1c40f38}.upgrade-card.rarity-evolution{border-color:#ffd166;background:linear-gradient(135deg,#4a1835,#4a3208);box-shadow:0 8px #0006,0 0 40px #f1c40f66;animation:cardDeal .34s cubic-bezier(.18,1.7,.3,1) both,rarePulse 1.2s ease-in-out infinite}.upgrade-card.rarity-common:hover{border-color:#aaa}.upgrade-card.rarity-rare:hover{border-color:#46f;box-shadow:0 8px 24px #4466ff4d}.upgrade-card.rarity-epic:hover{border-color:#c4f;box-shadow:0 8px 24px #b43cff4d}.upgrade-card.rarity-legendary:hover{box-shadow:0 8px 30px #f1c40f66}.upgrade-card.selected{animation:cardPick .22s cubic-bezier(.18,1.9,.3,1) both}.card-emoji{font-size:2.5rem;margin-bottom:8px;filter:drop-shadow(0 6px 0 rgba(0,0,0,.28)) drop-shadow(0 0 12px rgba(255,255,255,.28))}.card-name{font-size:1rem;font-weight:700;margin-bottom:4px}.card-rarity{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.card-rarity.rarity-common{color:#aaa}.card-rarity.rarity-rare{color:#48f}.card-rarity.rarity-epic{color:#c4f}.card-rarity.rarity-legendary,.card-rarity.rarity-evolution{color:#f1c40f}.card-desc{font-size:.8rem;color:#ccc;line-height:1.4}#run-stats{background:linear-gradient(135deg,#ffffff1f,#ffffff06);border:2px solid rgba(255,255,255,.18);border-radius:12px;padding:20px 40px;margin:8px 0 16px;text-align:center;min-width:360px}#run-stats p{margin:6px 0;font-size:.95rem;color:#ccc}#run-stats .stat-value{font-weight:700;color:#fff}#sigil-forge-screen{overflow-y:auto;padding-top:max(40px,env(safe-area-inset-top));padding-bottom:max(40px,env(safe-area-inset-bottom));justify-content:flex-start}#forge-relics{font-size:1.1rem;color:#c8f;font-weight:700;margin-bottom:16px}#forge-tabs{display:flex;gap:8px;margin-bottom:20px}.forge-tab{min-width:100px;padding:8px 20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.forge-tab.active{background:#c888ff33;border-color:#c8f;color:#c8f}#forge-global-upgrades,#forge-faction-upgrades{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;width:100%;max-width:900px;margin-bottom:20px}.forge-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#ffffff1c,#ffffff06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:6px}.forge-card.affordable{border-color:#c888ff66}.forge-card.maxed{border-color:#f1c40f66;background:#f1c40f0d}.forge-card.locked{opacity:.4}.forge-card-header{display:flex;align-items:center;gap:8px}.forge-card-emoji{font-size:1.4rem}.forge-card-name{font-size:.95rem;font-weight:700;flex:1}.forge-card-cost{font-size:.85rem;color:#c8f}.forge-card-desc{font-size:.75rem;color:#aaa;line-height:1.4}.forge-progress{display:flex;gap:4px;margin-top:4px}.forge-pip{width:16px;height:6px;background:#ffffff1a;border-radius:3px}.forge-pip.filled{background:#c8f}.forge-buy-btn{min-width:unset;padding:6px 14px;font-size:.8rem;margin-top:4px;align-self:flex-end}#forge-faction-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}#challenge-hud{position:fixed;top:42px;left:16px;z-index:60;pointer-events:none;display:flex;flex-direction:column;align-items:flex-start;gap:6px}#challenge-hud.hidden{display:none}#challenge-compass{font-size:1.8rem;color:var(--gold);filter:drop-shadow(0 0 6px gold) drop-shadow(0 3px 0 rgba(0,0,0,.35));transform-origin:50% 50%;transition:opacity .18s,transform .18s}#challenge-info{white-space:pre-line;background:#000000c2;border:1px solid rgba(241,196,15,.5);border-radius:8px;padding:6px 10px;font-size:.75rem;color:#f1c40f;max-width:180px;text-align:left}#objective-markers{position:fixed;inset:0;pointer-events:none;z-index:60}.objective-marker{position:fixed;transform:translate(-50%,-50%);display:grid;grid-template-columns:18px 20px minmax(38px,auto);align-items:center;gap:5px;padding:4px 7px;min-width:92px;background:#000000b8;border:1px solid rgba(255,209,102,.35);border-radius:999px;color:var(--text);font-size:.7rem;font-weight:900;box-shadow:0 4px #00000047,0 0 14px #ffd16626;pointer-events:none}.objective-arrow{display:inline-block;color:var(--gold);transform-origin:50% 50%;text-shadow:0 0 8px rgba(255,209,102,.7)}.objective-icon{filter:drop-shadow(0 0 5px rgba(255,255,255,.3))}.objective-distance{color:#d0c4ff;text-align:right;font-variant-numeric:tabular-nums}.notification{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#190c2bf2,#2e1447f2);border:2px solid #cc88ff;border-radius:8px;padding:10px 20px;font-size:1rem;color:#c8f;font-weight:700;z-index:150;pointer-events:none;animation:juicyNotice 2.5s cubic-bezier(.18,1.7,.3,1) forwards}.notification.hidden{display:none}#menu-profile-info{margin-top:16px;font-size:.8rem;color:#d0c4ff;text-align:center;background:#0000003d;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:7px 14px}#pause-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem;font-weight:800;color:#fff;letter-spacing:6px;text-shadow:0 0 30px rgba(200,136,255,.8);background:#0000008c;padding:16px 40px;border-radius:12px;border:1px solid rgba(200,136,255,.4);z-index:180;pointer-events:none}.juice-pop{animation:juicePop .22s cubic-bezier(.18,1.9,.3,1)}.danger-shake{animation:dangerShake .24s linear}#pause-overlay.hidden{display:none}#char-panel{position:fixed;top:54px;right:8px;width:210px;max-height:calc(100vh - 120px);overflow-y:auto;background:#000000d1;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:8px 10px;font-size:11px;color:#ddd;z-index:150;pointer-events:none}#char-panel.hidden{display:none}#stats-toggle{position:fixed;right:max(10px,env(safe-area-inset-right));bottom:max(58px,calc(env(safe-area-inset-bottom) + 58px));z-index:145;width:42px;min-width:0;height:38px;min-height:0;padding:0;border-radius:8px;background:linear-gradient(135deg,#24344ff0,#523d89e6 52%,#20b9a5e6);color:var(--text);font-size:1.05rem;line-height:1;display:flex;align-items:center;justify-content:center}#stats-toggle.hidden{display:none}.cp-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:#fff;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.15);margin-bottom:5px}.cp-hint{font-size:9px;color:#888;background:#ffffff14;padding:1px 5px;border-radius:3px}.cp-section-label{font-size:9px;font-weight:700;letter-spacing:1px;color:#888;margin:6px 0 3px}.cp-row{display:flex;justify-content:space-between;align-items:center;padding:1px 0;gap:4px;line-height:1.5}.cp-row span:first-child{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-row span:last-child{color:#aef;font-weight:600;white-space:nowrap;font-size:10px}.cp-stacks{color:#fa8!important}.cp-evolved{color:gold;font-size:9px}.cp-empty{color:#555;font-size:10px}.cp-debuff span:last-child{color:#f77!important}@keyframes driftBackdrop{0%{transform:translateZ(0) rotate(0)}to{transform:translate3d(-96px,64px,0) rotate(1deg)}}@keyframes glyphField{0%{background-position:0 0,0 0,0 0,0 0,0 0,0 0}to{background-position:260px 220px,-340px 300px,300px -260px,-420px -360px,380px 320px,-460px 420px}}@keyframes glyphRain{0%{transform:rotate(-11deg) translate3d(-6%,-12%,0)}to{transform:rotate(-11deg) translate3d(8%,10%,0)}}@keyframes glyphRainAlt{0%{transform:rotate(8deg) translate3d(8%,-18%,0)}to{transform:rotate(8deg) translate3d(-8%,12%,0)}}@keyframes titlePulse{0%,to{transform:translateY(0) scale(1);filter:saturate(1)}50%{transform:translateY(-3px) scale(1.018);filter:saturate(1.22)}}@keyframes cardDeal{0%{opacity:0;transform:translateY(38px) rotate(-4deg) scale(.86)}70%{opacity:1;transform:translateY(-8px) rotate(1deg) scale(1.04)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes cardPick{0%{transform:scale(1)}60%{transform:translateY(-6px) rotate(-1deg) scale(1.08)}to{transform:scale(1.02)}}@keyframes rarePulse{0%,to{filter:saturate(1) brightness(1)}50%{filter:saturate(1.35) brightness(1.12)}}@keyframes juicyNotice{0%{opacity:0;transform:translate(-50%) translateY(26px) scale(.75) rotate(-2deg)}16%{opacity:1;transform:translate(-50%) translateY(-8px) scale(1.08) rotate(1deg)}25%{transform:translate(-50%) translateY(0) scale(1) rotate(0)}76%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-18px) scale(.92)}}@keyframes juicePop{0%{transform:scale(1);filter:brightness(1)}45%{transform:scale(1.18);filter:brightness(1.45) saturate(1.45)}to{transform:scale(1);filter:brightness(1)}}@keyframes dangerShake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}#victory-screen h2{font-size:2.8rem;color:var(--gold);text-shadow:0 0 24px rgba(255,220,80,.7)}#victory-screen .subtitle{font-size:1rem;opacity:.75;margin-bottom:1rem}#curse-select-screen h2{color:var(--hot)}#curse-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:800px;width:100%;margin:1rem auto;max-height:55vh;overflow-y:auto;padding:6px 4px 4px;scrollbar-color:rgba(255,209,102,.62) rgba(18,13,34,.54);scrollbar-width:thin}.curse-card{background:#1e0f32e6;border:2px solid rgba(150,80,200,.35);border-radius:12px;padding:12px 10px;cursor:pointer;transition:border-color .15s,background .15s,transform .1s;text-align:center}.curse-card:hover:not(.disabled){border-color:#c864ffb3;transform:translateY(-2px)}.curse-card.selected{border-color:var(--hot);background:#501428d9;box-shadow:0 0 16px #ff3c5a59}.curse-card.disabled{opacity:.4;cursor:not-allowed}.curse-emoji{font-size:2rem}.curse-name{font-weight:700;font-size:.9rem;margin:4px 0 2px}.curse-desc{font-size:.75rem;opacity:.7;margin-bottom:4px}.curse-mult{font-size:.8rem;color:var(--gold);font-weight:700}.curse-multiplier{font-size:1.6rem;font-weight:900;color:var(--gold);text-align:center;margin:.5rem 0;text-shadow:0 0 12px rgba(255,220,80,.5)}.curse-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:.5rem}#passive-item-slots{display:flex;flex-wrap:wrap;gap:4px;padding:3px 8px;min-height:0}#mobile-joystick{position:fixed;left:max(18px,env(safe-area-inset-left));bottom:max(22px,env(safe-area-inset-bottom));width:132px;height:132px;border-radius:50%;z-index:140;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 50%,#ffffff1f,#46f5d614 54%,#00000057 55%);border:2px solid rgba(255,255,255,.18);box-shadow:0 8px 22px #00000052,inset 0 0 18px #46f5d61f;touch-action:none;pointer-events:auto}#mobile-joystick.hidden{display:none}#mobile-joystick-knob{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,#ffd166eb,#ff4f6de6);border:2px solid rgba(255,255,255,.32);box-shadow:0 5px #460f1ccc,0 0 18px #ffd16659;transition:transform .04s linear}@media (hover: hover) and (pointer: fine){#mobile-joystick,#stats-toggle{display:none}}.item-badge{font-size:1.2rem;background:#0006;border-radius:6px;padding:2px 5px;position:relative;cursor:default}.item-badge sup{font-size:.55rem;position:absolute;top:2px;right:1px;color:var(--gold)}#curse-icons{display:flex;align-items:center;gap:4px;padding:2px 8px}.curse-icon{font-size:1.1rem;cursor:default}.curse-mult-badge{font-size:.75rem;color:var(--gold);font-weight:700;margin-left:2px}.timer-danger{color:var(--hot)!important;animation:timer-pulse .8s infinite}@keyframes timer-pulse{0%,to{opacity:1}50%{opacity:.5}}.hud-blind #xp-bar-top,.hud-blind #hp-bar-top,.hud-blind #hud-bottom,.hud-blind #passive-item-slots{visibility:hidden}#notification-stack{position:fixed;top:80px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:500;pointer-events:none}.toast-notification{background:#140c26eb;border:1px solid rgba(255,255,255,.18);border-left:4px solid var(--violet);border-radius:10px;padding:7px 16px;font-size:.9rem;font-weight:600;color:var(--text);animation:toast-in .3s ease;backdrop-filter:blur(8px)}.toast-exit{animation:toast-out .4s ease forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.88)}}.run-recap{max-height:200px;overflow-y:auto;width:100%;max-width:500px;margin:.5rem auto;scrollbar-color:rgba(255,209,102,.62) rgba(18,13,34,.54);scrollbar-width:thin}.recap-section{background:#ffffff0a;border-radius:8px;padding:8px 12px;margin-bottom:6px}.recap-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;opacity:.55;margin-bottom:6px}.log-entries{display:flex;flex-wrap:wrap;gap:3px}.log-emoji{font-size:1.3rem;cursor:default}.weapon-inventory{display:flex;flex-wrap:wrap;gap:6px}.weapon-badge{background:#ffffff14;border-radius:6px;padding:3px 8px;font-size:.8rem}.best-moments .moment-row{font-size:.85rem;margin:2px 0}#btn-share-run,#btn-victory-share{font-size:.85rem;padding:8px 16px}@keyframes level-flash{0%{filter:brightness(1)}15%{filter:brightness(2.5) saturate(1.5)}to{filter:brightness(1)}}.level-flash{animation:level-flash .4s ease}.upgrade-card[data-rarity=rare]{border-color:#48f}.upgrade-card[data-rarity=epic]{border-color:#a4f}.upgrade-card[data-rarity=legendary]{border-color:var(--gold);box-shadow:0 0 12px #ffdc464d}.upgrade-card[data-rarity=evolution]{border-color:var(--hot);box-shadow:0 0 16px #ff3c5a80;animation:evo-pulse 1.2s ease-in-out infinite}.upgrade-card.item-card{border-color:var(--leaf)}.upgrade-card:hover{transform:translateY(-3px) scale(1.02);transition:transform .15s}@keyframes evo-pulse{0%,to{box-shadow:0 0 12px #ff3c5a66}50%{box-shadow:0 0 24px #ff3c5acc}}@media (max-width: 760px),(max-height: 680px){.screen{justify-content:flex-start;gap:10px}.screen h1{font-size:clamp(2.35rem,13vw,3.7rem);margin-top:6px;text-align:center}.screen h2,#victory-screen h2{font-size:clamp(1.75rem,9vw,2.45rem);text-align:center}.subtitle{font-size:.95rem;margin-bottom:8px;text-align:center}button{width:min(100%,340px);min-width:0;padding:11px 16px;font-size:1rem}#sound-toggle{top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));width:34px;height:32px}#class-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:520px;gap:10px;margin-bottom:8px}.class-card{padding:12px 8px}.class-emoji,.card-emoji{font-size:2rem;margin-bottom:5px}.class-name,.card-name{font-size:.9rem}.class-desc,.card-desc{font-size:.7rem;line-height:1.25}.class-stats{font-size:.64rem}#curse-grid{grid-template-columns:1fr;width:100%;max-width:420px;max-height:none;margin:4px auto;overflow:visible}.curse-card{padding:10px}.curse-emoji{font-size:1.65rem}.curse-multiplier{font-size:1.2rem;margin:4px 0}.curse-actions{width:100%;position:sticky;bottom:0;padding:8px 0 max(4px,env(safe-area-inset-bottom));background:linear-gradient(to top,rgba(18,13,34,.98),rgba(18,13,34,.74),transparent)}#upgrade-modal{justify-content:flex-start}.modal h2{font-size:clamp(1.8rem,9vw,2.6rem);text-align:center}#upgrade-cards{gap:12px}.upgrade-card{width:min(100%,340px);min-width:0;padding:14px}#run-stats,#victory-stats{width:min(100%,360px);min-width:0;padding:14px 16px}.run-recap{max-height:none;max-width:380px}#forge-tabs,#forge-faction-tabs{width:100%;max-width:420px;justify-content:center}#forge-global-upgrades,#forge-faction-upgrades{grid-template-columns:1fr;max-width:420px}#hud-bottom{justify-content:center;gap:10px;padding:6px 10px max(10px,env(safe-area-inset-bottom))}#challenge-hud{top:56px;left:8px}#challenge-info{display:none}#char-panel{top:58px;right:max(8px,env(safe-area-inset-right));left:auto;width:min(76vw,240px);max-height:min(60vh,430px);z-index:160;pointer-events:auto;background:#000000e6;box-shadow:0 10px 26px #0000006b,0 0 18px #46f5d61f}}@media (max-width: 420px){#class-grid{grid-template-columns:1fr}#mobile-joystick{width:116px;height:116px}#mobile-joystick-knob{width:48px;height:48px}}
