@font-face{font-family:Pixelify Sans;src:url(/assets/PixelifySans-Cbhn5ptY.woff2) format("woff2");font-weight:400 700;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-6fWv1k7M.woff2) format("woff2");font-weight:100 800;font-display:swap}:root{--ui-bg: #0b0a0f;--ui-panel: #15131b;--ui-panel-2: #1c1924;--ui-inset: #0f0e14;--ui-line: #2e2a38;--ui-line-strong: #3d3648;--ui-text: #ebe5d6;--ui-text-soft: #c7c0d2;--ui-muted: #a39cae;--ui-faint: #6f6880;--ui-gold: #d8a64a;--ui-gold-bright: #f0c46a;--ui-gold-dim: #5a4a2c;--ui-hp: #d0473f;--ui-mp: #3f7fd6;--ui-good: #9fd28a;--ui-bad: #e0574e;--ui-font-display: "Pixelify Sans", "JetBrains Mono", monospace;--ui-font: "JetBrains Mono", ui-monospace, monospace;--hud-sidebar-width: 340px;--hud-bar-height: 132px}body{margin:0;padding:0;background-color:var(--ui-bg);height:100vh;font-family:var(--ui-font);overflow:hidden;color:var(--ui-text)}button{font-family:inherit}kbd{display:inline-block;min-width:14px;padding:0 4px;border:1px solid #4a4456;border-bottom-width:2px;border-radius:3px;color:var(--ui-text);font-family:var(--ui-font);font-size:11px;line-height:16px;text-align:center}#main-container{display:grid;position:relative;width:100vw;height:100vh}#main-container.hud-layout-sidebar{grid-template-columns:minmax(0,1fr) var(--hud-sidebar-width);grid-template-rows:minmax(0,1fr)}#main-container.hud-layout-actionbar{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) var(--hud-bar-height)}#game-container{position:relative;min-width:0;min-height:0;background-color:#000;overflow:hidden}#game-canvas{display:block;width:100%;height:100%;background-color:#000;image-rendering:pixelated}.hud{min-width:0;min-height:0;box-sizing:border-box;background:var(--ui-panel);color:var(--ui-text);font-size:13px}.hud-title{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:var(--ui-gold);font-family:var(--ui-font-display);font-size:14px;font-weight:400}.hud-title:after{content:"";flex:1;height:1px;background:var(--ui-line)}.hud-hero-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.hud-name{font-family:var(--ui-font-display);font-size:22px}.hud-level{color:var(--ui-muted)}.hud-mode-adventure{color:var(--ui-gold)}.hud-mode-hardcore{color:var(--ui-bad)}.hud-bar{position:relative;height:18px;margin-bottom:6px;border:1px solid #000}.hud-bar-hp{background:#3a1716;box-shadow:inset 0 0 0 1px #5a2522}.hud-bar-mp{background:#14223d;box-shadow:inset 0 0 0 1px #24375e}.hud-bar-fill{height:100%;transition:width .2s ease-out}.hud-bar-hp .hud-bar-fill{background:linear-gradient(#e0574e,#a93129)}.hud-bar-mp .hud-bar-fill{background:linear-gradient(#5d97ec,#2f63b9)}.hud-bar-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;padding:0 6px;font-size:11px;text-shadow:0 1px 0 #000}.hud-xp{display:flex;align-items:center;gap:8px;color:var(--ui-muted);font-size:11px}.hud-xp-track{flex:1;height:6px;background:#2a2433;border:1px solid #000}.hud-xp-fill{height:100%;background:var(--ui-gold)}.hud-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.hud-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;background:var(--ui-panel-2);border:1px solid var(--ui-line);border-radius:3px}.hud-stat span{display:flex;align-items:center;gap:3px;color:var(--ui-muted);font-size:10px;letter-spacing:1px}.hud-stat b{display:flex;align-items:center;gap:4px;font-size:15px}.hud-stat-gold b{color:var(--ui-gold-bright)}.hud-gold-icon{width:16px!important;height:16px!important}.hud-slots{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.hud-hotbar-slots{grid-template-columns:repeat(8,minmax(0,1fr))}.hud-slot{position:relative;display:flex;align-items:center;justify-content:center;height:42px;padding:0;background:var(--ui-inset);border:1px solid var(--ui-line);border-radius:3px;color:var(--ui-text);cursor:pointer}.hud-slot:hover{border-color:var(--ui-gold)}.hud-slot.filled{border-color:var(--ui-gold-dim)}.hud-slot.spell{background:#1d1830;border-color:#4b3f78}.hud-slot.unaffordable .pixel-icon{opacity:.35}.hud-slot.belt:nth-child(6){margin-left:4px}.hud-slot .pixel-icon{width:28px;height:28px}.hud-gear .hud-slot .pixel-icon{width:32px;height:32px}.hud-slot-key{position:absolute;top:1px;left:3px;color:var(--ui-muted);font-size:10px}.hud-slot-count{position:absolute;right:3px;bottom:0;font-size:10px;text-shadow:0 1px 0 #000}.hud-slot.spell .hud-slot-count{color:#8fb4f0}.rarity-border-uncommon{border-color:#4f7a3f!important}.rarity-border-rare{border-color:#3f5fa8!important}.rarity-border-epic{border-color:#7a4aa0!important}.rarity-border-legendary{border-color:var(--ui-gold)!important}.hud-log{display:flex;flex-direction:column;min-height:0}.hud-log-list{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;gap:3px;margin:0;padding:8px 10px;overflow:hidden;list-style:none;background:var(--ui-inset);border:1px solid var(--ui-line);border-radius:3px;line-height:1.4}.hud-log-line{opacity:max(.45,calc(1 - var(--age) * .1))}.hud-keys{display:flex;flex-wrap:wrap;gap:6px 10px}.hud-key{display:inline-flex;align-items:center;gap:4px;padding:0;background:none;border:none;color:var(--ui-muted);font-size:11px;cursor:pointer}.hud-key:hover{color:var(--ui-text)}.hud-key:hover kbd{border-color:var(--ui-gold)}.hud-tooltip{position:fixed;z-index:1100;max-width:240px;padding:8px 10px;background:#0b0a0ff5;border:1px solid var(--ui-line-strong);border-radius:4px;color:var(--ui-text-soft);font-family:var(--ui-font);font-size:12px;line-height:1.4;pointer-events:none}.hud-tooltip-name{margin-bottom:4px;font-family:var(--ui-font-display);font-size:15px;color:var(--ui-text)}.hud-tooltip-stats{margin-top:6px;color:var(--ui-good)}.hud-layout-sidebar .hud{display:flex;flex-direction:column;gap:14px;padding:16px;border-left:2px solid var(--ui-line)}.hud-layout-sidebar .hud-log{flex:1}.hud-layout-actionbar .hud{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr) minmax(300px,380px);grid-template-rows:auto auto auto;grid-template-areas:"hero hotbar gear" "hero hotbar stats" "hero hotbar keys";column-gap:24px;row-gap:6px;align-items:center;padding:10px 20px;border-top:2px solid var(--ui-line);box-shadow:0 -1px 0 var(--ui-line-strong)}.hud-layout-actionbar .hud-hero{grid-area:hero}.hud-layout-actionbar .hud-hotbar{grid-area:hotbar;justify-self:center}.hud-layout-actionbar .hud-gear{grid-area:gear}.hud-layout-actionbar .hud-keys{grid-area:keys;justify-content:flex-end;flex-wrap:nowrap;gap:8px}.hud-layout-actionbar .hud-title{display:none}.hud-layout-actionbar .hud-hero-head{margin-bottom:4px}.hud-layout-actionbar .hud-name{font-size:20px}.hud-layout-actionbar .hud-bar{margin-bottom:5px}.hud-layout-actionbar .hud-stats{grid-area:stats;display:flex;justify-content:flex-end;gap:14px}.hud-layout-actionbar .hud-stat{flex-direction:row;gap:5px;padding:0;background:none;border:none}.hud-layout-actionbar .hud-stat b{font-size:13px}.hud-layout-actionbar .hud-gear-slots{display:flex;justify-content:flex-end;gap:4px}.hud-layout-actionbar .hud-gear .hud-slot{width:38px;height:38px}.hud-layout-actionbar .hud-hotbar-slots{display:flex;gap:8px}.hud-layout-actionbar .hud-hotbar .hud-slot{width:58px;height:58px;border-width:2px}.hud-layout-actionbar .hud-hotbar .pixel-icon{width:40px;height:40px}.hud-layout-actionbar .hud-slot.belt:nth-child(6){margin-left:16px}.hud-layout-actionbar .hud-slot-key{font-size:12px;left:5px}.hud-layout-actionbar .hud-slot-count{font-size:11px;right:5px}.hud-layout-actionbar .hud-log{position:absolute;left:16px;bottom:calc(var(--hud-bar-height) + 12px);width:min(520px,45vw);pointer-events:none}.hud-layout-actionbar .hud-log-list{max-height:7.2em;padding:10px 12px;background:linear-gradient(#0b0a0f00,#0b0a0fd1 30%);border:none;text-shadow:0 1px 0 #000}.hud-layout-actionbar .hud-log-line{opacity:max(0,calc(1 - var(--age) * .22))}.rarity-common{color:var(--ui-text-soft)}.rarity-uncommon{color:#7fd06a}.rarity-rare{color:#6f9cf0}.rarity-epic{color:#c27ff0}.rarity-legendary{color:var(--ui-gold-bright)}#overlay-container{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1000;pointer-events:none;visibility:visible!important}#overlay-container.active{pointer-events:auto;background-color:#05040899;visibility:visible!important}.game-modal{display:flex;flex-direction:column;width:min(94vw,1200px);height:min(90vh,820px);background-color:var(--ui-panel);border:2px solid var(--ui-line-strong);border-radius:6px;box-shadow:0 0 0 1px #000,0 24px 60px #0009;font-family:var(--ui-font);font-size:13px;color:var(--ui-text);overflow:hidden}.game-modal h2,.game-modal h3{font-family:var(--ui-font-display);font-weight:400;color:var(--ui-gold)}.gm-tabs{flex:0 0 auto;display:flex;align-items:stretch;border-bottom:2px solid var(--ui-line);background-color:var(--ui-panel-2)}.gm-tab{padding:13px 22px;background:none;border:none;color:var(--ui-muted);font-family:var(--ui-font-display);font-size:16px;cursor:pointer}.gm-tab-key{margin-right:6px;color:var(--ui-faint)}.gm-tab:hover{color:var(--ui-text)}.gm-tab.active{background-color:var(--ui-panel);box-shadow:inset 0 -2px 0 var(--ui-gold);color:var(--ui-gold)}.gm-tab.active .gm-tab-key{color:#8f7440}.gm-close{margin-left:auto;padding:0 18px;background:none;border:none;border-left:1px solid var(--ui-line);color:var(--ui-muted);font-size:12px;cursor:pointer}.gm-close:hover{color:var(--ui-bad)}.gm-content{flex:1 1 auto;min-height:0;position:relative}.gm-panel{display:none;height:100%;overflow-y:auto;padding:16px 20px;box-sizing:border-box}.gm-panel.active{display:block}.gm-panel[data-tab=spellbook].active{display:flex;flex-direction:column;overflow:hidden}.gm-panel[data-tab=inventory]{padding:0;overflow:hidden}.gm-panel[data-tab=map].active{display:flex;flex-direction:column;overflow:hidden;padding:10px 14px 8px;gap:8px}.wm-header{flex:0 0 auto;display:flex;align-items:center;gap:6px}.wm-mode{padding:5px 12px;background-color:var(--ui-inset);border:1px solid var(--ui-line-strong);border-radius:3px;color:var(--ui-muted);font-family:var(--ui-font);font-size:13px;cursor:pointer}.wm-mode:hover{color:var(--ui-text)}.wm-mode.active{background-color:#2a2233;border-color:var(--ui-gold);color:var(--ui-gold);font-weight:700}.wm-key{display:inline-block;margin-left:4px;padding:0 4px;border:1px solid currentColor;border-radius:3px;font-size:10px;opacity:.7}.wm-title{margin-left:10px;color:var(--ui-text);font-family:var(--ui-font-display);font-size:15px;font-weight:400}.wm-hint{margin-left:auto;color:var(--ui-muted);font-size:11px;text-align:right}.wm-canvas-wrap{flex:1 1 auto;min-height:0;position:relative;border:1px solid var(--ui-line);border-radius:3px;overflow:hidden;background-color:#0a0a0f}.wm-canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0;image-rendering:pixelated;-webkit-user-select:none;user-select:none}.wm-footer{flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;color:var(--ui-muted);font-size:12px}.wm-legend{color:var(--ui-faint)}.wm-legend i{display:inline-block;width:8px;height:8px;margin:0 4px 0 10px;border-radius:2px;vertical-align:middle}.wm-legend i.wm-dashed{width:10px;border:1px dashed #6b5a2a;border-radius:0;background:none}.pixel-icon{display:block;width:32px;height:32px;image-rendering:pixelated;-webkit-user-drag:none}.pixel-icon-empty{opacity:.3;filter:grayscale(1) brightness(1.4)}.pixel-icon-inline{display:inline-block;width:16px;height:16px;vertical-align:-3px}.game-modal ::-webkit-scrollbar{width:10px}.game-modal ::-webkit-scrollbar-track{background:var(--ui-inset)}.game-modal ::-webkit-scrollbar-thumb{background:var(--ui-line-strong);border-radius:5px}.inv-layout{display:grid;grid-template-columns:210px minmax(0,1fr) 290px;height:100%}.inv-heading{margin:0 0 10px;font-size:15px}.inv-equipped{display:flex;flex-direction:column;gap:6px;padding:16px;border-right:1px solid var(--ui-line);overflow-y:auto}.inv-equip{display:flex;align-items:center;gap:10px;padding:4px;background:var(--ui-inset);border:1px solid var(--ui-line);border-radius:3px;color:var(--ui-text);text-align:left;cursor:pointer}.inv-equip.empty{cursor:default}.inv-equip.filled{border-color:var(--ui-gold-dim)}.inv-equip.filled:hover,.inv-equip.selected{border-color:var(--ui-gold)}.inv-equip.selected{background:#2a2233}.inv-equip-text{display:flex;flex-direction:column;min-width:0}.inv-equip-slot{color:var(--ui-faint);font-size:10px}.inv-equip-name{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.inv-equip.empty .inv-equip-name{color:var(--ui-faint)}.inv-pack{display:flex;flex-direction:column;gap:12px;min-height:0;padding:16px 18px;overflow-y:auto}.inv-pack-head{display:flex;align-items:baseline;justify-content:space-between}.inv-pack-head .inv-heading{margin:0}.inv-pack-meta{display:flex;gap:14px;color:var(--ui-muted)}.inv-gold{color:var(--ui-gold-bright);font-weight:600}.inv-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.inv-cell{position:relative;display:flex;align-items:center;justify-content:center;height:76px;padding:0;background:var(--ui-inset);border:2px solid var(--ui-line-strong);border-radius:4px;color:var(--ui-text);cursor:pointer}.inv-cell.empty{background:#121017;border-color:#24212c;cursor:default}.inv-cell:not(.empty):hover{border-color:var(--ui-gold-dim)}.inv-cell.selected{background:#2a2233;border-color:var(--ui-gold)!important}.inv-cell .pixel-icon{width:48px;height:48px}.inv-cell-key{position:absolute;top:3px;left:6px;color:var(--ui-faint);font-size:11px}.inv-cell-qty{position:absolute;right:6px;bottom:2px;font-size:12px;text-shadow:0 1px 0 #000}.inv-hint{margin:auto 0 0;color:var(--ui-muted);font-size:11px;line-height:1.8}.inv-detail{display:flex;flex-direction:column;gap:14px;padding:18px;background:#1a1721;border-left:1px solid var(--ui-line);overflow-y:auto}.inv-detail-empty{margin:0;color:var(--ui-faint)}.inv-detail-head{display:flex;align-items:center;gap:12px}.inv-detail-icon{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--ui-inset);border:2px solid var(--ui-gold-dim);border-radius:4px}.inv-detail-icon .pixel-icon{width:48px;height:48px}.inv-detail-name{font-family:var(--ui-font-display);font-size:20px}.inv-detail-type{color:var(--ui-muted);font-size:12px}.inv-detail-desc{margin:0;color:var(--ui-text-soft);line-height:1.5}.inv-stats{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--ui-inset);border:1px solid var(--ui-line);border-radius:3px}.inv-stats-caption{color:var(--ui-faint);font-size:11px}.inv-stat-row{display:flex;justify-content:space-between}.inv-up{color:#7fc4ff}.inv-down{color:var(--ui-bad)}.inv-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto}.inv-actions .inv-detail-empty{grid-column:1 / -1}.inv-action{min-height:44px;background:var(--ui-panel-2);border:1px solid var(--ui-line-strong);border-radius:3px;color:var(--ui-text);font-family:var(--ui-font-display);font-size:15px;cursor:pointer}.inv-action:hover:not(:disabled){border-color:var(--ui-gold)}.inv-action:disabled{color:var(--ui-faint);cursor:not-allowed}.inv-action.primary{background:var(--ui-gold);border-color:var(--ui-gold-bright);color:#1a1408}.inv-action.primary:hover{background:var(--ui-gold-bright)}.inv-action kbd{margin-left:4px}.inv-action.primary kbd{color:#1a1408;border-color:#8f7440}#landing-page{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--ui-bg);background-image:linear-gradient(90deg,#0b0a0ff7,#0b0a0fe6 34%,#0b0a0f40 75%),url(/assets/menu-background-C8WSD7wO.png);background-size:cover;background-position:75% 55%;image-rendering:pixelated;display:flex;align-items:center;z-index:1000}.menu-container{display:flex;flex-direction:column;gap:28px;width:min(440px,calc(100% - 32px));margin-left:clamp(16px,8vw,120px);animation:fadeIn .5s ease-out}.game-title{margin:0;color:var(--ui-gold);font-family:var(--ui-font-display);font-size:72px;font-weight:700;line-height:.95;text-shadow:0 4px 0 #5a3f15}.game-version{margin-top:-18px;color:var(--ui-muted);font-size:13px}.menu-options{display:flex;flex-direction:column;gap:8px}.menu-btn{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 18px;background-color:var(--ui-panel);border:1px solid var(--ui-line-strong);border-radius:3px;color:var(--ui-text);font-family:var(--ui-font-display);font-size:18px;text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s}.menu-btn:hover,.menu-btn:focus-visible{border-color:var(--ui-gold);background-color:var(--ui-panel-2);outline:none}#continue-btn,#continue-btn[style*=none]+#quick-play-btn{min-height:52px;background-color:var(--ui-gold);border-color:var(--ui-gold-bright);color:#1a1408;font-size:20px}#continue-btn:hover,#continue-btn[style*=none]+#quick-play-btn:hover{background-color:var(--ui-gold-bright)}.menu-btn-meta{font-family:var(--ui-font);font-size:12px;opacity:.75}.menu-btn-wip{color:var(--ui-muted);border-style:dashed}.menu-btn-wip:hover,.menu-btn-wip:focus-visible{color:var(--ui-text-soft);border-color:var(--ui-gold-dim)}.menu-btn-tag{padding:3px 7px;border:1px solid var(--ui-gold-dim);border-radius:2px;background-color:var(--ui-inset);color:var(--ui-gold);font-family:var(--ui-font);font-size:10px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.game-copyright{color:var(--ui-faint);font-size:11px}.game-copyright a{color:var(--ui-gold);text-decoration:none}.game-copyright a:hover{text-decoration:underline;color:var(--ui-gold-bright)}@keyframes fadeIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.mode-select{display:flex;flex-direction:column;gap:10px}.mode-select-title{color:var(--ui-gold);font-family:var(--ui-font-display);font-size:22px;margin-bottom:2px}.mode-card{padding:14px 18px;background-color:var(--ui-panel);border:1px solid var(--ui-line-strong);border-radius:3px;color:var(--ui-text);text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s}.mode-card:hover,.mode-card:focus-visible{border-color:var(--ui-gold);background-color:var(--ui-panel-2);outline:none}.mode-card.preferred{border-color:var(--ui-gold);box-shadow:inset 3px 0 0 var(--ui-gold)}.mode-card-name{margin-bottom:4px;font-family:var(--ui-font-display);font-size:20px}#mode-hardcore .mode-card-name{color:var(--ui-bad)}.mode-card-desc{color:var(--ui-muted);font-size:13px}.mode-back{align-self:flex-start;padding:8px 0;background:none;border:none;color:var(--ui-muted);font-size:14px;cursor:pointer}.mode-back:hover{color:var(--ui-text)}.menu-modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#05040899;display:flex;justify-content:center;align-items:center;z-index:10}.menu-modal{width:min(460px,calc(100% - 32px));background-color:var(--ui-panel);border:2px solid var(--ui-line-strong);border-radius:6px;color:var(--ui-text-soft);box-shadow:0 0 0 1px #000,0 24px 60px #0009}.menu-modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:2px solid var(--ui-line);background:var(--ui-panel-2);color:var(--ui-gold);font-family:var(--ui-font-display);font-size:18px}.menu-modal-close{background:none;border:none;color:var(--ui-muted);font-size:16px;cursor:pointer;padding:2px 6px}.menu-modal-close:hover{color:var(--ui-bad)}.menu-modal-body{padding:18px;font-size:13px;line-height:1.5}.menu-modal-body p{margin:0 0 10px}.menu-option-label{color:var(--ui-gold);font-family:var(--ui-font-display);font-size:15px}.display-mode-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.display-mode-btn{min-height:40px;padding:8px;background-color:var(--ui-inset);border:1px solid var(--ui-line-strong);border-radius:3px;color:var(--ui-text-soft);font:inherit;cursor:pointer}.display-mode-btn:hover{border-color:var(--ui-gold);color:var(--ui-text)}.display-mode-btn[aria-checked=true]{background-color:var(--ui-gold);border-color:var(--ui-gold-bright);color:#1a1408;font-weight:600}.volume-list{display:grid;gap:8px;margin-bottom:10px}.volume-row{display:grid;grid-template-columns:70px 1fr 32px;align-items:center;gap:10px;color:var(--ui-text-soft)}.volume-row input[type=range]{width:100%;accent-color:var(--ui-gold)}.volume-row output{text-align:right;color:var(--ui-muted);font-variant-numeric:tabular-nums}.volume-mute{min-height:34px}.menu-option-hint{color:var(--ui-muted);font-size:12px}@media (max-width: 600px){.game-title{font-size:52px}}
