:root{color-scheme:dark;--bg:#0e191f;--ink:#e5e7df;--muted:#91a5ac;--line:#43545b;--accent:#efc18c;--cyan:#81b7bd;font-family:Arial,Helvetica,sans-serif;font-size:17px}*{box-sizing:border-box}body{margin:0;background:#0d1921;color:var(--ink);overflow:hidden}button,select,input{font:inherit}button,select{min-height:46px;color:var(--ink);background:#14242c;border:1px solid #587078;padding:10px 16px;border-radius:3px;cursor:pointer}button:hover{background:#263b42;border-color:#bfd1d1}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #f4bd7f;outline-offset:3px}button:disabled{opacity:.45;cursor:default}button[hidden],[hidden]{display:none!important}button.primary{background:#edc595;color:#152027;border-color:#edc595;font-weight:700}button.primary:hover{background:#ffdbaf}kbd{font:11px monospace;border:1px solid #697c82;border-radius:2px;padding:2px 4px;opacity:.9;margin-left:5px}a{color:var(--cyan)}#view{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 35%,#050c16a1 100%);z-index:1}#top{position:fixed;inset:0 0 auto;z-index:6;display:flex;align-items:center;justify-content:space-between;padding:17px 27px;background:linear-gradient(#071118e6,transparent);gap:15px}.return{font-size:14px;text-decoration:none;letter-spacing:.02em}.brand{font-family:monospace;letter-spacing:.32em;font-weight:bold;font-size:19px}.brand small{font-size:9px;letter-spacing:.12em;margin-left:16px;color:#a0b2b9}#pauseTop{background:#101e25c9;font-size:14px;min-height:40px;padding:8px 15px}.landing{position:absolute;z-index:3;left:8%;top:15%;width:520px;max-width:85%;text-shadow:0 2px 10px #061016}.landing:before{content:"";position:fixed;z-index:-1;inset:0;background:linear-gradient(90deg,#07131bea, #07131b9a 45%,transparent 83%)}.eyebrow{font:11px monospace;letter-spacing:.17em;color:#99b9bd}.eyebrow i{display:inline-block;width:6px;height:6px;background:#e5b27b;margin-right:10px;box-shadow:0 0 12px #e5b27b}h1{font-size:clamp(50px,6.8vw,100px);font-weight:400;letter-spacing:.035em;line-height:.96;margin:29px 0 23px}h1 em{font-style:normal;color:var(--accent);letter-spacing:.12em}h1 .signal-line{display:block;height:2px;width:175px;background:linear-gradient(90deg,var(--accent),transparent);margin-top:25px}.tagline{font-size:23px;line-height:1.4;letter-spacing:.015em}.intro{color:#b2c0c4;font-size:15px;line-height:1.65}.launch{width:350px;max-width:100%;display:grid;grid-template-columns:1fr 130px;gap:10px;margin-top:26px}.launch label{font:10px monospace;letter-spacing:.12em;align-self:center}.launch select{min-height:40px;font-size:14px}.launch>button{grid-column:1/-1;text-align:left;min-height:53px}.launch b{float:right}.secondary{grid-column:1/-1;display:flex;gap:10px}.secondary button{flex:1;background:#0e1b2288;font-size:14px}.landingFoot{display:flex;flex-direction:column;gap:7px;margin-top:26px;font:9px monospace;letter-spacing:.15em;color:#859da6}#hud{position:fixed;inset:0;z-index:4;pointer-events:none}#hud button{pointer-events:auto}.location{position:absolute;left:28px;top:88px;display:flex;flex-direction:column;gap:7px;text-shadow:0 2px 8px #000}.location>span:first-child{font:10px monospace;letter-spacing:.16em;color:var(--accent)}.location strong{font-size:22px;letter-spacing:.08em;font-weight:400}.location>span:last-child{font-size:12px;color:#b6c3c9}.objective{position:absolute;right:28px;top:90px;width:300px;padding:15px 17px;border-left:2px solid #b99465;background:linear-gradient(90deg,#0a1720d9,#0a172080);display:flex;flex-direction:column;gap:9px}.objective small{font:10px monospace;color:var(--accent);letter-spacing:.1em}.objective strong{font-size:17px;font-weight:500}.objective>span{font-size:13px;line-height:1.5;color:#bec9ce}#crosshair{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);font-size:24px;color:#cce0e399;pointer-events:none}#prompt{position:absolute;bottom:24%;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;max-width:90%;pointer-events:auto}#prompt button{font-size:15px}#cycle{font-size:12px!important;background:#10212bc9;padding:4px 10px;min-height:32px}#caption{position:absolute;bottom:17%;left:50%;transform:translateX(-50%);max-width:650px;width:max-content;min-width:0;max-width:90%;padding:10px 15px;background:#07131beb;border-radius:3px;font-size:16px;line-height:1.4;text-align:center}#caption:empty{display:none}#scanner{position:absolute;top:48%;left:6%;font:16px monospace;color:#b8eddd;background:#081b1acc;max-width:270px;padding:14px;border:1px solid #82cdbf}#scanner:empty{display:none}#work{position:absolute;left:50%;top:59%;transform:translateX(-50%);background:#0a1a22ef;padding:14px;width:300px;border:1px solid #d8aa70}#work label{font:12px monospace;color:var(--accent)}#work small{font-size:12px;display:block;margin-top:8px}#work progress{width:100%;margin-top:10px;accent-color:var(--accent)}.bottom{position:absolute;bottom:24px;left:28px;right:28px;display:flex;gap:20px;align-items:end;justify-content:space-between;background:linear-gradient(transparent,#08141ce8);padding:10px}.vitals{min-width:100px;display:flex;flex-direction:column;gap:9px;font:11px monospace;color:#cad9d9}.meter{height:3px;background:#455056;width:110px}.meter i{display:block;height:100%;background:#b7cfcd;width:100%}#safeState{font:10px monospace;color:#b4d5b6;max-width:140px}#tools{display:flex;gap:5px;flex-wrap:wrap;justify-content:center;max-width:900px}#tools button{background:#0a1922de;font-size:12px;padding:10px 12px;min-height:44px}#tools button.active{border-color:#efc18c;color:#ffdcaf;background:#3c3327}#saveState{position:absolute;right:0;bottom:-15px;font:10px monospace;color:#b6c4c6}#desktopHint{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);font:10px monospace;color:#a4b8c3;width:max-content}#hideMask{position:absolute;inset:0;border:solid #050b0e;border-width:18vh 22vw;box-shadow:inset 0 0 80px #000;pointer-events:none}#touch{display:none;position:absolute;inset:0;pointer-events:none}#joystick{pointer-events:auto;position:absolute;bottom:135px;left:25px;width:120px;height:120px;border:1px solid #a0bec577;border-radius:50%;background:#0b18255c;touch-action:none;display:flex;align-items:center;justify-content:center}#joystick span{font:9px monospace;color:#b9cbcf;position:absolute;bottom:13px}#stick{width:42px;height:42px;border-radius:50%;border:1px solid #ced8d8;background:#b9c9c733;pointer-events:none}#lookZone{pointer-events:auto;position:absolute;right:5px;bottom:175px;width:40%;height:30%;touch-action:none;display:flex;align-items:end;justify-content:center}#lookZone span{font:9px monospace;color:#c2d4d455;pointer-events:none}.touchLook{position:absolute;right:18px;bottom:135px;display:flex;gap:9px;pointer-events:auto}.touchLook button{background:#0e243399;font-size:24px;width:51px;touch-action:none}dialog{border:1px solid #65767b;border-radius:6px;background:#101e26;color:var(--ink);width:680px;max-width:94vw;max-height:86dvh;padding:0;box-shadow:0 25px 100px #000a}dialog::backdrop{background:#030a10ad;backdrop-filter:blur(4px)}.panelTop{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:12px 22px;background:#142630;z-index:3;border-bottom:1px solid #526269}.panelTop>span{font:10px monospace;letter-spacing:.13em;color:var(--accent)}.panelTop button{font-size:27px;line-height:1;min-width:44px;padding:6px;background:none;border:none}#panelContent{padding:26px 30px 30px}#panelContent h2{font-size:30px;font-weight:400;letter-spacing:.03em;margin:0 0 18px;color:#ebd3b3}#panelContent h3{font-size:19px;font-weight:500;color:#9bc5c6;margin-top:27px}#panelContent p,#panelContent li{font-size:17px;line-height:1.65;color:#c8d3d7}#panelContent p.plate{border-left:3px solid #cda36b;background:#1f3035;padding:15px}#panelContent button.wide{width:100%;text-align:left;margin:6px 0;line-height:1.4}.panelActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.panelActions>*{flex:1}details{border-top:1px solid #40565f;padding:13px 0}summary{cursor:pointer;min-height:35px;color:#cae0df;font-size:19px;padding:6px 0}table{width:100%;border-collapse:collapse;font-size:15px}td,th{text-align:left;padding:9px 8px;border-bottom:1px solid #40545c}td:first-child{color:#dfc49f}#mapCanvas{width:100%;height:auto;background:#0b151d;border:1px solid #4a6772;border-radius:3px}.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:#beced1}.legend span{white-space:nowrap}.setting{display:grid;grid-template-columns:1fr 150px;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid #344b56;font-size:15px}.setting input[type=range]{width:100%}.setting input[type=checkbox]{width:23px;height:23px;justify-self:end;accent-color:var(--accent)}.setting select{font-size:14px;padding:8px}.setting small{display:block;color:#a8bdc6;font-size:12px;margin-top:6px}.danger{border-color:#a97962!important;color:#f4b99d!important}#fatal{position:absolute;z-index:50;background:#10202a;inset:0;padding:15%;line-height:1.8}body.highContrast #caption,body.highContrast .objective,body.highContrast .location{background:#000;color:#fff}body.highContrast button{border-width:2px}body.reduce .vignette{background:none}button[data-act=run]{display:none}
@media (max-height:760px) and (min-width:701px){.landing{top:13%}h1{font-size:70px;margin:19px 0 15px}.tagline{font-size:19px;margin:13px 0}.launch{margin-top:15px}.landingFoot{margin-top:15px}.intro{margin:10px 0}.objective>span{display:none}}
@media (pointer:coarse),(max-width:700px){#touch{display:block}#desktopHint{display:none}button[data-act=run]{display:block}kbd{display:none}.brand small{display:none}.location{left:15px;top:73px}.location strong{font-size:18px}.location>span:last-child{display:none}#top{padding:10px 13px}.return{font-size:12px}.brand{font-size:13px}#pauseTop{padding:7px 11px;font-size:12px}.objective{right:12px;top:120px;width:calc(100% - 24px);padding:10px 12px;gap:5px;background:#071821b8}.objective strong{font-size:15px}.objective>span{display:none}.objective small{font-size:9px}.bottom{bottom:env(safe-area-inset-bottom,0);left:5px;right:5px;padding:8px 5px;display:block}.vitals{position:absolute;bottom:112px;left:13px;gap:5px;font-size:10px}#safeState{max-width:180px}#tools{gap:5px;display:grid;grid-template-columns:repeat(4,1fr)}#tools button{font-size:12px;min-height:42px;padding:7px 4px}#saveState{bottom:99px;right:12px;font-size:9px}#prompt{bottom:36%;max-width:95%;width:max-content}#prompt button{font-size:14px;min-height:43px}#caption{bottom:50%;font-size:14px;padding:9px 11px;max-width:94%}#scanner{left:5%;top:40%;font-size:13px;padding:10px;max-width:90%}#work{top:44%;width:280px}#crosshair{top:48%}.landing{left:7%;top:14%;width:85%;max-width:none}h1{font-size:clamp(47px,12vw,80px);margin:24px 0 15px}.tagline{font-size:20px;margin:12px 0}.intro{font-size:14px}.eyebrow{font-size:9px;line-height:1.6}.launch{margin-top:18px;width:100%}.launch label{font-size:9px}.launch>button{min-height:50px}.landingFoot{font-size:8px;margin-top:22px;line-height:1.6}#panelContent{padding:20px 19px}#panelContent h2{font-size:25px}#panelContent p,#panelContent li{font-size:16px}.setting{grid-template-columns:1fr 120px;font-size:14px}#hideMask{border-width:20vh 15vw}dialog{max-height:89dvh}}
@media(max-height:690px) and (max-width:700px){.landing{top:12%}h1{font-size:48px;margin:16px 0 13px}h1 .signal-line{margin-top:14px}.tagline{font-size:17px}.intro{font-size:12px}.landingFoot{margin-top:14px}.launch{margin-top:12px}.launch>button{min-height:45px}}
