.stamina{width:210px;margin-top:9px}.staminahead{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#b7ceba}.staminaTrack{height:6px;background:#091f2a;border:1px solid #53756c;border-radius:9px;margin-top:7px;overflow:hidden}#staminaFill{height:100%;width:100%;background:#9bd6ad;transition:width .08s linear}#staminaFill.spent{background:#dfb374}#rations{font-size:10px;color:#e5d1a1;margin-top:9px}
*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#091a22;color:#e8e9da;font-family:system-ui,sans-serif}canvas{display:block;width:100vw;height:100dvh;outline:none;touch-action:none}.hud{position:fixed;inset:0;pointer-events:none;padding:24px 30px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(#07182395,transparent 28%,transparent 75%,#071823b8)}.top,.bottom{display:flex;justify-content:space-between;gap:18px}.eyebrow{font-size:9px;letter-spacing:2.6px;color:#abc9be}.name{font:32px Georgia,serif;margin:7px 0}.subtitle{font-size:11px;color:#b3cdc4;line-height:1.7}.health{font-size:21px;letter-spacing:4px;color:#e1c78f;margin-top:11px;text-shadow:0 2px 10px #0008}.tools{pointer-events:auto;display:flex;align-items:flex-start;gap:7px;position:relative}button{font:11px system-ui;color:#e3e9d9;background:#143139e6;border:1px solid #87b0a84d;border-radius:6px;padding:10px 13px;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}button:hover{background:#2b4e50;border-color:#b2d4c888}button:active{transform:translateY(1px)}button:focus-visible{outline:2px solid #e5ce95;outline-offset:3px}button.active{background:#29524a;border-color:#9bd6ad88;color:#d6f5df}.bottom{align-items:flex-end}.keys{display:flex;gap:14px;flex-wrap:wrap;padding:11px 15px;border:1px solid #789e8d44;background:#0b252edb;border-radius:8px;font-size:10px;color:#b7ccbd;backdrop-filter:blur(8px)}kbd{font:10px system-ui;border:1px solid #89aa9655;background:#13333d99;border-radius:3px;padding:2px 5px;color:#eadcb4;margin-right:4px}.progress-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.trailBar{width:190px;height:5px;background:#091f2acc;border:1px solid #53756c88;border-radius:9px;position:relative}#trailFill{height:100%;width:0%;background:linear-gradient(90deg,#7ab89e,#e5d6a5);border-radius:9px;transition:width .12s linear}.trailDot{position:absolute;top:-2px;width:3px;height:7px;border-radius:2px;background:#486b62;transform:translateX(-50%)}.trailDot.visited{background:#ffe59e;box-shadow:0 0 6px #ffe59e88}.progress{text-align:right;font-size:10px;line-height:1.85;color:#b2c8b8}.progress strong{font:20px Georgia,serif;color:#e5d6a5}.regionBanner{position:fixed;top:17%;left:50%;transform:translate(-50%,-8px);text-align:center;pointer-events:none;opacity:0;transition:opacity .45s ease,transform .45s ease;z-index:2}.regionBanner.show{opacity:1;transform:translate(-50%,0)}.regionBanner .eyebrow{color:#dfca95;letter-spacing:3.5px;font-size:9px}.regionBanner h2{font:28px Georgia,serif;color:#f2efe2;margin:5px 0 3px;text-shadow:0 4px 18px #000b}.regionBanner p{font:italic 12px Georgia,serif;color:#b8d1c5;margin:0}.toast{transition:opacity .22s,transform .22s;position:fixed;bottom:106px;left:50%;transform:translateX(-50%);width:max-content;max-width:min(580px,90vw);text-align:center;background:#102d38f0;border:1px solid #93bba366;color:#dcead7;font-size:12px;line-height:1.6;padding:11px 20px;border-radius:8px;box-shadow:0 12px 32px #0006;pointer-events:none}.prompt{transition:opacity .12s,transform .12s;position:fixed;left:50%;top:70%;transform:translateX(-50%);font-size:10px;font-weight:600;letter-spacing:1px;background:#e6d4a2;color:#162d29;padding:8px 13px;border-radius:5px;box-shadow:0 6px 20px #0007;pointer-events:none;white-space:nowrap}.prompt::after{content:'';position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);border-width:5px 5px 0;border-style:solid;border-color:#e6d4a2 transparent transparent}.confirmPop{position:absolute;top:44px;right:0;background:#102b35f5;border:1px solid #dfca9577;border-radius:8px;padding:12px 14px;width:235px;box-shadow:0 14px 40px #0009;backdrop-filter:blur(8px);z-index:6}.confirmPop p{margin:0 0 10px;font-size:11px;line-height:1.5;color:#d6e2d4}.confirmActions{display:flex;gap:8px;justify-content:flex-end}.confirmActions button{padding:6px 11px;font-size:10px}.confirmYes{background:#dfca95!important;color:#19302e!important;font-weight:600}.overlay{position:fixed;inset:0;z-index:4;background:#05141dcc;backdrop-filter:blur(6px);display:grid;place-items:center}.card{width:min(520px,92vw);padding:34px;border-radius:12px;border:1px solid #739f9677;background:radial-gradient(at top right,#2d5051,#102b35 70%);box-shadow:0 25px 100px #0008}.card h1{font:42px Georgia,serif;font-weight:400;line-height:1.1;margin:15px 0}.card p{font-size:13px;line-height:1.75;color:#bfcec0}.how{display:grid;grid-template-columns:1fr 1fr;gap:12px 15px;font-size:11px;border-top:1px solid #87aa8b44;padding-top:18px;margin-top:18px}.card button{display:block;width:100%;margin-top:22px;background:#dfca95;color:#1b3230;padding:14px;font-weight:600}.card small{display:block;margin-top:14px;text-align:center;color:#90b0a4;font-size:10px}.hidden{display:none!important}.touch{position:fixed;bottom:90px;left:20px;right:20px;justify-content:space-between;display:none;pointer-events:none}.touch>div{display:flex;gap:9px;pointer-events:auto}.touch button{width:55px;height:55px;border-radius:50%;touch-action:none;user-select:none}@media(pointer:coarse){.touch{display:flex}.keys{display:none}.toast{transition:opacity .18s;bottom:160px}.prompt{transition:opacity .12s;top:60%}}@media(max-width:650px){.hud{padding:16px}.tools{flex-direction:column;gap:4px}.tools button{padding:7px 10px}.name{font-size:25px}.subtitle{font-size:10px;max-width:180px}.keys{font-size:8px;gap:6px;padding:8px}.card{padding:27px}.card h1{font-size:37px}}
.journal-card{width:min(700px,94vw);max-height:90vh;overflow:auto}.journal-card h1{font-size:32px}.journal-card h3{font:20px Georgia;color:#e6d3a5;margin:0 0 4px}.journal-card article{border-top:1px solid #789e8d44;margin-top:16px;padding-top:12px}.journal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:14px}.region-stat{background:#0b222b99;border:1px solid #6b918444;border-radius:7px;padding:10px 12px;font-size:11px;color:#b8cebf}.region-stat b{display:block;color:#e5d6a5;font-size:11px;margin-bottom:3px}.card{max-height:94vh;overflow:auto}
