:root{--ink:#ffffffe6;--glass:#081c2061;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif}html,body{touch-action:none;-webkit-user-select:none;user-select:none;background:#0d2a2a;height:100%;margin:0;overflow:hidden}canvas#game{width:100%;height:100%;display:block;position:fixed;inset:0}#loading{font:500 14px/1.3 var(--sans);color:var(--ink);z-index:20;background:#0d2a2a;place-content:center;justify-items:center;gap:12px;transition:opacity .8s;display:grid;position:fixed;inset:0}#loading.done{opacity:0;pointer-events:none}#loading .bar{background:#ffffff26;border-radius:3px;width:220px;height:3px;overflow:hidden}#loading .bar i{background:#9fe3dc;width:0;height:100%;transition:width .2s;display:block}#hud{font:12px/1.5 var(--mono);color:var(--ink);background:var(--glass);-webkit-backdrop-filter:blur(12px);pointer-events:none;z-index:5;border-radius:12px;min-width:190px;padding:10px 12px;position:fixed;bottom:14px;right:14px}#hud .row{justify-content:space-between;gap:16px;display:flex}#hud .k{opacity:.6}#hud .compass{margin:0 auto 6px;display:block}#hud .travel{color:#ffd27a;font-weight:600}#help{font:12px/1.6 var(--sans);color:var(--ink);background:var(--glass);-webkit-backdrop-filter:blur(12px);pointer-events:none;z-index:5;border-radius:12px;padding:10px 14px;transition:opacity 1s;position:fixed;bottom:14px;left:14px}#help kbd{font:11px var(--mono);background:#ffffff24;border-radius:4px;padding:1px 5px}#help .tog{opacity:.75;font-weight:400}#debug{font:11px/1.45 var(--mono);color:#fff;z-index:8;white-space:pre;background:#00000080;border-radius:8px;padding:8px 10px;position:fixed;top:10px;left:10px}#err{max-height:45%;font:12px/1.45 var(--mono);color:#ffd9d2;white-space:pre-wrap;z-index:30;background:#280808eb;border-radius:12px;padding:12px 14px;position:fixed;inset:auto 12px 12px;overflow:auto}[hidden]{display:none!important}#toast{font:600 20px/1.3 var(--sans);color:#fff;text-shadow:0 2px 12px #00000073;pointer-events:none;z-index:6;opacity:0;text-align:center;transition:opacity .6s;position:fixed;top:18%;left:50%;transform:translate(-50%)}#toast.on{opacity:1}#minimap{z-index:5;cursor:pointer;filter:drop-shadow(0 4px 10px #00000073);width:190px;height:190px;position:fixed;top:14px;left:14px}#minimap canvas{width:100%;height:100%;display:block}#minimap:after{content:"N";color:#3e2614;pointer-events:none;font:italic 15px IM Fell English,Georgia,serif;position:absolute;top:4px;left:50%;transform:translate(-50%)}#chart{z-index:12;-webkit-backdrop-filter:blur(3px);background:#0612148c;place-items:center;display:grid;position:fixed;inset:0}#chart canvas{cursor:grab;filter:drop-shadow(0 12px 28px #0009);width:min(94vw,150vh);height:min(88vh,62vw)}#chart canvas:active{cursor:grabbing}#chart .hint{color:#f0deb4d9;pointer-events:none;font:italic 14px IM Fell English,Georgia,serif;position:fixed;bottom:12px;left:50%;transform:translate(-50%)}#scope{z-index:7;pointer-events:none;--raise:0;position:fixed;inset:0}#scope svg{width:100vmin;height:100vmin;transform:translate(-50%, -50%) scale(calc(1 + 2 * (1 - var(--raise))));opacity:min(1, calc(var(--raise) * 3));position:absolute;top:50%;left:50%}#scope .ring line{stroke:#3b280e}#scope .ring text{fill:#3b280e;text-anchor:middle;dominant-baseline:middle;font:600 22px IM Fell English,Georgia,serif}#scope .ring text.n{font-size:15px;font-weight:400}#scope .bearing,#scope .label{white-space:nowrap;color:#f5e4beeb;text-shadow:0 1px 4px #000000e6;opacity:var(--raise);font:italic 17px IM Fell English,Georgia,serif;position:absolute;left:50%;transform:translate(-50%)}#scope .bearing{letter-spacing:.08em;font-size:14px;top:calc(50% - 44vmin + 14px)}#scope .label{font-size:20px;transition:opacity .3s;top:calc(50% + 44vmin - 46px)}body.scoped #hud,body.scoped #minimap,body.scoped #help,body.scoped #toast{opacity:0;transition:opacity .25s}#chart .tools{gap:10px;display:flex;position:fixed;top:14px;right:16px}#chart .tools button{color:#3e2614;cursor:pointer;background:linear-gradient(#f1e0b8,#dcc393);border:1px solid #3e261499;border-radius:4px;padding:6px 14px;font:italic 15px IM Fell English,Georgia,serif;box-shadow:0 2px 8px #00000059}#chart .tools button:hover{background:linear-gradient(#f6e8c6,#e3cc9f)}#chart .tools button.armed{color:#fff3e0;background:linear-gradient(#a0452e,#7a2c1c);border-color:#5a1e12}#gunsight{pointer-events:none;z-index:7;position:fixed;inset:0}#gunsight .cross{width:34px;height:34px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#gunsight .cross:before,#gunsight .cross:after{content:"";background:#fff0d2e6;position:absolute;box-shadow:0 0 3px #000c}#gunsight .cross:before{width:2px;top:0;bottom:0;left:50%;transform:translate(-50%)}#gunsight .cross:after{height:2px;top:50%;left:0;right:0;transform:translateY(-50%)}#gunsight .reload{background:#00000059;border-radius:2px;width:60px;height:3px;position:absolute;top:calc(50% + 30px);left:50%;overflow:hidden;transform:translate(-50%)}#gunsight .reload i{background:#ffb347;width:100%;height:100%;display:block}#gunsight.ready .reload i{background:#9fe3a0}#gunsight .hint,#gunhint,#landhint,.landhint{white-space:nowrap;font:13px var(--sans);color:#ffffffe6;text-shadow:0 1px 4px #000c;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}#gunsight kbd,#gunhint kbd,#landhint kbd,.landhint kbd{font:11px var(--mono);background:#ffffff2e;border-radius:4px;padding:1px 5px}#gunhint,#landhint,.landhint{z-index:6;pointer-events:none;font-size:15px;bottom:90px}body.scoped #landhint,body.scoped .landhint{opacity:0}body.manning #help,body.manning #minimap{opacity:.2}#aimdot{pointer-events:none;z-index:7;background:#fff5e1e6;border-radius:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;position:fixed;top:50%;left:50%;box-shadow:0 0 3px #000000e6}#aimdot.loading{background:#ffb347}#slots{pointer-events:none;z-index:6;gap:6px;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}#slots span{background:#140e0861;border:1px solid #f0deb438;border-radius:8px;place-items:center;width:58px;height:58px;display:grid;position:relative}#slots span.empty{background:#140e082e;border-color:#f0deb41a}#slots span.on{background:#3c281080;border-color:#ffe2a8;box-shadow:0 0 10px #ffd28273}#slots canvas{width:50px;height:50px}#slots kbd{font:10px var(--mono);color:#fff5e1d9;background:#00000059;border-radius:3px;padding:0 4px;position:absolute;top:2px;left:3px}#slots b{white-space:nowrap;font:11px var(--sans);color:#fff5e1cc;text-shadow:0 1px 3px #000000e6;opacity:0;font-weight:400;transition:opacity .2s;position:absolute;bottom:-15px;left:50%;transform:translate(-50%)}#slots span.on b{opacity:1}body.scoped #slots,body.manning #slots{opacity:0}#kedge{z-index:6;pointer-events:none;white-space:nowrap;font:600 16px var(--sans);color:#ffe2a8;text-shadow:0 1px 6px #000000e6;background:#28140873;border-radius:10px;padding:8px 16px;position:fixed;bottom:60px;left:50%;transform:translate(-50%)}#kedge kbd{font:12px var(--mono);color:#fff;background:#fff3;border-radius:4px;padding:1px 6px}#lead{z-index:6;pointer-events:none;white-space:nowrap;color:#f3e2bd;text-shadow:0 1px 6px #000000e6;font:italic 18px IM Fell English,Georgia,serif;position:fixed;top:26%;left:50%;transform:translate(-50%)}#lead.danger{color:#ffb0a0;font-size:21px}#fade{opacity:0;pointer-events:none;z-index:40;background:#000;transition:opacity .4s;position:fixed;inset:0}#fade.on{opacity:1}#help .credit{opacity:.6;font-size:11px}#status{z-index:5;pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:fixed;top:12px;right:16px}#status .purse{align-items:center;gap:4px;display:flex}#status .purse canvas{filter:drop-shadow(0 2px 3px #0009);width:34px;height:34px}#status .purse span{letter-spacing:.04em;background:linear-gradient(#f3d27a 0%,#c9962e 45%,#7c5212 100%);color:#0000;filter:drop-shadow(0 1px #281604f2)drop-shadow(0 0 3px #0009);-webkit-background-clip:text;background-clip:text;font:700 24px/1 Cinzel,IM Fell English,Georgia,serif;transition:transform .15s}#status .purse span.run{transform:scale(1.08)}#status canvas.life{filter:drop-shadow(0 2px 4px #0000008c);width:190px;height:20px}body.scoped #status,body.manning #status{opacity:0;transition:opacity .25s}#inventory{z-index:13;-webkit-backdrop-filter:blur(3px);-webkit-user-select:none;user-select:none;background:#0612148c;place-items:center;display:grid;position:fixed;inset:0}#inventory .sheet{box-sizing:border-box;color:#3e2614;filter:drop-shadow(0 14px 30px #0009);background:radial-gradient(at 30% 20%,#fffae68c,#0000 55%),radial-gradient(at 75% 85%,#78461438,#0000 50%),radial-gradient(#eddcb2 0%,#e0c690 62%,#b98d50 100%);flex-direction:column;gap:8px;width:min(760px,94vw);max-height:90vh;padding:34px 38px 26px;font:15px IM Fell English,Georgia,serif;display:flex;position:relative}#inventory h2{text-align:center;letter-spacing:.02em;margin:0 0 2px;font:34px IM Fell English,Georgia,serif}#inventory h3{opacity:.8;border-bottom:1px solid #3e26144d;margin:6px 0 0;padding-bottom:3px;font:italic 16px IM Fell English,Georgia,serif}#inventory .gold{color:#7c5212;font:600 16px Cinzel,IM Fell English,Georgia,serif;position:absolute;top:40px;right:40px}#inventory .slots{grid-template-columns:repeat(9,1fr);gap:6px;display:grid}#inventory .bag{scrollbar-width:thin;scrollbar-color:#5c3a1ab3 #5c3a1a1f;border-radius:6px;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));align-content:start;gap:8px;min-height:120px;max-height:38vh;padding:6px 6px 6px 0;display:grid;overflow-y:auto}#inventory .bag::-webkit-scrollbar{width:9px}#inventory .bag::-webkit-scrollbar-thumb{background:#5c3a1ab3;border-radius:5px}#inventory .bag::-webkit-scrollbar-track{background:#5c3a1a1f;border-radius:5px}#inventory .bag.over{background:#fff0c859}#inventory .bag .empty{text-align:center;opacity:.6;grid-column:1/-1;padding:30px 0;font-style:italic}#inventory .cell{aspect-ratio:1;cursor:grab;background:radial-gradient(circle at 50% 40%,#fff8e18c,#7850242e);border:1px solid #3e261459;border-radius:7px;place-items:center;display:grid;position:relative;box-shadow:inset 0 1px 3px #3e261440}#inventory .slots .cell{aspect-ratio:1}#inventory .bag .cell{aspect-ratio:auto;height:104px}#inventory .cell.free{cursor:default;background:#7850241a;border-style:dashed}#inventory .cell.over{border-color:#8a2a12;box-shadow:0 0 0 2px #a03c1480,inset 0 0 12px #ffdc9699}#inventory .cell canvas{aspect-ratio:1;pointer-events:none;width:78%;height:auto}#inventory .bag .cell canvas{width:72px;margin-top:-12px}#inventory .cell kbd{font:11px var(--mono);color:#3e2614;background:#3e26142e;border-radius:3px;padding:0 4px;position:absolute;top:3px;left:4px}#inventory .cell .name{display:none}#inventory .bag .cell .name{text-align:center;pointer-events:none;font:12px/1.1 IM Fell English,Georgia,serif;display:block;position:absolute;bottom:5px;left:4px;right:4px}#inventory .cell b{font:13px IM Fell English,Georgia,serif;position:absolute;top:3px;right:5px}#inventory .hint{text-align:center;opacity:.7;margin-top:6px;font:italic 13px IM Fell English,Georgia,serif}#inventory .tip{pointer-events:none;color:#f3e2bd;z-index:2;background:#28180aeb;border-radius:6px;max-width:240px;padding:7px 10px;font:13px/1.35 IM Fell English,Georgia,serif;position:fixed;transform:translate(-50%);box-shadow:0 4px 14px #00000080}#inventory .tip b{color:#ffe2a8;margin-bottom:2px;font-size:15px;font-weight:400;display:block}#inventory .ghost{pointer-events:none;z-index:3;filter:drop-shadow(0 8px 10px #00000073);width:84px;height:84px;position:fixed;transform:translate(-50%,-50%)}#inventory.dragging,#inventory.dragging .cell{cursor:grabbing}#hurt{z-index:8;pointer-events:none;opacity:0;background:radial-gradient(#8c000000 45%,#96080c8c 100%);position:fixed;inset:0}#hurt.on{animation:.7s ease-out hurt}@keyframes hurt{0%{opacity:1}to{opacity:0}}#death{z-index:50;text-align:center;-webkit-backdrop-filter:grayscale(.8)blur(2px);opacity:0;background:#28282c9e;place-content:center;gap:18px;transition:opacity 1.4s;display:grid;position:fixed;inset:0}#death.on{opacity:1}#death h1{letter-spacing:.04em;color:#b0101e;text-shadow:0 0 30px #78000ab3,0 4px #280004e6;margin:0;font:700 min(18vw,150px)/1 Cinzel,IM Fell English,Georgia,serif}#death p{color:#fff;text-shadow:0 2px 6px #000c;margin:0;font:italic 22px IM Fell English,Georgia,serif}
