:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: #0b1511;--panel: rgba(14, 28, 22, .9);--panel-solid: #12241b;--ink: #f2f4d8;--muted: #b7c5aa;--edge: rgba(230, 239, 199, .28);--edge-strong: #e8c968;--accent: #e8c968;--health: #8ed394;--hunger: #e6ae5c;--thirst: #72c6d2;--danger: #f18a72;--shadow: 0 18px 50px rgba(0, 0, 0, .38);--stick-size: 8rem}*{box-sizing:border-box}[hidden]{display:none!important}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--ink)}body{min-width:280px}body:before,body:after{position:fixed;z-index:0;width:48vmax;height:48vmax;content:"";pointer-events:none;opacity:.16;transform:rotate(28deg)}body:before{top:-34vmax;right:-15vmax;background:#5b8f68;clip-path:polygon(50% 0,100% 35%,78% 100%,12% 78%,0 27%)}body:after{bottom:-38vmax;left:-14vmax;background:#397985;clip-path:polygon(50% 0,100% 28%,82% 100%,0 76%,8% 24%)}button,input,output{font:inherit}button{min-width:44px;min-height:44px;border:1px solid var(--edge);border-radius:2px;padding:.7rem .9rem;background:#f2f4d80f;color:var(--ink);font-weight:750;letter-spacing:.035em;cursor:pointer;touch-action:manipulation}button:hover{border-color:var(--edge-strong);background:#e8c9681f}button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.48}#app{position:relative;width:100%;height:100%;isolation:isolate}#game{display:block;width:100%;height:100%;background:linear-gradient(180deg,#0f231f14,#08100c38),linear-gradient(135deg,#537b62,#1b3930 55%,#24515a);touch-action:none}.vignette{position:fixed;z-index:1;inset:0;box-shadow:inset 0 0 #0000;pointer-events:none;transition:box-shadow .18s ease}.vignette.danger{box-shadow:inset 0 0 9vw 2vw #a81a136b}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.hud{position:fixed;z-index:2;inset:0;display:grid;grid-template-columns:minmax(16rem,19rem) minmax(0,1fr) minmax(18rem,22rem);grid-template-rows:auto 1fr auto;gap:1rem;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));pointer-events:none}.panel{position:relative;border:1px solid var(--edge);border-radius:2px;background:var(--panel);box-shadow:var(--shadow),inset 3px 0 #e8c96857;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.hud-header{grid-column:1 / -1;display:grid;grid-template-columns:minmax(12rem,1fr) minmax(25rem,36rem) auto;gap:1.25rem;align-items:center;padding:.75rem;pointer-events:auto}.brand-lockup{display:flex;gap:.75rem;align-items:center;min-width:0}.brand-lockup>span:last-child{display:grid;min-width:0}.brand-lockup small,.eyebrow,.vital-label,.field-guide dt{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.brand-lockup strong{overflow:hidden;font-size:1rem;letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.brand-mark{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;border:1px solid var(--edge-strong);background:var(--accent);clip-path:polygon(0 0,78% 0,100% 22%,100% 100%,22% 100%,0 78%);color:#182118;font-weight:900;letter-spacing:-.04em}.vitals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.vital{min-width:0}.vital-label{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.vital-label output{color:var(--ink);font-variant-numeric:tabular-nums}meter{display:block;width:100%;height:10px;border:1px solid var(--edge);border-radius:0;background:#0006;appearance:none}meter::-webkit-meter-bar{border:0;border-radius:0;background:#0006}meter::-webkit-meter-optimum-value{border:0;border-radius:0;background:var(--health)}meter::-moz-meter-bar{border:0;border-radius:0;background:var(--health)}.vital:nth-child(2)::-webkit-meter-optimum-value,.vital:nth-child(2)::-moz-meter-bar{background:var(--hunger)}.vital:nth-child(3)::-webkit-meter-optimum-value,.vital:nth-child(3)::-moz-meter-bar{background:var(--thirst)}.utility-button,.primary-button,.secondary-button,.danger-button,.icon-button{position:relative;isolation:isolate;overflow:hidden}.utility-button:after,.primary-button:after,.secondary-button:after,.danger-button:after{position:absolute;z-index:-1;inset:0;content:"";opacity:.18;clip-path:polygon(100% 0,100% 100%,18% 100%)}.primary-button{border-color:#f4d77c;background:var(--accent);color:#152019;font-size:1rem}.primary-button:after{background:#fff3b5}.secondary-button{border-color:var(--edge-strong);background:#e8c96814}.secondary-button:after{background:var(--accent)}.danger-button{border-color:var(--danger);background:#f18a7217;color:#ffd8cd}.danger-button:after{background:var(--danger)}.icon-button{align-self:start;padding-inline:.75rem}.objective{grid-column:1;grid-row:2;align-self:start;padding:.9rem 1rem 1rem;pointer-events:auto}.objective p{margin:.35rem 0 0;font-size:.95rem;line-height:1.4}.ecology-status{color:var(--accent);font-size:.7rem!important;letter-spacing:.035em}.compass{grid-column:2;grid-row:2;align-self:start;justify-self:center;width:min(25rem,calc(100vw - 3rem));padding:.65rem 1rem .75rem;pointer-events:auto}.compass-line{display:grid;grid-template-columns:auto 1fr auto 1fr auto auto;gap:.4rem;align-items:center;color:var(--muted);font-size:.68rem;font-weight:850;letter-spacing:.1em}.compass-line i{height:1px;background:linear-gradient(90deg,transparent,var(--edge-strong))}.compass-line i:nth-of-type(2){background:linear-gradient(90deg,var(--edge-strong),transparent)}.compass-line b{color:var(--accent)}.bearing{display:inline-grid;width:1.8rem;height:1.8rem;place-items:center;border:1px solid var(--edge-strong);border-radius:50%;color:var(--accent);transform-origin:center}.compass p{display:flex;gap:.7rem;align-items:baseline;margin:.5rem 0 0;color:var(--muted);font-size:.78rem}.compass p strong{flex:0 0 auto;color:var(--ink);text-transform:uppercase}.hud-bottom{grid-column:1 / -1;grid-row:3;display:grid;grid-template-columns:minmax(15rem,30rem) auto;gap:1rem;align-items:end;justify-content:space-between;pointer-events:auto}.prompt{display:flex;gap:.7rem;align-items:center;min-height:52px;margin:0;padding:.55rem .8rem;font-size:.86rem}kbd{display:inline-grid;min-width:1.8em;min-height:1.8em;place-items:center;border:1px solid currentColor;border-radius:2px;padding:.15rem .35rem;background:#0000003d;color:var(--ink);font:750 .72rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;box-shadow:inset 0 -2px #00000059}.action-deck{display:grid;grid-template-columns:repeat(3,minmax(7.5rem,1fr));gap:.4rem;padding:.4rem}.action-deck button{display:flex;gap:.8rem;align-items:center;justify-content:space-between;min-width:0;padding-inline:.65rem}.supplies{display:flex;flex-wrap:wrap;gap:.2rem 1.1rem;align-items:baseline;justify-content:space-between}.supply{display:inline-flex;gap:.4rem;align-items:baseline;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.supply output{color:var(--ink);font-size:.86rem;font-variant-numeric:tabular-nums;letter-spacing:.02em}.touch-controls{position:fixed;z-index:3;bottom:max(.5rem,env(safe-area-inset-bottom));left:max(.5rem,env(safe-area-inset-left));display:none;gap:.3rem;justify-items:center;pointer-events:none}body.touch-input .touch-controls{display:grid}body.touch-input .hud-bottom{padding-left:calc(var(--stick-size) + .75rem)}body.touch-input .action-deck kbd{display:none}#prompt-chip:empty{display:none}.move-stick{position:relative;width:var(--stick-size);height:var(--stick-size);border:1px solid var(--edge-strong);border-radius:50%;background:radial-gradient(circle,#08140f80 0 46%,#08140f42 47% 100%);box-shadow:inset 0 0 0 1px #f2f4d812,var(--shadow);pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.stick-knob{position:absolute;top:50%;left:50%;width:2.6rem;height:2.6rem;border:1px solid var(--edge-strong);border-radius:50%;background:var(--panel);box-shadow:var(--shadow);transform:translate(-50%,-50%);transition:transform 90ms linear}.move-stick.dragging .stick-knob{transition:none}.move-stick.dragging{border-color:var(--ink)}.stick-arrow{position:absolute;top:50%;left:50%;width:.55rem;height:.55rem;border:2px solid transparent;border-top-color:#f2f4d873;border-right-color:#f2f4d873}.stick-arrow-up{transform:translate(-50%,-50%) translateY(-2.7rem) rotate(-45deg)}.stick-arrow-right{transform:translate(-50%,-50%) translate(2.7rem) rotate(45deg)}.stick-arrow-down{transform:translate(-50%,-50%) translateY(2.7rem) rotate(135deg)}.stick-arrow-left{transform:translate(-50%,-50%) translate(-2.7rem) rotate(-135deg)}.stick-hint{margin:0;color:var(--muted);font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.toast{grid-column:2;grid-row:2;align-self:end;justify-self:center;max-width:min(34rem,calc(100vw - 2rem));margin:0 0 1rem;border:1px solid var(--edge-strong);padding:.7rem 1rem;background:#12241b;box-shadow:var(--shadow);color:var(--ink);font-size:.86rem;line-height:1.4;text-align:center;pointer-events:none;visibility:hidden;opacity:0;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease,visibility .16s}.toast.show{visibility:visible;opacity:1;transform:none;animation:toast-in .22s ease-out both}dialog{color:var(--ink)}.title-screen,.modal-screen{display:grid;place-items:center}.title-screen{position:fixed;z-index:10;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));overflow:auto;border:0;background:linear-gradient(135deg,#060f0bc7,#060f0b8f),linear-gradient(35deg,transparent 45%,rgba(114,198,210,.2) 45% 55%,transparent 55%);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.title-card,.modal-card{position:relative;width:min(100%,43rem);border:1px solid var(--edge);background:var(--panel-solid);box-shadow:0 30px 90px #00000094}.title-card{padding:clamp(1.3rem,4vw,3rem);overflow:hidden;animation:title-in .36s cubic-bezier(.2,.8,.2,1) both}.title-card:before,.modal-card:after{position:absolute;content:"";pointer-events:none}.title-card:before{top:-6rem;right:-4rem;width:17rem;height:17rem;border:1px solid rgba(232,201,104,.35);transform:rotate(30deg);clip-path:polygon(50% 0,100% 25%,86% 100%,14% 86%,0 25%)}.modal-card:after{right:0;bottom:0;width:8rem;height:8rem;background:#72c6d221;clip-path:polygon(100% 0,100% 100%,0 100%)}.title-card h1,.modal-card h2{position:relative;margin:.45rem 0 0;line-height:.95;text-transform:uppercase}.title-card h1{max-width:11ch;font-size:clamp(2.7rem,8vw,5.6rem);letter-spacing:-.075em}.title-card h1 span{display:block;color:var(--accent);font-size:.46em;letter-spacing:.18em}.lede{max-width:62ch;margin:1.3rem 0 1.5rem;color:var(--muted);font-size:clamp(1rem,2.2vw,1.16rem);line-height:1.6}.field-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;border:1px solid var(--edge);background:var(--edge)}.field-guide div{display:grid;gap:.35rem;padding:.8rem;background:#102018}.field-guide dd{margin:0;font-size:.85rem;line-height:1.5}.field-note{margin:1rem 0;color:var(--muted);font-size:.88rem;line-height:1.5}.field-note strong{color:var(--ink)}.title-card>button{width:100%;margin-top:.55rem}.modal-screen{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));overflow:auto;border:0;background:#040c09d1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-screen::backdrop{background:#040c09b8}.modal-card{max-height:calc(100dvh - 2rem);padding:clamp(1.2rem,4vw,2.2rem);overflow:auto;animation:title-in .22s ease-out both}.modal-card h2{font-size:clamp(2rem,6vw,3.4rem);letter-spacing:-.04em}.modal-card>p,#settings-note{color:var(--muted);line-height:1.55}.modal-actions{display:grid;gap:.65rem;margin-top:1.5rem}.modal-heading{display:flex;gap:1rem;align-items:start;justify-content:space-between}.settings-card{width:min(100%,38rem)}.settings-list{display:grid;margin:1.4rem 0;border:1px solid var(--edge)}.volume-control,.switch-control{display:flex;min-height:64px;gap:1rem;align-items:center;justify-content:space-between;padding:.75rem .9rem;background:#102018;cursor:pointer}.volume-control+.volume-control,.switch-control+.switch-control{border-top:1px solid var(--edge)}.volume-control>span:first-child,.switch-control>span{display:grid;gap:.2rem}.volume-control small,.switch-control small{color:var(--muted);font-size:.78rem;line-height:1.35}.volume-input{display:flex;flex:0 1 15rem;gap:.7rem;align-items:center}input[type=range]{width:100%;min-height:44px;accent-color:var(--accent);cursor:pointer}input[type=checkbox]{flex:0 0 auto;width:1.4rem;height:1.4rem;margin:0;accent-color:var(--accent)}#volume-value{min-width:3ch;color:var(--ink);font-variant-numeric:tabular-nums}#settings-help{width:100%}.noscript{position:fixed;z-index:30;right:1rem;bottom:1rem;max-width:28rem;border:1px solid var(--danger);padding:1rem;background:#24130f}@keyframes title-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:900px){.hud{grid-template-columns:minmax(13rem,.8fr) minmax(18rem,1.2fr)}.hud-header{grid-template-columns:1fr auto}.vitals{grid-column:1 / -1;grid-row:2}.compass{grid-column:2}.toast{grid-column:1 / -1}}@media(max-width:640px){.hud{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto 1fr auto;gap:.5rem;padding:max(.5rem,env(safe-area-inset-top)) max(.5rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left))}.hud-header{grid-column:1 / -1;grid-row:1;gap:.5rem;padding:.55rem}.brand-lockup{gap:.5rem}.brand-lockup strong{font-size:.78rem}.brand-lockup small{font-size:.58rem}.brand-mark{flex-basis:38px;width:38px;height:38px}.utility-button{padding-inline:.6rem;font-size:.78rem}.vitals{gap:.45rem}.vital-label{font-size:.58rem}.objective,.compass{grid-row:2;align-self:start}.objective{grid-column:1;padding:.65rem}.objective p{font-size:.76rem}.compass{grid-column:2;width:100%;padding:.6rem}.compass p{display:grid;gap:.15rem;font-size:.66rem}.hud-bottom{grid-column:1 / -1;grid-row:4;grid-template-columns:minmax(0,1fr);gap:.5rem}.prompt{min-height:44px;font-size:.74rem}.action-deck{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.action-deck button{min-width:0}.supplies{grid-column:1 / -1;justify-content:flex-start}.toast{grid-row:3;margin-bottom:.5rem;font-size:.76rem}.title-card{padding:1.2rem}.field-guide{grid-template-columns:1fr}.volume-control{align-items:flex-start;flex-direction:column}.volume-input{width:100%;flex-basis:auto}}@media(max-width:420px){:root{--stick-size: 6.75rem}.brand-lockup>span:last-child,.objective .eyebrow{display:none}.hud-header{grid-template-columns:auto 1fr auto}.vitals{grid-column:1 / -1}.action-deck kbd{display:none}}@media(max-height:640px){:root{--stick-size: 6.25rem}}@media(max-height:620px)and (orientation:landscape){.hud{gap:.45rem;padding:.45rem}.hud-header{padding:.45rem}.objective,.compass{padding-block:.55rem}.hud-bottom{grid-template-columns:minmax(14rem,26rem) auto}.title-card{max-width:46rem;padding:1.1rem 1.5rem}.title-card h1{font-size:2.5rem}.lede{margin-block:.65rem;font-size:.88rem}.field-guide,.field-note{display:none}}@media(hover:none){button:hover{border-color:var(--edge);background:#f2f4d80f}}body.high-contrast,body[data-high-contrast=true],body:has(#high-contrast:checked){--bg: #000;--panel: #000;--panel-solid: #000;--ink: #fff;--muted: #fff;--edge: #ffdf00;--edge-strong: #ffdf00;--accent: #ffdf00;--health: #00ff85;--hunger: #ffdf00;--thirst: #65dfff;--danger: #ff8066;--shadow: none}body.high-contrast .panel,body[data-high-contrast=true] .panel,body:has(#high-contrast:checked) .panel,body.high-contrast .title-card,body[data-high-contrast=true] .title-card,body:has(#high-contrast:checked) .title-card,body.high-contrast .modal-card,body[data-high-contrast=true] .modal-card,body:has(#high-contrast:checked) .modal-card{border-width:2px;background:#000;backdrop-filter:none;-webkit-backdrop-filter:none}body.high-contrast button,body[data-high-contrast=true] button,body:has(#high-contrast:checked) button,body.high-contrast kbd,body[data-high-contrast=true] kbd,body:has(#high-contrast:checked) kbd{border-width:2px}body.high-contrast .title-screen,body[data-high-contrast=true] .title-screen,body:has(#high-contrast:checked) .title-screen,body.high-contrast .modal-screen,body[data-high-contrast=true] .modal-screen,body:has(#high-contrast:checked) .modal-screen,body.high-contrast .modal-screen::backdrop,body[data-high-contrast=true] .modal-screen::backdrop,body:has(#high-contrast:checked) .modal-screen::backdrop{background-color:#000000f5}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body.reduced-motion *,body[data-reduced-motion=true] *,body:has(#reduced-motion:checked) *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hud,.hud-header,.vitals,.hud-bottom,.panel{min-width:0}.title-card,.modal-card{max-width:100%}.title-card h1,.modal-card h2,.objective p,.compass p{overflow-wrap:anywhere}.title-screen,.modal-screen{overscroll-behavior:contain}@media(min-width:901px){.hud-header{grid-template-columns:minmax(12rem,1fr) minmax(22rem,34rem) minmax(6rem,auto)}.vitals{min-width:0}}@media(max-width:640px){.hud{grid-template-rows:auto auto minmax(0,1fr) auto}.hud-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto}.brand-lockup{grid-column:1;grid-row:1;min-width:0}.brand-lockup>span:last-child{min-width:0}.brand-lockup strong,.brand-lockup small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.utility-button{grid-column:2;grid-row:1;justify-self:end;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vitals{grid-column:1 / -1;grid-row:2;min-width:0}.objective,.compass{min-width:0;overflow:hidden}.compass p span{overflow-wrap:anywhere}.action-deck button,.action-deck button>span{min-width:0}.action-deck button:not(.supplies)>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prompt{width:100%}.title-card{padding:1.1rem}.title-card h1{font-size:clamp(2.5rem,14vw,4rem)}.lede{font-size:.95rem}.modal-card{max-height:calc(100dvh - 1.5rem);padding:1rem}.settings-card{width:100%}.settings-list{margin-block:1rem}.volume-control,.switch-control{gap:.5rem;padding:.65rem}.volume-input{min-width:0}}@media(max-width:420px){.hud-header{grid-template-columns:minmax(0,1fr) auto}.brand-lockup>span:last-child{display:grid}.brand-lockup small{display:none}.brand-lockup strong{font-size:.72rem}.utility-button{font-size:.68rem;padding-inline:.45rem}.action-deck{gap:.35rem}.action-deck button{padding-inline:.5rem;font-size:.72rem}}
