:root{color-scheme:dark;--ink: #eef3e6;--muted: #a9b8a2;--panel: rgba(14, 22, 18, .62);--edge: rgba(196, 220, 180, .22);--accent: #e3c46a;--warn: #d98b5a;font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,sans-serif;--panel-raised: rgba(14, 24, 19, .88);--panel-overlay: rgba(10, 18, 14, .94);--edge-strong: rgba(196, 220, 180, .42);--focus-ring: #f1d98b;--shadow-panel: 0 1.5rem 4rem rgba(2, 8, 6, .52)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;overflow:hidden;background:#0a1410;color:var(--ink)}#game{display:block;width:100vw;height:100vh;touch-action:none}.hud{position:fixed;inset:0;pointer-events:none;padding:clamp(12px,2vw,26px);display:flex;flex-direction:column;justify-content:space-between;text-shadow:0 1px 3px rgba(0,0,0,.65)}.hud-top{display:flex;gap:10px;flex-wrap:wrap}.panel{background:var(--panel);border:1px solid var(--edge);border-radius:10px;padding:8px 12px;min-width:150px;backdrop-filter:blur(6px)}.panel .label,.meter .label{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.panel strong{font-size:15px;font-weight:600}.hud-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.meters{display:grid;gap:8px;min-width:260px}.bar{width:260px;height:10px;border-radius:6px;background:#00000073;border:1px solid var(--edge);overflow:hidden}.bar.thin{height:6px}.bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#8fbf6a,#d7e59a);transition:width 90ms linear}.bar i.low{background:linear-gradient(90deg,#c76b45,#e8a06a)}.prompt{background:var(--panel);border:1px solid var(--edge);border-left:3px solid var(--accent);border-radius:8px;padding:10px 14px;max-width:42ch;font-size:14px;line-height:1.45}.prompt b{color:var(--accent)}.toast{position:fixed;left:50%;top:16%;transform:translate(-50%);background:#0a120ec7;border:1px solid var(--edge);border-radius:999px;padding:9px 20px;font-size:14px;letter-spacing:.02em}.vane-strip{position:fixed;left:50%;top:24%;transform:translate(-50%);display:flex;gap:8px}.vane{width:34px;height:34px;border-radius:50%;border:1px solid var(--edge);background:#0a120eb3;display:grid;place-items:center;font-size:14px;color:var(--muted)}.vane.rung{border-color:var(--accent);color:var(--ink);background:#e3c46a38}.vane.next{border-color:#8fbf6a;color:#d7e59a}.crosshair{position:fixed;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#eef3e68c}.overlay{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#14281eb3,#040807eb);backdrop-filter:blur(4px);z-index:5}.card{width:min(560px,92vw);background:#0c1410db;border:1px solid var(--edge);border-radius:16px;padding:28px 30px;box-shadow:0 30px 80px #00000080}.eyebrow{margin:0;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}h1{margin:6px 0 10px;font-size:52px;letter-spacing:.24em;font-weight:300}h2{margin:4px 0 10px;font-size:28px;font-weight:400;letter-spacing:.04em}.blurb{margin:0 0 16px;color:#cfdcc6;line-height:1.6;font-size:15px}.keys{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;color:var(--muted);font-size:13px}.keys b{color:var(--ink)}.settings{display:grid;gap:12px;margin-bottom:18px;font-size:14px;color:#cfdcc6}.settings label{display:flex;align-items:center;gap:10px;justify-content:space-between}.settings label.check{justify-content:flex-start}.settings input[type=range]{width:200px;accent-color:var(--accent)}.settings input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.row{display:flex;gap:10px;flex-wrap:wrap}button{font:inherit;color:var(--ink);background:#ffffff0f;border:1px solid var(--edge);border-radius:10px;padding:10px 18px;cursor:pointer}button:hover{background:#ffffff1f}button.primary{background:var(--accent);color:#14210f;border-color:transparent;font-weight:600}.hint{margin:14px 0 0;font-size:12px;color:var(--muted)}.stats{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:6px;font-size:14px;color:#cfdcc6}.stats b{color:var(--ink);float:right}@media(max-width:640px){h1{font-size:38px}.bar{width:190px}.meters{min-width:190px}.keys{grid-template-columns:1fr}}.hud{gap:1rem;isolation:isolate}.hud-top{align-items:stretch;gap:.75rem;flex-wrap:nowrap}.panel{flex:1 1 0;min-width:0;padding:.75rem 1rem;border-color:var(--edge-strong);border-radius:.75rem;background:var(--panel-raised);box-shadow:0 .75rem 2rem #030a0738;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel.objective{flex-grow:1.45}.panel.alt{flex:0 1 8rem;text-align:right}.panel .label,.meter .label{line-height:1.2;letter-spacing:.18em}.panel strong{display:block;margin-top:.25rem;overflow:hidden;font-size:.95rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.hud-bottom{width:100%;gap:1rem}.meters{width:min(100%,17rem);min-width:0;flex:0 1 17rem;gap:.65rem}.bar{width:100%;height:.65rem;border-radius:999px;background:#040c099e}.bar.thin{height:.4rem}.bar i{background:linear-gradient(90deg,#7fae62,#d7e59a);box-shadow:0 0 .75rem #d7e59a38}.bar i.low{background:linear-gradient(90deg,#b85f42,#e8a06a);box-shadow:0 0 .75rem #e8a06a33}.prompt{flex:1 1 18rem;min-width:0;max-width:min(100%,30rem);padding:.8rem 1rem;border-color:var(--edge-strong);border-left-width:.2rem;border-radius:.65rem;background:var(--panel-raised);box-shadow:0 .75rem 2rem #030a073d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toast{top:clamp(5.5rem,12vh,8rem);z-index:2;width:max-content;max-width:min(90vw,32rem);padding:.65rem 1.1rem;border-color:var(--edge-strong);border-radius:.65rem;background:var(--panel-overlay);box-shadow:0 .75rem 2rem #030a074d;text-align:center}.vane-strip{top:clamp(7rem,24%,13rem);z-index:2;gap:.5rem;padding:.35rem .5rem;border:1px solid var(--edge);border-radius:999px;background:#0a120e61;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.vane{width:2.15rem;height:2.15rem;border-color:var(--edge-strong);background:var(--panel-raised);font-size:.8rem}.vane.rung{background:#e3c46a33}.crosshair{width:.45rem;height:.45rem;margin:-.225rem 0 0 -.225rem;border:1px solid rgba(238,243,230,.68);background:#eef3e652;box-shadow:0 0 0 .2rem #0a120e2e}.touch-controls{display:none}.touch-move{display:grid;grid-template-columns:repeat(3,2.9rem);grid-template-rows:repeat(2,2.9rem);gap:.35rem}.touch-move [data-hold=up]{grid-column:2}.touch-move [data-hold=left]{grid-column:1;grid-row:2}.touch-move [data-hold=down]{grid-column:2;grid-row:2}.touch-move [data-hold=right]{grid-column:3;grid-row:2}.touch-actions{display:grid;grid-template-columns:repeat(2,3.35rem);gap:.45rem;align-content:end}.touch-controls button{min-width:0;min-height:0;padding:0;border-radius:.7rem;font-size:.8rem;font-weight:700;touch-action:none;user-select:none}@media(pointer:coarse),(max-width:640px){.touch-controls{position:fixed;right:.75rem;bottom:max(.75rem,env(safe-area-inset-bottom));left:.75rem;z-index:4;display:flex;align-items:end;justify-content:space-between;pointer-events:none}.touch-move,.touch-actions{pointer-events:auto}.hud-bottom{padding-bottom:7.4rem}}.overlay{padding:1rem;background:radial-gradient(circle at 50% 28%,#1c3a2ac2,#040907f0);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.card{position:relative;width:min(36rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow:auto;padding:clamp(1.5rem,4vw,2.5rem);border-color:var(--edge-strong);border-radius:1rem;background:var(--panel-overlay);box-shadow:var(--shadow-panel),inset 0 1px #eef3e60d;scrollbar-color:var(--edge-strong) transparent}.card:before{position:absolute;top:0;right:1.5rem;left:1.5rem;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);content:""}.eyebrow{line-height:1.4;letter-spacing:.2em}h1{margin:.65rem 0 1rem;font-size:clamp(3.2rem,8vw,4.8rem);line-height:.92;letter-spacing:.2em}h2{margin:.35rem 0 .75rem;font-size:clamp(1.65rem,4vw,2.15rem);line-height:1.05}.blurb{max-width:46ch;margin-bottom:1.25rem;color:#d5e0ce;line-height:1.65}.keys{gap:.5rem 1.25rem;margin-bottom:1.5rem;padding:.85rem 0;border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);line-height:1.35}.keys li{display:flex;align-items:center;gap:.55rem;min-width:0}.keys b{display:inline-grid;place-items:center;min-width:2.8rem;min-height:1.55rem;padding:0 .35rem;border:1px solid var(--edge-strong);border-bottom-width:2px;border-radius:.3rem;color:var(--accent);font-size:.68rem;font-weight:600;letter-spacing:.08em}.settings{gap:.75rem;margin:1rem 0 1.25rem;padding:.9rem 0;border-top:1px solid var(--edge);border-bottom:1px solid var(--edge)}.settings label{min-height:2rem}.settings label.check{min-height:1.75rem}.settings input[type=range]{flex:1 1 auto;width:auto;max-width:15rem;min-width:8rem}.settings input[type=checkbox]{flex:0 0 auto}.row{gap:.65rem}button{min-height:2.65rem;border-radius:.65rem;transition:background .16s ease-out,border-color .16s ease-out,transform .16s ease-out}button:hover{border-color:var(--edge-strong)}button:active{transform:translateY(1px)}button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}button.primary{box-shadow:0 .5rem 1.25rem #e3c46a29}.hint{line-height:1.5}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.25rem;margin-bottom:1.5rem}.stats li{display:flex;justify-content:space-between;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--edge)}.stats b{float:none;text-align:right}@media(max-width:40rem){.hud{padding:.75rem}.hud-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.panel.objective{grid-column:1 / -1}.panel.biome{min-width:0}.panel.alt{min-width:5.5rem}.hud-bottom{flex-direction:column;align-items:stretch;gap:.65rem}.meters,.prompt{width:100%;max-width:none}.prompt{flex-basis:auto}.toast{top:7.25rem}.vane-strip{top:clamp(10rem,27%,14rem)}.overlay{padding:.75rem}.card{width:min(36rem,calc(100vw - 1.5rem));max-height:calc(100vh - 1.5rem);max-height:calc(100dvh - 1.5rem);padding:1.25rem}.keys{grid-template-columns:1fr}.settings label:not(.check){align-items:flex-start;flex-direction:column;gap:.5rem}.settings input[type=range]{width:100%;max-width:none}.row{flex-direction:column}.row button{width:100%}.stats{grid-template-columns:1fr}}@media(max-height:42rem)and (min-width:41rem){.card{padding:1.25rem 1.5rem}h1{font-size:3.4rem}.keys{margin-bottom:1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
