body[data-mobile=true]{--edge-left:max(12px,env(safe-area-inset-left));--edge-right:max(12px,env(safe-area-inset-right));--edge-bottom:max(12px,env(safe-area-inset-bottom));-webkit-user-select:none;user-select:none;overscroll-behavior:none}
body[data-mobile=true] button{min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
body[data-mobile=true] .menu{padding:38px 18px max(20px,env(safe-area-inset-bottom));overflow:auto}
body[data-mobile=true] .menu-content{margin:auto;width:100%;max-width:980px}
body[data-mobile=true] .menu h1{font-size:64px;margin:0 0 24px}
body[data-mobile=true] .aircraft-picker{display:flex;overflow-x:auto;width:100%;max-width:100%;margin:0 auto 10px;gap:10px;scroll-snap-type:x mandatory;padding:5px 3px 12px}
body[data-mobile=true] .aircraft-option{flex:0 0 178px;scroll-snap-align:center;backdrop-filter:none;background:#142830ed}
body[data-mobile=true] .aircraft-option strong{font-size:15px}
body[data-mobile=true] .aircraft-specs{font-size:11px}
body[data-mobile=true] .menu-actions{margin-top:16px;gap:10px}
body[data-mobile=true] .menu-utility{margin-top:16px}
body[data-mobile=true] .dashboard-return{top:max(10px,env(safe-area-inset-top));left:var(--edge-left);width:42px;height:42px}
body[data-mobile=true] .glass{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 28px #0004}
body[data-mobile=true] .drawer-toggle{top:max(14px,env(safe-area-inset-top));right:var(--edge-right);width:46px;height:46px;transform:none}
body[data-mobile=true] .drawer-toggle:hover{transform:none}
body[data-mobile=true] .drawer{top:max(10px,env(safe-area-inset-top));right:var(--edge-right);width:min(360px,calc(100vw - 24px));height:auto;max-height:calc(100dvh - 24px);border-radius:8px;overflow:auto;clip-path:none;transform:translateX(calc(100% + 30px));background:#102028ed}
body[data-mobile=true] .drawer.open{transform:translateX(0)}
body[data-mobile=true] .drawer-inner{position:static;padding:18px}
body[data-mobile=true] .drawer h2{font-size:25px}
body[data-mobile=true] .drawer .command-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px}
body[data-mobile=true] .command{aspect-ratio:auto;height:54px;border-radius:8px;font-size:10px;gap:3px}
body[data-mobile=true] .drawer-footer{margin-top:16px}
body[data-mobile=true] .throttle-row{display:none}
body[data-mobile=true] .cockpit-controls{left:var(--edge-left);bottom:calc(var(--edge-bottom) + 36px);gap:4px;align-items:flex-end}
body[data-mobile=true][data-hand=left] .cockpit-controls{left:auto;right:var(--edge-right);flex-direction:row-reverse}
body[data-mobile=true] .lever,body[data-mobile=true] .brake-control{width:46px}
body[data-mobile=true] .lever-slot,body[data-mobile=true] .lever input{height:112px;width:44px}
body[data-mobile=true] .lever label,body[data-mobile=true] .control-label{font-size:8px;margin-bottom:4px}
body[data-mobile=true] .lever-stop{font-size:7px;line-height:13px}
body[data-mobile=true] .lever output{font-size:11px;line-height:18px}
body[data-mobile=true] .lever-slot:before{inset:4px 18px}
body[data-mobile=true] .lever input::-webkit-slider-thumb{width:42px;min-height:25px}
body[data-mobile=true] .brake-pedal{height:50px;width:44px}
body[data-mobile=true] .parking-pull{min-height:36px;width:42px;margin-top:4px}
body[data-mobile=true] .jet-controls{min-width:46px;gap:3px}
body[data-mobile=true] .jet-controls .parking-pull{width:48px;font-size:9px}
body[data-mobile=true] .jet-controls output{font-size:8px}
.mobile-toolbar{position:fixed;z-index:12;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;border-radius:8px;pointer-events:auto;padding:2px;background:#10202bd9}
.mobile-toolbar button{width:40px;height:42px;border:0;background:none;color:#f3f8fb;font-size:22px;display:grid;place-items:center}
.mobile-toolbar img{width:18px;height:18px;filter:brightness(0) invert(1)}
.mobile-toolbar [data-calibrate]{width:100px;font-size:11px;border-left:1px solid #ffffff2e}
.mobile-steering{position:fixed;right:var(--edge-right);bottom:var(--edge-bottom);z-index:12;width:148px;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:auto}
body[data-hand=left] .mobile-steering{right:auto;left:var(--edge-left)}
.mobile-stick{position:relative;width:128px;height:128px;border-radius:50%;background:#13232c80;border:1px solid #c9e5ed66;box-shadow:inset 0 0 30px #ffffff0a;touch-action:none}
.stick-cross:before,.stick-cross:after{content:'';position:absolute;background:#d7eef449;left:50%;top:50%;transform:translate(-50%,-50%);width:82px;height:1px}
.stick-cross:after{width:1px;height:82px}
.stick-knob{position:absolute;width:44px;height:44px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #e9f7f9b0;background:#b9dfe966;box-shadow:0 3px 8px #0005;pointer-events:none}
.mobile-rudder{font-size:8px;color:#e2f0f4;text-shadow:0 1px 4px #000;display:grid;text-align:center;width:100%;gap:2px}
.mobile-rudder input{width:100%;height:36px;margin:0;accent-color:#8ad7dd;touch-action:none}
.mobile-input-status{font-size:8px;font-weight:700;color:#d8eff2;text-shadow:0 1px 4px #000}
.mobile-flight[data-mode=gyro] .mobile-stick{opacity:.5}
body[data-mobile=true] .telemetry{display:flex;top:calc(max(12px,env(safe-area-inset-top)) + 57px);bottom:auto;gap:15px;pointer-events:none}
body[data-mobile=true] .left-telemetry{left:var(--edge-left)}
body[data-mobile=true] .right-telemetry{right:var(--edge-right)}
body[data-mobile=true] .telemetry div{min-width:40px}
body[data-mobile=true] .telemetry output{font-size:20px}
body[data-mobile=true] .telemetry span{font-size:8px}
body[data-mobile=true] .telemetry small{font-size:7px}
body[data-mobile=true] .attitude-wrap{display:block;bottom:var(--edge-bottom);width:100px;padding:5px;border-radius:52px 52px 8px 8px;pointer-events:none}
body[data-mobile=true] .attitude-bezel{width:88px;height:88px;border-width:3px}
body[data-mobile=true] .bank-scale i{transform-origin:0 36px}
body[data-mobile=true] .aircraft-symbol b{width:18px}
body[data-mobile=true] .attitude-caption{font-size:6px;padding:4px 0 0}
body[data-mobile=true] .fighter-controls{left:50%;right:auto;transform:translateX(-50%);bottom:calc(var(--edge-bottom) + 6px);display:flex;flex-direction:row;gap:6px}
body[data-mobile=true] .fighter-controls button{min-width:84px;height:38px;min-height:38px;padding:0 8px;font-size:10px;gap:6px;background:#162b32eb;backdrop-filter:none}
body[data-mobile=true][data-flight-aircraft=f35][data-flight-view=cockpit] #flight-ui>:is(.mobile-flight,.cockpit-controls,.fighter-controls,.telemetry){display:flex!important}
body[data-mobile=true] .help-dialog{max-height:calc(100dvh - 24px);border-radius:8px}
body[data-mobile=true] .control-columns{grid-template-columns:1fr}
.mobile-preferences{border-top:1px solid #ffffff30;padding-top:12px;margin-top:16px;font-size:13px}
.mobile-preferences label{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mobile-preferences select,.mobile-preferences button{border:1px solid #ffffff40;border-radius:8px;padding:10px;background:#213944;color:#f3f8fa}
.mobile-preferences button{margin-top:12px}
.mobile-preferences p,.mobile-shader-warning{font-size:12px;line-height:1.5;color:#d5e5eb}
.mobile-shader-warning{grid-column:1/-1;color:#ffdba4}
.mobile-calibration{width:min(420px,calc(100vw - 28px));max-height:calc(100dvh - 24px);overflow:auto;border-radius:8px;background:#10212bf5;color:#edf9fc;padding:24px;text-align:center}
.mobile-calibration::backdrop{background:#02080fc9}
.mobile-calibration h2{font-size:23px;margin:0 0 12px;line-height:1.2}
.mobile-calibration p{font-size:14px;line-height:1.5;color:#c7dce5}
.mobile-calibration button{border:1px solid #b6dde44d;border-radius:8px;background:#253d49;color:#e8f6fb;padding:12px;min-height:46px;font-size:13px;cursor:pointer}
.mobile-calibration>button{width:100%;margin-top:9px}
.mobile-calibration .calibration-primary{background:#a1e3dd;color:#10252b;font-weight:700}
.mobile-calibration button:disabled{opacity:.4;cursor:wait}
.hand-options{display:flex;gap:8px}
.hand-options button{flex:1}
.hand-options button[aria-pressed=true]{border-color:#b8fff1;background:#365a61}
.calibration-target{width:76px;height:76px;margin:18px auto;border-radius:50%;border:1px solid #d0e6ec55;display:grid;place-items:center;background:radial-gradient(circle,transparent 28%,#d0e6ec44 29%,transparent 31%)}
.calibration-target i{width:18px;height:18px;border-radius:50%;background:#9fb2be;transition:background .2s,box-shadow .2s}
.calibration-target.ready i{background:#a0edd2;box-shadow:0 0 24px #a0edd233}
@media(max-width:430px){body[data-mobile=true] .mobile-toolbar{left:var(--edge-left);transform:none;top:calc(max(12px,env(safe-area-inset-top)) + 46px)}body[data-mobile=true][data-screen=flight] .dashboard-return{display:none}body[data-mobile=true] .mobile-toolbar{top:max(12px,env(safe-area-inset-top))}.mobile-toolbar [data-calibrate]{width:86px}.mobile-steering{width:124px}.mobile-stick{width:112px;height:112px}body[data-mobile=true] .cockpit-controls{gap:0}body[data-mobile=true] .lever,body[data-mobile=true] .brake-control{width:42px}body[data-mobile=true] .jet-controls{position:absolute;left:0;bottom:218px;flex-direction:row;width:142px}body[data-mobile=true][data-hand=left] .jet-controls{left:auto;right:0}body[data-mobile=true] .jet-controls output{display:none}}
@media(max-height:500px){body[data-mobile=true] .menu{padding:18px 16px}body[data-mobile=true] .menu h1{font-size:38px;margin-bottom:12px}body[data-mobile=true] .aircraft-option{flex-basis:145px;padding-bottom:8px;gap:2px}body[data-mobile=true] .aircraft-option img{aspect-ratio:2.3;margin-bottom:3px}body[data-mobile=true] .aircraft-option strong{font-size:12px}body[data-mobile=true] .aircraft-specs{font-size:9px}body[data-mobile=true] .menu-actions{margin-top:8px}body[data-mobile=true] .launch{height:44px}body[data-mobile=true] .menu-utility{margin-top:8px}.mobile-stick{width:106px;height:106px}.mobile-steering{width:128px;gap:1px}body[data-mobile=true] .cockpit-controls{bottom:var(--edge-bottom)}body[data-mobile=true] .lever input,body[data-mobile=true] .lever-slot{height:82px}body[data-mobile=true] .attitude-wrap{width:88px}body[data-mobile=true] .attitude-bezel{width:76px;height:76px}body[data-mobile=true] .drawer{max-height:calc(100dvh - 16px)}}
@media(prefers-reduced-motion:reduce){.mobile-calibration *{transition:none}}
.landscape-required{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:#0c1b24;color:#edf8fc;text-align:center}
.landscape-required h2{font-size:25px;margin:22px 0 8px}.landscape-required p{font-size:14px;line-height:1.5;color:#bfd5df;max-width:270px}.landscape-required button{padding:12px 20px;border:1px solid #bbd9e366;border-radius:8px;background:#294550;color:#f1fafd;font-size:14px;margin-top:16px}.landscape-device{width:98px;height:56px;border:3px solid #98dad8;border-radius:8px;position:relative}.landscape-device:after{content:'';position:absolute;right:6px;top:21px;width:5px;height:8px;border-radius:50%;background:#98dad8}
