@keyframes equipment-gain-pop{0%{transform:scale(.4) rotate(-22deg)}45%{transform:scale(1.22) rotate(-10deg)}75%{transform:scale(.98) rotate(2deg)}to{transform:scale(1) rotate(-8deg)}}@keyframes equipment-gain-flash{25%{background:#fff0b1;box-shadow:0 0 0 7px #ffc24755}to{box-shadow:0 0 0 15px #ffc24700}}@keyframes equipment-flow{to{stroke-dashoffset:-18}}:root{color-scheme:light;background:#fff}*{box-sizing:border-box}body,html{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{position:fixed;inset:0}#game{display:block;width:100vw;height:100vh;height:100dvh;outline:0;touch-action:none;cursor:crosshair;-webkit-tap-highlight-color:transparent;contain:strict}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-tools a,.page-tools button,.view-sliders{border:1px solid #111;background:#fff;color:#111}.view-sliders{position:fixed;left:max(16px,env(safe-area-inset-left,0));bottom:max(14px,env(safe-area-inset-bottom,0));z-index:6;display:none;gap:4px;align-items:center;padding:5px 7px;border-radius:7px;font-family:ui-sans-serif,system-ui,sans-serif}.view-sliders label{display:flex;align-items:center;gap:4px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;display:grid;grid-template-columns:34px 84px 4.6em}.view-sliders input[type=range]{width:84px;height:12px;margin:0;accent-color:#111;cursor:pointer}.view-sliders output{min-width:4.6em;font-variant-numeric:tabular-nums;letter-spacing:0}.view-sliders.is-debug{display:flex;flex-direction:column;align-items:stretch}@media (max-width:740px){.view-sliders.is-debug{flex-direction:column;align-items:stretch;gap:3px}.view-sliders input[type=range]{width:72px}.view-sliders label{grid-template-columns:34px 72px 4.6em}}.page-tools{position:fixed;top:max(16px,env(safe-area-inset-top,0));right:max(18px,env(safe-area-inset-right,0));z-index:6;display:flex;gap:8px}.page-tools a,.page-tools button{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;text-decoration:none;padding:0;cursor:pointer;touch-action:manipulation}.page-tools a:focus-visible,.page-tools a:hover,.page-tools button:focus-visible,.page-tools button:hover,.page-tools button[aria-pressed=true]{background:#111;color:#fff}.page-tools button:disabled{opacity:.4;cursor:default}.page-tools svg{width:18px;height:18px;display:block}body[data-boot=loading] .loot-tools,body[data-boot=loading] .move-loadout{visibility:hidden;pointer-events:none}.move-loadout{position:fixed;z-index:7;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:16px;font-family:ui-sans-serif,system-ui,sans-serif;color:#20221f}.move-bank-slots{display:flex;gap:6px}.move-slot{position:relative;width:44px;height:44px;border:1px solid #d4d8cf;border-radius:6px;background:#f5f6f2;color:inherit;cursor:pointer;text-align:left;padding:0;transition:background .15s,border-color .15s}.move-slot:hover{background:#e9eee2;border-color:#81956d}#move-picker-close:focus-visible,.move-choice:focus-visible,.move-slot:focus-visible{outline:2px solid #526d3f;outline-offset:3px}.move-slot-preview{display:block;width:100%;height:100%;pointer-events:none}.move-slot-edit{position:absolute;right:50%;top:50%;transform:translate(50%,-50%);color:#7d8973;font-size:13px}.move-slot:not(.is-empty) .move-slot-edit,body:not([data-mode=menu]) .intro-controls{display:none}.move-slot.is-empty{border-style:dashed;background:#fafbf8;color:#8e9686}.move-picker{width:min(480px,calc(100vw - 32px));max-height:80dvh;padding:24px;border:1px solid #d9dfd1;border-radius:16px;background:#fffffc;color:#20251c;font-family:ui-sans-serif,system-ui,sans-serif;box-shadow:0 24px 100px #0002}.move-picker::backdrop{background:#14200f55;backdrop-filter:blur(5px)}.move-picker header{display:flex;justify-content:space-between;align-items:center;gap:20px}.move-picker-eyebrow{color:#78886b;font-size:10px;text-transform:uppercase;letter-spacing:.15em}.move-picker h2{margin:5px 0 0;font-size:23px;font-weight:600;letter-spacing:-.04em}#move-picker-close{border-radius:50%;background:0 0;color:#4f6042;width:32px;height:32px}.move-picker p{font-size:12px;line-height:1.6;color:#747d6b;margin:16px 0 20px}.move-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}#move-picker-close,.move-choice{border:1px solid #dce2d5;cursor:pointer}.move-choice{display:flex;flex-direction:row;align-items:center;gap:10px;text-align:left;border-radius:7px;padding:13px;background:#f7f9f3;color:#2c3624;font-size:12px;font-weight:600}.move-choice-preview{display:block;width:56px;height:64px;flex:0 0 56px}.move-choice-text{display:flex;flex-direction:column;gap:5px}.move-choice small{font-size:10px;font-weight:400;color:#808c75}.move-choice:hover{border-color:#8f9f7f}.move-choice[aria-pressed=true]{background:#e9efdf;border-color:#7c9163}@media (max-width:620px){.move-loadout{gap:12px;bottom:max(10px,env(safe-area-inset-bottom))}.move-bank-slots{gap:4px}.move-slot{width:clamp(28px,8vw,40px);height:clamp(28px,8vw,40px)}.move-choices{grid-template-columns:1fr}.view-sliders.is-debug{bottom:85px}}@media (prefers-reduced-motion:reduce){.move-slot{transition:none}}.intro-controls{position:fixed;z-index:5;pointer-events:none;top:25%;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);text-align:center;color:#30362c;font-family:ui-sans-serif,system-ui,sans-serif}.keyboard-guide{display:flex;align-items:flex-end;justify-content:center;gap:24px}.keyboard-guide kbd{display:grid;place-items:center;width:32px;height:30px;border:1px solid #d4d8cf;border-radius:5px;background:#f5f6f2;color:#414c37;font:600 11px ui-sans-serif,system-ui,sans-serif;box-shadow:0 2px 0#e9ece3}.keyboard-guide .wide-key{width:54px}.guide-movement{display:flex;flex-direction:column;align-items:center;gap:9px}.wasd-keys{display:grid;grid-template-columns:repeat(3,32px);gap:4px}.wasd-keys .key-w{grid-column:2}.wasd-keys kbd:nth-child(2){grid-column:1}.guide-action,.guide-movement>span{font-size:11px}.guide-action{display:flex;flex-direction:column;align-items:center;gap:9px}.rotate-screen[hidden],.touch-controller,.touch-pause,body[data-touch=true] .intro-controls{display:none}.rotate-screen{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:#fafbf7;color:#303d26;text-align:center;font-family:ui-sans-serif,system-ui,sans-serif}.rotate-screen svg{width:100px;height:74px;margin-bottom:24px;color:#81956d}.rotate-screen h2{margin:0;font-size:24px;font-weight:500;letter-spacing:-.04em}.rotate-screen p{margin:12px 0 30px;font-size:14px;color:#7d886f}.rotate-screen>span{text-transform:uppercase;font-size:9px;letter-spacing:.18em;color:#9aa58e}body[data-touch=true][data-mode=playing] .touch-controller{display:block}body[data-touch=true]:is([data-mode=playing],[data-mode=paused]) .touch-pause{display:block;position:fixed;top:max(16px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));z-index:8;border:1px solid #d4d8cf;border-radius:7px;padding:9px 12px;background:#fffffff0;color:#4e5e41;font:500 11px system-ui,sans-serif}.touch-controller{position:fixed;inset:0;z-index:8;pointer-events:none;user-select:none;-webkit-user-select:none;font-family:ui-sans-serif,system-ui,sans-serif}.movement-pad,.touch-actions button{pointer-events:auto;touch-action:none}.movement-pad{position:absolute;left:max(20px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));width:112px;height:112px;background:#e4ebd9dd;clip-path:polygon(34%0,66%0,66% 34%,100% 34%,100% 66%,66% 66%,66% 100%,34% 100%,34% 66%,0 66%,0 34%,34% 34%)}.movement-pad.is-held{background:#d1dfc1}.pad-arrow{position:absolute;z-index:1;color:#6e805d;font-size:15px;line-height:1}.pad-up{top:9px;left:49px}.pad-down{bottom:9px;left:49px}.pad-left{top:47px;left:9px}.pad-right{top:47px;right:9px}.touch-actions{position:absolute;right:max(20px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:flex;gap:8px}.touch-actions button{position:relative;width:48px;height:48px;display:grid;align-content:center;justify-items:center;gap:1px;border:1px solid #b5c4a7;border-radius:50%;background:#f6f8f0ed;color:#4b603a;-webkit-tap-highlight-color:transparent}.touch-actions b{font-size:14px;font-weight:600}.touch-actions span{font-size:8px}.touch-actions button.is-held{background:#d9e5ca;border-color:#789363;box-shadow:inset 0 2px 5px #26351b1a}body[data-touch=true] .move-loadout{gap:10px;bottom:max(12px,env(safe-area-inset-bottom))}body[data-touch=true] .move-slot{width:28px;height:28px}body[data-touch=true] .move-bank-slots{gap:3px}@media (max-width:620px){.keyboard-guide{gap:16px}.keyboard-guide kbd{width:26px;height:26px}.wasd-keys{grid-template-columns:repeat(3,26px);gap:3px}.keyboard-guide .wide-key{width:42px}.guide-action{font-size:10px}body[data-touch=true] .move-slot{width:24px;height:24px}}@media (max-height:440px){.intro-controls{top:24%}.keyboard-guide kbd{height:25px}.guide-action{gap:5px}}.touch-pause:focus-visible{outline:2px solid #789466;outline-offset:4px}@media (max-width:700px) and (orientation:landscape){body[data-touch=true] .move-loadout{bottom:76px}}@media (max-width:780px) and (orientation:landscape){body[data-touch=true] .move-loadout{bottom:76px}}.loot-tools{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:9;display:flex;gap:8px;font-family:ui-sans-serif,system-ui,sans-serif}.loot-tools>button{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid #d4d8cf;border-radius:10px;background:#fffffff0;color:#273629;cursor:pointer;touch-action:manipulation}.loot-tools svg{width:23px;height:23px}.loot-tools>button:hover{background:#e9efdf;border-color:#7c9163}.equipment-gain{position:absolute;right:calc(100% - 12px);bottom:calc(100% - 10px);min-width:32px;height:30px;padding:0 4px;box-sizing:border-box;white-space:nowrap;z-index:2;display:grid;place-items:center;isolation:isolate;opacity:0;pointer-events:none;color:#ffe176;font:900 italic 24px/1 Impact,"Arial Black",sans-serif;letter-spacing:-2px;-webkit-text-stroke:1.5px #14130f;paint-order:stroke fill;text-shadow:2px 3px 0#14130f;transform:rotate(-8deg)}.equipment-gain[hidden],.loot-toast[hidden]{display:none}.equipment-gain::before{content:"";position:absolute;inset:2px;z-index:-1;background:#ff953f;clip-path:polygon(50%0,59% 21%,79% 7%,77% 31%,100% 29%,84% 49%,100% 67%,76% 68%,81% 94%,58% 81%,47% 100%,39% 79%,16% 93%,22% 68%,0 64%,18% 47%,0 28%,25% 29%,23% 5%,43% 21%);filter:drop-shadow(1px 2px 0#14130f)}#equipment-button.has-gain .equipment-gain{opacity:1;animation:equipment-gain-pop .45s cubic-bezier(.2,.8,.25,1) both}#equipment-button.has-gain{animation:equipment-gain-flash .45s ease-out}@media (prefers-reduced-motion:reduce){#equipment-button.has-gain{animation:none}#equipment-button.has-gain .equipment-gain{animation:none;transform:none}}.loot-toast{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:76px;z-index:10;max-width:min(340px,calc(100vw - 40px));padding:10px 15px;border:1px solid #d4dfc9;border-radius:9px;background:#fffffff0;color:#344a29;box-shadow:0 5px 25px #1524140d;font:500 12px/1.5 ui-sans-serif,system-ui,sans-serif;pointer-events:none}.loot-modal{padding:18px;border:1px solid #d5ddcd;border-radius:13px;background:#fafbf7;color:#293526;box-shadow:0 24px 100px #1622122b;font-family:ui-sans-serif,system-ui,sans-serif;max-height:90dvh;overscroll-behavior:contain}.loot-modal::backdrop{background:#19271b44;backdrop-filter:blur(2px)}.loot-modal header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.loot-modal h2{font-size:17px;font-weight:550;letter-spacing:-.035em;margin:0}.loot-header-actions{display:flex;align-items:center;gap:7px}.loot-close,.loot-options summary{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #d9e0d2;border-radius:7px;background:0 0;color:#718168;font:400 12px system-ui;cursor:pointer}.loot-options summary{list-style:none}.loot-options summary::-webkit-details-marker{display:none}.loot-options summary svg{width:17px;height:17px;fill:#fafbf7;stroke:currentColor;stroke-width:1.4}.loot-options{position:relative}.loot-options[open] summary{background:#e9efdf}.loot-settings{position:absolute;right:0;top:36px;z-index:5;width:235px;padding:15px;border:1px solid #d5dfca;border-radius:10px;box-shadow:0 8px 30px #19251920;background:#fafbf7;font:500 11px system-ui}.loot-settings>label{display:block;margin-bottom:10px}.loot-rate-controls,.loot-rate-number{display:flex;align-items:center;gap:10px}.loot-rate-controls>input{min-width:40px;flex:1;accent-color:#526e41}.loot-rate-number{gap:3px}.loot-rate-number input{width:55px;padding:5px 3px;border:1px solid #d4deca;border-radius:5px;background:#fff;color:#344a29;font:500 11px system-ui}.loot-settings>button{width:100%;margin-top:12px;border:1px solid #cdd9c2;border-radius:6px;background:#eef3e7;color:#4e6640;padding:8px;font:500 11px system-ui;cursor:pointer}.loot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:4px;max-height:60dvh;overflow:auto;padding:2px}.loot-grid:empty::before{content:"";display:block;width:46px;aspect-ratio:1;border:1px dashed #d9e1d1;border-radius:4px}.loot-card{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:0;padding:2px;border:1px solid #d7dfce;border-radius:4px;background:#f1f4ec;color:#a1b192;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.loot-card:hover{border-color:#8a9e78;background:#e9efdf}.loot-card>svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.3;fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.loot-thumbnail{display:block;width:100%;height:100%;min-height:0;object-fit:contain;pointer-events:none}.loot-card.is-dragging{opacity:.3}.loot-drag-ghost{position:fixed;inset:auto;margin:0;padding:2px;width:50px;height:50px;z-index:100;border:1px solid #9aab89;border-radius:5px;background:#f7faefdd;box-shadow:0 6px 15px #17241425;pointer-events:none;overflow:hidden}.loot-drag-ghost::backdrop{background:0 0;pointer-events:none}.loot-equipment{position:fixed;width:min(390px,calc(100vw - 24px));padding:14px;overflow:hidden}.equipment-stage{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;height:min(390px,calc(90dvh - 86px));min-height:0;align-items:stretch}.equipment-column{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:9px;padding:12px 0;overflow-y:auto;scrollbar-width:none}.equipment-slot{width:40px;height:40px;aspect-ratio:1;flex-shrink:0;overflow:visible}.equipment-slot.is-equipped,.equipment-slot.is-equipped:hover{background:#eaf0e2;border-color:#a3b592}.equipment-slot:hover{border-color:#d7dfce;background:#f1f4ec}.equipment-slot.is-chest,.equipment-slot.is-hand{margin-top:auto}#equipment-character{position:relative;z-index:1;display:block;width:100%;height:100%;min-width:0;min-height:0;align-self:center;color:#111512;--walker-bg:#fafbf7;cursor:grab;touch-action:none;user-select:none;outline:0}#equipment-character:active{cursor:grabbing}#equipment-character:focus-visible{outline:2px solid #789466;outline-offset:2px}#equipment-connectors{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}#equipment-connectors path{fill:none;stroke:#b5c3a7;stroke-width:1;opacity:.7;vector-effect:non-scaling-stroke}#equipment-connectors circle{fill:#9bad88;opacity:.8}#equipment-connectors path.is-active{stroke:#678b45;stroke-width:1.7;stroke-dasharray:4 5;opacity:1;animation:equipment-flow .7s linear infinite}#equipment-connectors circle.is-active{fill:#678b45}.equipment-highlight{pointer-events:none;opacity:.65;filter:drop-shadow(0 0 3px #93bd5e)}.equipment-highlight path{stroke:#96b76b;stroke-width:1;stroke-linejoin:round}.equipment-selection{position:absolute;z-index:3;left:62px;right:62px;bottom:20px;padding:10px;border:1px solid #d6e0ca;border-radius:9px;background:#fafbf7f5;box-shadow:0 5px 24px #17241424}.equipment-selection[hidden]{display:none}.equipment-selection h3{margin:0 0 8px;color:#7b8970;font:500 10px system-ui}.equipment-selection .loot-grid{grid-template-columns:repeat(auto-fill,minmax(36px,1fr));max-height:100px}.equipment-selection .loot-card{width:100%;height:auto}@media (prefers-reduced-motion:reduce){#equipment-connectors path.is-active{animation:none}}.loot-modal button:focus-visible,.loot-modal input:focus-visible,.loot-options summary:focus-visible,.loot-tools button:focus-visible{outline:2px solid #789466;outline-offset:3px}body[data-touch=true] .loot-tools{bottom:max(76px,calc(env(safe-area-inset-bottom) + 70px))}body[data-touch=true] .loot-toast{bottom:132px}@media (max-width:900px){body:not([data-touch=true]) .loot-tools{bottom:76px}body:not([data-touch=true]) .loot-toast{bottom:132px}}@media (max-width:360px){.loot-equipment{padding:10px}.equipment-selection{left:54px;right:54px}.equipment-stage{grid-template-columns:38px minmax(0,1fr) 38px}.equipment-slot{width:36px;height:36px}}@media (max-height:500px){.loot-modal{max-height:94dvh}.equipment-stage{height:calc(94dvh - 76px)}.equipment-column{gap:6px;padding:0}.equipment-selection{bottom:12px}.equipment-selection .loot-grid{max-height:72px}}