:root{color-scheme:dark;font-family:system-ui,-apple-system,sans-serif;color:#ecdfcc;background:#0c1020}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}button,input{font:inherit}button{min-height:46px;padding:10px 18px;border:1px solid #d5bd9344;border-radius:12px;background:#101827db;color:#f3e4cb;cursor:pointer;touch-action:none}button:focus-visible,input:focus-visible{outline:3px solid #ffc98b;outline-offset:3px}button[aria-pressed=true]{background:#e5ba80;color:#1b1c26;border-color:#e5ba80}button:disabled{opacity:.65;cursor:wait}[hidden]{display:none!important}#game{position:fixed;inset:0;height:100dvh;touch-action:none}#canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#0c1020;outline:none;image-rendering:pixelated}#look{position:absolute;inset:0;touch-action:none}#start{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,#070c1899,#070c18dd),url(lane.png) center/cover}.intro{width:min(90%,450px);text-align:center;padding:24px}.eyebrow{font-size:13px;letter-spacing:.18em;color:#d5c4ab}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,8vw,58px);margin:20px 0 12px}.intro p{line-height:1.6;color:#d9d8dc;font-size:16px}#play{background:#e5ba80;color:#1b1c26;font-weight:650;min-width:200px;margin:18px 0 8px}#loading{font-size:14px;min-height:24px}progress{width:100%;accent-color:#e5ba80}nav{position:absolute;top:max(14px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));display:flex;gap:5px}nav button{padding:9px 15px}#weather-toggle{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}#weather{position:absolute;top:72px;right:max(16px,env(safe-area-inset-right));width:min(290px,90vw);padding:18px;background:#101827f5;border:1px solid #d5bd9344;border-radius:14px;z-index:4}#weather label{display:grid;gap:8px;font-size:15px;margin-bottom:14px}#weather label:last-child{margin:0}input[type=range]{width:100%;height:24px;accent-color:#e5ba80;touch-action:auto}#stick{position:absolute;bottom:max(35px,calc(env(safe-area-inset-bottom) + 20px));left:max(32px,calc(env(safe-area-inset-left) + 16px));width:112px;height:112px;border-radius:50%;border:1px solid #f0d1a26b;background:#121e3166;touch-action:none}#knob{position:absolute;left:34px;top:34px;width:44px;height:44px;border-radius:50%;background:#efc79777;border:1px solid #f0d1a2a0;pointer-events:none}#stick span{position:absolute;bottom:-22px;width:100%;text-align:center;font-size:12px;letter-spacing:.16em;color:#ccdae4;pointer-events:none}#actions{position:absolute;bottom:max(35px,calc(env(safe-area-inset-bottom) + 20px));right:max(24px,env(safe-area-inset-right));display:flex;align-items:end;gap:10px}#actions button{min-height:54px}#hint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:13px;white-space:nowrap;color:#c9d3df;text-shadow:0 1px 5px #000;pointer-events:none}#count{position:absolute;top:max(68px,calc(env(safe-area-inset-top) + 54px));left:max(20px,env(safe-area-inset-left));font-size:14px;text-shadow:0 1px 5px #000;pointer-events:none}@media(orientation:portrait){#hint{bottom:180px}#actions{flex-direction:column}#stick{bottom:70px}#count{top:80px}}@media(max-height:430px){#hint{bottom:0;margin-bottom:5px}#stick{width:96px;height:96px;bottom:28px}#knob{left:26px;top:26px}#actions{bottom:25px}}

.credits{font-size:12px!important}.credits a{color:#c4bdaf}

#stick,#look,#knob,#actions{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}#audio-toggle{position:absolute;right:16px;top:72px}#audio-settings{position:absolute;right:16px;top:126px;width:min(290px,90vw);background:#101827f5;border:1px solid #d5bd9344;border-radius:14px;padding:18px;z-index:5}#audio-settings label{display:grid;gap:8px;margin-bottom:14px;font-size:15px}select{font:inherit;background:#16223a;color:#ecdfcc;border:1px solid #d5bd9344;padding:8px;max-width:100%;border-radius:7px}#audio-status{font-size:14px}#actions button{padding:8px 12px}@media(max-height:430px){#audio-settings{top:68px;right:110px;padding:12px}#audio-settings label{gap:2px;margin-bottom:4px}#audio-settings input{height:18px}#audio-toggle{top:68px}}

#world-controls{position:absolute;top:calc(env(safe-area-inset-top) + 74px);left:calc(env(safe-area-inset-left) + 18px);display:flex;gap:6px}#world-controls button{font-size:13px;padding:10px 13px}#places{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-wrap:wrap;gap:10px;max-width:80%;padding:16px;background:#0c1425e8;border:1px solid #697a8b;border-radius:16px}#places[hidden],#survey-zoom[hidden],#actions[hidden]{display:none}#survey-zoom{position:absolute;bottom:30px;right:30px;display:flex;gap:10px}#count{top:124px}button{touch-action:none}#look{touch-action:none}

#experience-controls{position:absolute;left:max(18px,env(safe-area-inset-left));top:138px;display:flex;gap:6px}#experience-controls button{font-size:13px;padding:8px 12px;min-height:40px}#count{top:180px}.option-panel{position:absolute;left:max(18px,env(safe-area-inset-left));top:188px;width:min(320px,calc(100vw - 36px));max-height:calc(100dvh - 208px);overflow:auto;background:#101827f7;border:1px solid #d5bd9344;border-radius:14px;padding:18px;z-index:8}.option-panel label{display:grid;gap:7px;margin-bottom:13px;font-size:14px}.option-panel p{font-size:13px;line-height:1.6;color:#c9d3df}.option-panel select:focus-visible{outline:3px solid #ffc98b}#look-lock{position:absolute;bottom:25px;left:22px}#game:not([data-input=touch]) #stick,#game:not([data-input=touch]) #actions{display:none!important}#game[data-input=touch] #look-lock{display:none!important}#game:not([data-input=touch]) #hint{bottom:25px;max-width:60%;white-space:normal;text-align:center}#game[data-locked=true] #look-lock{background:#e5ba80;color:#161923}@media(max-height:600px){.option-panel{top:70px;left:50%;transform:translateX(-50%);max-height:calc(100dvh - 90px);width:min(370px,70vw)}.option-panel label{margin-bottom:8px}.option-panel p{margin:6px 0}#count{top:175px}}@media(min-width:1000px){#experience-controls{top:14px;left:50%;transform:translateX(-50%)}.option-panel{top:70px;left:50%;transform:translateX(-50%);max-height:calc(100dvh - 100px)}#count{top:124px}}

/* One menu across every destination; play controls stay outside the dialog. */
#world-controls{top:max(14px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left))}
#count,#combat-status{position:absolute;top:64px;left:max(20px,env(safe-area-inset-left));font-size:14px;text-shadow:0 1px 5px #000;pointer-events:none}
#game-menu{color:#ecdfcc;background:#101827;border:1px solid #697a8b;border-radius:16px;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:20px;overflow:auto;touch-action:pan-y}
#game-menu::backdrop{background:#020611a8}
#game-menu header{display:flex;justify-content:space-between;align-items:center;gap:20px}
#game-menu h2{font-size:22px;margin:0}
#game-menu p{font-size:16px;line-height:1.5}
#menu-options{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
#game-menu nav,#game-menu #experience-controls{position:static;transform:none;display:flex;flex-wrap:wrap;gap:8px}
#game-menu #weather-toggle,#game-menu #audio-toggle,#game-menu #map{position:static}
#game-menu .option-panel,#game-menu #weather,#game-menu #audio-settings{position:static;transform:none;width:100%;max-height:none;margin:0;overflow:visible}
#game-menu label,#game-menu .option-panel p{font-size:16px}
#game-menu button{min-height:48px;font-size:16px}
.holster-option{display:flex;align-items:center;gap:12px;min-height:48px}
.holster-option input{width:24px;height:24px}
#fire{position:absolute;bottom:110px;right:max(24px,env(safe-area-inset-right));min-height:54px}
#game[data-input=touch] #hint{max-width:55vw;white-space:normal;text-align:center}
