:root{--ink: #f1e8d4;--ink-dim: #c9bda2;--ochre: #d9743f;--ember: #f0a352;--moss: #a9c47a;--frost: #a9cbe0;--panel: rgba(24, 20, 15, .9);--line: rgba(241, 232, 212, .16);--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif}html,body{margin:0;height:100%;overflow:hidden;background:#0b0d10}body{font-family:var(--serif);color:var(--ink);font-size:15px;line-height:1.45;user-select:none}#view{position:fixed;inset:0;width:100%;height:100%;display:block;cursor:grab}#view:active{cursor:grabbing}#ui{position:fixed;inset:0;pointer-events:none}[hidden]{display:none!important}kbd{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78em;padding:1px 6px;margin-right:4px;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;background:#00000059;color:var(--ink)}button{font:inherit;color:var(--ink);background:#f1e8d414;border:1px solid var(--line);border-radius:5px;padding:5px 12px;cursor:pointer;pointer-events:auto}button:hover:not(:disabled){background:#f1e8d42e;border-color:#f1e8d466}button:disabled{opacity:.38;cursor:default}button.primary{background:#d9743f4d;border-color:#d9743fbf}button.primary:hover{background:#d9743f80}#sky-strip{position:absolute;top:0;left:50%;transform:translate(-50%);width:min(520px,62vw);padding:10px 26px 8px;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.9);background:linear-gradient(180deg,rgba(12,10,8,.6),rgba(12,10,8,.38) 70%,transparent);border-radius:0 0 14px 14px}#compass{position:relative;height:34px;border-bottom:1px solid rgba(241,232,212,.45)}#compass:after{content:"";position:absolute;left:50%;bottom:-1px;width:1px;height:8px;background:var(--ink)}#compass-ticks span{position:absolute;bottom:4px;transform:translate(-50%);font-size:13px;letter-spacing:.08em;color:var(--ink-dim)}.mark{position:absolute;top:0;transform:translate(-50%);white-space:nowrap;transition:opacity .3s}.mark i{display:block;width:9px;height:9px;margin:2px auto 0;border-radius:50%;background:var(--ink);box-shadow:0 0 0 1.5px #0009}.mark.trail i{background:var(--ochre);border-radius:2px;transform:rotate(45deg)}.mark.camp i{background:var(--ember)}.mark.water i{background:#7fc4e0}.mark.plant i{background:var(--moss)}.mark.animal i{background:#e6d3a4}#compass-label{min-height:18px;margin-top:2px;font-size:13px;color:var(--ink)}#compass-label.trail{color:#f2a077}#compass-label.camp{color:var(--ember)}.mark.edge{opacity:.55}#clock{margin-top:6px;font-size:13px;color:var(--ink-dim);letter-spacing:.03em}#objectives{position:absolute;top:12px;right:12px;width:262px;padding:9px 12px 5px;background:#0c0a0873;border-radius:8px;text-shadow:0 1px 3px rgba(0,0,0,.95)}#objectives ul{list-style:none;margin:0;padding:0}#objectives li{padding:3px 0 3px 14px;border-left:2px solid rgba(241,232,212,.4);margin-bottom:5px;font-size:14px}#objectives li:first-child{border-left-color:var(--ember)}#objectives li.trail{border-left-color:var(--ochre);color:#f2c3a4}#objectives em{display:block;font-size:12px;color:var(--ink-dim)}#needs{position:absolute;left:12px;bottom:12px;width:196px;padding:5px 12px 9px;background:#0c0a0873;border-radius:8px;text-shadow:0 1px 2px rgba(0,0,0,.9)}.need{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:8px;margin-top:5px;font-size:12.5px;color:var(--ink-dim)}.bar{height:7px;background:#00000080;border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px #f1e8d424}.bar i{display:block;height:100%;background:#d8cba8;border-radius:4px;transition:width .3s}[data-need=health] .bar i{background:#c9695a}[data-need=hunger] .bar i{background:#d6a85a}[data-need=thirst] .bar i{background:#6fb2d2}[data-need=warmth] .bar i{background:#e68a4a}[data-need=rest] .bar i{background:#a99bd0}.need.low span{color:#ffd9a0}.need.dire span{color:#ff8f7a;animation:throb 1s infinite}@keyframes throb{50%{opacity:.45}}#feels{margin-top:8px;font-size:13px;font-style:italic;color:var(--ink-dim)}#feels.cold{color:var(--frost)}#log{position:absolute;left:12px;bottom:178px;width:min(440px,44vw);display:flex;flex-direction:column;gap:6px}.line{margin:0;padding:6px 11px;background:#120f0b9e;border-left:2px solid rgba(241,232,212,.35);border-radius:0 5px 5px 0;font-size:14px;animation:rise .35s ease-out;transition:opacity 1.5s}.line.fading{opacity:0}.line.lore,.line.thought{font-style:italic;border-left-color:var(--moss);color:#e6efcf}.line.thought{border-left-color:#cdb8e8;color:#ece4f6}.line.warn{border-left-color:#e0634a;color:#ffd6c9}.line.hint{border-left-color:var(--frost);color:#dcecf5}.line.done{border-left-color:var(--ember);color:#ffe2b8}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}#prompt{position:absolute;left:50%;bottom:23%;transform:translate(-50%);padding:6px 14px;background:#120f0bb8;border:1px solid var(--line);border-radius:18px;font-size:15px;opacity:0;transition:opacity .15s;white-space:nowrap}#prompt.shown{opacity:1}#toasts{position:absolute;left:50%;bottom:31%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:3px}.toast{font-size:14px;color:#fff3d6;text-shadow:0 1px 3px #000;animation:lift 2.6s ease-out forwards}@keyframes lift{0%{opacity:0;transform:translateY(10px)}12%{opacity:1;transform:none}75%{opacity:1}to{opacity:0;transform:translateY(-14px)}}#labels span{position:absolute;transform:translate(-50%,-100%);font-size:12px;font-style:italic;padding:1px 7px;background:#120f0b99;border-radius:9px;white-space:nowrap;color:#e6efcf}#keys{position:absolute;right:16px;bottom:12px;font-size:12px;color:#f1e8d48c;text-shadow:0 1px 2px #000}#day-banner{position:absolute;top:24%;left:0;right:0;text-align:center;opacity:0;text-shadow:0 2px 12px rgba(0,0,0,.9)}#day-banner b{display:block;font-size:44px;font-weight:400;letter-spacing:.12em}#day-banner span{font-size:17px;font-style:italic;color:var(--ink-dim)}#day-banner.shown{animation:banner 5s ease-in-out forwards}@keyframes banner{0%{opacity:0}15%,70%{opacity:1}to{opacity:0}}#rest-banner{position:absolute;top:40%;left:0;right:0;text-align:center;font-size:22px;font-style:italic;letter-spacing:.06em;opacity:0;transition:opacity .6s;text-shadow:0 2px 10px #000}#rest-banner.shown{opacity:.9}#chill,#hurt,#fade{position:absolute;inset:0;opacity:0}#chill{background:radial-gradient(ellipse at center,transparent 45%,rgba(150,200,235,.55) 100%);transition:opacity 1s}#hurt{background:radial-gradient(ellipse at center,transparent 50%,rgba(150,20,10,.6) 100%);transition:opacity .6s}#fade{background:#07080a;display:grid;place-items:center;font-size:20px;font-style:italic;color:var(--ink-dim)}#fade.pulse{animation:dip 1.5s ease-in-out}@keyframes dip{0%{opacity:0}30%,55%{opacity:1}to{opacity:0}}.panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(900px,94vw);max-height:86vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 20px 60px #0009;pointer-events:auto;backdrop-filter:blur(3px)}.panel.small{width:min(460px,92vw)}#panel-map{width:auto}.panel-head{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:22px;padding:12px 18px 10px;border-bottom:1px solid var(--line)}.panel.small .panel-head,#panel-map .panel-head{grid-template-columns:1fr auto}.panel h2{margin:0;font-size:17px;font-weight:400;letter-spacing:.05em;color:var(--ember)}.panel h3{margin:14px 0 6px;font-size:12px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.panel h3:first-child{margin-top:0}.panel-body{padding:14px 18px 18px;overflow-y:auto}.panel-body.two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.close{font-size:12px;padding:3px 9px}.empty{color:var(--ink-dim);font-style:italic;margin:4px 0}.item,.recipe{display:flex;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid rgba(241,232,212,.07)}.item b{min-width:26px;text-align:right;font-weight:400;color:var(--ember)}.item .name,.recipe .name{flex:1}.item small,.recipe small{display:block;font-size:12px;color:var(--ink-dim)}.item.keeps b{color:var(--moss)}.item button,.recipe button{padding:3px 10px;font-size:13px}.recipe>div{flex:1}.recipe .name i{font-size:11px;color:var(--frost);letter-spacing:.08em;text-transform:uppercase;font-style:normal;margin-left:4px}.recipe .lore{font-style:italic;opacity:.8}.recipe.blocked .name{color:var(--ink-dim)}.have{color:var(--moss)}.lack{color:#e08e7a}.stores{margin:8px 0 0;font-size:13px;color:var(--ink-dim)}.stores b{color:var(--moss);font-weight:400}.goal{margin:3px 0}.goal.done{color:var(--ink-dim);text-decoration:line-through;text-decoration-color:#f1e8d459}.goal.lapsed{color:var(--ink-dim);opacity:.6}.goal em{font-size:12.5px;color:var(--ember);margin-left:6px}.memory{margin:10px 0;padding:8px 12px;border-left:2px solid var(--ochre);background:#d9743f12;font-size:13.5px}.memory p{margin:4px 0;font-style:italic;color:#ecdcc4}.lore-entry{margin:0 0 9px;font-size:14px}.lore-entry b{font-weight:400;color:var(--moss)}.controls{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:13px;color:var(--ink-dim)}#menu-lines p{margin:0 0 10px;font-style:italic;color:var(--ink-dim)}#menu-options{display:flex;flex-direction:column;gap:6px}#menu-options button{text-align:left;padding:7px 12px}#map-canvas{display:block;width:min(640px,68vh);height:min(640px,68vh);border-radius:6px}.overlay{position:absolute;inset:0;display:grid;place-items:center;pointer-events:auto;background:radial-gradient(ellipse at center,#0a0907c7,#0a0907ed)}.overlay.arrive{animation:arrive .9s ease-out}@keyframes arrive{0%{opacity:0}}.card-inner{width:min(620px,88vw);max-height:88vh;overflow-y:auto}.kicker{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ochre)}.card-inner h1{margin:6px 0 16px;font-size:38px;font-weight:400;letter-spacing:.03em}#card-text p{margin:0 0 13px;font-size:17.5px;line-height:1.6;color:#efe6d2}.footnote{margin:16px 0 0;font-size:13px;color:var(--ink-dim)}#card-buttons{margin-top:22px;display:flex;gap:10px}#card-buttons button,#title-buttons button{padding:9px 26px;font-size:16px}#title{background:linear-gradient(180deg,#0a090759,#0a09071a 40%,#0a0907b8)}.title-inner{text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.85)}.title-inner h1{margin:0;font-size:clamp(54px,9vw,104px);font-weight:400;letter-spacing:.14em}.subtitle{margin:4px 0 34px;font-size:19px;font-style:italic;color:var(--ink-dim)}#title-buttons{display:flex;gap:12px;justify-content:center}.controls-brief{margin-top:38px;font-size:13px;color:#f1e8d499}
