:root{color-scheme:dark;font-family:'Trebuchet MS',system-ui,sans-serif;color:#fff1cd;background:#233426;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}button,input{font:inherit}
button{color:#ffefd0;background:#493526;border:2px solid #a78c55;box-shadow:inset 0 0 0 2px #2c2219,0 3px 0 #241d17;border-radius:9px;padding:12px 18px;cursor:pointer;font-weight:700;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:hover:not(:disabled){background:#635036;border-color:#edcf80}button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 0 0 2px #2c2219}button:disabled{opacity:.55;cursor:default}
button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ffdc75;outline-offset:4px}[hidden]{display:none!important}
.game{position:fixed;inset:0;width:100%;height:100dvh;overflow:hidden;background:#233426;isolation:isolate}.game:fullscreen{height:100vh}
canvas{display:block;width:100%;height:100%;touch-action:none;outline:0}
.hud{position:absolute;top:max(14px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:flex-start;gap:12px;pointer-events:none}
.quest-panel{display:flex;align-items:center;gap:11px;padding:10px 20px 10px 11px;background:#20271fee;border:2px solid #a18c60;border-radius:11px;box-shadow:inset 0 0 0 2px #0e1a13,0 4px 0 #14201580;max-width:calc(100% - 248px)}
.crest{display:grid;place-items:center;width:40px;height:43px;background:#6d3c27;border:1px solid #c5a665;border-radius:7px 7px 17px 17px;color:#efc974;font-size:29px}
.quest-panel div{display:grid;gap:5px}.quest-panel strong{font-family:Georgia,serif;font-size:19px;line-height:1}.quest-panel #objective{font-size:11px;color:#e3d3ad}
.tools{display:flex;gap:8px;pointer-events:auto}.tools button{width:51px;height:53px;padding:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;position:relative;background:#263324ed}
.tools button>span{font-size:28px;line-height:30px}.tools small{font-size:9px}
#inventory-button>span{font-size:0;width:29px;height:29px;background:url('./assets/loot.png') center/contain no-repeat}#bag-count{position:absolute;right:5px;bottom:2px;font-size:10px}
.tools button[aria-pressed=true]{background:#82713d;border-color:#ffe29a}
.controls{position:absolute;inset:0;pointer-events:none}
.joystick{position:absolute;left:max(26px,env(safe-area-inset-left));bottom:max(27px,env(safe-area-inset-bottom));width:114px;height:114px;border-radius:50%;background:#29342385;border:3px solid #e1d4a380;box-shadow:inset 0 0 0 7px #14251540;pointer-events:auto;touch-action:none;user-select:none;cursor:grab}
.joystick-thumb{position:absolute;width:53px;height:53px;left:calc(50% - 26.5px);top:calc(50% - 26.5px);border-radius:50%;background:#cab07dde;border:3px solid #e1d4a3bd;box-shadow:0 4px 0 #26321e80;pointer-events:none}
.action{position:absolute;right:max(27px,env(safe-area-inset-right));bottom:max(27px,env(safe-area-inset-bottom));width:108px;height:108px;border-radius:50%;background:#485333ee;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:10px;pointer-events:auto;border:3px solid #cdb775;box-shadow:inset 0 0 0 4px #273220,0 5px 0 #19281790}
.action:disabled{opacity:.65}.action-symbol{font-size:31px;line-height:30px;color:#ffe4a1}.action strong{font-size:10px;line-height:1.2;max-width:86px}.action small{font-size:9px;color:#c2c7ad}
.control-info{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);text-align:center;text-shadow:0 2px 3px #0a1708;color:#fff3d7}.control-info #position{display:none}.control-info small{font-size:10px}
.message{position:absolute;bottom:45px;left:155px;right:155px;margin:auto;max-width:560px;background:#242b1fec;border:2px solid #ae945c;border-radius:9px;padding:14px 20px;font-family:Georgia,serif;font-size:15px;line-height:1.45;text-align:center;box-shadow:0 4px 0 #15201388;pointer-events:none}
.minimap-panel{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(142px,calc(env(safe-area-inset-bottom) + 132px));width:184px;height:190px;pointer-events:none;filter:drop-shadow(0 5px 6px #14201899)}
.minimap-panel canvas{position:absolute;left:15.5%;top:17%;width:69%;height:65%;image-rendering:pixelated}
.minimap-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}
.screen{position:absolute;inset:0;display:grid;place-items:center;padding:24px;background:#101c1475;overflow:auto;backdrop-filter:blur(2px)}
.menu-card{max-width:455px;width:100%;margin:auto;padding:32px 40px;background:#263323f2;border:3px solid #bda36c;outline:2px solid #24311e;outline-offset:-9px;border-radius:20px;box-shadow:0 14px 45px #0c170b99;text-align:center}
.eyebrow{color:#c2b383;font-size:9px;font-weight:700;letter-spacing:2.4px;margin:0 0 14px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:700}
h1{font-size:clamp(31px,4vw,47px);line-height:1.04;margin:0 0 18px;letter-spacing:-1.5px;color:#ffe7ab;text-shadow:0 3px 0 #172519}
.menu-card>p:not(.eyebrow){font-size:13px;line-height:1.6;color:#d4d4b9}
.primary{display:block;width:100%;margin:20px 0 0;min-height:52px;background:#aa7536;color:#fff4d8;border-color:#efce82;text-shadow:0 1px #694522}.primary:hover:not(:disabled){background:#bd8d47}
.seed-option{text-align:left;margin:13px 0;color:#b4bb9e;font-size:11px}summary{cursor:pointer}label{display:block;margin:12px 0 5px}
input{width:100%;background:#19261a;border:1px solid #7b895e;padding:11px;color:#fff1cd;border-radius:5px;font-size:13px}
.menu-help{font-size:11px!important;color:#b6c0a6!important;margin-top:19px}.menu-fullscreen{border:0;background:transparent;box-shadow:none;padding:6px 10px;color:#d8bd7c;font-size:12px}
#pause-actions,#win-actions{display:grid;gap:10px}.pause-options{display:flex;gap:8px}.pause-options button{flex:1;font-size:11px;padding:10px 7px}.seed-info{font-size:10px;color:#bdc6ad;overflow-wrap:anywhere;margin:4px 0}
.loading-note{position:absolute;z-index:10;top:88px;left:20px;right:20px;margin:auto;max-width:430px;border:1px solid #c8b778;border-radius:8px;padding:12px;background:#263323;color:#fff1cd;text-align:center;font-size:12px}
dialog{color:#ffedc5;background:#293624;border:3px solid #b99b61;border-radius:15px;width:min(520px,calc(100% - 28px));max-height:86dvh;padding:26px;box-shadow:0 15px 70px #101c14a0}
dialog::backdrop{background:#10221599;backdrop-filter:blur(2px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialog-heading .eyebrow{margin-bottom:6px}.dialog-heading h2{margin:0;font-size:29px}.dialog-heading button{width:42px;height:42px;padding:0;font-size:25px}
.inventory-hint,#help-dialog p{font-size:12px;line-height:1.7;color:#c8cfb5}
#equipment{border:1px solid #70805b;border-radius:6px;background:#1e2c1b;padding:12px;font-size:11px;line-height:1.8;margin:18px 0 8px}
.inventory-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:14px}
.inventory-slot{position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:1;padding:5px;border:2px solid #8b774e;border-radius:5px;background:linear-gradient(145deg,#4a4d3b,#2d382b);box-shadow:inset 0 0 0 2px #1d281e,0 2px 0 #172017;cursor:pointer}
.inventory-slot canvas{width:100%;height:100%;max-width:58px;max-height:58px;image-rendering:auto}
.inventory-slot.equipped{border-color:#f3d579;background:#594d2e;box-shadow:inset 0 0 0 2px #2c281b,0 0 0 1px #ffeab4}
.inventory-slot:disabled{opacity:1;cursor:default}.slot-count{position:absolute;right:4px;bottom:2px;font-size:11px;color:#fff8dc;text-shadow:0 1px 3px #000;font-weight:700}
.empty-slot{border-color:#536148;background:#273126;box-shadow:inset 0 0 0 2px #202a20;opacity:.72}
@media(max-width:650px){
.hud{left:max(9px,env(safe-area-inset-left));right:max(9px,env(safe-area-inset-right));top:max(9px,env(safe-area-inset-top));gap:6px}
.quest-panel{max-width:calc(100% - 184px);padding:9px;border-radius:9px;min-height:48px}.crest{display:none}.quest-panel strong{font-size:15px}.quest-panel #objective{font-size:9px}
.tools{gap:5px}.tools button{width:40px;height:47px}.tools button>span{font-size:24px}
.joystick{left:max(20px,env(safe-area-inset-left));bottom:max(27px,env(safe-area-inset-bottom));width:102px;height:102px}.action{right:max(20px,env(safe-area-inset-right));bottom:max(27px,env(safe-area-inset-bottom));width:98px;height:98px}
.minimap-panel{right:max(10px,env(safe-area-inset-right));bottom:max(128px,calc(env(safe-area-inset-bottom) + 122px));width:148px;height:154px}
.minimap-panel canvas{left:15.5%;top:17%;width:69%;height:65%}
.control-info{display:none}.message{left:16px;right:16px;bottom:152px;font-size:13px;padding:11px 13px}.menu-card{max-width:365px;padding:30px 26px}.screen{padding:22px}h1{font-size:37px}.menu-card>p:not(.eyebrow){font-size:12px}}
@media(max-height:520px) and (orientation:landscape){
.hud{top:max(8px,env(safe-area-inset-top))}.quest-panel{padding:7px 13px}.crest{display:none}.quest-panel strong{font-size:16px}.tools button{height:43px;width:45px}
.joystick{width:90px;height:90px;left:max(24px,env(safe-area-inset-left));bottom:max(17px,env(safe-area-inset-bottom))}.action{width:90px;height:90px;right:max(24px,env(safe-area-inset-right));bottom:max(17px,env(safe-area-inset-bottom))}
.minimap-panel{right:max(10px,env(safe-area-inset-right));bottom:max(108px,calc(env(safe-area-inset-bottom) + 102px));width:126px;height:124px}
.message{left:130px;right:130px;bottom:20px;font-size:12px;padding:10px}.control-info{display:none}.screen{padding:12px}.menu-card{padding:22px 35px;max-width:490px}h1{font-size:29px;margin-bottom:8px}.eyebrow{margin-bottom:8px;font-size:8px}.menu-card>p:not(.eyebrow){margin:8px 0;font-size:11px}.primary{margin-top:11px;min-height:40px;padding:8px}.menu-help{display:none}.seed-option{margin:10px 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

