:root{--bg: #0a0803;--amber: #e8d9a0;--amber-dim: #8a7d55;--amber-bright: #fff4cf;--danger: #c8502f;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--font-mono: "Courier New", "DejaVu Sans Mono", ui-monospace, monospace}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;height:100dvh;overflow:hidden;background:var(--bg);color:var(--amber);font-family:var(--font-mono);user-select:none;-webkit-user-select:none;overscroll-behavior:none;touch-action:none}#game-canvas{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#hud{position:fixed;inset:0;pointer-events:none;opacity:0;transition:opacity .6s ease;z-index:10}#hud.visible{opacity:1}#crosshair{position:absolute;top:50%;left:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;border-radius:50%;background:#e8d9a080;box-shadow:0 0 4px #000000e6}#bars{position:absolute;left:calc(22px + var(--safe-left));bottom:calc(24px + var(--safe-bottom));display:flex;flex-direction:column;gap:6px}.bar{width:92px;height:3px;background:#e8d9a01a;overflow:hidden}.bar>i{display:block;height:100%;width:100%;background:#e8d9a08c;transform-origin:left center;transition:transform .25s ease,background-color .4s ease}.bar[data-bar=health]>i{background:#c8502fbf}.bar[data-bar=stamina]>i{background:#e8d9a073}.bar[data-bar=sanity]>i{background:#96afcd99}.bar[data-bar=battery]>i{background:#ffdc8299}.bar.critical>i{animation:bar-critical 1.4s ease-in-out infinite}@keyframes bar-critical{0%,to{opacity:1}50%{opacity:.35}}#status-warning{position:absolute;left:50%;top:calc(58px + var(--safe-top));transform:translate(-50%);font-size:12px;letter-spacing:.18em;color:#c8502fe6;text-shadow:0 0 10px rgba(0,0,0,.95);opacity:0;transition:opacity .8s ease;text-align:center}#status-warning.visible{opacity:1;animation:bar-critical 2.6s ease-in-out infinite}#hud-notice{position:absolute;right:calc(22px + var(--safe-right));top:calc(22px + var(--safe-top));font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#e8d9a073;text-shadow:0 0 8px rgba(0,0,0,.9);opacity:0;transition:opacity 1.1s ease;pointer-events:none}#hud-notice.visible{opacity:1;transition:opacity .25s ease}#quick-slots{position:absolute;right:calc(22px + var(--safe-right));bottom:calc(24px + var(--safe-bottom));display:flex;gap:8px}.quick-slot{min-width:46px;padding:5px 8px;border:1px solid rgba(232,217,160,.18);background:#14100859;font-size:10px;letter-spacing:.08em;color:#e8d9a0bf;text-align:center;line-height:1.5}.quick-slot .count{display:block;font-size:13px;color:var(--amber-bright)}#interact-prompt{position:absolute;left:50%;top:54%;transform:translate(-50%);font-size:12px;letter-spacing:.14em;color:#e8d9a0d9;text-shadow:0 0 8px rgba(0,0,0,.95);opacity:0;transition:opacity .18s ease;white-space:nowrap}#interact-prompt.visible{opacity:1}#hint{position:fixed;left:50%;bottom:calc(64px + var(--safe-bottom));transform:translate(-50%);max-width:min(78vw,520px);text-align:center;font-size:13px;line-height:1.6;letter-spacing:.06em;color:#e8d9a0b8;text-shadow:0 0 8px rgba(0,0,0,.95);opacity:0;transition:opacity 1.1s ease;pointer-events:none;z-index:12}#hint.visible{opacity:1}#descent-overlay{position:fixed;inset:0;background:#000;opacity:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;pointer-events:none;z-index:18}#descent-title{font-size:clamp(20px,5vw,30px);letter-spacing:.42em;text-indent:.42em;color:var(--amber);opacity:0;transition:opacity .5s ease}#descent-depth{font-size:11px;letter-spacing:.28em;color:var(--amber-dim);opacity:0;transition:opacity .5s ease}#descent-overlay.at-peak #descent-title,#descent-overlay.at-peak #descent-depth{opacity:1}#howto{margin-top:30px;padding-top:18px;border-top:1px solid rgba(232,217,160,.14)}#howto h2{font-size:11px;font-weight:400;letter-spacing:.32em;text-indent:.32em;color:var(--amber-dim);margin-bottom:12px}#howto .subtle{text-align:left;font-size:12px;line-height:1.8}.controls-line{margin-top:12px;font-size:11px;line-height:1.9;letter-spacing:.05em;color:#e8d9a080}#fps-counter{position:fixed;top:calc(8px + var(--safe-top));left:calc(10px + var(--safe-left));font-size:11px;color:var(--amber-dim);text-shadow:0 0 3px #000;pointer-events:none;display:none;z-index:30}#fps-counter.visible{display:block}.screen{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:20;padding:calc(24px + var(--safe-top)) 24px calc(24px + var(--safe-bottom));background:radial-gradient(ellipse at center,#141006d1,#040301f7)}.screen.active{display:flex;animation:screen-fade .5s ease}@keyframes screen-fade{0%{opacity:0}to{opacity:1}}.screen-inner{text-align:center;max-width:460px;width:100%}.screen h1{font-size:clamp(30px,9vw,58px);font-weight:400;letter-spacing:.34em;text-indent:.34em;color:var(--amber-bright);text-shadow:0 0 24px rgba(255,230,150,.28);margin-bottom:28px}.glitch-title{position:relative;animation:title-flicker 9s infinite steps(1)}@keyframes title-flicker{0%,41%,43%,77%,79%,to{opacity:1;transform:translate(0)}42%{opacity:.55;transform:translate(-2px)}78%{opacity:.7;transform:translate(1px)}}.subtle{color:var(--amber-dim);font-size:13px;line-height:1.7;margin-bottom:12px}.warning{color:var(--amber);font-size:14px;letter-spacing:.12em;margin-bottom:10px}.hint{color:var(--amber-dim);font-size:11px;letter-spacing:.2em;margin-top:18px;opacity:.6;animation:hint-pulse 3.5s ease-in-out infinite}@keyframes hint-pulse{0%,to{opacity:.3}50%{opacity:.75}}.menu-button{display:block;width:100%;max-width:280px;margin:12px auto 0;padding:15px 24px;background:#e8d9a00d;border:1px solid rgba(232,217,160,.28);color:var(--amber);font-family:var(--font-mono);font-size:15px;letter-spacing:.22em;text-indent:.22em;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease;min-height:48px}.menu-button:hover,.menu-button:active{background:#e8d9a021;border-color:#e8d9a09e;color:var(--amber-bright)}.menu-button.ghost{border-color:#e8d9a024;color:var(--amber-dim)}#touch-controls{position:fixed;inset:0;display:none;z-index:15;touch-action:none}#touch-controls.active{display:block}.touch-buttons{position:absolute;right:calc(18px + var(--safe-right));bottom:calc(26px + var(--safe-bottom));display:grid;grid-template-columns:repeat(2,auto);gap:12px;opacity:0;pointer-events:none;transition:opacity .4s ease}#touch-controls.playing .touch-buttons,#touch-controls.playing .corner{opacity:1;pointer-events:auto}.touch-button{width:62px;height:62px;border-radius:50%;background:#1410086b;border:1px solid rgba(232,217,160,.3);color:var(--amber);font-family:var(--font-mono);font-size:19px;transition:background .12s ease,transform .12s ease}.touch-button.large{width:74px;height:74px;font-size:22px}.touch-button.pressed{background:#e8d9a04d;transform:scale(.93)}.touch-button.corner{position:absolute;top:calc(14px + var(--safe-top));right:calc(16px + var(--safe-right));width:44px;height:44px;font-size:15px;opacity:0;pointer-events:none;transition:opacity .4s ease}.vjoy-base{position:absolute;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:1px solid rgba(232,217,160,.22);background:#14100833;pointer-events:none}.vjoy-knob{position:absolute;top:50%;left:50%;width:50px;height:50px;border-radius:50%;border:1px solid rgba(232,217,160,.45);background:#e8d9a029;pointer-events:none}@media(orientation:landscape)and (max-height:500px){.screen{padding:12px 24px}.screen h1{font-size:clamp(22px,5vh,36px);margin-bottom:12px}.subtle{font-size:11px;line-height:1.5;margin-bottom:6px}.menu-button{padding:10px 20px;min-height:40px;margin-top:8px;font-size:13px}.hint{margin-top:10px}.touch-buttons{right:calc(12px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));gap:9px}.touch-button{width:52px;height:52px;font-size:16px}.touch-button.large{width:60px;height:60px;font-size:18px}.vjoy-base{width:96px;height:96px;margin:-48px 0 0 -48px}.vjoy-knob{width:42px;height:42px}}@media(prefers-reduced-motion:reduce){.glitch-title,.hint,.screen.active{animation:none}}.screen-inner.wide{max-width:560px;max-height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}#inventory-list{margin:18px 0;text-align:left}.inventory-row{display:grid;grid-template-columns:1fr auto;gap:4px 14px;padding:12px 0;border-bottom:1px solid rgba(232,217,160,.1);align-items:center}.inventory-name{font-size:13px;color:var(--amber-bright);letter-spacing:.06em}.inventory-desc{grid-column:1 / 2;font-size:11px;line-height:1.7;color:var(--amber-dim)}.inventory-use{grid-row:1 / 3;grid-column:2 / 3;padding:8px 16px;min-height:40px;background:#e8d9a00f;border:1px solid rgba(232,217,160,.24);color:var(--amber);font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;cursor:pointer}.inventory-use:active{background:#e8d9a02e}#document-body{text-align:left;margin:10px 0 24px;padding:22px 20px;background:#e8e0c40d;border:1px solid rgba(232,217,160,.12);transform:rotate(-.4deg)}#document-body p{font-size:13px;line-height:2;color:#e8e0c4e0;margin-bottom:14px;white-space:pre-wrap}#settings-list{text-align:left;margin:16px 0}.settings-section{font-size:10px;font-weight:400;letter-spacing:.3em;color:var(--amber-dim);margin:22px 0 10px;padding-bottom:6px;border-bottom:1px solid rgba(232,217,160,.12)}.settings-row{display:flex;align-items:center;gap:12px;padding:9px 0}.settings-row label{flex:1;font-size:12px;color:#e8d9a0cc}.settings-value{min-width:48px;text-align:right;font-size:11px;color:var(--amber-dim)}.settings-row input[type=range]{-webkit-appearance:none;appearance:none;width:130px;height:3px;background:#e8d9a02e;outline:none;padding:12px 0;background-clip:content-box}.settings-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:16px;background:var(--amber);cursor:pointer}.settings-row input[type=range]::-moz-range-thumb{width:12px;height:16px;border:none;border-radius:0;background:var(--amber);cursor:pointer}.settings-toggle,.settings-choice button{padding:8px 14px;min-height:38px;background:transparent;border:1px solid rgba(232,217,160,.2);color:var(--amber-dim);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;cursor:pointer;transition:background .15s ease,color .15s ease}.settings-choice{display:flex;gap:6px}.settings-toggle.on,.settings-choice button.on{background:#e8d9a029;border-color:#e8d9a080;color:var(--amber-bright)}
