:root{font-family:Arial,Helvetica,sans-serif;color:#f0f6ee;background:#112d3c;font-synthesis:none;font-weight:400;--ink:#103b43;--mint:#c5f5d5;--glass:rgba(9,38,46,.63);--line:rgba(234,255,245,.22)}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none}button,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);background:rgba(11,40,48,.28);border-radius:5px;touch-action:manipulation;min-height:44px}button:hover{background:rgba(204,245,217,.16)}button:focus-visible,select:focus-visible{outline:3px solid #fff;outline-offset:4px}button:disabled{opacity:.55;cursor:wait}button:active{transform:translateY(1px)}[hidden]{display:none!important}#world{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none}.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,22,34,.44),transparent 20%,transparent 58%,rgba(4,24,34,.5));}.topbar{position:absolute;left:34px;right:34px;top:max(26px,env(safe-area-inset-top));height:45px;display:flex;align-items:center;justify-content:space-between;z-index:3;gap:18px}.brand{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;letter-spacing:3px}.brand svg{width:36px;height:36px}.word-reach{display:block;font-size:10px;letter-spacing:7.5px;font-weight:400;margin-top:4px}.coordinates{font-size:11px;letter-spacing:2px;display:flex;gap:16px;opacity:.88}.divider{opacity:.45}.tools{display:flex;gap:8px;align-items:center}.tools button{font-size:10px;letter-spacing:1px;padding:0 12px}.tools #menuButton{font-size:20px;min-width:44px}.start-screen{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,29,36,.66),rgba(5,29,40,.12) 56%,transparent);display:flex;align-items:center;padding:90px 7.5vw;z-index:2}.start-copy{max-width:560px}.eyebrow{font-size:11px;letter-spacing:2.8px;font-weight:600;color:#cae6d8}.start-copy h1{font-size:clamp(42px,5.8vw,86px);font-weight:400;line-height:1.04;letter-spacing:-3px;margin:25px 0}.start-copy h1 em{font-style:normal;color:#d1f2c7}.intro{font-size:17px;line-height:1.6;color:#e3eee7;margin:25px 0}.primary{background:#d3f3c6;color:#153b39;border:0;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 22px;min-height:55px;font-size:15px;font-weight:600;min-width:270px;border-radius:4px}.primary:hover{background:#e6ffdb}.primary span:last-child{font-size:24px}.text-button{border:0;background:none;font-size:13px;min-height:44px;padding:0;margin-top:8px;color:#e2efe9}.text-button span{padding-left:14px}.loadline{height:2px;width:270px;background:#ffffff20;margin-top:18px;overflow:hidden}.loadline i{display:block;width:10%;height:100%;background:#d3f3c6;transition:width .5s}.start-foot{font-size:10px;letter-spacing:2px;margin-top:30px;color:#d0e3da}.start-foot span{margin-left:20px;opacity:.65}.location-stamp{position:absolute;right:42px;bottom:46px;display:flex;gap:18px;align-items:center;font-size:12px;letter-spacing:2px}.location-stamp>span{font-size:52px;font-weight:300;letter-spacing:-3px;opacity:.6}.location-stamp small{display:block;font-size:9px;letter-spacing:3px;margin-top:7px;opacity:.6}.mission{position:absolute;top:115px;right:34px;width:266px;border-top:1px solid var(--line);padding-top:12px;text-shadow:0 1px 8px #0b2d38}.mission-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#d4f1d4}.mission-top button{border:0;min-height:26px;font-size:11px;padding:0 0 0 12px;letter-spacing:1px;background:none}.mission strong{font-size:23px;font-weight:400;display:block;margin-top:10px}.mission p{font-size:13px;line-height:1.5;color:#d4e3df;margin:8px 0 14px}.mission-bottom{display:flex;justify-content:space-between;align-items:center;font-size:13px}.mission-bottom button{font-size:10px;letter-spacing:1.4px;padding:0 13px;min-height:36px}.speed-panel{position:absolute;left:36px;bottom:54px}.vehicle-title{font-size:10px;letter-spacing:2px;opacity:.85}.speed-reading{display:flex;align-items:baseline;gap:12px;margin-top:3px}.speed-reading strong{font-size:65px;font-weight:300;letter-spacing:-3px;font-variant-numeric:tabular-nums}.speed-reading span{font-size:10px;letter-spacing:1px;opacity:.7}.energy{width:135px;height:3px;background:#ffffff30}.energy i{display:block;height:100%;width:100%;background:#d3f3c6;transition:background .2s}.speed-panel p{font-size:9px;letter-spacing:2px;opacity:.7;margin:9px 0 0}.bottom-center{position:absolute;bottom:33px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:20px;max-width:calc(100% - 30px)}.interaction{display:flex;align-items:center;gap:18px;justify-content:space-between;background:rgba(6,37,42,.75);padding:0 19px;min-height:48px;border-color:#c5f5d565;backdrop-filter:blur(12px);font-size:14px;white-space:nowrap}.keyboard-hint{display:flex;gap:15px;font-size:10px;white-space:nowrap;color:#e1eae7aa}kbd{font-family:inherit;font-size:10px;border:1px solid #ffffff35;border-radius:3px;padding:3px 5px;margin-right:3px;color:#e1eae7aa}.mini{position:absolute;right:34px;bottom:32px;width:132px;height:160px}.mini canvas{height:132px;width:132px;border:1px solid #c9e9dc30;border-radius:50%;background:#072e3b50}.mini #compass{position:absolute;top:5px;left:61px;font-size:9px;color:#d3f3c6}.mini>span{display:block;font-size:9px;text-align:center;letter-spacing:1.4px;margin-top:10px;color:#e3efe8aa}.target-marker{position:absolute;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:4px;transform:translate(-50%,-100%);text-shadow:0 1px 5px #072939}.target-marker>span{font-size:24px;color:#d8ffd7}.target-marker b{font-size:10px;letter-spacing:2px;font-weight:500}.target-marker small{font-size:10px;opacity:.8}#notice{background:rgba(5,35,41,.76);padding:11px 17px;border-radius:3px;font-size:13px;text-align:center;opacity:0;transition:opacity .5s;max-width:340px;min-height:0;pointer-events:none}#notice.show{opacity:1}.camera-tools{position:absolute;left:34px;top:111px;display:flex;gap:7px}.camera-tools button{font-size:9px;letter-spacing:1px;min-height:30px;padding:0 10px;background:rgba(11,44,50,.2)}#touchControls{display:none}dialog{position:fixed;z-index:20;background:rgba(10,38,47,.96);border:1px solid #c7ebdc35;border-radius:12px;color:#edf5ed;width:min(480px,calc(100% - 30px));padding:30px;max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 30px 140px #03171c99}dialog::backdrop{background:rgba(2,19,28,.5);backdrop-filter:blur(10px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.close-dialog{border:0;background:none;font-size:25px;width:44px;height:44px;min-height:44px}dialog h2{font-size:34px;font-weight:400;letter-spacing:-1px;line-height:1.08;margin:18px 0 14px}dialog>p{font-size:14px;color:#cfdfd9}dialog .primary{width:100%;margin:23px 0}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #ffffff15;font-size:14px}.setting-row select{border:1px solid var(--line);background:#183f49;padding:10px;border-radius:5px;max-width:180px}.setting-row button{font-size:13px;padding:0 13px}.controls-help{font-size:12px;line-height:1.6;color:#c1d4cc;margin:20px 0}.controls-help b{color:#f0f6ef}.touch-help{display:none}.prototype-note{font-size:10px;opacity:.55}.map-tabs{display:flex;gap:8px;margin:25px 0 16px}.map-tabs button{flex:1;font-size:11px;letter-spacing:1.6px}.map-tabs .active{background:#c5edca;color:#123c3b}.destination{padding:16px 0;border-bottom:1px solid #ffffff20;display:flex;gap:15px;align-items:center;justify-content:space-between}.destination h3{font-size:18px;margin:0 0 5px;font-weight:400}.destination p{font-size:12px;color:#c2d7ce;margin:0;line-height:1.4}.destination button{min-width:60px;font-size:11px;letter-spacing:1px;padding:0 10px}.destination.selected button{background:#d3f3c6;color:#153b39}.map-foot{font-size:12px!important;margin-top:22px!important}#transition{position:absolute;inset:0;z-index:9;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at center,#103e4dee,#061b2dfb);gap:14px}#transition>span{font-size:11px;letter-spacing:3px;color:#b9e8d3}#transition h2{font-size:clamp(28px,5vw,54px);font-weight:300;letter-spacing:-1px;text-align:center;margin:0 20px}.transition-line{width:150px;height:2px;background:#cbe4dc33;margin-top:20px}.transition-line i{display:block;background:#d3f3c6;height:100%;width:0;animation:transit 2.2s ease-in-out forwards}@keyframes transit{to{width:100%}}#error{position:fixed;z-index:100;inset:0;background:#103644;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}#error h2{font-weight:400;font-size:26px}#error p{font-size:15px;max-width:420px;line-height:1.6}#error button{padding:0 20px;margin-top:15px}
@media(pointer:coarse){#touchControls{display:block}.keyboard-hint{display:none}.touch-help{display:block}.controls-help>p:not(.touch-help){display:none}.joystick-wrap{position:absolute;left:30px;bottom:max(36px,env(safe-area-inset-bottom));width:120px;text-align:center}.joystick-wrap>span{display:block;font-size:9px;letter-spacing:2px;margin-top:9px;opacity:.7}#joystick{height:112px;width:112px;border:1px solid #e6ffe445;border-radius:50%;position:relative;background:#0a354245;touch-action:none}.stick-cross{position:absolute;left:50%;top:15%;height:70%;width:1px;background:#ffffff15}.stick-cross:after{content:'';position:absolute;left:-39px;top:50%;width:78px;height:1px;background:#ffffff15}#stick{position:absolute;width:46px;height:46px;border:1px solid #e8ffe975;background:#d6f4dc26;backdrop-filter:blur(5px);border-radius:50%;left:32px;top:32px;pointer-events:none}.pedals{position:absolute;right:25px;bottom:max(41px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;gap:9px}.pedals>div{display:flex;gap:9px;align-items:flex-end}.pedals button{touch-action:none;backdrop-filter:blur(6px);font-size:11px;letter-spacing:1px}.thrust-button{height:76px;width:86px;background:#ccefcdd9;color:#193e3f;border:1px solid #e5ffe5;font-weight:600;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}.thrust-button span{font-size:24px;font-weight:300}.brake-button{height:56px;width:64px;background:#143b4899}.boost-button{width:86px;min-height:42px;background:#143b4899;color:#d3f3c6}.pedals button.held{background:#e3ffdf;color:#0d323c;box-shadow:0 0 22px #dcf6bb30}.bottom-center{bottom:195px;gap:8px}.speed-panel{bottom:205px;left:32px}.speed-reading strong{font-size:47px}.vehicle-title{font-size:8px}.speed-panel p{font-size:8px}.mini{bottom:200px;right:26px;width:86px;height:108px}.mini canvas{width:86px;height:86px}.mini #compass{left:39px}.mini>span{font-size:8px;letter-spacing:.7px}.energy{width:90px}.interaction{min-height:43px;font-size:12px;padding:0 13px}.interaction kbd{display:none}#notice{max-width:260px;font-size:12px}.camera-tools{top:auto;bottom:12px;left:50%;transform:translateX(-50%)}.camera-tools button{min-height:26px;font-size:8px;background:none;border:0}}
@media(max-width:650px){.topbar{left:18px;right:18px;top:max(17px,env(safe-area-inset-top));gap:12px}.brand{font-size:11px;letter-spacing:2px;gap:7px}.brand svg{width:27px;height:27px}.word-reach{font-size:8px;letter-spacing:5px;margin-top:3px}.coordinates{display:none}.tools button{font-size:8px;padding:0 9px;min-height:37px}.tools #menuButton{min-width:37px;font-size:17px}.start-screen{padding:110px 28px 45px;align-items:flex-end;background:linear-gradient(0deg,#062c39db,rgba(5,29,40,.24) 70%,transparent)}.start-copy h1{font-size:50px;letter-spacing:-2px;margin:20px 0}.eyebrow{font-size:9px;letter-spacing:2px}.intro{font-size:14px;margin:18px 0 24px;line-height:1.6}.primary{min-width:260px;min-height:53px;font-size:14px}.start-foot{font-size:8px;letter-spacing:1.7px;margin-top:20px}.start-foot span{display:block;margin:8px 0 0}.location-stamp{display:none}.loadline{width:260px;margin-top:12px}.mission{top:87px;right:18px;width:205px;padding-top:10px}.mission-top{font-size:8px;letter-spacing:1.5px}.mission-top button{font-size:9px}.mission-top kbd{display:none}.mission strong{font-size:21px;margin-top:6px}.mission p{font-size:12px;margin:6px 0 9px}.mission-bottom{font-size:12px}.mission-bottom button{font-size:9px;min-height:32px;padding:0 10px}.speed-panel{left:21px}.mini{right:21px}.joystick-wrap{left:20px}.pedals{right:20px}.bottom-center{bottom:186px}.speed-panel,.mini{bottom:245px}#notice{width:270px;max-width:270px}.camera-tools{gap:10px}.target-marker b{font-size:9px}dialog{padding:22px}dialog h2{font-size:31px}}
@media(pointer:coarse) and (orientation:landscape){.topbar{top:max(12px,env(safe-area-inset-top));left:max(25px,env(safe-area-inset-left));right:max(25px,env(safe-area-inset-right))}.brand{font-size:10px}.brand svg{width:28px}.coordinates{font-size:9px}.mission{top:79px;right:26px;width:190px}.mission strong{font-size:18px}.mission p{font-size:11px;margin:5px 0}.mission-top{font-size:8px}.mission-bottom button{min-height:28px;font-size:8px}.speed-panel{bottom:168px;left:35px}.speed-reading strong{font-size:32px}.vehicle-title{font-size:7px}.speed-panel p{display:none}.mini{display:none}.joystick-wrap{bottom:24px;left:max(30px,env(safe-area-inset-left));width:100px}#joystick{height:94px;width:94px}#stick{left:23px;top:23px}.pedals{bottom:32px;right:max(28px,env(safe-area-inset-right))}.thrust-button{height:63px;width:78px}.boost-button{width:78px;min-height:35px}.brake-button{height:48px}.bottom-center{bottom:49px}.interaction{font-size:11px;min-height:39px}#notice{font-size:11px}.camera-tools{bottom:12px}.start-screen{padding:75px 8vw 30px;align-items:center}.start-copy h1{font-size:42px;line-height:1;margin:13px 0}.intro{font-size:12px;margin:13px 0}.start-copy .primary{min-height:43px;font-size:12px}.start-copy .text-button{font-size:11px;min-height:30px;margin:0}.start-foot{display:none}.loadline{margin-top:8px}.eyebrow{font-size:8px}.location-stamp{bottom:28px}.start-copy{max-width:430px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.transition-line i{animation-duration:1ms}}

/* First Light: clear mission status and cockpit controls for touch. */
.save-copy{font-size:12px;color:#d6e9df;margin:10px 0 2px}.mission{background:linear-gradient(100deg,rgba(5,29,37,.55),rgba(5,29,37,.25));padding:12px 14px 11px;border-radius:0 0 5px 5px}.mission strong{font-size:21px}.mission-progress{display:flex;gap:5px;margin:12px 0}.mission-progress i{flex:1;height:3px;background:#c6e9d333}.mission-progress i.current{background:#ffdc9a}.mission-progress i.done{background:#cef8b4}.cargo-status{display:block;font-size:9px;letter-spacing:1.2px;color:#d8eace;margin-top:10px}.mission-follow{width:100%;font-size:12px;letter-spacing:1px;background:#bfe9c528;margin-top:5px}.camera-tools button{min-height:38px}.camera-tools #cockpitButton{border:1px solid #d5f4c75c;background:#173d4990;color:#e4ffd0}.camera-tools #cockpitButton[aria-pressed=true]{background:#cdebcc;color:#12383b}.look-hint{position:absolute;left:50%;bottom:205px;transform:translateX(-50%);font-size:9px;letter-spacing:1.4px;color:#e3f4dd;pointer-events:none;text-shadow:0 1px 4px #001c24}.cockpit-view .speed-panel,.cockpit-view .mini{display:none}.cockpit-view .shade{background:linear-gradient(180deg,#03162244,transparent 23%)}.restart-confirm{padding:12px;background:#d4e5b810;border:1px solid #dbe9c42a;border-radius:5px;font-size:13px;line-height:1.5}.restart-confirm button{font-size:12px;margin:3px;padding:0 10px}.completion{position:absolute;inset:0;z-index:8;background:radial-gradient(ellipse at 50% 30%,#164854f5,#061d2af7);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:28px}.completion .insignia{font-size:100px;color:#e2efae;line-height:1;margin:30px 0 15px}.completion h2{font-size:clamp(30px,5vw,56px);font-weight:400;letter-spacing:-1px;margin:12px 0}.completion p{font-size:15px;line-height:1.7;color:#d2e7de;margin-bottom:28px}.completion .primary{max-width:340px}.prototype-note{display:block;margin-top:18px}
@media(pointer:coarse){.camera-tools{gap:5px;bottom:max(4px,env(safe-area-inset-bottom))}.camera-tools button{min-height:38px;white-space:nowrap;font-size:9px;padding:0 9px}.camera-tools #recoverButton{font-size:8px}.look-hint{bottom:178px;font-size:8px;white-space:nowrap}.cockpit-view .bottom-center{bottom:211px}.mission-top button{min-height:36px}.mission-bottom button{min-height:40px}.pedals{bottom:max(50px,calc(env(safe-area-inset-bottom) + 35px))}.joystick-wrap{bottom:max(45px,calc(env(safe-area-inset-bottom) + 30px))}}
@media(max-width:650px){.mission{top:78px;right:14px;width:217px;padding:8px 11px}.mission strong{font-size:19px;line-height:1.2}.mission p{font-size:11px;line-height:1.45}.mission-progress{margin:9px 0}.cargo-status{font-size:8px;margin-top:7px;letter-spacing:.8px}.mission-top{font-size:8px}.camera-tools{gap:1px}.camera-tools button{padding:0 7px}.save-copy{font-size:11px}.look-hint{bottom:185px}.cockpit-view .mission p{display:none}.cockpit-view .mission strong{font-size:16px}.cockpit-view .mission{width:204px}.cockpit-view .cargo-status{font-size:8px}}
@media(pointer:coarse) and (orientation:landscape){.mission{top:70px;right:24px;width:215px}.mission strong{font-size:17px}.mission p{font-size:10px}.mission-progress{margin:7px 0}.cargo-status{font-size:8px}.mission-bottom button{min-height:34px}.camera-tools{bottom:4px}.camera-tools button{min-height:35px}.look-hint{bottom:108px}.cockpit-view .bottom-center{bottom:46px}.pedals{bottom:46px}.joystick-wrap{bottom:38px}.cockpit-view .mission p{display:none}.completion .insignia{font-size:54px;margin:8px}.completion h2{font-size:29px;margin:6px}.completion p{font-size:13px;margin:8px 0}.completion .primary{min-height:44px}.completion .eyebrow{font-size:9px}}

.mission-distance{display:flex;align-items:center;gap:9px}#bearingArrow{font-style:normal;display:inline-block;font-size:19px;color:#d4f6b8;line-height:1}
@media(pointer:coarse) and (orientation:portrait){.cockpit-view .bottom-center{top:265px;bottom:auto}.cockpit-view .look-hint{top:248px;bottom:auto}}
@media(pointer:coarse) and (orientation:landscape){.cockpit-view .bottom-center{top:66px;bottom:auto}.cockpit-view .look-hint{top:56px;bottom:auto}.cockpit-view .bottom-center #notice:not(.show){display:none}}

.cockpit-view #cameraButton{display:none}.camera-tools #displayButton{border:1px solid #d5f4c74d;background:#173d498a;color:#dbf5d5}.look-hint{letter-spacing:.8px}
@media(max-width:650px){.cockpit-view .camera-tools{width:calc(100% - 24px);justify-content:center}.cockpit-view .camera-tools button{padding:0 8px;font-size:8px}.cockpit-view .look-hint{font-size:8px;letter-spacing:.4px}}
