:root{--gold: #e8c979;--red: #e0554f;--blue: #6ad0ff;--panel: rgba(14, 16, 24, .86);--border: rgba(232, 201, 121, .35)}*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none}html,body,#app{width:100%;height:100%;overflow:hidden;background:#05060a;font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif;color:#eee}canvas{display:block;cursor:crosshair}canvas.pixelated{width:100%!important;height:100%!important;image-rendering:pixelated;image-rendering:crisp-edges}#ui{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}.hud-top{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px}.stat-row{display:flex;gap:18px;font-size:15px;letter-spacing:.5px;text-shadow:0 2px 4px #000}.stat-row b{color:var(--gold)}.hud-bars{position:absolute;left:20px;bottom:20px;width:300px;max-width:40vw}.bar{height:20px;border:1px solid var(--border);border-radius:4px;background:#00000080;overflow:hidden;position:relative;margin-bottom:8px}.bar .fill{height:100%;transition:width .15s ease-out}.bar .label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;text-shadow:0 1px 2px #000}#hpFill{background:linear-gradient(90deg,#b02a2a,#e0554f)}#xpFill{background:linear-gradient(90deg,#2a7fb0,#6ad0ff);height:12px}#xpBar{height:12px}.hud-dash{position:absolute;right:20px;bottom:20px;text-align:center}.dash-ring{width:56px;height:56px;border-radius:50%;border:3px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:22px;position:relative;background:conic-gradient(var(--blue) var(--p, 0%),rgba(255,255,255,.08) 0%)}.dash-ring.ready{border-color:var(--blue);box-shadow:0 0 14px #6ad0ff99}.dash-label{font-size:11px;margin-top:4px;opacity:.7}.gold-stat b,.gold-stat span{color:#ffd870!important}.room-track{display:flex;gap:4px;justify-content:center;margin-top:4px}.room-track i{width:20px;height:20px;border-radius:4px;border:1px solid var(--border);background:#00000073;font-size:11px;font-style:normal;display:flex;align-items:center;justify-content:center;color:#888}.room-track i.done{background:#78c88240;border-color:#6ab06a;color:#9fe0a0}.room-track i.now{background:#e8c9794d;border-color:var(--gold);color:#fff;transform:scale(1.15)}.prompt{position:absolute;left:50%;bottom:110px;transform:translate(-50%);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px 16px;font-size:15px;color:#fff;opacity:0;transition:opacity .12s;white-space:nowrap}.prompt.show{opacity:1}.prompt kbd{background:#23283a;border:1px solid var(--border);border-radius:4px;padding:2px 8px;color:var(--gold);font-family:inherit;margin-right:4px}.shop-panel{width:780px;max-width:94vw;max-height:88vh;overflow-y:auto;background:var(--panel);border:2px solid var(--border);border-radius:14px;padding:24px 26px;pointer-events:auto;box-shadow:0 16px 40px #0009}.shop-head{font-size:30px;color:var(--gold);text-align:center;letter-spacing:3px}.shop-sub{text-align:center;color:#bbb;font-size:14px;margin:6px 0 18px}.shop-items{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.shop-item{position:relative;width:138px;min-height:176px;background:#ffffff0a;border:2px solid var(--border);border-radius:10px;padding:16px 10px 12px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s}.shop-item:hover{transform:translateY(-6px);box-shadow:0 10px 22px #0000008c}.shop-item.common{border-color:#c8c8c873}.shop-item.rare{border-color:#6aa0ffa6}.shop-item.epic{border-color:#c878ffb3}.shop-item.legendary{border-color:#f0a030;background:linear-gradient(160deg,#3c280ae6,#141018d9);box-shadow:0 0 16px #f0a0304d}.shop-item .si-icon{font-size:34px}.shop-item .si-name{font-size:15px;font-weight:700;color:#fff}.shop-item .si-desc{font-size:11.5px;color:#b8b0a0;line-height:1.45}.shop-item .si-price{margin-top:auto;font-size:15px;font-weight:700;color:#ffd870}.shop-item.poor{cursor:not-allowed;opacity:.5}.shop-item.poor:hover{transform:none;box-shadow:none}.shop-item.sold{cursor:default;opacity:.35}.shop-item.sold .si-price{color:#888}.shop-actions{display:flex;gap:12px;margin-top:20px}.shop-actions .btn.small{margin-top:0;flex:1;font-size:16px;padding:12px}.btn.small.alt{background:linear-gradient(180deg,#4a5468,#333b4a);color:#e8e8ee;box-shadow:0 6px #232936,0 8px 16px #00000080}.btn.small.alt:active{box-shadow:0 2px #232936}.btn.poor{filter:grayscale(.7);opacity:.6}.icon-btn{position:absolute;top:14px;right:16px;pointer-events:auto;cursor:pointer;width:42px;height:42px;font-size:20px;line-height:1;border:1px solid var(--border);border-radius:50%;background:var(--panel);color:#fff;transition:transform .15s,border-color .1s}.icon-btn:hover{transform:scale(1.08) rotate(40deg);border-color:var(--gold)}.hud-ammo{position:absolute;right:20px;bottom:92px;text-align:right}.ammo-pips{display:flex;gap:3px;justify-content:flex-end;margin-bottom:4px}.ammo-pips i{width:6px;height:15px;border-radius:2px;background:#4a3520;display:inline-block;transition:background .1s}.ammo-pips i.on{background:var(--gold);box-shadow:0 0 5px #e8c979b3}.ammo-text{font-size:16px;font-weight:700;color:var(--gold);text-shadow:0 2px 3px #000}.ammo-label{font-size:10px;opacity:.6;margin-top:2px}.ammo-label kbd{background:#23283a;border:1px solid var(--border);border-radius:3px;padding:0 4px;color:var(--gold)}.hud-ammo.reloading .ammo-text{color:#ff9a5a;animation:reloadPulse .5s ease-in-out infinite}@keyframes reloadPulse{50%{opacity:.4}}.settings-panel{width:460px;max-width:92vw;max-height:86vh;overflow-y:auto;background:var(--panel);border:2px solid var(--border);border-radius:14px;padding:26px 28px;pointer-events:auto;box-shadow:0 16px 40px #0009}.settings-title{font-size:28px;color:var(--gold);text-align:center;letter-spacing:3px;margin-bottom:18px}.settings-sec{font-size:15px;color:var(--gold);letter-spacing:1px;margin:18px 0 10px;border-bottom:1px solid var(--border);padding-bottom:6px}.traits-count{font-size:12px;color:#999;letter-spacing:0}.slider-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.slider-row label{width:56px;font-size:14px;color:#ddd}.slider-row input[type=range]{flex:1;accent-color:var(--gold);cursor:pointer}.slval{width:42px;text-align:right;font-size:13px;color:var(--gold)}.traits{display:flex;flex-direction:column;gap:8px}.trait-empty{font-size:13px;color:#888;text-align:center;padding:16px 0}.trait{display:flex;align-items:center;gap:12px;background:#ffffff0a;border-left:3px solid #888;border-radius:6px;padding:8px 12px}.trait.common{border-left-color:#ccc}.trait.rare{border-left-color:#6aa0ff}.trait.epic{border-left-color:#c878ff}.trait .ticon{font-size:24px}.trait .tmain{flex:1;display:flex;flex-direction:column}.trait .tname{font-size:15px;font-weight:700;color:#fff}.trait .tdesc{font-size:12px;color:#b8b0a0}.trait .tlv{font-size:15px;font-weight:700;color:var(--gold);white-space:nowrap}.btn.small{margin-top:22px;width:100%;padding:12px;font-size:17px}#bossBar{position:absolute;top:70px;left:50%;transform:translate(-50%);width:60%;max-width:600px;display:none}#bossBar .bar{height:16px}#bossBar .name{text-align:center;color:var(--red);font-weight:700;text-shadow:0 0 8px #e0554f;margin-bottom:4px;font-size:15px;letter-spacing:2px}#bossFill{background:linear-gradient(90deg,#7a1010,#e0554f)}#banner{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);font-size:42px;font-weight:700;color:var(--gold);text-shadow:0 0 20px #000,0 4px 8px #000;opacity:0;text-align:center;letter-spacing:3px}@keyframes bannerPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.1)}}#banner.show{animation:bannerPop 2s ease-out forwards}.floater{position:fixed;left:0;top:0;font-size:16px;font-weight:700;color:#fff;text-shadow:0 2px 3px #000;pointer-events:none;z-index:20}.floater.crit{font-size:24px;color:var(--gold);text-shadow:0 0 8px #e8c979,0 2px 3px #000}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#04050ad1;display:none;flex-direction:column;align-items:center;justify-content:center;pointer-events:auto;z-index:30;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.overlay.show{display:flex}.title{font-size:54px;font-weight:700;color:var(--gold);text-shadow:0 0 24px rgba(232,201,121,.5),0 4px 10px #000;letter-spacing:4px}.subtitle{font-size:18px;color:#bbb;margin-top:6px;letter-spacing:2px}.helptext{margin-top:26px;font-size:14px;line-height:2;color:#cfc7b5;text-align:center;max-width:480px}.helptext kbd{background:#23283a;border:1px solid var(--border);border-radius:4px;padding:2px 8px;color:var(--gold);font-family:inherit}.btn{margin-top:28px;pointer-events:auto;cursor:pointer;padding:14px 42px;font-size:20px;font-weight:700;color:#1a1206;background:linear-gradient(180deg,#f0d68a,#d4af52);border:none;border-radius:8px;letter-spacing:2px;box-shadow:0 6px #8a6d28,0 8px 16px #00000080;transition:transform .08s}.btn:active{transform:translateY(4px);box-shadow:0 2px #8a6d28}.levelup-head{font-size:34px;color:var(--gold);text-shadow:0 0 16px #000;margin-bottom:8px;letter-spacing:3px}.levelup-sub{color:#bbb;margin-bottom:28px}.cards{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}.card{width:200px;min-height:210px;background:var(--panel);border:2px solid var(--border);border-radius:12px;padding:22px 16px;cursor:pointer;pointer-events:auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;transition:transform .12s,box-shadow .12s,border-color .12s}.card:hover{transform:translateY(-8px);box-shadow:0 12px 28px #0009}.card .cicon{font-size:46px}.card .cname{font-size:20px;font-weight:700;color:#fff}.card .cdesc{font-size:14px;color:#cfc7b5;line-height:1.5}.card .crar{font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-top:auto;opacity:.8}.card.common{border-color:#c8c8c866}.card.common:hover{border-color:#ccc}.card.common .crar{color:#ccc}.card.rare{border-color:#6aa0ff99}.card.rare:hover{border-color:#6aa0ff;box-shadow:0 12px 28px #6aa0ff4d}.card.rare .crar{color:#6aa0ff}.card.epic{border-color:#c878ffb3}.card.epic:hover{border-color:#c878ff;box-shadow:0 12px 28px #c878ff59}.card.epic .crar{color:#c878ff}.card.legendary{border-color:#f0a030;background:linear-gradient(160deg,#3c280aeb,#141018e6);box-shadow:0 0 18px #f0a03059}.card.legendary:hover{border-color:#ffca50;box-shadow:0 14px 34px #f0aa3280,0 0 22px #ffc85080}.card.legendary .cname{color:#ffd873;text-shadow:0 0 8px rgba(255,190,60,.6)}.card.legendary .crar{color:#ffca50}.card{position:relative}.ctag{position:absolute;top:8px;left:8px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;background:#00000080;border:1px solid var(--border);color:var(--gold)}.equipped{display:flex;gap:10px;margin-bottom:4px}.eq{flex:1;display:flex;align-items:center;gap:8px;background:#ffffff0d;border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:14px;color:#fff}.eq .eqi{font-size:22px}.gameover-stats{margin-top:18px;font-size:18px;color:#ddd;line-height:1.9;text-align:center}.gameover-stats b{color:var(--gold)}.credit{position:absolute;bottom:10px;left:50%;transform:translate(-50%);font-size:11px;color:#556;letter-spacing:1px}@media(max-width:640px){.title{font-size:38px}.card{width:150px;min-height:180px}.hud-bars{width:200px}}
