:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f6f8f4;background:#839d99;--glass:rgba(19,37,32,.83);--line:rgba(227,245,226,.14);--accent:#dcf8b1;--muted:#bdcbc2;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit;background:none;border:0}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}#world,#scene{position:absolute;inset:0;width:100%;height:100%;touch-action:none;outline:none}#scene{display:block}.glass{background:var(--glass);border:1px solid var(--line);box-shadow:0 12px 50px #0002;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.topbar{position:absolute;top:max(24px,env(safe-area-inset-top));left:max(28px,env(safe-area-inset-left));right:max(28px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:#fff;text-shadow:0 1px 8px #15282277}.brand-mark{display:block;font-size:33px;line-height:48px;font-weight:450;width:48px;height:48px;border:1px solid #fff6;border-radius:14px;text-align:center;background:#193a3444;backdrop-filter:blur(12px);position:relative}.brand-mark span{font-size:18px;position:absolute;right:3px;top:-6px}.brand strong{display:block;font-size:20px;font-weight:560;letter-spacing:-.5px}.brand small{display:flex;gap:11px;font-size:9px;letter-spacing:2.7px;margin-top:7px;opacity:.8}.brand b{font-size:8px;border:1px solid #fff4;padding:1px 3px;line-height:8px;letter-spacing:0}.top-actions{display:flex;gap:8px;align-items:center}.icon-button{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(20,39,34,.75);border:1px solid var(--line);font-size:21px;backdrop-filter:blur(10px)}.icon-button:hover{background:#344b3e}.icon-button svg{width:22px}.status-pill{font-size:11px;display:flex;align-items:center;gap:7px;margin-right:9px;letter-spacing:.3px;text-shadow:0 1px 8px #000}.status-pill i{width:6px;height:6px;border-radius:50%;background:var(--accent)}.compass{position:absolute;top:26px;left:50%;transform:translateX(-50%);text-align:center;text-shadow:0 2px 6px #0009;pointer-events:none}.compass>span:first-child{font-size:11px;font-weight:600;letter-spacing:2px}.compass-rule{display:block;line-height:16px;letter-spacing:7px;opacity:.65}.compass small{font-size:9px;letter-spacing:1px;opacity:.8}.welcome{position:absolute;top:30%;left:28px;width:320px;padding:29px;border-radius:20px;transition:opacity .35s,transform .35s}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--accent);margin:0 0 20px}.welcome h1{font-weight:450;font-size:32px;line-height:1.13;letter-spacing:-1.25px;margin:0 0 16px}.welcome>p:not(.eyebrow){font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 22px}.primary{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--accent);color:#203426;font-size:13px;font-weight:650;border-radius:10px;padding:14px 16px}.primary span{font-size:20px}.primary:hover{background:#eaffce}.welcome-note{display:block;margin-top:14px;font-size:10px;line-height:1.6;color:var(--muted)}.settings{position:absolute;right:28px;top:85px;width:304px;border-radius:18px;padding:22px;max-height:calc(100dvh - 210px);overflow:auto;z-index:6}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-title h2{font-size:16px;letter-spacing:-.35px;font-weight:580;margin:0}.panel-title>button{font-size:25px;line-height:26px;width:32px;min-width:32px;border-radius:8px;color:#b5c3ba}.panel-intro{font-size:12px;line-height:1.5;color:var(--muted);margin:8px 0 24px}.range-row{display:block;margin:0 0 24px}.range-row>span{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin-bottom:10px}.range-row output{color:var(--accent);font-variant-numeric:tabular-nums;font-size:11px}.range-row small{display:flex;justify-content:space-between;font-size:9px;color:#b8c7bc;margin-top:6px}.range-row input{width:100%;display:block}input[type=range]{appearance:none;-webkit-appearance:none;height:20px;background:transparent;cursor:pointer;touch-action:pan-x;accent-color:var(--accent)}input[type=range]::-webkit-slider-runnable-track{height:3px;background:#82958a66;border-radius:3px}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;background:var(--accent);border-radius:50%;margin-top:-6.5px;box-shadow:0 0 0 4px #dcf8b111}input[type=range]::-moz-range-track{height:3px;background:#82958a66}input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--accent);border:0;border-radius:50%}.setting-divider{height:1px;background:var(--line);margin:4px 0 18px}.select-row{font-size:11px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}select{background:#32473a;color:#f4f6f0;border:1px solid var(--line);border-radius:7px;padding:7px;font-size:11px;max-width:155px}.check-row{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.check-row input{accent-color:var(--accent);width:16px;height:16px}.text-button{font-size:11px;color:var(--muted);padding:14px 0 0;text-decoration:underline;text-underline-offset:3px}.destinations{position:absolute;top:100px;left:28px;display:flex;gap:6px}.destinations button{background:#1b342b80;border:1px solid #d8e8d633;backdrop-filter:blur(10px);border-radius:20px;padding:8px 12px;font-size:11px}.destinations button:hover{background:#294b3f}.destinations button span{margin-left:5px;color:var(--accent)}.altitude-control{position:absolute;right:28px;top:46%;width:51px;padding:8px 4px 12px;border-radius:15px;display:flex;align-items:center;flex-direction:column;gap:10px}.altitude-control button{height:30px;width:36px;font-size:24px;border-radius:8px}.altitude-control button:hover{background:#ffffff18}.altitude-control input{writing-mode:vertical-lr;direction:rtl;height:110px;width:22px;touch-action:pan-y}.altitude-control input::-webkit-slider-runnable-track{height:100%;width:3px}.altitude-control input::-webkit-slider-thumb{margin-top:0;margin-left:-6.5px}.altitude-control span{font-size:9px;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}.minimap{position:absolute;bottom:70px;left:28px;width:204px;border-radius:15px;overflow:hidden}.minimap>button{font-size:10px;letter-spacing:.3px;display:flex;justify-content:space-between;width:100%;padding:11px 14px;color:var(--muted)}.minimap>button span{color:var(--accent)}.minimap-body{position:relative;height:160px;margin:0 7px 7px;border-radius:8px;overflow:hidden;background:#29433b}.minimap canvas{width:100%;height:100%;display:block;cursor:crosshair}.map-north{position:absolute;top:8px;right:9px;font-size:9px;text-shadow:0 1px 4px #000}.map-scale{position:absolute;bottom:10px;left:12px;font-size:8px;border-bottom:1px solid #fff8;width:43px;padding-bottom:3px;text-shadow:0 1px 4px #000}.minimap.collapsed .minimap-body{display:none}.readout{position:absolute;left:258px;bottom:77px;display:flex;align-items:center;gap:19px;pointer-events:none;text-shadow:0 1px 8px #132a24a0}.readout>div{display:flex;flex-direction:column;gap:2px}.readout strong{font-size:26px;line-height:1.1;font-weight:400;letter-spacing:-1px;font-variant-numeric:tabular-nums}.readout span{font-size:9px;opacity:.85}.readout i{height:25px;width:1px;background:#ffffff50}.readout>span{position:absolute;bottom:-18px;left:0;font-size:8px;letter-spacing:1.8px;white-space:nowrap}.dock{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);border-radius:18px;display:flex;gap:8px;padding:8px;align-items:center}.modes{display:flex;gap:3px}.modes button{display:flex;align-items:center;justify-content:center;gap:9px;padding:13px 14px;border-radius:11px;font-size:12px;color:#ced7cd;transition:background .18s}.modes svg{width:20px;height:20px}.modes button.active{background:#dcf8b1;color:#223a2b}.modes button:not(.active):hover{background:#ffffff10}.dock-separator{height:24px;width:1px;background:var(--line);margin:0 3px}.boost-button{display:flex;flex-direction:column;padding:7px 10px;font-size:11px;touch-action:none;user-select:none}.boost-button span{font-size:9px;color:var(--accent);margin-top:4px}.boost-button.held{background:#dcf8b130;border-radius:10px;color:var(--accent)}.dock .icon-button{border:0;background:transparent;width:34px;height:39px;font-size:24px}.desktop-hint{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);font-size:9px;color:#eef5ead0;white-space:nowrap;text-shadow:0 1px 5px #0009;pointer-events:none}.desktop-hint kbd{font-family:inherit;font-size:8px;border:1px solid #ffffff40;border-radius:4px;padding:2px 5px}.desktop-hint>span{margin:0 6px;opacity:.45}footer{position:absolute;bottom:max(10px,env(safe-area-inset-bottom));left:28px;right:28px;font-size:8px;display:flex;justify-content:space-between;gap:10px;text-shadow:0 1px 6px #000;background:transparent;color:#f5f7efc9;pointer-events:none}footer button{font-size:9px;text-decoration:underline;text-underline-offset:2px;pointer-events:auto;padding:0}.place-label{position:absolute;left:0;top:0;color:#fff;font-size:11px;white-space:nowrap;text-shadow:0 1px 6px #0e221b;pointer-events:none;transform:translate(-50%,-100%)}.place-label span{padding:6px 10px;border:1px solid #fff3;border-radius:7px;background:#18382c99;backdrop-filter:blur(8px)}.place-label i{display:block;width:4px;height:4px;background:var(--accent);border-radius:50%;margin:12px auto 0;box-shadow:0 0 0 4px #dcf8b122}#toast{position:absolute;top:160px;left:50%;transform:translateX(-50%) translateY(-8px);opacity:0;transition:.2s;background:#17382eeb;border:1px solid var(--line);padding:10px 17px;border-radius:20px;font-size:12px;pointer-events:none;max-width:80%;text-align:center;z-index:8}#toast.show{opacity:1;transform:translateX(-50%)}#boot{position:absolute;inset:0;z-index:20;display:flex;justify-content:center;align-items:center;flex-direction:column;background:radial-gradient(ellipse at 65% 25%,#3c6452,#122c24 70%);text-align:center;transition:opacity .5s}#boot .boot-mark{font-size:50px;font-weight:300;border:1px solid #dbf5ba40;border-radius:22px;width:86px;height:86px;line-height:82px;position:relative;margin-bottom:35px;color:var(--accent)}.boot-mark span{font-size:24px;position:absolute;right:4px;top:-14px}#boot .eyebrow{color:#cadabe;font-size:9px}#boot h1{font-size:clamp(25px,4vw,41px);font-weight:350;line-height:1.15;letter-spacing:-1.4px;margin:0 20px 33px}.loading-line{height:2px;width:210px;background:#e0f6c420;border-radius:3px;overflow:hidden}.loading-line i{display:block;height:100%;width:6%;background:var(--accent);transition:width .5s}#load-status{font-size:11px;color:#c4d5c4;max-width:320px;line-height:1.6;margin:15px 25px}#retry{padding:12px 20px;background:var(--accent);color:#20372b;border-radius:8px;margin-top:10px}dialog{background:#19362f;color:#eef3e9;border:1px solid var(--line);border-radius:22px;padding:28px;max-width:530px;width:calc(100% - 30px);max-height:85dvh;box-shadow:0 30px 120px #0005}dialog::backdrop{background:#071b15aa;backdrop-filter:blur(6px)}dialog p{font-size:13px;line-height:1.7;color:#c3d0c5}dialog p strong{font-weight:550;color:#f4f7ef}dialog a{color:var(--accent);font-size:12px}dialog dl{font-size:12px;display:grid;grid-template-columns:125px 1fr;gap:14px;margin:24px 0}dialog dt{color:#f2f5ee}dialog dd{color:#bdcdbf;margin:0;line-height:1.5}.info-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:21px 0 17px}.info-tabs button{padding:10px 13px;font-size:12px;color:#adc2b3;border-bottom:2px solid transparent}.info-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}#touch-controls{display:none}.gone{opacity:0!important;pointer-events:none!important;transform:translateY(10px)}
@media(max-width:1180px){.readout{left:auto;right:105px;bottom:78px;gap:15px}.readout strong{font-size:22px}.dock{left:51%}.minimap{width:172px}.minimap-body{height:135px}.modes button{padding:13px 10px}.desktop-hint{font-size:8px}.status-pill{display:none}}
@media(pointer:coarse){#touch-controls{display:block}.desktop-hint{display:none}.welcome-note{font-size:0}.welcome-note:after{content:'Links bewegen · rechts umschauen';font-size:10px}#joystick{position:absolute;bottom:calc(143px + var(--safe-bottom));left:max(30px,env(safe-area-inset-left));width:116px;height:116px;touch-action:none;user-select:none;border-radius:50%}.joystick-ring{position:absolute;inset:0;border:1px solid #e5f6d75c;background:#153c2d3b;backdrop-filter:blur(3px);border-radius:50%}.joystick-ring:after{content:'';position:absolute;inset:36px;border:1px solid #e2f8d34d;border-radius:50%}.joystick-thumb{position:absolute;left:36px;top:36px;width:44px;height:44px;border:1px solid #f0ffdda6;background:#d1e8bd55;box-shadow:0 3px 15px #142c2422;border-radius:50%;pointer-events:none}.touch-look-hint{position:absolute;right:36px;bottom:calc(171px + var(--safe-bottom));text-align:center;font-size:10px;line-height:1.5;color:#f1f5e9aa;pointer-events:none;text-shadow:0 1px 5px #000}.touch-vertical{position:absolute;right:23px;bottom:calc(263px + var(--safe-bottom));display:flex;flex-direction:column;gap:9px}.touch-vertical button,#touch-brake{height:45px;width:45px;border-radius:50%;border:1px solid #edffe34d;background:#16382e99;backdrop-filter:blur(8px);font-size:22px;touch-action:none;user-select:none}#touch-brake{position:absolute;left:65px;bottom:calc(90px + var(--safe-bottom));height:34px;width:44px;border-radius:10px;font-size:14px}.minimap{bottom:calc(305px + var(--safe-bottom));width:143px}.minimap-body{height:106px}.readout{bottom:calc(107px + var(--safe-bottom));right:30px}.dock{bottom:calc(32px + var(--safe-bottom));left:50%}.altitude-control{top:165px;right:23px}.compass{top:30px}footer{bottom:calc(8px + var(--safe-bottom));font-size:7px}}
@media(max-width:650px){.topbar{top:max(16px,env(safe-area-inset-top));left:16px;right:16px}.brand{gap:9px}.brand-mark{width:37px;height:40px;font-size:28px;line-height:39px;border-radius:11px}.brand-mark span{font-size:15px}.brand strong{font-size:16px}.brand small{font-size:7px;letter-spacing:2px;margin-top:4px}.top-actions{gap:5px}.top-actions .icon-button{width:35px;height:37px;border-radius:10px;font-size:18px}.top-actions .icon-button svg{width:20px}#fullscreen{display:none}.compass{top:76px;left:50%}.compass-rule{line-height:13px}.destinations{top:119px;left:16px;right:16px;gap:5px;justify-content:center}.destinations button{padding:7px 10px;font-size:10px}.welcome{top:28%;left:18px;width:calc(100% - 88px);max-width:300px;padding:23px;z-index:4}.welcome h1{font-size:30px}.welcome>p:not(.eyebrow){font-size:12px}.settings{top:66px;right:12px;left:12px;width:auto;max-height:calc(100dvh - 160px);padding:21px;z-index:7}.range-row{margin-bottom:18px}.settings .panel-intro{margin-bottom:16px}.range-row>span{font-size:12px}.settings .range-row input{height:25px}.select-row,.check-row{font-size:12px}.minimap{left:16px;width:133px;bottom:calc(315px + var(--safe-bottom))}.minimap>button{padding:9px 11px}.minimap-body{height:90px}.map-scale{font-size:7px}.readout{right:22px;bottom:calc(104px + var(--safe-bottom));gap:15px}.readout strong{font-size:24px}.readout>span{font-size:7px;letter-spacing:1.3px}.dock{width:calc(100% - 24px);max-width:420px;padding:6px;gap:3px;border-radius:16px}.modes{flex:1;gap:2px}.modes button{flex:1;flex-direction:column;gap:5px;padding:9px 7px;font-size:10px}.modes svg{width:19px;height:19px}.dock-separator{margin:0 4px}.boost-button{padding:8px;font-size:10px}.dock .icon-button{width:30px;font-size:22px}footer{left:16px;right:16px;font-size:6.5px}footer button{font-size:7px}#toast{top:155px;font-size:11px;padding:9px 13px;min-width:230px}#joystick{left:28px}.altitude-control{width:43px;right:17px;top:172px;padding:5px 2px 9px;gap:7px}.altitude-control input{height:83px}.altitude-control span{font-size:8px}.altitude-control button{width:32px;height:28px}dialog{padding:22px}dialog dl{grid-template-columns:1fr;gap:6px}dialog dd{margin-bottom:10px}.place-label{font-size:9px}}
@media(max-height:580px) and (pointer:coarse){.topbar{top:12px}.destinations{top:65px;left:20px;right:auto}.compass{top:17px}.welcome{top:102px;left:170px;max-width:300px;padding:19px}.welcome h1{font-size:24px}.welcome .eyebrow,.welcome>p:not(.eyebrow){display:none}.settings{top:58px;left:auto;right:14px;width:310px;max-height:calc(100dvh - 105px)}.minimap{top:106px;bottom:auto;left:20px;width:122px}.minimap-body{height:83px}.dock{bottom:calc(23px + var(--safe-bottom));width:390px}.modes button{flex-direction:row}.readout{right:100px;bottom:92px}.altitude-control{top:78px;right:20px}.altitude-control input{height:60px}#joystick{width:90px;height:90px;bottom:53px;left:32px}.joystick-thumb{left:23px;top:23px}.joystick-ring:after{inset:23px}.touch-vertical{right:24px;bottom:55px;flex-direction:row}.touch-look-hint{right:28px;bottom:130px}#touch-brake{left:128px;bottom:55px}footer{font-size:6px}.readout>span{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.gone,#boot{transition:none}}
/* Rotated horizontal range also works on older iOS Safari. */
.altitude-control{height:204px;position:absolute}.altitude-control input{position:absolute;top:93px;left:-32px;width:110px;height:22px;writing-mode:horizontal-tb;direction:ltr;transform:rotate(-90deg);touch-action:none}.altitude-control input::-webkit-slider-runnable-track{height:3px;width:auto}.altitude-control input::-webkit-slider-thumb{margin-top:-6.5px;margin-left:0}.altitude-control>span{position:absolute;bottom:12px}.altitude-control>button{position:absolute;top:8px}
@media(max-width:650px){.altitude-control{height:164px}.altitude-control input{width:82px;left:-20px;top:74px}.altitude-control>span{bottom:10px}}
@media(max-height:580px) and (pointer:coarse){.altitude-control{height:144px}.altitude-control input{width:60px;left:-8px;top:65px}}
.welcome{top:21%;width:338px;padding:25px}.welcome h1{font-size:30px;margin-bottom:12px}.welcome>p:not(.eyebrow){font-size:12px;margin-bottom:17px}.welcome .eyebrow{margin-bottom:15px;font-size:9px}.spawn-presets{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:20px}.spawn-presets button{padding:11px 10px;text-align:left;font-size:11px;border:1px solid #d6ecc231;border-radius:9px;display:flex;justify-content:space-between;align-items:center;gap:5px}.spawn-presets button span{color:var(--accent)}.spawn-presets button.selected{background:#d9f4ad19;border-color:#d9f4ad88;color:var(--accent)}.address-wrap{position:relative}.address-wrap>label{display:block;font-size:10px;color:var(--muted);margin-bottom:8px}.search-field{display:flex;align-items:center;background:#0a211b88;border:1px solid #d6ecc234;border-radius:9px;gap:7px;padding:0 10px;height:43px}.search-field:focus-within{border-color:var(--accent)}.search-field svg{width:17px;min-width:17px;color:#b6c8b9}.search-field input{min-width:0;width:100%;border:0;background:transparent;color:#f3f8ed;font-size:12px;outline:none}.search-field input::placeholder{color:#9bafa1}.search-field button{font-size:21px;color:#b2c7b7;padding:0 1px}.address-wrap>p{font-size:9px;line-height:1.5;color:#b2c3b5;margin:8px 0 13px}.welcome .selected-spawn{font-size:10px!important;color:var(--accent)!important;margin:13px 0 12px!important}.address-wrap #address-results{position:absolute;top:65px;left:0;right:0;max-height:200px;overflow-y:auto;background:#19372eee;backdrop-filter:blur(18px);border:1px solid #d9f4ad55;border-radius:9px;z-index:10;box-shadow:0 15px 40px #0005}.address-result{display:block;width:100%;text-align:left;padding:11px 13px;border-bottom:1px solid #ffffff0c;font-size:11px}.address-result small{display:block;color:#a7bdad;font-size:9px;margin-top:4px}.address-result:hover,.address-result:focus{background:#dcf8b122;outline:none}.address-empty{font-size:11px;padding:12px;line-height:1.5;color:var(--muted)}#spawn-open{color:var(--accent);border-color:#dcf8b164}
@media(max-width:650px){.welcome{top:164px;left:14px;width:calc(100% - 66px);max-width:328px;padding:20px}.welcome h1{font-size:25px}.welcome>p:not(.eyebrow){font-size:11px;margin-bottom:12px}.spawn-presets{gap:5px;margin-bottom:14px}.spawn-presets button{font-size:10px;padding:11px 8px}.destinations{justify-content:flex-start;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.destinations::-webkit-scrollbar{display:none}.destinations button{flex-shrink:0;font-size:9px;padding:8px 10px}.welcome-note{margin-top:10px}.address-wrap #address-results{max-height:160px}.search-field input{font-size:16px}.welcome .eyebrow{font-size:8px;margin-bottom:12px}.welcome .selected-spawn{margin-top:8px!important}.welcome{z-index:4}}
@media(max-height:700px) and (max-width:650px){.welcome{top:156px;padding:16px}.welcome>p:not(.eyebrow):not(.selected-spawn),.welcome>.eyebrow{display:none}.welcome h1{font-size:23px}.spawn-presets{margin-bottom:12px}.welcome-note{display:none}}
@media(max-height:580px) and (pointer:coarse){.welcome{top:100px;left:165px;width:310px;max-height:calc(100dvh - 170px);overflow-y:auto}.welcome>p:not(.selected-spawn){display:none}.welcome .welcome-note{display:none}.welcome h1{font-size:22px}.spawn-presets{margin-bottom:9px}.address-wrap>p{display:none}.address-wrap #address-results{position:relative;top:0;max-height:100px}.selected-spawn{margin:9px 0!important}}
.spawn-presets{grid-template-columns:.85fr .7fr 1.3fr}.spawn-presets button{justify-content:center;padding:12px 7px;font-size:11px;white-space:nowrap}
@media(max-width:650px){.spawn-presets button{font-size:10px;padding:12px 6px}}
#audio-toggle.muted{opacity:.5}#audio-toggle.muted:after{content:'';position:absolute;width:25px;height:1px;background:currentColor;transform:rotate(-45deg)}
@media(max-width:380px){.top-actions{gap:4px}.top-actions .icon-button{width:32px}.brand strong{font-size:15px}.brand small{font-size:6px;letter-spacing:1.6px}}
/* Flight controls remain reachable without opening a panel. */
#mouse-look{font-size:11px;letter-spacing:-.6px}#mouse-look.active{background:var(--accent);color:#18382d}.destinations select{max-width:160px;background:#1b342bcc;border-radius:20px;flex-shrink:0;font-size:10px;padding:8px 12px}.quick-tempo{position:absolute;left:50%;bottom:140px;transform:translateX(-50%);width:300px;padding:10px 14px;border-radius:14px}.quick-tempo>label{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.quick-tempo output{color:var(--accent);font-variant-numeric:tabular-nums}.quick-tempo>input{width:100%;height:25px}.quick-tempo>div{display:flex;align-items:center;gap:7px;font-size:9px;color:var(--muted)}.quick-tempo>div>button{margin-right:auto;font-size:10px;border:1px solid var(--line);border-radius:7px;padding:5px 9px;min-width:64px}.quick-tempo select{padding:3px 6px;font-size:10px}.welcome{top:50%;left:50%;transform:translate(-50%,-50%);width:370px;max-width:calc(100% - 32px);z-index:5;max-height:calc(100dvh - 170px);overflow:auto}.welcome.gone{transform:translate(-50%,-48%)}.welcome h1{font-size:28px}.start-modes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin:20px 0}.start-modes button{border:1px solid var(--line);border-radius:12px;padding:13px 4px;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13px}.start-modes b{font-size:23px;font-weight:400}.start-modes small{font-size:9px;color:var(--muted)}.start-modes button.selected{background:#dcf8b11f;border-color:#dcf8b1a0;color:var(--accent)}.map-zoom{position:absolute;top:27px;right:7px;display:flex;flex-direction:column;background:#ffffffe8;border:1px solid #80917c70;border-radius:5px;overflow:hidden}.map-zoom button{width:25px;height:25px;color:#294533;font-size:17px}.map-zoom button+button{border-top:1px solid #b2c0ab}.map-north,.map-scale{color:#253f2b;text-shadow:0 1px 2px #fff}.map-scale{border-color:#253f2b}.map-attribution{position:absolute;right:3px;bottom:2px;font-size:6px;background:#ffffffe0;color:#294533;padding:2px}.map-north{top:7px;right:10px}.touch-vertical button.held,#touch-brake.held{background:#dcf8b1;color:#183c2a;border-color:#f4ffe3;box-shadow:0 0 20px #dcf8b144}.touch-vertical button small{display:block;font-size:8px;line-height:12px;margin-top:1px}details{border-top:1px solid var(--line);padding:14px 0}summary{font-size:12px;cursor:pointer;color:var(--accent)}
@media(pointer:coarse){.quick-tempo{bottom:calc(111px + var(--safe-bottom));width:190px;padding:9px 11px}.touch-vertical{bottom:calc(220px + var(--safe-bottom));right:20px}.touch-vertical button{width:57px;height:57px;line-height:23px}#touch-brake{height:44px;bottom:calc(91px + var(--safe-bottom))}.readout{bottom:calc(355px + var(--safe-bottom));right:22px}.minimap{bottom:calc(290px + var(--safe-bottom));width:150px}.minimap-body{height:123px}.altitude-control{display:none}.touch-look-hint{bottom:calc(166px + var(--safe-bottom));right:20px}}
@media(max-width:650px){.welcome{top:50%;left:50%;width:345px;max-width:calc(100% - 32px);padding:22px}.welcome h1{font-size:26px}.minimap{left:16px;width:139px}.minimap-body{height:112px}.quick-tempo{left:50%;width:176px}.readout{font-size:9px;gap:10px}.readout strong{font-size:22px}.destinations select{max-width:140px}.start-modes{margin:14px 0}.start-modes button{padding:12px 3px}}
@media(max-height:700px) and (pointer:coarse){.minimap{bottom:calc(279px + var(--safe-bottom));width:124px}.minimap-body{height:86px}.readout{bottom:calc(348px + var(--safe-bottom));right:21px}.welcome h1{font-size:22px}.welcome>p:not(.selected-spawn){display:none}.start-modes{margin:12px 0}.start-modes button{padding:9px 3px}.welcome{padding:17px}.touch-vertical{bottom:calc(211px + var(--safe-bottom))}}
@media(max-height:580px) and (pointer:coarse){.welcome{top:50%;left:50%;max-height:calc(100dvh - 40px);width:330px}.quick-tempo{left:auto;right:22px;transform:none;bottom:135px;width:160px}.readout{bottom:91px;right:166px}.touch-vertical{bottom:52px;right:20px}.touch-vertical button{width:50px;height:50px}.touch-look-hint{display:none}.minimap{top:108px;bottom:auto;width:122px}.minimap-body{height:83px}#touch-brake{bottom:55px}}
.brand-logo{border-radius:14px;box-shadow:0 4px 16px #102e2644}.boot-logo{margin-bottom:32px;filter:drop-shadow(0 9px 25px #051e2966)}.brand small{letter-spacing:1.35px;font-size:8px}.brand b{display:none}@media(max-width:650px){.brand-logo{width:40px;height:40px;border-radius:11px}.brand small{font-size:6px;letter-spacing:1px}}
@media(pointer:coarse) and (min-height:581px){.quick-tempo{width:calc(100% - 32px);max-width:420px;bottom:calc(110px + var(--safe-bottom));display:grid;grid-template-columns:1fr 132px;column-gap:16px;padding:10px 13px}.quick-tempo>label{grid-column:1}.quick-tempo>input{grid-column:1;margin:0;min-width:0}.quick-tempo>div{grid-column:2;grid-row:1 / 3;justify-content:flex-end;flex-wrap:wrap;gap:5px}.quick-tempo>div>button{flex-basis:100%;margin:0;padding:5px}.quick-tempo>div>label{font-size:8px}.quick-tempo select{height:26px}#joystick{bottom:calc(185px + var(--safe-bottom));width:106px;height:106px}.joystick-thumb{left:31px;top:31px}.joystick-ring:after{inset:31px}#touch-brake{bottom:calc(187px + var(--safe-bottom));left:145px;width:42px;height:42px}.minimap{bottom:calc(321px + var(--safe-bottom))}.touch-vertical{bottom:calc(208px + var(--safe-bottom))}.readout{bottom:calc(351px + var(--safe-bottom))}.touch-look-hint{bottom:calc(175px + var(--safe-bottom))}}
#map-relief[aria-pressed=true]{background:#d4ddb9;color:#23482b}

.inspect-button{position:absolute;right:28px;top:153px;display:flex;align-items:center;gap:8px;padding:10px 13px;border-radius:12px;font-size:12px}.inspect-button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}kbd{font:9px inherit;border:1px solid #d8e6d544;border-radius:4px;padding:2px 5px;margin-left:5px;opacity:.8}.aim-point{position:absolute;top:50%;left:50%;width:4px;height:4px;border:1px solid #fff9;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 3px #16352c99;pointer-events:none}.inspect-panel{position:absolute;top:153px;left:50%;transform:translateX(-50%);border-radius:13px;padding:12px 14px;display:flex;align-items:center;gap:13px;max-width:calc(100% - 32px);z-index:5}.inspect-panel strong{font-size:12px;display:block}.inspect-panel small{font-size:9px;color:var(--muted);display:block;margin-top:5px}.inspect-panel button{font-size:11px;white-space:nowrap;padding:9px;background:#dcf8b117;border-radius:7px}.inspect-panel button[aria-pressed=true]{background:var(--accent);color:#203426}.check-row{margin-top:8px}@media(pointer:coarse){.inspect-button{right:18px;top:157px;padding:10px}.inspect-button kbd{display:none}.inspect-panel{top:204px;width:calc(100% - 32px);max-width:430px;gap:8px;flex-wrap:wrap}.inspect-panel>div{width:100%}.inspect-panel small{line-height:1.5}.inspect-panel button{flex:1}.inspect-panel kbd{display:none}}@media(max-height:580px){.inspect-button{top:146px;right:20px}.inspect-panel{top:65px;max-width:360px;left:50%;width:auto}.inspect-panel small{display:none}.inspect-panel>div{width:auto}}

.brand strong{font-size:31px;font-weight:680;letter-spacing:-1.1px}.brand-logo{width:57px;height:57px}.brand small{font-size:9px;letter-spacing:2.2px}.welcome .welcome-title{font-size:43px;letter-spacing:-1.8px;margin-bottom:8px;font-weight:620}.welcome .welcome-subtitle{font-size:14px;color:#e4efdf;margin-bottom:14px}.learn-notice{padding:10px 12px;background:#dcf8b114;border:1px solid #dcf8b133;border-radius:10px;font-size:12px!important;line-height:1.5!important}.flight-intro{width:min(590px,calc(100% - 24px));max-height:calc(100dvh - 28px);padding:30px;border:1px solid #7d9b76;border-radius:24px;background:#182e25;color:#f6faef;box-shadow:0 30px 100px #0007;overflow:auto}.flight-intro::backdrop{background:#06100bcc;backdrop-filter:blur(6px)}.flight-intro h2{font-size:25px;font-weight:400;line-height:1.25;margin:0 0 12px}.flight-intro h2 strong{font-size:43px;letter-spacing:-1.5px}.intro-lead{font-size:16px;line-height:1.5;color:#d0ddcd;margin-bottom:22px}.intro-steps{display:grid;grid-template-columns:1fr 1fr;gap:13px}.intro-steps article{background:#ffffff07;border:1px solid #e0f5d51c;border-radius:13px;padding:15px;display:flex;gap:11px}.intro-steps article>span{background:var(--accent);color:#163526;border-radius:50%;min-width:27px;height:27px;display:grid;place-items:center;font-weight:700}.intro-steps h3{font-size:16px;line-height:1.4;margin:0 0 8px;font-weight:600}.intro-steps p{font-size:14px;line-height:1.8;color:#e1e9dc;margin:0}.intro-steps kbd{font:600 13px inherit;padding:3px 5px;opacity:1;margin-left:0;background:#e8f4db14}.intro-footnote{font-size:13px;line-height:1.6;color:#c1d1bc;margin:18px 0}.flight-intro .primary{font-size:17px;padding:16px}.tutorial-reopen{margin:18px 0}.topbar{z-index:4}.welcome{z-index:5}@media(max-width:650px){.brand strong{font-size:27px}.brand-logo{width:46px;height:46px}.brand small{font-size:7px;letter-spacing:1.8px}.welcome .welcome-title{font-size:38px}.flight-intro{padding:23px}.intro-steps{grid-template-columns:1fr;gap:9px}.intro-steps article{padding:11px 13px}.intro-steps h3{margin-bottom:3px}.flight-intro h2 strong{font-size:38px}.intro-lead{margin-bottom:15px}.top-actions{gap:5px}.topbar{left:16px;right:16px}}

@media(max-width:430px){.brand{gap:8px}.brand strong{font-size:27px}.brand-logo{width:40px;height:40px}.top-actions .icon-button{width:33px;height:35px;font-size:18px}.top-actions{gap:4px}.brand small{letter-spacing:1.2px}.top-actions #fullscreen{display:none}.compass{top:70px}.destinations{top:107px}.inspect-button{top:177px}}

.intro-steps p{font-size:16px;line-height:1.7}.intro-steps h3{font-size:18px}.intro-footnote{font-size:14px}.learn-notice{font-size:14px!important}

/* Eddigehausen: evergreen woods, warm stone and restrained brass. */
:root{--glass:rgba(20,43,34,.89);--line:rgba(224,203,153,.26);--accent:#e4cd94;--muted:#d0d5c2}.glass{box-shadow:0 12px 42px #071d2833,inset 0 1px 0 #f3e7c90d}.primary{background:linear-gradient(125deg,#efdeac,#d8b972);color:#24392b}.primary:hover{background:#f4e8c5}.modes button.active{background:#e4cd94}.brand-wordmark{width:220px;height:auto;display:block;filter:drop-shadow(0 2px 5px #0b282b99)}.brand small{font-size:8px;letter-spacing:1.6px;margin-top:4px;color:#fff4d6}.welcome-wordmark{display:block;width:100%;height:auto;max-height:85px}.intro-wordmark{display:block;width:310px;max-width:100%;height:auto;margin-top:8px}.boot-wordmark{display:block;margin:0 0 22px;height:auto;max-width:75vw}.welcome{border-color:#e4cd9444;background:radial-gradient(ellipse at top,#344f3a,#152c25 80%)}.welcome .eyebrow{font-size:9px;letter-spacing:1.6px}.place-label span{font-family:Georgia,'Times New Roman',serif;font-size:19px;letter-spacing:.4px;color:#fff1ce;border:1px solid #deca8f80;padding:9px 15px;border-radius:4px;background:linear-gradient(#1c3a2ee0,#152e28db);box-shadow:0 4px 15px #09252255,inset 0 0 0 3px #decf9a0c}.place-label i{background:#e8d29a}.street-label{position:absolute;left:0;top:0;padding:5px 10px;border-radius:5px;background:#142d2be6;border:1px solid #f4e9c985;color:#fff8e6;font-size:13px;font-weight:550;white-space:nowrap;pointer-events:none;box-shadow:0 2px 6px #102c3555;will-change:transform;transition:opacity .2s}#street-label-layer{position:absolute;inset:0;pointer-events:none}.speed-limit{display:block!important;margin:8px 0 0!important;font-size:10px!important;line-height:1.5;color:var(--muted)}.air-state{display:block!important;margin-top:8px!important;font-size:10px!important;font-weight:400!important;letter-spacing:.4px!important;color:#ffefd1!important;text-shadow:0 1px 5px #153f69}.minimap{width:300px;border-radius:13px;border-color:#e6d39877;bottom:70px}.minimap-body{height:224px}.minimap>button{font-size:11px;padding:10px 13px 7px;color:#e8ddb9;letter-spacing:.8px}.map-current{position:relative;padding:3px 13px 10px 28px;display:flex;flex-direction:column;gap:3px}.map-current i{position:absolute;left:13px;top:8px;width:6px;height:6px;border-radius:50%;background:#81c7ff;box-shadow:0 0 0 3px #81c7ff18}.map-current strong{font-size:13px;font-weight:500}.map-current small{font-size:7px;letter-spacing:1.7px;color:var(--muted)}.minimap.collapsed .map-current{display:none}.map-zoom button{width:29px;height:29px}.map-attribution{font-size:8px}.map-scale{font-size:10px}.map-north{font-size:11px}.readout{left:auto;right:28px;bottom:79px}.region-arrival{position:absolute;left:50%;top:22%;transform:translate(-50%,-10px);text-align:center;pointer-events:none;opacity:0;transition:opacity 1s,transform 1.7s;width:min(580px,85vw);text-shadow:0 2px 8px #133b49,0 0 30px #0a302f99;z-index:3}.region-arrival.visible{opacity:1;transform:translate(-50%,0)}.region-arrival:before{content:'';position:absolute;inset:-25px -40px;background:radial-gradient(ellipse,#193f4166,transparent 70%);z-index:-1}.arrival-crest{color:#f1d999;font-size:26px;display:block}.region-arrival p{font-size:9px;letter-spacing:3px;color:#f8edc9;margin:7px 0 10px}.region-arrival strong{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(30px,4.3vw,59px);letter-spacing:1px;color:#fff3ce;display:block}.region-arrival small{display:block;font-size:12px;letter-spacing:1.5px;margin-top:12px;color:#fff9e9}.region-arrival i{display:block;position:relative;width:180px;height:1px;margin:21px auto;background:linear-gradient(90deg,transparent,#e9ce90,transparent)}.region-arrival i:after{content:'';position:absolute;left:calc(50% - 3px);top:-3px;width:6px;height:6px;background:#edda9f;transform:rotate(45deg)}
@media(max-width:1050px){.readout{bottom:315px;right:28px}.brand-wordmark{width:190px}.status-pill{display:none}}
@media(pointer:coarse) and (min-height:581px){.minimap{width:190px;bottom:calc(310px + var(--safe-bottom));left:16px}.minimap-body{height:148px}.minimap>button{padding:8px 10px 6px;font-size:9px}.map-current{padding-bottom:8px}.map-current strong{font-size:11px}.readout{bottom:calc(355px + var(--safe-bottom));right:20px;left:auto}.map-zoom button{width:25px;height:25px}.region-arrival{top:25%}.street-label{font-size:12px}}
@media(max-width:650px){.brand-wordmark{width:157px}.brand small{font-size:6px;letter-spacing:1.1px}.brand-logo{width:40px;height:40px}.brand{gap:7px}.top-actions{gap:3px}.top-actions .icon-button{width:31px;height:34px}.topbar{left:12px;right:12px}.region-arrival small{font-size:11px;letter-spacing:.6px}.region-arrival p{font-size:8px;letter-spacing:2px}.region-arrival strong{font-size:34px}.map-attribution{font-size:7px}}
@media(max-width:390px){.brand-wordmark{width:133px}.brand-logo{width:34px;height:34px}.top-actions .icon-button{width:29px}.brand small{font-size:5.5px;letter-spacing:.7px}.minimap{width:172px}.minimap-body{height:136px}}
@media(max-height:740px) and (pointer:coarse) and (min-height:581px){.minimap{width:170px;bottom:calc(303px + var(--safe-bottom))}.minimap-body{height:112px}.map-current small{display:none}.region-arrival{top:26%}.region-arrival small{margin-top:7px}.region-arrival .arrival-crest{display:none}}
@media(max-height:580px){.region-arrival{top:21%}.region-arrival .arrival-crest,.region-arrival p{display:none}.region-arrival strong{font-size:32px}.region-arrival i{margin:10px auto}.air-state{display:none!important}}
@media(max-height:580px) and (pointer:coarse){.minimap{top:148px;bottom:auto;width:175px}.minimap-body{height:105px}.map-current{display:none}.minimap>button{padding:7px 10px}.readout{bottom:85px;right:190px}.brand-wordmark{width:190px}}
@media(prefers-reduced-motion:reduce){.region-arrival{transition:opacity .2s;transform:translateX(-50%)}.region-arrival.visible{transform:translateX(-50%)}.street-label{transition:none}}
.world-note{border-left:2px solid #d5bd81;padding:2px 0 3px 11px;margin:14px 0 17px;color:#ece7d3}.world-note b{font-size:11px;font-weight:600;color:#eddaae}.world-note p{font-size:12px;line-height:1.6;margin:6px 0}.world-note small{font-size:10px;line-height:1.6;display:block;color:#c4cbb8}
#tree-counter{position:absolute;right:10px;bottom:8px;font-size:11px;padding:5px 7px;background:#dfd29a18;border:1px solid #dfd29a40;border-radius:5px;color:#ecdcaa}.tree-discovery{position:absolute;right:28px;top:214px;border:1px solid #dcc18688;padding:16px;display:flex;gap:13px;border-radius:8px;max-width:320px;opacity:0;transform:translateY(-10px);transition:opacity .6s,transform .7s;pointer-events:none;z-index:5}.tree-discovery.visible{opacity:1;transform:none;pointer-events:auto}.tree-medallion{width:42px;height:42px;border:1px solid #d9bd7b;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:28px;color:#efd695;background:#ddc88713}.tree-discovery p{font-size:8px;letter-spacing:1.7px;color:#e5cd93;margin:0 0 7px}.tree-discovery strong{font-family:Georgia,serif;font-weight:400;font-size:21px;color:#fff0c9;display:block}.tree-discovery small{display:block;font-size:11px;line-height:1.5;color:#d1dbca;margin-top:7px}.tree-discovery button{margin-top:10px;padding:7px 10px;border:1px solid #d7c39166;color:#f2e4bb;font-size:11px;border-radius:5px}.tree-marker{position:absolute;left:0;top:0;pointer-events:none;padding:7px 10px;border:1px solid #e2cf92;background:#16392ee8;color:#fff0c3;font-size:12px;border-radius:7px;white-space:nowrap;box-shadow:0 3px 15px #11382466;z-index:3}.tree-marker:after{content:'';position:absolute;left:50%;bottom:-17px;height:16px;width:1px;background:#e6d493}.tree-marker.offscreen{border-style:dashed}.tree-marker.offscreen:after{display:none}@media(pointer:coarse){.tree-discovery{right:16px;top:218px;padding:12px;max-width:265px}.tree-discovery strong{font-size:18px}.tree-medallion{width:32px;height:32px;font-size:23px}.tree-marker{font-size:11px}.map-current strong{max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#tree-counter{font-size:9px;right:7px}}@media(max-height:580px){.tree-discovery{top:78px;right:20px;max-width:250px}.tree-discovery small{display:none}}
/* Large, explicit targets for relaxed desktop and touch use. */
.destinations button,.destinations select{min-height:44px;font-size:13px;padding:10px 15px}.destinations select{max-width:200px}.inspect-button{min-height:46px;padding:12px 16px;font-size:14px}.inspect-panel strong{font-size:15px}.inspect-panel small{font-size:12px;line-height:1.5}.inspect-panel button{min-height:44px;font-size:13px;padding:11px 14px}.tree-discovery button{min-height:44px;font-size:13px;padding:10px 12px}.modes button{min-height:48px;font-size:13px}.start-modes button{min-height:82px;font-size:15px}.start-modes small{font-size:11px}.spawn-presets button{min-height:44px;font-size:13px}.icon-button{min-width:44px;min-height:44px}.quick-tempo>div>button{min-height:36px;font-size:12px}.range-row>span,.range-row output,.select-row,.check-row{font-size:13px}.settings{width:335px}.map-zoom button{width:36px;height:38px}.top-actions .icon-button{width:44px;height:44px}.destinations{max-width:calc(100% - 56px);overflow-x:auto;scrollbar-width:none;white-space:nowrap;align-items:center}.destinations>*{flex-shrink:0}.destinations::-webkit-scrollbar{display:none}.tree-discovery{top:222px}.inspect-panel{top:158px}.welcome{width:405px}.welcome .primary{font-size:16px;min-height:50px}.flight-intro button{min-height:48px}
@media(max-width:650px){.brand-wordmark{width:125px}.brand-logo{width:33px;height:33px}.brand{gap:5px}.brand small{font-size:5.5px;letter-spacing:.5px}.top-actions{gap:3px}.top-actions .icon-button{width:40px;min-width:40px;height:44px}.top-actions #fullscreen{display:none}.settings{width:calc(100% - 32px);right:16px;top:80px;max-height:calc(100dvh - 150px)}.destinations{left:12px;top:103px;max-width:calc(100% - 24px);flex-wrap:nowrap;gap:5px}.destinations button,.destinations select{font-size:13px;padding:9px 13px}.inspect-button{top:163px;right:16px;min-height:46px}.tree-discovery{top:222px}.inspect-panel{top:218px}.modes button{font-size:12px;gap:5px;padding:11px 10px}.modes svg{width:18px}.dock{gap:4px;max-width:calc(100% - 24px)}.dock-separator{margin:0 1px}.boost-button{padding:7px 8px}.dock .icon-button{min-width:36px}.welcome{max-width:calc(100% - 24px)}.map-zoom button{width:32px;height:36px}}
@media(max-width:370px){.brand-wordmark{width:113px}.brand-logo{width:29px;height:29px}.top-actions .icon-button{width:38px;min-width:38px}.topbar{left:10px;right:10px}}
@media(max-height:580px) and (pointer:coarse){.destinations{top:83px;max-width:calc(100% - 32px)}.inspect-button{top:135px}.minimap{top:143px}.tree-discovery{top:187px}.inspect-panel{top:70px}.topbar .brand-wordmark{width:170px}}
/* Unified cockpit system: information above, navigation left, motion below. */
:root{--hud-surface:#142e27ed;--hud-edge:#ddc58c55;--hud-ivory:#fff4d9;--hud-radius:12px;--hud-shadow:0 8px 26px #08221e33}.glass,.icon-button,.destinations button,.destinations select{background:var(--hud-surface);border:1px solid var(--hud-edge);box-shadow:var(--hud-shadow),inset 0 1px 0 #fff3d009;border-radius:var(--hud-radius)}button,select{transition:background .15s,border-color .15s,color .15s}button:hover,select:hover{border-color:#ead39a99}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #f2d994;outline-offset:3px}button[aria-pressed=true],.modes button.active{border-color:#e9d5a0}.modes button.active{box-shadow:0 2px 8px #081d2322}.topbar{top:max(20px,env(safe-area-inset-top));align-items:center}.brand-logo{box-shadow:none;border-radius:9px}.brand-wordmark{filter:drop-shadow(0 2px 5px #183d5d66)}.compass{top:23px}.compass-rule{color:#f2deb0}.compass>span:first-child{color:#fff4d7}.destinations{top:102px;max-width:calc(100% - 255px);gap:7px}.destinations button,.destinations select{border-radius:8px}.inspect-button{top:102px;right:28px;border-radius:8px}.inspect-panel{top:165px}.quick-tempo{border-radius:var(--hud-radius);padding:11px 15px}.quick-tempo>label{font-size:12px;color:#e5e1cc}.quick-tempo output{font-size:13px;font-weight:600}.quick-tempo>div{font-size:10px}.quick-tempo>div>button{background:#e4cd9410;border-color:var(--hud-edge);border-radius:6px}.readout{background:var(--hud-surface);border:1px solid var(--hud-edge);border-radius:var(--hud-radius);padding:13px 17px 24px;gap:17px;right:28px;bottom:61px;text-shadow:none;box-shadow:var(--hud-shadow)}.readout strong{color:#fff5d9;font-size:29px;font-weight:450;letter-spacing:-.5px}.readout>span{bottom:8px;left:17px;font-size:8px;letter-spacing:1.5px;color:#dcc89f}.readout i{background:#d2c09755}.readout span{font-size:10px}.minimap{border-color:#ddc58c80;box-shadow:var(--hud-shadow),inset 0 0 0 3px #ecd9a409}.minimap-body{border:1px solid #e3c99566;border-radius:7px}.map-current{color:#fff0cf}.minimap>button{letter-spacing:1.1px;color:#dbcca8}.map-scale{font-weight:600}.map-zoom{border-radius:6px}.settings{border-color:#d6bd8477}.setting-divider{background:#d6bd8433}.panel-title h2{font-family:Georgia,serif;font-size:21px;font-weight:400;letter-spacing:0;color:#f8e8be}.panel-intro{font-size:13px}.range-row small{font-size:10px}.select-row select{font-size:12px;min-height:36px}.check-row{line-height:1.5;min-height:34px}.check-row input{width:19px;height:19px;flex-shrink:0}.inspect-panel,.tree-discovery{border-color:#e0c68a88}.inspect-panel strong{color:#fff0c8}.tree-discovery{top:173px}.tree-discovery p{color:#e8cd91}#toast{border-color:var(--hud-edge);border-radius:8px;font-size:13px;padding:12px 17px}.dock{border-radius:14px;border-color:#ddc58c66}.dock .boost-button{min-height:48px;font-size:12px}.boost-button.held{background:#ead4a12b;color:#fff2cb}.altitude-control{border-radius:var(--hud-radius)}.desktop-hint{font-size:10px;color:#fff8e6}.desktop-hint kbd{font-size:9px}input[type=range]::-webkit-slider-thumb{width:19px;height:19px;margin-top:-8px}input[type=range]::-moz-range-thumb{width:19px;height:19px}
@media(max-width:1050px){.readout{bottom:315px;right:28px;padding:10px 13px 23px}.readout>span{left:13px}.readout strong{font-size:26px}.destinations{max-width:calc(100% - 230px)}}
@media(pointer:coarse) and (min-height:581px){.dock{bottom:calc(32px + var(--safe-bottom))}.quick-tempo{bottom:calc(112px + var(--safe-bottom));padding:10px 13px}.minimap{bottom:calc(330px + var(--safe-bottom))}#joystick{bottom:calc(210px + var(--safe-bottom))}#touch-brake{bottom:calc(214px + var(--safe-bottom));width:46px;height:46px}.touch-vertical{bottom:calc(230px + var(--safe-bottom))}.readout{bottom:calc(355px + var(--safe-bottom));right:16px;padding:10px 12px 24px;gap:12px}.readout strong{font-size:26px}.readout>span{left:12px;font-size:7px;letter-spacing:1px}.touch-look-hint{display:none}.tree-discovery{top:218px}.inspect-panel{top:217px}}
@media(max-width:650px){.compass{top:76px;display:flex;align-items:center;gap:8px}.compass .compass-rule{display:none}.compass #air-state{display:none!important}.compass>span:first-child{font-size:10px;letter-spacing:1px}.compass small{font-size:10px}.destinations{top:105px;max-width:calc(100% - 24px);gap:5px}.inspect-button{top:161px;right:16px}.quick-tempo>label{font-size:12px}.quick-tempo output{font-size:12px}.tree-discovery{top:217px}.place-label span{font-size:16px;padding:7px 11px}.readout{max-width:157px}.readout strong{font-size:25px}.readout span{font-size:9px}.region-arrival{top:23%}}
@media(max-width:390px){.readout{padding:10px 9px 23px;gap:9px;right:12px;max-width:153px}.readout strong{font-size:23px}.readout>span{left:9px;font-size:6.5px}.minimap{width:171px}.minimap-body{height:130px}}
@media(max-height:740px) and (pointer:coarse) and (min-height:581px){.minimap{bottom:calc(328px + var(--safe-bottom));width:170px}.minimap-body{height:105px}.map-current{padding-top:1px;padding-bottom:7px}.map-current small{display:none}.minimap>button{padding-top:7px}.region-arrival{top:24%}}
@media(max-height:580px) and (pointer:coarse){.compass{top:26px}.destinations{top:80px;max-width:calc(100% - 222px)}.inspect-button{top:80px;right:16px}.minimap{top:139px;bottom:auto;left:16px;width:180px}.minimap-body{height:106px}#joystick{bottom:24px;left:24px;width:88px;height:88px}.joystick-thumb{left:22px;top:22px}.joystick-ring:after{inset:24px}#touch-brake{left:125px;bottom:40px;width:44px;height:44px}.dock{bottom:24px}.quick-tempo{bottom:105px;right:16px;width:183px}.touch-vertical{bottom:208px;right:16px;flex-direction:row;gap:8px}.touch-vertical button{width:48px;height:48px}.readout{right:219px;bottom:110px;max-width:160px}.tree-discovery{top:145px;right:16px}.inspect-panel{top:136px;left:50%;max-width:360px}.region-arrival{top:31%;width:350px}.region-arrival small{font-size:10px}}
@media(prefers-reduced-motion:reduce){button,select,.tree-discovery{transition:none}}
.turbo-mode{min-height:39px;font-size:12px!important;font-weight:750;letter-spacing:.7px;color:#f7d393!important;border:1px solid #f0b96377!important;background:#93652e18!important}.turbo-mode[aria-pressed=true]{background:linear-gradient(120deg,#f0c475,#d99b45)!important;color:#233c32!important;border-color:#ffe4ab!important;box-shadow:0 0 20px #e4bb5733}.turbo-active .readout{border-color:#f0bc6bb0}.turbo-active #actual-speed{color:#ffe1a5}.max-height{font:700 11px inherit!important;color:#f2d599;letter-spacing:.6px;border:1px solid #e3c18a66;border-radius:7px!important}.altitude-control #max-height{height:36px}.touch-vertical #mobile-max{height:40px;line-height:15px;font-size:12px!important}.touch-vertical #mobile-max small{font-size:8px}#warp-effect{position:absolute;inset:0;pointer-events:none;z-index:2;opacity:0;transition:opacity .35s;background:radial-gradient(ellipse at center,transparent 38%,#cceaff15 70%,#dfefff77 120%)}#warp-effect.active{opacity:1;animation:height-rush 1.9s ease-in-out}#warp-effect:before{content:'';position:absolute;inset:0;background:repeating-conic-gradient(from 0deg at 50% 45%,transparent 0 17deg,#e9f4ff17 17.15deg 17.35deg,transparent 17.5deg 30deg);mask-image:radial-gradient(ellipse,transparent 40%,#000 90%)}@keyframes height-rush{0%,100%{opacity:0}20%{opacity:.45}55%{opacity:1}85%{opacity:.5}}
@media(pointer:coarse) and (min-height:581px){.quick-tempo>div>button{flex-basis:100%;min-height:40px}.quick-tempo{grid-template-columns:1fr 130px}.minimap{bottom:calc(350px + var(--safe-bottom))}#joystick{bottom:calc(230px + var(--safe-bottom))}#touch-brake{bottom:calc(232px + var(--safe-bottom))}.touch-vertical{bottom:calc(230px + var(--safe-bottom))}.touch-vertical button{width:53px;height:52px}.readout{bottom:calc(404px + var(--safe-bottom))}}
@media(max-height:740px) and (pointer:coarse) and (min-height:581px){.minimap{bottom:calc(350px + var(--safe-bottom))}.minimap-body{height:100px}.map-current{display:none}}
@media(max-height:580px) and (pointer:coarse){.touch-vertical{bottom:211px}.touch-vertical #mobile-max{width:50px;height:48px}.quick-tempo>div{flex-wrap:wrap}.quick-tempo>div>button{flex:1;padding:5px;min-height:36px;font-size:9px!important}.quick-tempo{bottom:104px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){#warp-effect{display:none}}
.players-toggle{position:absolute;left:28px;top:161px;min-height:44px;padding:10px 14px;font-size:12px;font-weight:600;letter-spacing:1.3px;display:flex;gap:12px;align-items:center;color:#f6e8c9}.players-toggle>span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:#dbc38f23;font-size:12px;font-variant-numeric:tabular-nums}.players-panel{position:absolute;left:28px;top:216px;width:290px;max-height:calc(100dvh - 310px);overflow:auto;padding:18px;z-index:7}.players-panel .panel-title h2{font-size:19px}.players-panel>p{font-size:12px;line-height:1.5;color:#d9dbca}.players-panel>small{display:block;font-size:10px;line-height:1.5;color:#d1d4c0;margin-top:14px}.players-panel .primary{min-height:44px;font-size:14px;margin-top:14px}#players-list{display:grid;gap:7px;font-size:12px;color:#d7dccb}#players-list>div{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #dfce9f26;gap:8px}#players-list strong{font-weight:550;color:#fff0d1;overflow-wrap:anywhere}#players-list small{font-size:10px;white-space:nowrap}#player-form label{display:block;font-size:14px;margin-bottom:9px}#player-name{font-size:19px;padding:14px;border:1px solid #e4ca8f77;border-radius:9px;width:100%;background:#ffffff0a;color:#fff6de}#player-form p{font-size:13px;line-height:1.6;color:#d3d8c5}.player-world-label{position:absolute;left:0;top:0;padding:5px 9px;background:#3a1855d9;border:1px solid #d6a4f2aa;border-radius:6px;font-size:12px;color:#fff;pointer-events:none;white-space:nowrap}#player-labels{position:absolute;inset:0;pointer-events:none}.players-panel .text-button{min-height:44px;font-size:13px}#player-solo{min-height:44px;font-size:14px}@media(max-width:650px){.players-toggle{left:16px;top:161px}.players-panel{left:16px;top:214px;width:min(290px,calc(100% - 32px));max-height:calc(100dvh - 270px)}}@media(max-height:580px) and (pointer:coarse){.players-toggle{left:204px;top:139px}.players-panel{left:204px;top:190px;max-height:calc(100dvh - 210px);width:270px}}
#players-list>div>div{min-width:0;flex:1}#players-list small{display:block;white-space:normal;margin-top:5px;line-height:1.4;font-variant-numeric:tabular-nums}.player-fly{min-height:42px;border:1px solid #deca9066;background:#ebd5a41c;border-radius:6px;color:#f6e8c9;padding:9px 10px;font-size:12px;flex-shrink:0}#autopilot-stop{width:100%;margin:5px 0 10px}.player-world-label.offscreen{border-style:dashed;background:#382054e8}.players-panel{width:340px}@media(max-width:650px){.players-panel{width:calc(100% - 32px);max-width:340px}}
.flag-field{margin:22px 0 15px}#flag-open{display:block;width:100%;text-align:left;min-height:56px;padding:13px 15px;background:#ffffff09;border:1px solid #d8c39370;border-radius:9px;color:#fff4d6;font-size:17px;line-height:1.5}#flag-panel{background:#102a23;border:1px solid #dfc99466;border-radius:9px;padding:13px;margin-top:8px}#flag-search{width:100%;min-height:49px;padding:11px 12px;font-size:17px;background:#fff9e9;color:#243e32;border:0;border-radius:6px}#flag-list{max-height:260px;overflow:auto;margin-top:10px;overscroll-behavior:contain}#flag-list button{display:flex;align-items:center;gap:14px;width:100%;min-height:62px;text-align:left;border-bottom:1px solid #d4c49d26;padding:9px 12px;font-size:17px;color:#fff3d7}#flag-list button>span:first-child{font-size:32px;min-width:44px}#flag-list button[aria-selected=true],#flag-list button:hover{background:#e8d09820}#flag-list button:focus-visible{outline-offset:-3px}

/* Small aviation / 90s title-screen details, without a looping animation. */
.welcome-wordmark,.boot-wordmark{filter:drop-shadow(1px 2px 0 #82c4d866) drop-shadow(-1px -1px 0 #f0d48b55) drop-shadow(0 5px 8px #001a2a77)}.welcome-title{position:relative;overflow:hidden}.welcome-title:after{content:'';position:absolute;inset:-60%;background:linear-gradient(110deg,transparent 43%,#fff5d233 48%,#ffffff66 50%,transparent 55%);transform:translateX(-85%);pointer-events:none}.welcome:hover .welcome-title:after,.welcome:focus-within .welcome-title:after{animation:logo-glint 1.1s ease-out both}#car-greeting{color:#f6df9e}#player-error:not(:empty){color:#ffd3a6;border-left:3px solid #edbd78;padding-left:12px;line-height:1.5}@keyframes logo-glint{from{transform:translateX(-85%)}to{transform:translateX(85%)}}@media(prefers-reduced-motion:reduce){.welcome-title:after{display:none}}

/* Flight deck 0.4.1: one navy / silver / ice-blue interface palette. */
:root{color:#f3f7ff;--glass:rgba(12,26,47,.93);--hud-surface:#0d1d35ed;--hud-edge:#7ca5d13d;--hud-ivory:#f4f8ff;--line:#8db4dc33;--accent:#88cfff;--muted:#b6c8de;--hud-shadow:0 12px 35px #02102640}
.glass,.icon-button,.destinations button,.destinations select{background:var(--hud-surface);border-color:var(--hud-edge);box-shadow:var(--hud-shadow),inset 0 1px 0 #ffffff08}
button:hover,select:hover{border-color:#aad8ff88}.icon-button:hover,.destinations button:hover{background:#203b60}button:focus-visible,select:focus-visible,input:focus-visible{outline-color:#a7dcff}.primary{background:linear-gradient(120deg,#b3e2ff,#76bffa);color:#102640;border:1px solid #d4edff66;box-shadow:0 4px 20px #1881c922}.primary:hover{background:#c8eaff}.modes button.active,.spawn-presets button.selected,.start-modes button.selected{background:#8bcfff;color:#0c2540;border-color:#bfe7ff}.modes button,.start-modes button,.spawn-presets button{color:#d8e6f7}.start-modes button{background:#152c49}.start-modes small{color:inherit;opacity:.76}.modes button.active{color:#0c2540}.range-row small,.select-row,.check-row,.welcome-note,.panel-intro{color:#bacbe0}select{background:#193352;color:#eff6ff}input[type=range]::-webkit-slider-runnable-track{background:#9cb8d44d}input[type=range]::-moz-range-track{background:#9cb8d44d}input[type=range]::-webkit-slider-thumb{box-shadow:0 0 0 4px #8ecfff10}
#boot{background:radial-gradient(ellipse at 55% 22%,#234a70,#0b1a30 65%)}#load-status{color:#b9cde4}.loading-line{background:#aacdec26}.boot-wordmark{width:440px;max-width:85vw;filter:none}.welcome{width:440px;top:50%;transform:translateY(-50%);max-height:calc(100dvh - 160px);overflow:auto;background:radial-gradient(ellipse at 90% 0%,#274362,#0e203a 70%);border:1px solid #9fbee24d;box-shadow:0 24px 80px #020d244d,inset 0 1px 0 #ffffff0d}.welcome.gone{transform:translateY(-48%)}.welcome-title{overflow:visible}.welcome-wordmark{max-height:100px;filter:none}.welcome .welcome-subtitle{color:#e4edf9}.welcome .eyebrow{color:#a6ccee}.world-note{background:#08172b66;border-color:#8bbce733;color:#b7cbe2}.world-note b{color:#e5f0ff}.world-note p,.world-note small{color:#bccde2}.learn-notice{background:#8acbff09;border-color:#8acbff26}.welcome-profile{display:block;width:100%;min-height:50px;border:1px solid #91c8f566;border-radius:10px;padding:12px 14px;margin:15px 0;color:#c5e7ff;text-align:left;background:#2550783d;font-size:15px;font-weight:600}.welcome-profile:after{content:'›';float:right;font-size:20px}
.brand-wordmark{width:235px;filter:drop-shadow(0 3px 8px #05264a80)}.brand-logo{width:56px;height:56px}.brand{gap:10px}.brand small{color:#eff7ff;font-size:8px;letter-spacing:1.6px;text-shadow:0 2px 5px #00172e}.panel-title h2{font-family:inherit;font-size:20px;font-weight:600;color:#eff6ff;letter-spacing:-.4px}.panel-title>button{color:#c9d9ed}.flight-intro,dialog{background:linear-gradient(145deg,#193454,#0d1d34);color:#f3f7ff;border-color:#87b7e45c}.flight-intro::backdrop,dialog::backdrop{background:#031024bd}.intro-lead,dialog p,dialog dd,.intro-footnote{color:#bfcee3}.intro-steps article>span{color:#122842}.intro-steps p,dialog dt{color:#e2edfb}.intro-steps article{background:#7ab6ff08;border-color:#a8ceff22}#player-name{background:#f0f6ff;color:#142e4b}#flag-open{background:#83b9ee0d;border-color:#9bbcdc55;color:#f0f7ff}#flag-panel{background:#0b1d35;border-color:#9bbcdc44}#flag-search{background:#edf5ff;color:#193353}#flag-list button{color:#eff6ff;border-color:#86b3dc24}#flag-list button[aria-selected=true],#flag-list button:hover{background:#8bcfff1a}
.players-toggle,.players-panel,.inspect-panel,.tree-discovery,.readout,.minimap,.altitude-control,.quick-tempo,.dock{border-color:#8db6de4d}.players-toggle{display:flex;gap:10px;align-items:center}.players-toggle small{font-size:9px;letter-spacing:1px;color:#adc0d8}#connection-state[data-state=online]{color:#9fd8ff}#connection-state[data-state=connecting]{color:#f2cb8d}#connection-state[data-state=offline]{color:#ffb6ae}.players-panel strong,.inspect-panel strong,.tree-discovery strong,.readout strong{color:#f4f8ff}.player-fly{background:#74bfff20;border-color:#90ceff66;color:#d7edff}.player-world-label{background:#102d4de8;border-color:#9fcefb99;color:#f3f9ff}.tree-discovery p,.tree-medallion,#car-greeting{color:#b8ddff}.tree-marker{background:#153454;color:#ecf7ff;border-color:#9eceff}.quick-tempo>label,.quick-tempo>div,.readout>span,.readout span,.minimap>button,.map-current{color:#c8daed}.quick-tempo>div>button{background:#89c5f90d;border-color:#8eb8e54d}.readout i,.setting-divider{background:#9cb6d133}.map-current i{background:#8ed0ff}.map-zoom button{background:#122a44;color:#ecf6ff}.boost-button.held,.touch-vertical button.held,#touch-brake.held{background:#83c7ff33;color:#f2f9ff;border-color:#b2dcff;box-shadow:0 0 20px #83c7ff22}.touch-vertical button,.joystick{background:#122a44d9;border-color:#9abfe044}.joystick-thumb{background:#a2d9ffb3}.compass>span:first-child,.compass-rule{color:#eef7ff}.air-state{color:#e3f2ff!important;text-shadow:0 2px 8px #092548}.region-arrival strong{color:#f4f8ff}.region-arrival p,.region-arrival small,.arrival-crest{color:#cfE5ff}.region-arrival i{background:linear-gradient(90deg,transparent,#91c9fa,transparent)}.region-arrival i:after{background:#aedaff}.region-arrival:before{background:radial-gradient(ellipse,#112f5866,transparent 70%)}#toast{background:#0f2946ed;color:#eef6ff;border-color:#7ca5d14d}.desktop-hint{color:#e9f3ff}.stable-label{transition:none;will-change:transform,opacity;position:absolute;left:0;top:0;pointer-events:none;padding:7px 11px;color:#eaf5ff;background:#0f2b46b8;border:1px solid #c8e4ff44;border-radius:6px;box-shadow:0 3px 12px #03142f22;font-size:12px;font-weight:500;white-space:nowrap;text-shadow:none}.place-label.stable-label{font-family:Georgia,serif;font-size:17px;letter-spacing:.2px;background:#132f50b0;border-color:#d8e9ff44}.street-label.stable-label{font-size:12px;background:#102c42a6}
@media(max-width:650px){.brand-wordmark{width:166px}.brand-logo{width:38px;height:38px}.brand small{font-size:6px;letter-spacing:.7px}.brand{gap:8px}#mouse-look{display:none!important}.welcome{left:50%;transform:translate(-50%,-50%);width:410px;max-width:calc(100% - 24px);max-height:calc(100dvh - 32px);padding:22px}.welcome.gone{transform:translate(-50%,-48%)}.welcome-wordmark{max-height:90px}.welcome-profile{font-size:14px}.players-toggle{gap:7px}.players-toggle small{font-size:8px}.place-label.stable-label{font-size:15px}.street-label.stable-label{font-size:11px}}
@media(max-width:360px){.brand-wordmark{width:139px}.brand-logo{width:34px;height:34px}.brand small{font-size:5px}.top-actions .icon-button{width:36px;min-width:36px}}
@media(prefers-reduced-motion:reduce){.stable-label{transition:none}.welcome-title:after{display:none}}
#player-form p,.players-panel>p,.players-panel>small,#players-list{color:#bfcee3}#players-list strong{color:#f0f7ff}.players-toggle{color:#eef6ff}.players-toggle>span{background:#90caff1d}.player-world-label.offscreen{background:#142c49ed}.search-field,.address-result{background:#102944;color:#ecf5ff}.address-result small{color:#b5cbe2}.address-result:hover{background:#224368}.search-field input{color:#eff7ff}.intro-steps h3{color:#eff7ff}.max-height{color:#cbe9ff;border-color:#9ecbf655}

/* 0.4.2: avoid repeated backdrop blur over a continuously moving 3D canvas. */
.glass,.icon-button,.destinations button,.place-label span,.joystick-ring,.touch-vertical button,#touch-brake,.address-wrap #address-results,dialog::backdrop,.flight-intro::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
.glass{background:#10253ff2}.icon-button,.destinations button{background:#142e4ce8}.player-world-label{will-change:transform;contain:layout style}.brand-logo{object-fit:contain;filter:none}.status-pill{font-variant-numeric:tabular-nums;white-space:nowrap}.status-pill span{min-width:86px;text-align:center}
@media(max-width:600px){.status-pill{font-size:9px;padding:7px}.status-pill span{min-width:70px}.brand-logo{width:34px;height:39px}.brand-wordmark{width:156px}}

.brand-logo{border-radius:0}
@media(max-width:1050px){.status-pill{display:flex;position:fixed;bottom:8px;right:12px;top:auto;margin:0;padding:5px 8px;border-radius:6px;background:#10253fe6;pointer-events:none;font-size:9px;z-index:5}.status-pill span{min-width:70px}}
@media(max-width:360px){.brand-wordmark{width:130px}.brand-logo{width:30px;height:35px}}

/* 0.4.3 — shared navigation and provenance panels */
#info{width:min(900px,calc(100vw - 28px))}.info-tabs{display:flex;gap:6px;flex-wrap:wrap}.info-tabs button{min-height:46px;font-size:15px;flex:1;white-space:nowrap}.info-tabs button.active{background:#8bcfff;color:#10253f}.source-intro{padding:16px 0 22px}.source-intro h3{font-size:30px;letter-spacing:-.8px;margin:5px 0 12px}.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.source-card{padding:23px;border:1px solid #8cb5de36;border-radius:16px;background:#90bde409}.source-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.source-icon{font-size:29px;color:#a9ddff}.source-tag{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#9fc8ec}.source-card h3{font-size:20px;line-height:1.2;margin:16px 0 10px}.source-card p{font-size:14px;line-height:1.6}.source-card .source-lead{color:#eef6ff;font-size:16px}.source-card small{display:block;color:#90acc7;font-size:12px;line-height:1.5}.source-links{display:flex;gap:8px 14px;flex-wrap:wrap;margin-top:16px}.source-links a{font-size:13px;color:#a9ddff;padding:5px 0}.source-inventory{margin:24px 0}.source-inventory summary{padding:15px 0;font-size:18px;cursor:pointer}.source-inventory input,.route-label input{display:block;width:100%;min-height:52px;border:1px solid #aacdeb66;border-radius:9px;background:#edf5ff;color:#10253f;padding:12px;font:inherit;margin:9px 0 16px}.source-inventory article{border-bottom:1px solid #accceb33;padding:12px 0}.source-inventory article>a{display:block;overflow-wrap:anywhere}.source-inventory small{color:#90acc7}.source-inventory p{margin:5px 0}.route-label{display:block;margin-top:22px;font-size:17px}#route-dialog{width:min(550px,calc(100vw - 24px));max-height:calc(100dvh - 28px);overflow:auto}.route-note{font-size:13px!important}.route-actions{display:flex;gap:12px}.route-actions button{min-height:52px;flex:1;font-size:16px;padding:12px;border-radius:10px}#route-preview{background:#284967;color:#e7f4ff;border:1px solid #9db8cf66}.route-hud{position:fixed;z-index:25;top:155px;left:50%;transform:translateX(-50%);padding:11px 15px;border-radius:12px;display:flex;align-items:center;gap:16px;font-size:14px;max-width:calc(100vw - 24px)}.route-hud button{min-height:42px;white-space:nowrap;border:1px solid #9cc3e766;border-radius:8px;background:#25435f;color:#fff;padding:8px 12px}.destinations select{max-width:210px;min-height:44px;padding:9px;border:1px solid #91b9dc40;border-radius:9px}.brand-logo,.welcome-wordmark,.boot-wordmark{image-rendering:auto}
@media(max-width:650px){.source-grid{grid-template-columns:1fr}.source-card{padding:18px}.source-intro h3{font-size:25px}.route-hud{top:145px;font-size:12px;gap:8px}.info-tabs button{font-size:13px;padding:10px}.destinations select{max-width:170px}}

/* 0.4.4 — two modes, a stable aim reference and shared journey controls */
.start-modes{grid-template-columns:repeat(2,minmax(0,1fr))}.route-modes{display:flex;gap:10px;margin:18px 0}.route-modes button{flex:1;min-height:50px;border:1px solid #94bfe655;border-radius:10px;font-size:17px;background:#193652;color:#e3f1ff}.route-modes button.selected,#fine-flight.selected,#fine-flight.held{background:#b8e5ff;color:#10283f;border-color:#d7f0ff}#flight-reticle{position:fixed;top:50%;left:50%;width:12px;height:12px;transform:translate(-50%,-50%);z-index:9;pointer-events:none;border:1px solid #ffffffad;border-radius:50%;box-shadow:0 0 0 1px #10263f66}#flight-reticle i{position:absolute;inset:4px;background:#fff;border-radius:50%}.route-hud[hidden]{display:none}#fine-flight kbd{margin-left:5px}
@media(max-width:650px){.modes{gap:3px}.modes button{min-width:60px}.modes button[data-mode=drone] svg{width:19px;height:19px}.dock{gap:8px}.route-modes button{min-height:48px}#fine-flight kbd{display:none}}

.car-mode-note,.car-pace{grid-column:1/-1;margin:6px 0 0;font-size:10px;line-height:1.45;color:#c7dff4}.car-mode-note{font-weight:650}.car-pace{color:#a8c4dc;font-variant-numeric:tabular-nums}.car-mode-note[hidden],.car-pace[hidden],.route-car-options[hidden]{display:none}.route-car-options{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #afcdea55;border-radius:10px;margin-bottom:16px;background:#162f48;color:#e1effc;font-size:15px}.route-car-options input{width:22px;height:22px;flex-shrink:0}.route-car-options small{display:block;margin-top:5px;color:#b6cde2;font-size:12px;line-height:1.5}

/* 0.4.8 — a quiet desktop cockpit, with secondary controls on demand. */
#desktop-app[hidden],#desktop-notice[hidden]{display:none!important}
.topbar{position:fixed;inset:22px 24px auto;z-index:30;gap:20px}.brand{gap:10px}.brand-logo{width:46px;height:46px}.brand-wordmark{width:224px}.brand small{font-size:7px;letter-spacing:1.65px}.top-actions{display:flex;gap:7px;align-items:center;pointer-events:auto}.top-actions button{position:static;min-height:44px;margin:0;border:1px solid #9dc6ed40;border-radius:11px;background:#10253fee;color:#e8f4ff;font-size:13px}.top-actions .hud-nav,#route-open{padding:10px 16px;font-weight:600}.top-actions .icon-button{width:44px;height:44px}.top-actions #players-open{gap:7px;padding:8px 12px;letter-spacing:.8px;font-size:11px}.top-actions #players-open>span{font-size:11px;min-width:20px;min-height:20px}.top-actions #connection-state{font-size:8px}.compass{top:90px;display:flex;align-items:center;gap:9px;background:#10253fbd;padding:5px 10px;border-radius:20px;font-size:11px}.compass .compass-rule,.compass #air-state{display:none!important}.compass small{font-size:10px;margin:0}.compass>span:first-child{font-size:11px;letter-spacing:1px}
.hud-drawer,.destinations.hud-drawer{position:fixed;top:80px;right:24px;left:auto;width:354px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 110px);padding:19px;z-index:45;overflow:auto;border-radius:17px;white-space:normal;display:grid;grid-template-columns:1fr 1fr;gap:9px}.hud-drawer .panel-title,.hud-drawer>p,.hud-drawer>select,.hud-drawer .tool-grid,.hud-drawer .status-pill{grid-column:1/-1}.hud-drawer .panel-title{margin:0}.hud-drawer h2{font-size:20px}.hud-drawer>p{font-size:13px;line-height:1.5;color:#b5cbe0;margin:0 0 6px}.hud-drawer button,.hud-drawer select{position:static;max-width:none;min-height:46px;width:auto;padding:10px;border:1px solid #93bddd45;border-radius:9px;background:#1a3754;color:#e9f5ff;font:inherit;font-size:13px;text-align:left}.hud-drawer .panel-title button{padding:0;width:38px;min-height:38px;text-align:center;font-size:24px}.hud-drawer button:hover{background:#254969}.hud-drawer .tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.hud-drawer .icon-button{width:auto;height:auto;font-size:13px}.hud-drawer #inspect-object{display:flex;padding:10px;font-size:13px}.hud-drawer .drawer-footnote{font-size:11px;margin:4px 0}.hud-drawer .status-pill{display:flex;position:static;width:max-content;max-width:100%;padding:7px 10px;background:#a1d6ff0b;pointer-events:auto}.hud-drawer .status-pill span{font-size:11px;text-align:left}.hud-drawer #round-flight{grid-column:1/-1;background:linear-gradient(120deg,#b6e3ff,#81baf2);color:#10253f;font-weight:700;display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:13px 15px}.hud-drawer #round-flight small{display:block;font-size:11px;font-weight:400;margin-top:4px}
.hud-drawer .altitude-control{position:static;display:flex;flex-direction:row;grid-column:1/-1;width:100%;height:auto;min-height:58px;gap:8px;padding:8px;background:transparent;border-color:#91bad533;border-radius:10px}.hud-drawer .altitude-control input{position:static;width:110px;flex:1;min-width:50px;transform:none;height:24px;writing-mode:horizontal-tb;margin:0}.hud-drawer .altitude-control>span{position:static;font-size:11px;white-space:nowrap}.hud-drawer .altitude-control button{min-height:38px;font-size:11px;padding:8px;flex-shrink:0}
.flight-deck{position:fixed;right:24px;bottom:44px;width:464px;padding:16px 18px 10px;border-radius:19px;z-index:15}.flight-deck .readout{position:relative;inset:auto;display:flex;width:100%;max-width:none;padding:0 0 23px;gap:24px;box-shadow:none;border:0;border-radius:0;background:transparent;transform:none}.flight-deck .readout strong{font-size:29px;font-weight:550;letter-spacing:-.7px}.flight-deck .readout>span{left:0;bottom:4px;font-size:9px;letter-spacing:.8px}.flight-deck .quick-tempo{position:static;transform:none;display:grid;grid-template-columns:1fr auto;column-gap:16px;width:100%;max-width:none;padding:12px 0 10px;border:0;border-top:1px solid #accde325;border-bottom:1px solid #accde325;border-radius:0;background:transparent;box-shadow:none}.flight-deck .quick-tempo>label{grid-column:1;display:flex;justify-content:space-between;font-size:12px;margin:0 0 8px}.flight-deck .quick-tempo>input{grid-column:1;width:100%;margin:0}.flight-deck .quick-tempo>div{grid-column:2;grid-row:1/3;display:flex;margin:0;align-items:center}.flight-deck .turbo-mode{min-height:44px;font-size:11px!important;padding:10px 13px}.flight-deck .car-mode-note{margin:8px 0 0;font-size:10px}.flight-deck .car-pace{margin:3px 0 0;font-size:10px}.flight-deck .dock{position:static;transform:none;display:flex;width:100%;max-width:none;gap:9px;padding:7px 0 0;border:0;border-radius:0;box-shadow:none;background:transparent}.flight-deck .modes{gap:4px}.flight-deck .modes button{min-height:45px;min-width:75px;padding:10px 12px;display:flex;gap:7px;align-items:center;font-size:13px}.flight-deck .modes svg{width:20px;height:20px}.flight-deck #boost{margin-left:auto;min-height:43px;padding:9px 13px;font-size:12px}.flight-deck .garage-open{background:#a5d2fc10;border:1px solid #8fc2ec45;min-height:43px;border-radius:9px;color:#d8ecff;padding:7px 11px;font-size:11px}.garage-open span{display:block;font-size:10px;color:#9fbfd9}.minimap{position:fixed;left:24px;bottom:44px;top:auto;width:286px}.minimap-body{height:202px}.map-current small{display:none}.map-current{padding-bottom:9px}.map-current strong{font-size:13px}.desktop-hint{display:none!important}.players-panel{top:80px;right:24px;left:auto;z-index:46}.settings{position:fixed;top:80px;right:24px;left:auto;width:340px;max-height:calc(100dvh - 110px);z-index:46}.route-hud{top:129px;font-size:12px}.tree-discovery{top:145px}.region-arrival{top:23%}footer{position:fixed;bottom:12px;left:24px;right:24px;font-size:10px}#inspect-panel{top:129px}.aim-point{display:none}
#welcome{position:fixed;top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:560px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;margin:0;padding:25px 30px 22px;z-index:65;border-radius:24px;background:#10243cf7;box-shadow:0 24px 90px #05132470;scrollbar-width:thin}#welcome.gone{transform:translate(-50%,-48%);opacity:0;pointer-events:none}#welcome .welcome-wordmark{max-width:100%;width:360px;height:auto}#welcome .welcome-title{margin:0 0 5px}#welcome .eyebrow{margin:0 0 13px;font-size:9px}#welcome .welcome-subtitle{font-size:14px;margin:0 0 14px}#welcome .world-note{padding:12px 14px;margin:12px 0;font-size:12px}#welcome .world-note p{font-size:12px;line-height:1.45;margin:5px 0}#welcome .world-note small{font-size:10px;line-height:1.45}#welcome>p:not(.eyebrow){display:block;font-size:13px;line-height:1.45;margin:9px 0}#welcome .learn-notice{font-size:11px!important}#welcome .welcome-profile{font-size:12px;min-height:40px;margin:0}#welcome .start-modes{margin:13px 0;gap:10px}#welcome .start-modes button{min-height:68px;padding:10px;font-size:15px}#welcome .spawn-presets{margin:12px 0;gap:7px}#welcome .spawn-presets button{min-height:42px;font-size:13px;padding:10px 15px}#welcome .welcome-note{font-size:10px}#welcome .primary{min-height:48px;font-size:16px}.start-garage{width:100%;padding:11px 14px;background:#b5daff12;border:1px solid #a2c9ef44;border-radius:10px;color:#e1f1ff;font-size:13px;text-align:left}.start-garage>span:last-child{float:right}
#garage-dialog{width:min(940px,calc(100vw - 40px));max-height:calc(100dvh - 40px);margin:auto;padding:27px;border:1px solid #9cc8eb55;border-radius:22px;background:#10253f;color:#eaf5ff;overflow:auto}#garage-dialog .eyebrow{margin:0 0 8px;font-size:10px}#garage-dialog h2{font-size:27px;margin:0}#garage-dialog>p{font-size:14px;color:#b1c8de}.garage-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:22px 0}.garage-card{position:relative;display:flex;flex-direction:column;text-align:left;padding:14px 17px 18px;border:1px solid #a8cdef33;border-radius:17px;background:linear-gradient(150deg,#25435c,#142f48);color:#e7f4ff;transition:border-color .16s,background .16s}.garage-card:hover,.garage-card[aria-pressed=true]{border-color:#bae7ff;background:linear-gradient(150deg,#2c506d,#193a55)}.garage-card img{width:calc(100% + 30px);height:auto;margin:-3px -15px 3px;object-fit:contain}.garage-card .car-series{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#aac6db}.garage-card strong{font-size:24px;font-weight:550;margin:6px 0 9px;letter-spacing:-.5px}.garage-card>span:not(.car-series){font-size:11px;color:#c2d6e7;line-height:1.5}.garage-card .car-select-label{font-size:11px;color:#d1edff;border-top:1px solid #a8cdef25;margin-top:18px;padding-top:13px}.garage-note{display:block;font-size:11px;line-height:1.5;color:#97b3cd}
@media(max-width:1100px){.brand-wordmark{width:184px}.brand-logo{width:40px;height:40px}.brand small{font-size:6px}.topbar{gap:10px}.top-actions{gap:5px}.top-actions .hud-nav,#route-open{padding:10px}.top-actions #connection-state{display:none}.flight-deck{width:410px}.minimap{width:250px}.minimap-body{height:178px}}
@media(max-width:800px){.topbar{inset:14px 16px auto;flex-wrap:wrap}.top-actions{margin-left:auto}.brand-wordmark{width:150px}.brand small{display:none}.top-actions #players-open{font-size:0;gap:0}.top-actions #players-open>span{font-size:12px}.top-actions #audio-toggle{display:none}.compass{top:111px}.flight-deck{right:16px;bottom:42px;width:min(390px,calc(100vw - 210px));padding:12px}.minimap{left:16px;width:180px;bottom:42px}.minimap-body{height:144px}.map-current #tree-counter{display:none}.flight-deck .readout{gap:15px}.flight-deck .readout strong{font-size:25px}.flight-deck .modes button{min-width:57px;padding:9px}.flight-deck .modes svg{display:none}.flight-deck .quick-tempo{gap:8px}.flight-deck .turbo-mode{padding:8px;font-size:10px!important}.garage-cards{gap:8px}.garage-card{padding:10px}.garage-card strong{font-size:20px}}
@media(max-height:680px){#welcome{padding:19px 25px}#welcome .welcome-wordmark{width:285px}#welcome .world-note small{font-size:9px}#welcome .start-modes button{min-height:56px}.minimap-body{height:155px}}
/* Mobile loads this light page only, never Three.js, map data or presence. */
html[data-device=mobile],html[data-device=mobile] body{overflow:auto;height:auto;min-height:100%;background:#0c2038}#desktop-notice{min-height:100dvh;display:grid;place-items:center;padding:32px 22px;background:radial-gradient(ellipse at 85% 5%,#295275 0,transparent 55%),radial-gradient(ellipse at 0 100%,#244b66 0,transparent 55%),#0c2038;color:#eef7ff}.desktop-notice-card{width:100%;max-width:430px;text-align:center}.desktop-notice-brand{width:278px;max-width:90%;height:auto}.desktop-illustration{width:240px;margin:28px auto 8px;color:#afd9fa}.desktop-illustration svg{width:100%;height:auto}.desktop-notice-card .eyebrow{font-size:9px;letter-spacing:2.4px;color:#92b4d1;margin:12px 0}.desktop-notice-card h1{font-size:clamp(31px,8vw,41px);font-weight:550;letter-spacing:-1.3px;line-height:1.15;margin:15px 0 19px}.desktop-notice-card>p{font-size:15px;line-height:1.65;color:#bed0e1;margin:0 auto 23px;max-width:360px}.desktop-notice-card .primary{width:100%;min-height:53px;border-radius:12px;font-size:15px}.desktop-link-label{display:block;font-size:10px;color:#96b2ca;margin:21px 0 8px;text-transform:uppercase;letter-spacing:1.1px}#desktop-link{width:100%;font-size:12px;padding:12px;text-align:center;border-radius:10px;border:1px solid #9fc8e738;background:#04162b33;color:#d3e5f5;box-shadow:none}#desktop-link-status{font-size:11px;margin:10px 0 24px;min-height:18px}.desktop-notice-card>small{font-size:10px;color:#789bb8;line-height:1.5}@media(max-height:650px){#desktop-notice{padding:25px 20px}.desktop-illustration{width:155px;margin:12px auto}.desktop-notice-brand{width:220px}.desktop-notice-card h1{font-size:31px;margin:9px 0 13px}.desktop-notice-card>p{font-size:13px;margin-bottom:16px}}
/* Clear aircraft identification; one projected anchor, with a true edge direction. */
.player-world-label{position:absolute;left:0;top:0;pointer-events:none;background:#0a172bf2;border:1px solid #edf7ffb3;border-top:3px solid var(--peer-color,#ff965a);border-radius:9px;padding:9px 14px 10px;text-align:center;min-width:140px;max-width:270px;box-shadow:0 3px 16px #02091670;color:#fff;white-space:nowrap;will-change:transform;font-size:14px}
.player-world-label strong{display:block;font-size:17px;line-height:1.3;font-weight:750;letter-spacing:.15px;overflow:hidden;text-overflow:ellipsis}.player-world-label small{display:block;margin-top:4px;font-size:12px;font-weight:500;color:#d2e6f7}.player-world-label:after{content:'';position:absolute;width:2px;height:14px;top:100%;left:50%;background:#edf7ffcc}.player-world-label.offscreen{padding-left:33px;border-color:#a6dfff}.player-world-label.offscreen:after{display:none}.peer-direction{position:absolute;left:10px;top:16px;font:700 24px/1 system-ui;color:#c2e8ff;font-style:normal}.scenic-start{grid-column:1/-1!important;display:flex!important;flex-direction:column;align-items:flex-start!important;gap:5px;padding:15px!important;background:linear-gradient(115deg,#275376,#16314a)!important;border-color:#90cdef77!important}.scenic-start span{font-size:16px;font-weight:750}.scenic-start small{font-size:11px;color:#cbddeb;font-weight:400}
.hud-drawer #round-flight{color:#ecf7ff}
@media(max-width:600px){.flight-deck{width:calc(100vw - 32px);bottom:42px}.minimap{left:16px;bottom:285px;width:148px}.minimap-body{height:112px}.minimap .map-current{display:none}.garage-cards{grid-template-columns:1fr}.garage-card{display:grid;grid-template-columns:140px 1fr;column-gap:15px}.garage-card img{grid-row:1/6;grid-column:1}.garage-card>span,.garage-card>strong{grid-column:2}.top-actions{gap:4px}.top-actions button{min-height:40px}.top-actions .icon-button{width:38px;height:40px}.topbar{gap:7px}.hud-drawer,.settings,.players-panel{top:116px}.compass{display:none}.route-hud{top:112px}.garage-card .car-select-label{margin-top:7px;padding-top:7px}}

/* 0.4.9 — readable welcome, one explanation per idea. */
#welcome{width:600px;padding:28px 32px 25px}
#welcome .eyebrow{font-size:11px;letter-spacing:1.6px;color:#bdd4e9;margin-bottom:16px}
#welcome .welcome-title{margin-bottom:13px}
#welcome>p.welcome-lead{font-size:23px;line-height:1.4;font-weight:450;color:#f4f9ff;letter-spacing:-.35px;margin:0 0 18px;max-width:100%;text-wrap:pretty}
#welcome .welcome-lead strong{font-weight:750;color:#bee5ff}
#welcome .world-note{padding:16px 18px;margin:0 0 16px;border-color:#9fcbed45;background:#c3e3ff08}
#welcome .world-note p{font-size:16px;line-height:1.55;color:#e1edf8;margin:0;text-wrap:pretty}
#welcome .world-note small{display:block;font-size:14px;line-height:1.5;color:#b8cfe3;margin-top:10px}
#welcome .welcome-profile{font-size:15px;line-height:1.4;min-height:46px;padding:10px 14px;margin:0}
#welcome .start-modes{margin:18px 0 14px}
#welcome .start-modes button{font-size:17px;min-height:76px;gap:5px}
#welcome .start-modes small{font-size:14px;line-height:1.4;color:#bed2e5}
#welcome .start-modes button.selected small{color:#294964}
#welcome .spawn-presets button{font-size:16px;min-height:48px;padding:10px 16px}
#welcome>p.selected-spawn{font-size:14px;line-height:1.45;color:#c3d8eb;margin:12px 0}
#welcome .primary{font-size:18px;min-height:54px}
#welcome .welcome-note{display:block;font-size:15px;line-height:1.5;color:#c3d8eb;margin-top:12px;text-align:center}
#welcome .start-garage{font-size:15px;min-height:46px}
@media(max-height:740px){#welcome{padding:21px 28px}#welcome .eyebrow{margin-bottom:10px}#welcome .welcome-wordmark{width:305px}#welcome .welcome-title{margin-bottom:9px}#welcome>p.welcome-lead{margin-bottom:13px}#welcome .world-note{padding:13px 16px;margin-bottom:12px}#welcome .start-modes{margin:13px 0 11px}}
@media(max-width:600px){#welcome{padding:23px;max-width:calc(100vw - 24px)}#welcome>p.welcome-lead{font-size:21px}#welcome .spawn-presets{flex-wrap:wrap}#welcome .spawn-presets button{padding:10px 12px}}
/* Scenic driving uses the existing navy/silver dialog system and readable hit targets. */
#round-drive-dialog{width:min(560px,calc(100vw - 40px));max-height:calc(100dvh - 48px);padding:28px;overflow:auto;font-size:16px;line-height:1.55}
#round-drive-dialog h2{font-size:27px;letter-spacing:-.025em}#round-drive-dialog .drive-lead{font-size:18px;color:#e5edf6;margin:12px 0 22px}
.drive-routes{border:0;padding:0;margin:0 0 22px;display:grid;gap:10px}.drive-routes legend{font-size:14px;color:#b7c9de;margin-bottom:10px}
.drive-routes label{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #61789280;border-radius:14px;background:#b2d7ff08;cursor:pointer}.drive-routes label:has(input:checked){border-color:#a0d8ff;background:#a1d7ff16}.drive-routes input{width:21px;height:21px;accent-color:#a0d8ff;flex-shrink:0}.drive-routes strong{font-size:18px;display:block}.drive-routes small{font-size:14px;color:#b7c9de;display:block}#round-drive-start{width:100%;min-height:54px;font-size:18px;margin-top:8px}#round-drive-dialog .route-note{font-size:14px}

/* Immediate, centered sightseeing entry. Optional choices open on demand. */
#welcome{width:590px;max-height:calc(100dvh - 48px);padding:34px 40px;text-align:center}
#welcome .eyebrow{font-size:12px;letter-spacing:.18em;margin:0 0 14px}#welcome .welcome-title{margin:0 0 18px}#welcome .welcome-wordmark{width:385px;max-width:100%}
#welcome>p.welcome-lead{font-size:27px;line-height:1.35;color:#d5e6f6;margin:0 0 24px}#welcome .welcome-lead strong{font-weight:550;color:#f6fbff}
#welcome .welcome-tour{width:100%;font-size:23px;min-height:70px;padding:17px 24px;border-radius:15px;box-shadow:0 9px 28px #7cc2ff20;text-align:left}#welcome .welcome-tour span{float:right;font-size:29px}
#welcome .welcome-takeover{font-size:17px;line-height:1.65;color:#c8dced;margin:17px 0}#welcome kbd{display:inline-block;font-family:inherit;font-size:15px;color:#f3f9ff;min-width:23px;border:1px solid #9dbbd966;border-radius:5px;padding:0 3px;background:#bddbff0d}
#welcome .welcome-manual{font-size:18px;min-height:48px;color:#e0efff;padding:9px 18px;border:1px solid #9ab9d84d;border-radius:10px;width:100%;background:#b4d4ff09}
#welcome #welcome-options{margin:18px 0 0;padding:0;border:0}#welcome #welcome-options summary{font-size:16px;color:#b6cde2;padding:10px;min-height:44px}#welcome #welcome-options[open]{padding-bottom:15px;text-align:left}#welcome #welcome-options[open] summary{text-align:center}
#welcome .welcome-foot{border-top:1px solid #a9cbe22a;margin-top:17px;padding-top:16px}#welcome .world-note{font-size:17px;line-height:1.5;color:#c4d8ea;margin:0;padding:0;border:0;background:none;box-shadow:none}#welcome .welcome-profile{display:inline-block;width:auto;font-size:15px;min-height:40px;color:#accce8;background:none;border:0;padding:7px 12px;margin:7px 0 0}
.flight-deck #agile-mode{margin:0;min-width:44px;min-height:44px;padding:6px;font-size:23px;border:1px solid #a8c9ff55;border-radius:9px;background:#91baff0a}.flight-deck #agile-mode[aria-pressed=true]{background:#d4b3ff;color:#152441;border-color:#efe3ff;box-shadow:0 0 18px #b480ff40}.agile-active #actual-speed{color:#e0c8ff}.flight-deck .quick-tempo>div>button{margin-right:0}
.scenic-takeover{position:fixed;top:114px;left:50%;transform:translateX(-50%);z-index:3;max-width:calc(100vw - 48px);padding:15px 22px;text-align:center;border-radius:14px}.scenic-takeover strong{display:block;font-size:18px;color:#eff8ff}.scenic-takeover span{display:block;font-size:15px;line-height:1.6;color:#c5d9ec;margin:4px 0 9px}.scenic-takeover button{font-size:16px;min-height:44px;padding:9px 18px;border:1px solid #b1d9ff66;border-radius:9px;background:#bce0ff16}
@media(max-height:780px){#welcome{padding:24px 32px}#welcome .welcome-wordmark{width:300px}#welcome .welcome-title{margin-bottom:12px}#welcome>p.welcome-lead{font-size:24px;margin-bottom:17px}#welcome .welcome-tour{min-height:62px}#welcome .welcome-takeover{margin:12px 0}#welcome #welcome-options{margin-top:10px}#welcome .welcome-foot{margin-top:10px;padding-top:12px}}

.garage-cards{grid-template-columns:repeat(2,minmax(0,1fr))}#garage-dialog{max-height:calc(100dvh - 48px);overflow:auto;width:min(850px,calc(100vw - 48px))}.garage-card img{height:170px;object-fit:contain}.garage-card{min-width:0}

/* Fixed optical center: clear aim with a dark keyline against sky or buildings. */
#flight-reticle{width:48px;height:48px;border:0;border-radius:0;box-shadow:none;color:#e2f6ff;opacity:.94}#flight-reticle svg{display:block;width:100%;height:100%}.reticle-outline{stroke:#092039;stroke-width:3.5;stroke-linecap:round;opacity:.8}.reticle-ticks{stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.reticle-brackets{stroke:currentColor;stroke-width:1;opacity:.38}.reticle-center-outline{fill:#0b2235;opacity:.8}.reticle-center{fill:#fff}.reticle-fine{stroke:currentColor;stroke-width:1;opacity:0}#flight-reticle.fine{color:#fff}#flight-reticle.fine .reticle-fine{opacity:.85}#flight-reticle.fine .reticle-brackets{opacity:0}.agile-active #flight-reticle{color:#e4c6ff}.agile-active #flight-reticle .reticle-brackets{opacity:.7}.scenic-active .route-hud,.scenic-active .region-arrival{display:none!important}

/* 0.4.10: compact ivory mark reads against the summer sky. Original crest intact. */
.topbar .brand{gap:8px}.topbar .brand-logo{width:37px;height:42px;filter:drop-shadow(0 1px 1px #0b17297a)}.topbar .brand-wordmark{width:198px;filter:drop-shadow(0 1px 1px #101923b3)}.topbar .brand small{font-size:6px;letter-spacing:1.4px;color:#fffdf5;text-shadow:0 1px 2px #122030}
@media(max-width:1100px){.topbar .brand-wordmark{width:170px}.topbar .brand-logo{width:32px;height:37px}}
@media(max-width:800px){.topbar .brand-wordmark{width:150px}.topbar .brand-logo{width:30px;height:34px}}
/* Keep the profile chevron separate from the live username/status text. */
#welcome .welcome-profile{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;max-width:100%;padding:9px 14px;text-align:left}
#welcome .welcome-profile::after{content:'';float:none;flex:0 0 6px;width:6px;height:6px;margin:0 2px 0 3px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);font-size:inherit}

/* 0.4.11 — centered title, quiet opaque launch card. */
#welcome{background:radial-gradient(ellipse at 50% -25%,#42617b66 0,transparent 66%),linear-gradient(155deg,#1b3045 0%,#122236 58%,#101c2c 100%);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid #adc5d750;box-shadow:0 24px 72px #04102166,inset 0 1px 0 #e9f3ff18;isolation:isolate;transition:opacity .4s ease,transform .4s ease}
#welcome::before{content:'';position:absolute;left:17%;right:17%;top:0;height:1px;background:linear-gradient(90deg,transparent,#e6edf3a3,transparent);pointer-events:none}
#welcome .welcome-title{display:flex;justify-content:center;align-items:center;width:100%;line-height:0}
#welcome .welcome-wordmark{display:block;flex:0 1 auto;min-width:0;margin-inline:auto;object-fit:contain;object-position:center;filter:none}
#welcome .welcome-tour{background:linear-gradient(110deg,#d5edff,#acd5f5);box-shadow:0 7px 24px #07182c66,inset 0 1px 0 #ffffff80;color:#112a42}
#welcome .welcome-tour:hover{background:linear-gradient(110deg,#e0f2ff,#b9def8)}
@media(prefers-reduced-motion:reduce){#welcome{transition:none}}

/* 0.4.13 — choose direction after landing, with the parked car visible below. */
#car-direction-dialog{position:fixed;inset:clamp(18px,7vh,72px) 0 auto;margin:0 auto;width:min(480px,calc(100vw - 48px));max-height:calc(100dvh - 36px);overflow:auto;padding:24px 28px;text-align:center;background:linear-gradient(145deg,#1d3449,#112238);border:1px solid #b7d4e466;border-radius:20px;box-shadow:0 14px 45px #06132155}
#car-direction-dialog::backdrop{background:#07142315;backdrop-filter:none}#car-direction-dialog h2{margin:7px 0 9px;font-size:27px}#car-direction-dialog>p{font-size:16px;line-height:1.5;margin:8px 0 16px}#car-direction-dialog .eyebrow{font-size:13px;margin:0;color:#bed6e8}#car-direction-dialog .car-direction-hint{font-size:14px;margin:12px 0 0;color:#b7cadb}.car-direction-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.car-direction-options button{display:grid;justify-items:center;gap:6px;min-height:114px;padding:14px 8px;border:1px solid #8cafcb55;border-radius:13px;background:#bedfff08}.car-direction-options button>span{font-size:25px;line-height:1}.car-direction-options strong{font-size:19px}.car-direction-options small{font-size:13px;opacity:.85}.car-direction-options button[aria-pressed=true]{background:#bdddf1;color:#152c40;border-color:#e2f5ff}.car-direction-options button:focus-visible{outline:3px solid #fff;outline-offset:3px}#car-direction-confirm{width:100%;min-height:50px;font-size:18px}
@media(max-height:650px){#car-direction-dialog{padding:16px 24px}.car-direction-options{margin:12px 0}.car-direction-options button{min-height:90px;padding:10px}#car-direction-dialog>p{margin-bottom:10px}}
.direction-garage{display:grid;grid-template-columns:1fr auto;gap:4px 12px;width:100%;min-height:64px;margin:0 0 14px;padding:12px 16px;text-align:left;border:1px solid #accfe95c;border-radius:12px;background:#b9ddff0c;color:#eaf5ff}.direction-garage>span:first-child{font-size:14px;color:#b7cadb}.direction-garage strong{grid-column:1;font-size:18px;font-weight:600}.direction-garage>span:last-child{grid-column:2;grid-row:1/3;align-self:center;font-size:24px}.direction-garage:hover{background:#b9ddff20}.direction-garage:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* One compact third mode; large desktop targets, no extra HUD panel. */
.start-modes{grid-template-columns:repeat(3,minmax(0,1fr))}.start-modes svg{width:25px;height:25px;flex-shrink:0}.modes button[data-mode="bike"]{min-width:62px}.start-modes button[data-start-mode="bike"] small{font-size:11px}

/* Direct, equally legible entry choices. */
.welcome-choices{display:grid;grid-template-columns:1fr;gap:7px;margin:17px 0 15px}.welcome-choices .welcome-manual{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:45px;margin:0;padding:10px 17px;border:1px solid #bfd1e42b;border-radius:11px;background:#ffffff07;color:#f5f2eb;font-size:17px;font-weight:600;line-height:1.25;text-align:left}.welcome-choices .welcome-manual:hover{background:#edf4ff12;border-color:#c2d4e966}.welcome-choices .welcome-manual span{color:#b8cce1;font-size:21px}

/* Three explicit bicycle profiles, in the existing tempo panel. */
.flight-deck #bike-assist-modes{grid-column:1/-1;display:flex;gap:6px;margin:8px 0 0;padding:0;border:0;min-width:0}
#bike-assist-modes button{flex:1;min-height:44px;border:1px solid #adcde345;border-radius:8px;background:#91baff09;color:#bdd1e4;font-size:11px;letter-spacing:.5px}
#bike-assist-modes b{font-size:16px;color:#f0f5fa;margin-left:5px;font-variant-numeric:tabular-nums}
#bike-assist-modes button[aria-pressed=true]{background:#cbe7ff;color:#142438;border-color:#e1f1ff}
#bike-assist-modes button[aria-pressed=true] b{color:inherit}
#bike-assist-modes button[data-bike-assist=turbo][aria-pressed=true]{background:#ffd5a2;border-color:#ffe8ca}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Startup is a real readiness barrier, including keyboard and assistive input. */
#boot{position:fixed;z-index:10000;isolation:isolate;cursor:progress}#boot .loading-line{width:min(360px,76vw);height:6px;background:#b5d8f229;border-radius:9px}#boot .loading-line i{width:0;background:linear-gradient(90deg,#a6d2f0,#e1f3ff);transition:width .18s linear}#load-percent{margin-top:14px;color:#eef7ff;font-size:22px;font-variant-numeric:tabular-nums}#load-status{font-size:16px;max-width:470px;min-height:3.2em;margin:12px 25px;line-height:1.6}#desktop-app[aria-busy="true"]>#welcome{visibility:hidden}#retry{cursor:pointer}

/* 0.4.24 · one clear launch, a quieter instrument panel. */
:root{--cockpit:#152336f5;--cockpit-line:#d2e2ef30;--cockpit-ink:#f4f3ed;--cockpit-muted:#b7c7d6}
.glass{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--cockpit);border-color:var(--cockpit-line);box-shadow:0 8px 30px #07122130}
#welcome{width:760px;padding:30px 36px 24px;border-radius:22px;background:linear-gradient(145deg,#25384b,#142235 65%)}
#welcome .welcome-wordmark{width:335px}#welcome .eyebrow{font-size:11px;letter-spacing:.17em;color:#b9cad8;margin-bottom:12px}
#welcome>p.welcome-lead{font-size:24px;line-height:1.35;font-weight:500;max-width:540px;margin:15px auto 24px;color:var(--cockpit-ink)}
#welcome .welcome-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
#welcome .welcome-manual{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;min-height:174px;padding:21px 18px;background:#dbe8f508;border:1px solid #c1d2e640;border-radius:14px;text-align:left;transition:background .16s,border-color .16s,transform .16s}
#welcome .welcome-manual:hover,#welcome .welcome-manual:focus-visible{background:#dbe8f515;border-color:#d2e7f2;transform:translateY(-2px)}
#welcome .welcome-manual svg{width:42px;height:42px;fill:none;stroke:#e1edf4;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin:0 0 6px}
#welcome .welcome-manual strong{font-size:22px;line-height:1.2;font-weight:600;color:#fffdf4}
#welcome .welcome-manual small{font-size:13px;line-height:1.45;font-weight:400;color:#becddc;max-width:none;white-space:nowrap}
#welcome .welcome-manual .launch-arrow{position:absolute;right:16px;top:23px;font-size:23px;color:#a9c2d5}
#welcome>p.launch-help{font-size:14px;line-height:1.5;color:#b3c5d5;margin:17px 0 6px}
#welcome #welcome-options{margin-top:5px}#welcome #welcome-options summary{font-size:15px}
#welcome .world-note{font-size:14px;color:#aebfd1}#welcome .welcome-profile{font-size:15px}
.launch-screen .topbar,.launch-screen .compass,.launch-screen .flight-deck,.launch-screen .minimap,.launch-screen footer{visibility:hidden;pointer-events:none}
.topbar{inset:18px 22px auto}.top-actions button{background:var(--cockpit);border-color:var(--cockpit-line);border-radius:9px;font-size:14px;box-shadow:none;backdrop-filter:none}
.top-actions #players-open{font-size:13px;letter-spacing:0}.top-actions #connection-state{display:none}
.topbar .brand small{display:none}.compass{top:79px;background:#182b3ee6;border:1px solid #dcecff24;color:#f3f4ed}
.hud-drawer,.settings,.players-panel{top:74px;border-radius:15px;background:var(--cockpit)}
.hud-drawer button,.hud-drawer select{font-size:14px;min-height:46px;background:#ffffff07;border-color:#d5e4f02a}
.hud-drawer button:hover{background:#ffffff12}.hud-drawer #audio-toggle{display:flex;align-items:center;gap:8px}
.hud-drawer #round-drive{grid-column:1/-1}.hud-drawer #round-drive span,.hud-drawer #round-drive small{display:block}.hud-drawer #round-drive small{margin-top:5px;font-size:12px;color:#b5c7d7}
.flight-deck{width:440px;padding:14px 17px 10px;background:#142235f5;border-radius:15px;bottom:42px}
.flight-deck .readout{gap:25px;align-items:center;padding-bottom:25px;min-height:72px}
.flight-deck .readout strong{font-size:35px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-1px;color:#fcfbf5}
.flight-deck .readout #height-readout strong{font-size:25px;font-weight:450}.flight-deck .readout>span{font-size:11px;letter-spacing:.5px;color:#bdcfdf}
.flight-deck .readout:has(#height-readout[hidden]) .height-divider{display:none}
.flight-deck .quick-tempo{padding:12px 0;gap:12px}.flight-deck .quick-tempo>label,.flight-deck .quick-tempo output{font-size:13px}
.flight-deck .quick-tempo,.flight-deck .dock{backdrop-filter:none;-webkit-backdrop-filter:none}
.flight-deck .car-mode-note{font-size:12px;line-height:1.4;color:#c6d4e2}.flight-deck .car-pace{font-size:12px}.flight-deck .car-pace:empty{display:none}
.flight-deck .modes button{min-width:65px;padding:9px;min-height:44px;font-size:13px}.flight-deck #boost{font-size:12px;padding:9px 10px}
.flight-deck .garage-open{font-size:12px;padding:6px 8px;min-height:44px}.flight-deck .garage-open span{font-size:11px}
.minimap{width:286px;border-radius:15px}.minimap-body{height:190px}.map-current{padding:9px 11px}.map-current strong{font-size:14px}
.range-row>span,.range-row output{font-size:14px}.range-row small{font-size:11px}.panel-title h2{font-size:20px}.check-row,.select-row{font-size:14px}.panel-title>button{min-width:40px;min-height:40px}
input[type=range]::-webkit-slider-thumb{width:20px;height:20px;margin-top:-8.5px}input[type=range]{height:24px}
.region-arrival{pointer-events:none}.region-arrival strong{font-size:clamp(24px,3vw,40px)}
@media(max-width:1050px){.flight-deck{width:410px}.minimap{width:240px}.minimap-body{height:168px}.topbar .brand-wordmark{width:163px}}
@media(max-width:800px){#welcome{padding:24px;max-width:calc(100vw - 32px)}#welcome .welcome-choices{gap:9px}#welcome .welcome-manual{padding:17px 13px;min-height:164px}#welcome .welcome-manual strong{font-size:20px}.flight-deck{width:calc(100vw - 240px);min-width:350px}.minimap{width:186px}.minimap-body{height:146px}}
@media(max-width:640px){#welcome .welcome-choices{grid-template-columns:1fr}#welcome .welcome-manual{min-height:72px;padding:15px 18px;display:grid;grid-template-columns:44px 1fr;gap:3px 16px}#welcome .welcome-manual svg{grid-row:1/3;margin:0}#welcome .welcome-manual small{max-width:none}#welcome .welcome-manual .launch-arrow{top:24px}#welcome .welcome-wordmark{width:270px}.flight-deck{width:calc(100vw - 32px);min-width:0}.minimap{bottom:300px;width:165px}}
@media(max-height:670px){#welcome{padding:19px 28px}#welcome .welcome-wordmark{width:260px}#welcome .welcome-title{margin-bottom:10px}#welcome>p.welcome-lead{margin:10px auto 18px;font-size:22px}#welcome .welcome-manual{min-height:148px;padding:15px}#welcome .welcome-manual svg{height:32px}#welcome .welcome-foot{padding-top:9px;margin-top:8px}}
@media(prefers-reduced-motion:reduce){#welcome .welcome-manual{transition:none}#welcome .welcome-manual:hover{transform:none}}

.performance-details{border-top:1px solid #d1e0ec25;margin-top:16px;padding-top:13px;font-size:13px;color:#c3d3e0}.performance-details summary{cursor:pointer;padding:8px 0;font-size:14px}.performance-details p{line-height:1.65;font-variant-numeric:tabular-nums}.performance-details small{font-size:11px}.performance-details button{display:block;min-height:42px;padding:10px 13px;margin-top:10px;background:#ffffff0a;border:1px solid #ffffff28;border-radius:8px;font-size:13px}

/* Keep every mode action reachable at narrow desktop sizes. */
.flight-deck .dock{flex-wrap:wrap;gap:8px}.flight-deck .dock .modes{flex:1 1 195px}.flight-deck .dock .modes button{flex:1}.flight-deck .dock #bike-descent{max-width:110px;white-space:normal}

/* Give single-line launch descriptions room before the three cards get narrow. */
@media(max-width:740px){#welcome .welcome-choices{grid-template-columns:1fr}#welcome .welcome-manual{min-height:72px;padding:15px 18px;display:grid;grid-template-columns:44px 1fr;gap:3px 16px}#welcome .welcome-manual svg{grid-row:1/3;margin:0}#welcome .welcome-manual .launch-arrow{top:24px}}

/* Three resident bicycles: one compact chooser, no extra permanent HUD panel. */
#bike-garage-dialog{width:min(960px,calc(100vw - 48px));max-height:calc(100dvh - 48px);margin:auto;padding:28px;border:1px solid #b7cee74d;border-radius:24px;background:#10243c;color:#eef6ff;overflow:auto}
#bike-garage-dialog h2{margin:0;font-size:29px;letter-spacing:-.7px}#bike-garage-dialog>p{color:#b4c7dd;font-size:16px}#bike-garage-dialog>small{display:block;font-size:13px;line-height:1.55;color:#adbed1}.bike-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.bike-card{display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:20px;text-align:left;border:1px solid #afcee833;border-radius:18px;background:linear-gradient(150deg,#243e58,#132c46);color:#ecf4fc}.bike-series{font-size:11px;letter-spacing:1.5px;color:#afc6dd}.bike-card svg{width:100%;height:auto;fill:none;stroke:#c5e4f9;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;margin:12px 0}.bike-card[data-bike-model=recumbent] svg{stroke:#ffb289}.bike-card[data-bike-model=alien] svg{stroke:#c7afff}.bike-card strong{font-size:23px;letter-spacing:-.5px}.bike-top-speed{font-size:30px;font-weight:600;margin:9px 0 0}.bike-top-speed small{font-size:13px;font-weight:400;color:#b7cbe0}.bike-card p{font-size:14px;line-height:1.55;color:#bdcfe1;flex:1}.bike-select-label{font-size:14px;border-top:1px solid #acccec22;padding-top:15px}.bike-card:hover,.bike-card[aria-pressed=true]{border-color:#daecff;background:linear-gradient(150deg,#2a4c68,#1c3654)}.bike-card:focus-visible{outline:3px solid #fff;outline-offset:4px}.bike-card[aria-pressed=true] .bike-select-label:before{content:'✓ ';}#welcome .start-garage+.start-garage{margin-top:8px}.flight-deck #bike-garage-open{max-width:110px}#bike-garage-dialog .eyebrow{margin-top:0}@media(max-width:760px){.bike-cards{grid-template-columns:1fr}.bike-card{display:grid;grid-template-columns:160px 1fr;gap:6px 18px}.bike-card svg{grid-column:1;grid-row:1/6}.bike-card>*:not(svg){grid-column:2}.bike-card p{margin:0}}

.player-world-label.peer-car,.player-world-label.peer-bike{border-bottom:2px solid var(--peer-color);background:#0c1d32e6;box-shadow:0 2px 10px #0006}.player-world-label.peer-car:after,.player-world-label.peer-bike:after{content:'';position:absolute;left:calc(50% - 5px);bottom:-8px;width:8px;height:8px;border:2px solid #fff;background:var(--peer-color);transform:rotate(45deg);box-shadow:0 1px 4px #0009}.player-world-label.offscreen:after{display:none}.player-world-label small{font-variant-numeric:tabular-nums}

.overview-mode .place-label{font-size:18px;font-weight:650;letter-spacing:.2px;color:#fff4dc;text-shadow:0 2px 5px #112338,0 0 2px #061020}.overview-mode .street-label{font-size:12px;background:#122439e6;color:#e3eff9;border:1px solid #d6e7f34d;padding:5px 9px;border-radius:6px}

.flight-deck #ground-reverse{display:block;width:100%;min-height:44px;margin-top:9px;padding:10px 14px;border:1px solid #b9cde044;border-radius:9px;background:#24374b;color:#f1f6fb;font-size:14px;font-weight:600;transition:background .18s,border-color .18s}.flight-deck #ground-reverse:hover:not(:disabled){background:#304961;border-color:#d0e3f877}.flight-deck #ground-reverse:disabled{opacity:.75}.flight-deck #ground-reverse:focus-visible{outline:2px solid #e4f3ff;outline-offset:3px}
