.pixel-icon{image-rendering:pixelated;display:block;flex-shrink:0}.rarity-normal{--item-edge: #8a8680;color:var(--ink)}.rarity-magic{--item-edge: #3868b8;color:#8ab0e8}.rarity-rare{--item-edge: #b89838;color:#e8d878}.rarity-unique{--item-edge: #b85838;color:#e8a878}.rarity-currency{--item-edge: #8b5cf6;color:#c4b5fd}.item-icon{filter:drop-shadow(0 1px 0 #0008)}.inv-item-overlay{display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1;box-sizing:border-box;border:1px solid var(--item-edge, var(--edge));background:#1c1c1c;position:relative}.inv-item-overlay.rarity-normal{--item-edge: #8a8680;background:#1e1e1e}.inv-item-overlay.rarity-magic{--item-edge: #3868b8;background:#141c2a}.inv-item-overlay.rarity-rare{--item-edge: #b89838;background:#221f14}.inv-item-overlay.rarity-unique{--item-edge: #b85838;background:#261812}.inv-item-overlay.rarity-currency{--item-edge: #8b5cf6;background:#1a1428}.inv-item-stack{position:absolute;right:2px;bottom:1px;font-size:9px;line-height:1;font-weight:600;color:#e9d5ff;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000;pointer-events:none}.rarity-currency .inv-item-stack{color:#ddd6fe}.item-tooltip-head{display:flex;align-items:flex-start;gap:.45rem;margin-bottom:.35rem}.item-tooltip{padding:.45rem .55rem;border:2px solid var(--item-edge, var(--edge));background:#111;font-family:Silkscreen,monospace;font-size:10px;max-width:16rem}.item-tooltip-name{font-size:11px;color:inherit;margin-bottom:.15rem}.item-tooltip-base{color:var(--muted);margin-bottom:.35rem}.item-tooltip-lines{margin:0;padding:0;list-style:none;display:grid;gap:.15rem}.item-tooltip-description{margin:0 0 .25rem;color:var(--muted);font-size:9px;line-height:1.35}.item-tooltip-implicit{color:var(--muted);padding-bottom:.25rem;border-bottom:1px solid #333;margin-bottom:.25rem}.item-tooltip-weapon{color:var(--ink);padding-bottom:.25rem;border-bottom:1px solid #333;margin-bottom:.25rem}.item-tooltip-affix{color:#8ab0e8}.item-tooltip-ilvl{color:var(--muted);font-size:9px;margin-top:.1rem}.item-tooltip-stack{color:#c4b5fd;font-size:9px;margin-top:.1rem}.item-tooltip-affix-group+.item-tooltip-affix-group{margin-top:.25rem}.item-tooltip-affix-heading{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.1rem}.item-tooltip-affix-meta,.item-tooltip-empty{color:var(--muted)}:root{color-scheme:dark;--bg: #181818;--panel: #222;--panel2: #1a1a1a;--ink: #e8e4dc;--muted: #8a8680;--edge: #4a4844;--edge-light: #6a6660;--hp: #b83838;--mana: #3868b8;--es: #38a0c8;--enemy: #b87838;--on: #7cb342;--flash: #e8d878;--panel-main-height: 300px;--panel-ground-height: 280px;--panel-menu-height: 480px;--navbar-height: 52px;font-family:Silkscreen,monospace;font-size:14px;line-height:1.4;background:var(--bg);color:var(--ink);image-rendering:pixelated}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;min-height:100%}body{min-height:100vh;overflow-x:hidden;overflow-y:auto;background:linear-gradient(0deg,#0002 1px,transparent 1px),linear-gradient(90deg,#0002 1px,transparent 1px),var(--bg);background-size:4px 4px}button{font:inherit;cursor:pointer;color:inherit}h1,h2{font-family:"Press Start 2P",Silkscreen,monospace;font-weight:400;margin:0;letter-spacing:0}h1{font-size:14px}h2{font-size:10px;display:flex;align-items:center;gap:.4rem;color:var(--muted);text-transform:uppercase}.area-level{margin-left:auto;font-size:8px;color:var(--flash);text-transform:none}.app{width:min(720px,calc(100% - 1rem));margin:0 auto;padding:.75rem 0 1.5rem;display:grid;grid-template-rows:var(--navbar-height) auto;gap:.75rem;min-height:100vh;box-sizing:border-box}.top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;height:var(--navbar-height);min-height:var(--navbar-height);max-height:var(--navbar-height);padding:0 .65rem;border:2px solid var(--edge);background:var(--panel2);overflow:hidden}.brand{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.top-exp{flex:1 1 120px;min-width:88px;max-width:200px;display:grid;gap:.2rem;align-self:center}.top-exp-head{display:flex;align-items:center;justify-content:space-between;gap:.35rem;font-size:9px;color:var(--muted);line-height:1}.top-exp-val{font-variant-numeric:tabular-nums}.top-exp .bar{height:6px}.menu-bar{display:flex;flex-wrap:nowrap;gap:.35rem;flex:1 1 auto;min-width:0;justify-content:flex-end;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.menu-btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.35rem .45rem;min-width:2rem;min-height:2rem;flex-shrink:0;border:2px solid var(--edge);background:var(--panel);font-size:12px}.menu-btn:hover{border-color:var(--edge-light);background:#2a2a2a}.menu-btn.active{border-color:var(--on);background:#1e2a1a}.save-toast{position:fixed;right:1rem;bottom:1rem;z-index:80;display:flex;align-items:center;gap:.4rem;padding:.4rem .65rem;border:2px solid var(--edge);background:var(--panel2);color:var(--flash);font-size:11px;line-height:1;pointer-events:none;box-shadow:inset 0 0 0 1px #ffffff0a,4px 4px #0008}.save-toast-saved{border-color:var(--on);color:var(--on)}.app-body{position:relative;min-height:0}.menu-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:.85rem}.menu-overlay-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;margin:0;padding:0;background:#060608b8;cursor:default}.menu-screen{position:relative;z-index:1;width:min(100%,660px);height:min(var(--panel-menu-height),100%);max-height:100%;gap:.65rem;min-height:0;overflow:hidden;grid-template-rows:auto minmax(0,1fr);box-shadow:inset 0 0 0 1px #ffffff0a,4px 4px #0008}.menu-screen-body{min-height:0;overflow:auto}.map-screen{display:grid;gap:.65rem}.map-screen-intro{margin:0;font-size:10px;color:var(--muted);line-height:1.45}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.45rem;margin:0;padding:0;list-style:none}.map-card{display:grid;gap:.2rem;justify-items:center;width:100%;padding:.45rem .35rem;border:2px solid var(--edge);background:#151515;text-align:center}.map-card:hover:not(:disabled){border-color:var(--edge-light);background:#1a1a1a}.map-card-active{border-color:var(--flash);box-shadow:inset 0 0 0 1px #e8d87844}.map-card-locked{opacity:.45;cursor:not-allowed}.map-card-tier{font-size:11px;color:var(--flash)}.map-card-name{font-size:9px;color:var(--ink);line-height:1.3}.map-card-level{font-size:8px;color:var(--muted)}.cheat-menu{display:grid;gap:.65rem;min-height:0}.cheat-menu-hint{margin:0;font-size:11px;color:var(--muted);line-height:1.45}.cheat-menu-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem}.cheat-rarity-label{display:inline-flex;align-items:center;gap:.45rem;font-size:11px;color:var(--muted)}.cheat-rarity-select{border:2px solid var(--edge);background:var(--panel);color:var(--ink);font:inherit;font-size:11px;padding:.2rem .35rem}.cheat-status{font-size:11px;color:var(--flash)}.cheat-columns{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;min-height:0}@media(max-width:560px){.cheat-columns{grid-template-columns:1fr}}.cheat-section{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.35rem}.cheat-section h3{margin:0;font-size:10px;color:var(--muted);text-transform:uppercase}.cheat-list{list-style:none;margin:0;display:grid;gap:.3rem;max-height:320px;overflow:auto;border:2px solid var(--edge);background:var(--panel2);padding:.35rem}.cheat-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem;padding:.25rem .35rem;border:1px solid #333;background:var(--panel)}.cheat-row-text{min-width:0;display:grid;gap:.1rem}.cheat-row-name{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cheat-row-unique{color:#c9a227}.cheat-row-meta{font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cheat-spawn-btn{border:2px solid var(--edge);background:#1e2a1a;color:var(--ink);font:inherit;font-size:10px;padding:.25rem .45rem;flex-shrink:0}.cheat-spawn-btn:hover{border-color:var(--on)}.menu-screen-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.menu-close{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .5rem;border:2px solid var(--edge);background:var(--panel2);font-size:10px}.menu-close:hover{border-color:var(--edge-light)}.layout{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:var(--panel-main-height) var(--panel-ground-height);gap:.75rem;align-items:stretch}@media(max-width:640px){.layout{grid-template-columns:1fr;grid-template-rows:var(--panel-main-height) var(--panel-main-height) var(--panel-ground-height)}}.combat-panel,.log-panel{height:var(--panel-main-height);grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}.ground-loot-panel{grid-column:1 / -1;height:var(--panel-ground-height);min-height:0;overflow:hidden;grid-template-rows:minmax(0,1fr)}.panel{border:2px solid var(--edge);background:var(--panel);padding:.65rem;display:grid;gap:.55rem}.combat-view{display:flex;flex-direction:column;height:100%;min-height:0;border:2px solid var(--edge);background:var(--panel2);padding:.55rem}.combat-stage-wrap{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:1.25rem}.map-card-dummy{margin:0 0 .35rem;width:100%;max-width:16rem}.dummy-dps{display:flex;flex-direction:column;align-items:center;gap:.1rem;font-size:10px;color:var(--accent, #d4b44a);letter-spacing:.02em}.dummy-dps-burst{color:var(--muted);font-size:9px}.combat-stage{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:.5rem;min-height:120px;padding:.35rem .25rem 0}.ground-loot{display:grid;gap:.35rem;min-height:0;overflow:hidden;grid-template-rows:auto auto minmax(0,1fr)}.inventory-grid-panel .container-head,.stash-screen .container-head{margin-bottom:.15rem}.ground-loot .inv-grid-wrap{min-height:0;overflow:auto}.ground-loot h3{margin:0;font-family:Silkscreen,monospace;font-size:10px;font-weight:400;color:var(--muted);text-transform:uppercase;display:flex;align-items:center;gap:.35rem}.container-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.container-head h3{margin:0}.container-actions{display:flex;align-items:center;gap:.35rem}.container-actions button{font:inherit;font-size:10px;padding:.25rem .45rem;border:2px solid var(--edge);background:var(--panel2);color:var(--ink);cursor:pointer}.container-actions button:disabled{opacity:.45;cursor:default}.container-actions button:not(:disabled):hover{border-color:var(--edge-light)}.container-actions-danger:not(:disabled):hover{border-color:#a55;color:#f5b0b0}.ground-loot-empty{margin:0;font-size:10px;color:var(--muted);padding:.35rem 0}.fighter{display:grid;justify-items:center;gap:.35rem;width:100%;max-width:160px;margin:0 auto}.fighter-bar{width:100%;display:grid;gap:.15rem}.fighter-bar-empty{height:22px}.fighter-bar-val{font-size:9px;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}.fighter.hurt{animation:shake .14s steps(2) 2}.fighter.hurt .enemy-sprite,.fighter.hurt .pixel-icon{box-shadow:0 0 0 2px #b8383888;background:#3a1515}@keyframes shake{0%{transform:translate(0)}50%{transform:translate(2px,-2px)}to{transform:translate(0)}}.sprite-box{width:48px;height:48px;border:2px solid var(--edge-light)}.player-box{background:#4a8ab8;box-shadow:inset -4px -4px #286090,inset 4px 4px #8ac0e8}.sprite-box.empty{background:#333}.fighter-label{font-size:10px;color:var(--muted);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-effect-slot{width:100%;max-width:120px;min-height:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-effect-bar{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.2rem;margin:0;padding:0;list-style:none;width:100%;max-width:120px;min-height:22px}.status-badge{display:flex;align-items:center;justify-content:center;padding:1px;border:1px solid var(--edge);background:#111;line-height:0;cursor:help}.status-badge .pixel-icon{image-rendering:pixelated}.status-bleed{border-color:#a44;color:#f0a0a0}.status-blind{border-color:#888;color:#ddd}.status-poisoned{border-color:#6a6;color:#b8f0b8}.status-ignited{border-color:#c84;color:#ffc080}.status-chilled{border-color:#6af;color:#b0d8ff}.status-frozen{border-color:#48f;color:#d0e8ff;background:#0a1a2a}.status-tooltip{min-width:10rem;max-width:14rem;padding:.45rem .55rem;border:2px solid var(--edge-light);background:#111;box-shadow:4px 4px #0008;font-size:10px;pointer-events:none}.status-tooltip-head{display:flex;align-items:flex-start;gap:.45rem;margin-bottom:.35rem}.status-tooltip-name{font-size:11px;color:var(--ink);margin-bottom:.1rem}.status-tooltip-summary{color:var(--muted);font-size:9px;line-height:1.35}.status-tooltip-lines{margin:0;padding:.35rem 0 0 1rem;border-top:1px solid #333;color:var(--muted);line-height:1.4}.status-tooltip-bleed{border-color:#a44}.status-tooltip-blind{border-color:#888}.status-tooltip-poisoned{border-color:#6a6}.status-tooltip-ignited{border-color:#c84}.status-tooltip-chilled{border-color:#6af}.status-tooltip-frozen{border-color:#48f}.status-tooltip-expired{border-style:dotted;opacity:.88}.enemy-sprite{display:flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0;font:inherit;color:inherit;border:2px solid var(--item-edge, var(--edge));background:#1a1a1a;cursor:help}.enemy-sprite.rarity-normal{--item-edge: #8a8680;background:#1a1a1a}.enemy-sprite.rarity-magic{--item-edge: #3868b8;background:#141c2a}.enemy-sprite.rarity-rare{--item-edge: #b89838;background:#221f14}.enemy-sprite.rarity-unique{--item-edge: #b85838;background:#261812}.vs{font-family:"Press Start 2P",monospace;font-size:8px;color:var(--muted)}.log-panel .log-body{min-height:0;overflow:hidden;display:flex;flex-direction:column;height:100%}.log-panel .log{margin:0;padding:.35rem;list-style:none;display:block;flex:1 1 auto;min-height:0;height:100%;overflow:scroll;border:2px solid var(--edge);background:var(--panel2);font-size:11px;color:var(--muted);-webkit-overflow-scrolling:touch}.log-panel .log li+li{margin-top:.2rem}.dmg-physical{color:#c8c4bc}.dmg-fire{color:#e87848}.dmg-cold{color:#68a8e8}.dmg-lightning{color:#e8d848}.dmg-chaos{color:#a868c8}.ability-bar{display:grid;gap:.4rem;flex:0 0 auto}.ability-dock{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;padding-top:.85rem;border-top:2px solid var(--edge)}.ability-slot{position:relative;display:grid;justify-items:center;gap:.2rem;min-width:4.5rem;padding:.4rem .35rem;border:2px solid var(--edge);background:var(--panel);text-align:center}.ability-slot-name{font-size:9px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ability-cd{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#000a;font-size:11px;color:var(--ink)}.ability-badge{font-size:8px;color:var(--on)}.ability-slot.on{border-color:var(--on)}.ability-slot.ready.on{background:#1e2a1a}.hud{display:grid;gap:.4rem}.bar-row{display:grid;gap:.2rem}.bar-head{display:flex;align-items:center;gap:.35rem;font-size:11px;color:var(--muted)}.bar-val{margin-left:auto;font-variant-numeric:tabular-nums}.bar{position:relative;height:8px;border:2px solid var(--edge);background:#111;padding:1px}.bar>i{display:block;height:100%;min-width:2px;position:relative;z-index:1}.bar-reserved{position:absolute;top:1px;right:1px;bottom:1px;background:repeating-linear-gradient(-45deg,#1a2744,#1a2744 3px,#243456 3px,#243456 6px);pointer-events:none}.track-hp>i{background:var(--hp)}.track-mana>i{background:var(--mana)}.track-es>i{background:var(--es)}.track-enemy>i{background:var(--enemy)}.track-xp>i{background:var(--flash)}.stat-strip{display:flex;flex-wrap:wrap;gap:.5rem .75rem;padding-top:.25rem;font-size:11px;color:var(--muted)}.stat{display:inline-flex;align-items:center;gap:.25rem}.stat-k{opacity:.75}.stat strong{color:var(--ink);font-weight:400}.ability{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.45rem;row-gap:.1rem;align-items:start;text-align:left;padding:.45rem;border:2px solid var(--edge);background:var(--panel2)}.ability .pixel-icon{grid-row:1 / 3}.ability.on{border-color:var(--on);box-shadow:inset 0 0 0 1px #0004}.ability.ready.on{background:#1e2a1a}.ability .name{font-size:12px}.ability .meta{font-size:10px;color:var(--muted);grid-column:2}.log li{display:flex;align-items:center;gap:.25rem}.char-sheet{gap:.65rem}.sheet-body{display:grid;grid-template-columns:auto 1fr;gap:.75rem;padding:.5rem;border:2px solid var(--edge);background:var(--panel2)}.sheet-portrait{display:grid;justify-items:center;gap:.35rem;padding:.35rem;border:2px solid var(--edge);background:#111}.sheet-name{font-size:10px;color:var(--muted)}.sheet-main{display:grid;gap:.55rem;align-content:start}.sheet-vitals{display:grid;gap:.35rem}.sheet-progress{display:grid;grid-template-columns:1fr;gap:.25rem}.sheet-block h3{margin:0 0 .35rem;font-family:Silkscreen,monospace;font-size:10px;font-weight:400;color:var(--muted);text-transform:uppercase}.sheet-grid{display:grid;grid-template-columns:1fr;gap:.25rem}.sheet-grid-5{grid-template-columns:1fr}.sheet-stat{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.3rem .45rem;border:2px solid var(--edge);background:var(--panel2);font-size:10px}.sheet-stat-k{color:var(--muted);text-transform:uppercase;flex-shrink:0}.sheet-stat-v{font-variant-numeric:tabular-nums;color:var(--ink);text-align:right}.inv-hint{margin:0;font-size:10px;color:var(--muted)}.item-cursor-ghost{position:fixed;z-index:999;pointer-events:none;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:2px solid var(--item-edge, var(--edge));background:#1c1c1c;box-shadow:2px 2px #0008}.item-cursor-ghost.rarity-normal{--item-edge: #8a8680;background:#1e1e1e}.item-cursor-ghost.rarity-magic{--item-edge: #3868b8;background:#141c2a}.item-cursor-ghost.rarity-rare{--item-edge: #b89838;background:#221f14}.item-cursor-ghost.rarity-unique{--item-edge: #b85838;background:#261812}.item-cursor-ghost.rarity-currency{--item-edge: #8b5cf6;background:#1a1428}.inventory-screen{display:grid;gap:.75rem}@media(min-width:640px){.inventory-screen{grid-template-columns:minmax(200px,240px) 1fr;align-items:start}}.inventory-grid-panel,.stash-screen,.equip-panel{display:grid;gap:.45rem}.equip-panel h3,.inventory-grid-panel h3,.stash-screen h3{margin:0;font-family:Silkscreen,monospace;font-size:10px;font-weight:400;color:var(--muted);text-transform:uppercase}.equip-grid{display:grid;gap:.35rem}.equip-body{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:repeat(5,auto);grid-template-areas:". helmet ." "weapon body offhand" ". amulet ." "gloves . boots" "ring1 . ring2";gap:.35rem;justify-items:center;align-items:center;padding:.45rem;border:2px solid var(--edge);background:var(--panel2)}.equip-body-silhouette{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);opacity:.14;pointer-events:none;z-index:0}.equip-body [data-slot=helmet]{grid-area:helmet}.equip-body [data-slot=weapon]{grid-area:weapon}.equip-body [data-slot=body]{grid-area:body}.equip-body [data-slot=offhand]{grid-area:offhand}.equip-body [data-slot=amulet]{grid-area:amulet}.equip-body [data-slot=gloves]{grid-area:gloves}.equip-body [data-slot=boots]{grid-area:boots}.equip-body [data-slot=ring1]{grid-area:ring1}.equip-body [data-slot=ring2]{grid-area:ring2}.equip-slot{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.15rem;width:58px;padding:.3rem .25rem;border:2px solid var(--edge);background:#111;text-align:center;font-size:9px}.equip-slot .pixel-icon{grid-row:auto}.equip-slot-k{color:var(--muted);text-transform:uppercase;line-height:1.1}.equip-slot-item{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:8px;line-height:1.1}.equip-slot.rarity-normal,.equip-slot.rarity-magic,.equip-slot.rarity-rare,.equip-slot.rarity-unique,.equip-slot.rarity-currency{border-color:var(--item-edge, var(--edge))}.equip-slot.equip-can-drop{box-shadow:inset 0 0 0 1px var(--on)}.cursor-tooltip-host{position:fixed;z-index:1000;pointer-events:none}.inv-grid-wrap{position:relative;overflow:auto;max-width:100%}.inv-grid{display:grid;gap:0;padding:1px;border:2px solid var(--edge);background:#111;position:relative}.equip-slot-art{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #333;background:#0d0d0d}.equip-slot-empty{opacity:.35}.inv-cell{width:28px;height:28px;margin:0;padding:0;border:1px solid #2a2a2a;background:#1a1a1a;position:relative;z-index:0}.inv-cell-occupied{background:#1c1c1c;border-color:transparent}.inv-cell:hover{background:#242424}.inv-cell-occupied:hover{background:#262626}.inv-cell.inv-preview-ok{background:#1e2a1a;box-shadow:inset 0 0 0 1px var(--on)}.inv-cell.inv-preview-bad{background:#2a1a1a;box-shadow:inset 0 0 0 1px var(--hp)}.ability-tooltip{padding:.45rem .55rem;border:2px solid var(--edge-light);background:#111;font-size:10px;max-width:15rem;pointer-events:none}.ability-tooltip-head{display:flex;align-items:flex-start;gap:.45rem;margin-bottom:.35rem}.ability-tooltip-name{font-size:11px;color:var(--ink);margin-bottom:.1rem}.ability-tooltip-kind{color:var(--muted);font-size:9px}.ability-tooltip-desc{margin:0 0 .4rem;color:var(--muted);line-height:1.35}.ability-tooltip-damage{padding:.35rem 0;border-top:1px solid #333;border-bottom:1px solid #333;margin-bottom:.35rem}.ability-tooltip-damage-total{color:var(--ink);font-size:11px;margin-bottom:.2rem}.ability-tooltip-damage-lines{margin:0;padding:0;list-style:none;display:grid;gap:.12rem}.ability-tooltip-damage-empty{color:var(--muted)}.ability-tooltip-meta{display:flex;flex-wrap:wrap;gap:.35rem .5rem;color:var(--muted);font-size:9px}.ability-tooltip-section{padding-top:.35rem;margin-top:.35rem;border-top:1px solid #333}.ability-tooltip-section-title{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.ability-tooltip-status-lines{margin:0;padding:0;list-style:none;display:grid;gap:.2rem}.ability-tooltip-status-lines li{display:flex;align-items:center;gap:.3rem;color:var(--ink);line-height:1.3}.ability-tooltip-status-lines .pixel-icon{flex-shrink:0}.skill-node-tooltip{min-width:11rem;max-width:16rem;padding:.45rem .55rem;border:2px solid var(--edge-light);background:#111;box-shadow:4px 4px #0008;font-size:10px}.skill-node-tooltip-head{display:flex;align-items:flex-start;gap:.45rem;margin-bottom:.35rem}.skill-node-tooltip-name{font-size:11px;color:var(--ink);margin-bottom:.1rem}.skill-node-tooltip-kind{color:var(--muted);font-size:9px;text-transform:capitalize}.skill-node-tooltip-desc{margin:0 0 .4rem;color:var(--muted);line-height:1.35;font-size:9px}.skill-node-tooltip-lines{margin:0 0 .4rem;padding:.35rem 0 0;border-top:1px solid #333;list-style:none;color:var(--ink);line-height:1.4}.skill-node-tooltip-lines li+li{margin-top:.15rem}.skill-node-tooltip-empty{margin:0 0 .4rem;padding-top:.35rem;border-top:1px solid #333;color:var(--muted);font-size:9px}.skill-node-tooltip-meta{display:flex;flex-wrap:wrap;gap:.35rem .5rem;color:var(--muted);font-size:9px}.skill-node-tooltip-state.skill-node-tooltip-available{color:#8fd48f}.skill-node-tooltip-state.skill-node-tooltip-allocated{color:#d4b86a}.skill-node-tooltip-state.skill-node-tooltip-unaffordable,.skill-node-tooltip-state.skill-node-tooltip-locked{color:#c97a7a}.skill-node-tooltip-notable{border-color:#6a8fd4}.skill-node-tooltip-keystone{border-color:#d4a86a}.enemy-tooltip{min-width:12rem;max-width:17rem;padding:.45rem .55rem;border:2px solid var(--edge-light);background:#111;box-shadow:4px 4px #0008;font-size:10px;pointer-events:none}.enemy-tooltip-head{display:flex;align-items:flex-start;gap:.45rem;margin-bottom:.35rem}.enemy-tooltip-name{font-size:11px;color:var(--ink);margin-bottom:.1rem}.enemy-tooltip-kind{color:var(--muted);font-size:9px}.enemy-tooltip-section{padding-top:.35rem;margin-top:.35rem;border-top:1px solid #333}.enemy-tooltip-section-title{color:var(--muted);font-size:9px;text-transform:uppercase;margin-bottom:.2rem}.enemy-tooltip-lines{margin:0;padding:0;list-style:none;color:var(--ink);line-height:1.35}.enemy-tooltip-abilities{margin:0;padding:0;list-style:none;display:grid;gap:.35rem}.enemy-tooltip-ability-name{color:var(--ink);font-size:10px}.enemy-tooltip-ability-dmg{font-size:10px}.enemy-tooltip-ability-meta{color:var(--muted);font-size:9px}.item-context-menu{position:fixed;z-index:1100;min-width:9rem;padding:.35rem;border:2px solid var(--edge);background:var(--panel);box-shadow:4px 4px #0006}.item-context-menu-title{padding:.25rem .4rem .35rem;font-size:10px;color:var(--muted);border-bottom:1px solid #333;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-context-menu-action{display:flex;align-items:center;gap:.35rem;width:100%;padding:.35rem .45rem;border:2px solid var(--edge);background:var(--panel2);font:inherit;font-size:11px;text-align:left}.item-context-menu-action:disabled{opacity:.45;cursor:not-allowed}.item-context-menu-cost{margin-left:auto;color:var(--muted);font-size:10px}.item-context-menu-action:hover{border-color:var(--edge-light);background:#2a2a2a}.item-context-menu-delete{color:#e8a0a0}.item-context-menu-delete:hover{border-color:var(--hp);background:#2a1a1a}.skill-tree-screen{display:grid;gap:.65rem;min-height:0;height:100%}.skill-tree-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:.45rem .55rem;border:2px solid var(--edge);background:var(--panel2)}.skill-tree-meta-item{display:flex;gap:.4rem;align-items:baseline;font-size:11px}.skill-tree-meta-k{color:var(--muted);text-transform:uppercase;font-size:10px}.skill-tree-meta-v{font-family:Silkscreen,monospace}.skill-tree-zoom-controls{margin-left:auto}.skill-tree-zoom-buttons{display:flex;align-items:center;gap:.35rem}.skill-tree-zoom-buttons button{width:1.6rem;height:1.6rem;padding:0;border:2px solid var(--edge);background:var(--panel);color:var(--ink);font:inherit;line-height:1}.skill-tree-zoom-buttons button:hover{border-color:var(--on)}.skill-tree-body{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:.65rem;min-height:0;flex:1}.skill-tree-canvas-wrap{min-height:0;overflow:auto;border:2px solid var(--edge);background:radial-gradient(circle at center,#1a1a1a,#0e0e0e)}.skill-tree-canvas{width:100%;min-height:420px;display:block;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.skill-tree-canvas-panning{cursor:grabbing}.skill-tree-link{stroke:#444;stroke-width:3}.skill-tree-link-active{stroke:#8a7a4a;stroke-width:4}.skill-tree-node{cursor:pointer}.skill-tree-node circle{fill:#242424;stroke:#555;stroke-width:3;transition:stroke .12s,fill .12s}.skill-tree-node-icon{pointer-events:none;image-rendering:pixelated}.skill-tree-node-label{fill:var(--muted);font-size:10px;pointer-events:none}.skill-node-origin circle{fill:#3a3218;stroke:#c9a227;stroke-width:4}.skill-node-small circle{fill:#222;stroke:#666;stroke-width:2}.skill-node-notable circle{fill:#1a2840;stroke:#6a9fd8;stroke-width:4}.skill-node-keystone circle{fill:#402818;stroke:#e87838;stroke-width:5}.skill-node-allocated circle{stroke:#d4c17a;filter:drop-shadow(0 0 4px rgba(201,162,39,.45))}.skill-node-available circle{stroke:#6ab86a}.skill-node-unaffordable circle{stroke:#8a6060;opacity:.85}.skill-node-locked circle{opacity:.45}.skill-node-selected circle{stroke-width:5;filter:drop-shadow(0 0 6px rgba(255,255,255,.25))}.skill-tree-detail{padding:.65rem;border:2px solid var(--edge);background:var(--panel2);display:grid;gap:.55rem;align-content:start;min-height:0;overflow:auto}.skill-tree-detail-head h3{margin:.25rem 0 0;font-size:13px}.skill-tree-detail-head{display:grid;gap:.25rem}.skill-tree-detail-preview{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.skill-tree-detail-lines{margin:0;padding:.45rem .55rem;list-style:none;display:grid;gap:.3rem;border:2px solid var(--edge);background:var(--panel);font-size:11px;line-height:1.4}.skill-tree-detail-lines li{color:#c9d4a8}.skill-node-hovered circle{filter:drop-shadow(0 0 5px rgba(255,255,255,.2))}.skill-tree-kind{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .35rem;border:1px solid var(--edge)}.skill-tree-kind-origin{color:#c9a227;border-color:#6a5a28;background:#2a2418}.skill-tree-kind-small{color:#aaa}.skill-tree-kind-notable{color:#6a9fd8;border-color:#3a5070;background:#141e30}.skill-tree-kind-keystone{color:#e87838;border-color:#704020;background:#281808}.skill-tree-detail-desc{margin:0;font-size:11px;line-height:1.45;color:var(--ink)}.skill-tree-detail-cost,.skill-tree-detail-hint,.skill-tree-detail-empty{margin:0;font-size:10px;color:var(--muted)}.skill-tree-detail-actions button{width:100%;padding:.4rem .55rem;border:2px solid var(--edge);background:var(--panel);color:var(--ink);font:inherit;font-size:11px}.skill-tree-detail-actions button:hover{border-color:var(--on);background:#2a2a2a}@media(max-width:720px){.skill-tree-body{grid-template-columns:1fr}}
