:root{font-family:Segoe UI,Microsoft YaHei,sans-serif;color:#e7edf0;background:#080b0d;font-synthesis:none;letter-spacing:0;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:none;border:0}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #81ddce;outline-offset:4px}button:hover{background:#ffffff14}button svg{width:18px;height:18px;flex-shrink:0}button{transition:background .18s,color .18s}#scene{display:block;width:100%;height:100%;touch-action:none;outline:none}[hidden]{display:none!important}.topbar{position:absolute;inset:0 0 auto;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid #ffffff13;background:linear-gradient(#080c10cb,#080c1080);gap:20px;pointer-events:none}.topbar>*{pointer-events:auto}.brand{font-size:22px;font-weight:750;display:flex;align-items:center;gap:16px}.brand span{font-size:12px;color:#abb7be;font-weight:400;border-left:1px solid #71808a66;padding-left:16px}.segments{position:absolute;left:50%;transform:translate(-50%);display:flex;gap:3px;background:#05090cb0;padding:4px;border:1px solid #70808744;border-radius:6px}.segments button{font-size:13px;padding:8px 24px;border-radius:3px;min-width:76px}.segments .active{background:#e1ece8;color:#182522}.tools{display:flex;gap:8px}.icon-button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #b0c7d22b;background:#0b1015a8;border-radius:5px}.icon-button.active{border-color:#8be0cf80;color:#a0e7d9;background:#5c9f9522}#control-panel{position:absolute;right:24px;top:100px;width:258px;max-height:calc(100dvh - 190px);overflow-y:auto;border:1px solid #a9c9d52b;border-radius:6px;background:#0b1117e8;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 12px 32px #0004}.panel-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:#c4d4dc;padding:17px 19px;border-bottom:1px solid #d1e3f117}.live-dot{width:5px;height:5px;border-radius:50%;background:#a4e8ce;box-shadow:0 0 8px #9ce8cb66}.control-section{padding:18px 19px;border-bottom:1px solid #d1e3f117}.switch-row{position:relative;display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:12px;cursor:pointer;min-height:26px}.switch-row+.switch-row{margin-top:17px}.switch-row>span:first-child{display:flex;align-items:center;gap:10px}.switch-row svg{width:15px;height:15px;color:#8197a3}.switch-row input{position:absolute;right:0;width:34px;height:22px;opacity:0;cursor:pointer}.switch{width:30px;height:17px;background:#33414a;border:1px solid #53606a;border-radius:12px;pointer-events:none;flex-shrink:0}.switch:after{content:"";display:block;width:11px;height:11px;border-radius:50%;background:#adb7bd;margin:2px;transition:transform .2s}.switch-row input:checked+.switch{background:#508d81;border-color:#88cabb}.switch-row input:checked+.switch:after{transform:translate(12px);background:#edf9f4}.switch-row input:focus-visible+.switch{outline:2px solid #b2e9da;outline-offset:4px}.range-label{display:flex;justify-content:space-between;font-size:11px;color:#899da8;margin:19px 0 7px}.range-label output{color:#d6e8ec;font-variant-numeric:tabular-nums}input[type=range]{accent-color:#a4deca;width:100%;height:15px;margin:0;cursor:pointer}.system-readout{display:flex;justify-content:space-between;font-family:Consolas,monospace;font-size:10px;color:#79938e;margin-top:9px}.selects{display:grid;gap:9px}.selects label{font-size:11px;color:#8ca0ac}.selects select{width:100%;height:33px;background:#151e25;border:1px solid #60758355;border-radius:3px;padding:0 8px;font-size:11px;color:#dbe6ea}.selects label:not(:first-child){margin-top:7px}.panel-foot{padding:12px 19px;display:flex;justify-content:space-between;font-size:10px;color:#798c96;font-variant-numeric:tabular-nums}#location{position:absolute;left:36px;bottom:34px;pointer-events:none;text-shadow:0 2px 12px #000}.eyebrow{font-family:Consolas,monospace;font-size:10px;color:#9bb6be;margin-bottom:9px}h1{font-size:30px;line-height:1.25;margin:0 0 8px;font-weight:500}#location-detail{font-size:12px;color:#a9bec9}.view-controls,#interior-controls{position:absolute;right:26px;bottom:32px;display:flex;align-items:center;gap:8px}.command-button{display:flex;align-items:center;justify-content:center;gap:9px;height:40px;padding:0 16px;border-radius:4px;background:#d7e8e1;color:#172622;font-size:12px;border:1px solid #c3d8ce}.command-button:hover{background:#f5fffa}#deck-button{background:#0a131ce6;color:#cfdee5;border-color:#6d839e5e}#crosshair{position:absolute;left:50%;top:50%;width:4px;height:4px;background:#e8f2f0bb;border-radius:50%;pointer-events:none;box-shadow:0 0 4px #000}#interaction{position:absolute;left:50%;top:calc(50% + 32px);transform:translate(-50%);background:#101a22dd;padding:8px 15px;border:1px solid #9bb4b74d;font-size:12px;border-radius:4px;pointer-events:none}#call-lift{position:absolute;left:32px;bottom:125px}#deck-menu,#lift-panel{position:absolute;bottom:86px;right:26px;width:246px;background:#0c151ef5;border:1px solid #70899870;border-radius:5px;overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}#deck-menu>button,#lift-panel>button{width:100%;display:flex;text-align:left;gap:15px;padding:14px 19px;font-size:12px;color:#bacbd3;border-bottom:1px solid #ffffff0d}#deck-menu>button.active,#lift-panel>button.active{color:#b3ead7;background:#5c9d8930}#lift-panel{right:auto;left:26px;bottom:130px;width:180px}#lift-panel .panel-heading{font-size:11px;gap:9px}#lift-status{font-size:10px;color:#8fc9b6}#toast{position:absolute;left:50%;bottom:30px;transform:translate(-50%);max-width:80%;padding:10px 18px;background:#15242ded;border:1px solid #527180;font-size:12px;border-radius:4px;pointer-events:none}#transition{position:absolute;inset:0;background:#05090c;opacity:0;pointer-events:none;transition:opacity .3s}#transition.fading{opacity:1}#loading,#error{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#0b1015}.loading-mark{font-size:44px;font-weight:700;margin-bottom:24px}#loading-label{font-size:12px;color:#96b0bd}progress{width:200px;height:3px;margin-top:20px;accent-color:#a3ddc9}#error{padding:30px;text-align:center}#error h2{font-size:20px}#error p{max-width:600px;color:#a6bac5;font-size:13px;line-height:1.7}#error button{padding:10px 20px;border:1px solid #719888}#touch-controls{position:absolute;inset:0;pointer-events:none}#joystick{position:absolute;bottom:120px;left:26px;width:100px;height:100px;border:1px solid #a7c7d55c;border-radius:50%;background:#13293255;pointer-events:auto;touch-action:none}#joystick-knob{position:absolute;left:32px;top:32px;width:34px;height:34px;border-radius:50%;background:#cae6e650;pointer-events:none}#touch-interact{position:absolute;right:24px;bottom:130px;pointer-events:auto;width:54px;height:54px;border-radius:50%}body.walking .topbar{opacity:.3;transition:opacity .3s}body.walking .topbar:hover{opacity:1}body.walking #control-panel,body.walking #location,body.walking #walk{display:none}body.photo-mode .topbar,body.photo-mode aside,body.photo-mode #location,body.photo-mode .view-controls,body.photo-mode #interior-controls,body.photo-mode #crosshair{visibility:hidden}#flight-hud{position:absolute;inset:0;pointer-events:none}.flight-telemetry{position:absolute;left:36px;bottom:130px;width:190px;text-shadow:0 2px 10px #000}.speed-line{display:flex;align-items:baseline;gap:10px}#flight-speed{font:300 58px/1.1 Consolas,monospace;letter-spacing:-3px;font-variant-numeric:tabular-nums}.speed-line>span,.flight-trip{font-size:11px;color:#b0c5ca}.flight-trip{display:flex;justify-content:space-between;margin-top:12px}.speed-track{height:2px;background:#c2dfdd33;margin-top:13px}#flight-meter{height:100%;display:block;background:#b4e8da;width:0}.flight-help{position:absolute;left:50%;bottom:34px;transform:translate(-50%);display:flex;gap:18px;font-size:11px;color:#c0d0d6;white-space:nowrap}kbd{font:10px Consolas,monospace;border:1px solid #a4c5cf44;border-radius:3px;padding:2px 5px}#exit-flight{position:absolute;bottom:28px;right:26px;pointer-events:auto;background:#0a151ed9;color:#d9e8e7;border-color:#b9d7d844}.flight-reticle{position:absolute;left:51%;top:43%;width:36px;height:22px;border:1px solid #c8e0dc55;border-top:0;border-bottom:0}.flight-reticle span{position:absolute;left:17px;top:10px;width:2px;height:2px;background:#e9f9f5aa}#boost-vignette{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s;box-shadow:inset 0 0 110px #4ca6c333}body.boosting #boost-vignette{opacity:1}body.boosting #flight-status{color:#a5f3eb}body.flying #location{bottom:auto;top:102px}body.flying #location h1{font-size:21px}#flight-touch-actions{position:absolute;right:20px;bottom:116px;display:grid;grid-template-columns:repeat(2,54px);gap:10px;pointer-events:auto}#flight-touch-actions button{border:1px solid #bbdedc66;border-radius:50%;background:#102a32a6;height:54px;font-size:12px;touch-action:none;-webkit-user-select:none;user-select:none}#flight-touch-actions #touch-boost{background:#487b72c0}body.photo-mode #flight-hud{visibility:hidden}@media(max-width:1100px){.flight-help{bottom:87px;gap:10px}}@media(max-width:700px){.topbar{height:64px;padding:0 14px;gap:8px}.brand{font-size:18px}.brand span{display:none}.tools{gap:4px}.tools .icon-button{width:30px;height:32px}.tools #audio-toggle,.tools #photo{display:none}.segments{position:static;transform:none;margin-left:auto;padding:3px}.segments button{padding:6px 12px;min-width:48px;font-size:12px}.icon-button svg{width:16px;height:16px}#control-panel{top:78px;right:12px;width:230px;max-height:calc(100% - 180px);overflow:auto}.control-section{padding:14px 16px}.panel-heading{padding:13px 16px}#location{left:20px;bottom:24px}h1{font-size:23px}.eyebrow{font-size:9px}#location-detail{font-size:10px}.view-controls,#interior-controls{right:14px;bottom:22px;gap:5px}.view-controls>.icon-button{display:none}#location{bottom:82px}#call-lift{left:20px;bottom:185px}.command-button{padding:0 12px;height:37px;font-size:11px}#deck-menu{right:14px;bottom:72px}#lift-panel{left:14px;bottom:235px;width:160px;max-height:calc(100% - 315px);overflow:auto}#lift-panel>button{padding:10px 15px}#lift-panel .panel-heading{padding:11px}#toast{bottom:80px;min-width:200px;text-align:center}#current-deck{max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segments button{padding:6px 8px;min-width:42px}.flight-telemetry{left:20px;bottom:250px;width:130px}#flight-speed{font-size:44px}.flight-help{display:none}body.flying #location{top:90px}body.flying #location .eyebrow{display:none}#exit-flight{right:16px;bottom:22px}.flight-reticle{top:42%}}#flight-recenter{position:absolute;right:28px;bottom:104px;pointer-events:auto}@media(max-width:650px){#flight-recenter{right:14px;bottom:148px;font-size:11px}#interior-controls{max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:center;gap:6px}#interior-controls .command-button{padding:10px 12px;font-size:11px}.flight-help{max-width:230px}}#lift-panel{width:280px;bottom:140px;z-index:12}#lift-panel .panel-heading{justify-content:space-between;flex-wrap:wrap}#lift-panel>button{align-items:center;gap:12px;min-height:47px;padding:12px 16px}#lift-panel>button kbd{width:24px;padding:3px;text-align:center;border:1px solid #658085;border-radius:4px}#lift-panel>button small{margin-left:auto;font-size:10px;color:#93caba}#lift-panel>button:disabled{cursor:default;opacity:.45}#lift-panel>button.active{opacity:1}#lift-hint{margin:0;padding:0 16px 13px;color:#a9bfc5;font-size:11px;line-height:1.7}#lift-status{font-size:11px}#lift-progress{height:3px;background:#ffffff12}#lift-progress span{display:block;height:100%;background:#9ce5cd;transition:width .1s linear}#lift-panel #lift-resume{justify-content:center;color:#d3e6e2;min-height:40px}body.lift-selecting #lift-panel{border-color:#a3dcc7;box-shadow:0 0 32px #071015aa}body.lift-selecting #crosshair{display:none}@media(max-width:650px){#lift-panel{inset:90px 12px auto auto;width:min(268px,calc(100vw - 24px));max-height:calc(100dvh - 320px);overflow-y:auto}#lift-panel>button{min-height:44px;padding:9px 13px}#lift-hint{padding:0 13px 10px}body:has(#lift-panel:not([hidden])) #interaction{top:auto;bottom:235px;width:max-content;max-width:calc(100vw - 28px);text-align:center}}@media(max-height:550px){#lift-panel{top:82px;bottom:auto;max-height:calc(100dvh - 155px);overflow-y:auto}}
