@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(./vt323-vietnamese-400-normal-D0VnvwZ9.woff2) format("woff2"),url(./vt323-vietnamese-400-normal-D_5Q7Vcv.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(./vt323-latin-ext-400-normal-iUdYUaX4.woff2) format("woff2"),url(./vt323-latin-ext-400-normal-DqOq58ri.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(./vt323-latin-400-normal-wDgJuOC9.woff2) format("woff2"),url(./vt323-latin-400-normal-Dqn9ZSPj.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #e8e3d0;--ink: #22201c;--accent: #a03e2d;--ui-scale: 1}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;background:var(--bg)}body{font-family:VT323,monospace;color:var(--ink);user-select:none;-webkit-user-select:none}#app{position:fixed;inset:0}#game{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}#fx-scanlines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.055) 0px,rgba(0,0,0,.055) 1px,transparent 1px,transparent 3px);mix-blend-mode:multiply;z-index:5}#fx-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 58%,rgba(0,0,0,.26) 100%);z-index:6}#hud{position:absolute;inset:0;pointer-events:none;z-index:10;font-size:20px;line-height:1.1}#hud-left{position:absolute;top:12px;left:16px;text-shadow:0 0 6px var(--bg),0 0 2px var(--bg)}#region-name{font-size:26px;letter-spacing:1px}#biome-name{opacity:.75;font-size:18px}#hud-right{position:absolute;top:12px;right:16px;text-align:right;pointer-events:auto}#coords{font-family:inherit;font-size:17px;color:var(--ink);background:color-mix(in srgb,var(--bg) 82%,var(--ink));border:1px solid var(--ink);padding:3px 9px;cursor:pointer;letter-spacing:.5px}#coords:hover{background:var(--ink);color:var(--bg)}#hud-keys{margin-top:6px;display:flex;gap:4px;justify-content:flex-end}#hud-keys button{font-family:inherit;font-size:16px;width:28px;height:26px;color:var(--ink);background:color-mix(in srgb,var(--bg) 82%,var(--ink));border:1px solid var(--ink);cursor:pointer;opacity:.85}#hud-keys button:hover{background:var(--ink);color:var(--bg);opacity:1}#hud-hint{position:absolute;bottom:14px;left:50%;transform:translate(-50%);font-size:19px;letter-spacing:.5px;opacity:.85;text-shadow:0 0 6px var(--bg),0 0 3px var(--bg);transition:opacity .4s;white-space:nowrap}#hud-hint.faded{opacity:0}#toasts{position:absolute;top:64px;left:50%;transform:translate(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.toast{font-size:20px;background:color-mix(in srgb,var(--bg) 88%,var(--ink));border:1px solid var(--ink);padding:5px 14px;animation:toast-in .25s ease-out;max-width:70vw;text-align:center}.toast.accent{border-color:var(--accent);color:var(--accent)}.toast.leaving{transition:opacity .6s,transform .6s;opacity:0;transform:translateY(-8px)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}#dialogue{position:absolute;left:50%;bottom:42px;transform:translate(-50%);width:min(680px,calc(100vw - 48px));background:color-mix(in srgb,var(--bg) 94%,var(--ink));border:2px solid var(--ink);box-shadow:4px 4px color-mix(in srgb,var(--ink) 35%,transparent);padding:12px 18px 14px;z-index:15;font-size:23px;line-height:1.25}#dialogue-name{font-size:18px;letter-spacing:1.5px;text-transform:uppercase;opacity:.7;margin-bottom:4px}#dialogue-name .mood{text-transform:none;letter-spacing:.5px}#dialogue-text{min-height:34px;white-space:pre-wrap}#dialogue-choices{margin-top:10px;display:flex;flex-direction:column;gap:3px}.choice{cursor:pointer;padding:2px 8px;border:1px solid transparent}.choice:before{content:"· ";opacity:.5}.choice.selected{border-color:var(--ink);background:color-mix(in srgb,var(--ink) 10%,transparent)}.choice.selected:before{content:"▸ ";color:var(--accent);opacity:1}#dialogue-more{position:absolute;right:12px;bottom:6px;animation:bob .9s infinite;opacity:.7}@keyframes bob{0%,to{transform:none}50%{transform:translateY(2px)}}.hidden{display:none!important}.modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--ink) 25%,transparent);z-index:30;display:flex;align-items:center;justify-content:center}.modal{width:min(620px,calc(100vw - 40px));max-height:min(76vh,640px);overflow-y:auto;background:var(--bg);border:2px solid var(--ink);box-shadow:6px 6px color-mix(in srgb,var(--ink) 40%,transparent);padding:18px 22px 20px;font-size:21px}.modal h2{font-size:26px;font-weight:400;letter-spacing:2px;text-transform:lowercase;border-bottom:1px solid var(--ink);padding-bottom:6px;margin-bottom:12px}.modal .dim{opacity:.65;font-size:18px}.modal label{display:block;margin:10px 0 2px;font-size:18px;opacity:.75}.modal textarea,.modal input[type=text]{width:100%;font-family:inherit;font-size:18px;color:var(--ink);background:color-mix(in srgb,var(--bg) 88%,var(--ink));border:1px solid var(--ink);padding:6px 8px;resize:vertical}.modal textarea{height:74px;word-break:break-all}.modal button{font-family:inherit;font-size:20px;color:var(--ink);background:color-mix(in srgb,var(--bg) 82%,var(--ink));border:1px solid var(--ink);padding:4px 14px;cursor:pointer;margin:8px 8px 0 0}.modal button:hover{background:var(--ink);color:var(--bg)}.modal button.accent{border-color:var(--accent);color:var(--accent)}.modal button.accent:hover{background:var(--accent);color:var(--bg)}.modal .row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:6px 2px;border-bottom:1px dashed color-mix(in srgb,var(--ink) 30%,transparent)}.modal .row .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal .row button{font-size:16px;padding:2px 8px;margin:0 0 0 4px;flex-shrink:0}.modal .quest-done{opacity:.55;text-decoration:line-through}.modal input[type=range]{accent-color:var(--accent);width:180px}#map-canvas{display:block;margin:10px auto;image-rendering:pixelated;border:1px solid var(--ink)}kbd{font-family:inherit;border:1px solid var(--ink);padding:0 6px;margin:0 2px;font-size:17px;background:color-mix(in srgb,var(--bg) 82%,var(--ink))}#title-root{position:absolute;inset:0;z-index:40;pointer-events:none}#title-screen{position:absolute;inset:0;pointer-events:auto;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;transition:opacity 1.1s;overflow:hidden}#title-screen.leaving{opacity:0;pointer-events:none}#title-static{position:absolute;inset:0;opacity:.05;image-rendering:pixelated;width:100%;height:100%}#title-art{width:min(280px,32vh,56vw);image-rendering:pixelated;margin-bottom:8px;z-index:1}#title-screen h1{font-size:clamp(34px,6vw,56px);font-weight:400;letter-spacing:6px;text-transform:uppercase;z-index:1}#title-screen .subtitle{font-size:21px;opacity:.7;margin-top:2px;z-index:1;letter-spacing:1px}#title-screen .epigraph{max-width:min(600px,84vw);margin:16px 0 20px;font-size:19px;line-height:1.3;text-align:center;opacity:.85;z-index:1}#title-screen .buttons{display:flex;flex-direction:column;gap:8px;align-items:center;z-index:1}#title-screen button{font-family:inherit;font-size:22px;letter-spacing:1px;color:var(--ink);background:transparent;border:2px solid var(--ink);padding:4px 26px;cursor:pointer;min-width:300px}#title-screen button:hover{background:var(--ink);color:var(--bg)}#title-screen button.primary{border-color:var(--accent);color:var(--accent)}#title-screen button.primary:hover{background:var(--accent);color:var(--bg)}#title-screen .foot{position:absolute;bottom:14px;font-size:16px;opacity:.5;z-index:1;text-align:center;width:100%}
