/* Shared desktop/handheld edge composition. Runtime identity excludes phones
   and tablets; saved HUD visibility, scale, units and navigation options remain
   authoritative. No new canvases, effects, updates or gameplay controls. */
body:is(.desktop-ui,.handheld-ui):not(.phone-ui){--desktop-edge:clamp(16px,1.5vw,30px);--desktop-top:20px;--desktop-utility-top:var(--desktop-top);--desktop-radar-width:152px;--desktop-radar-height:182px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI{--desktop-heading-end:calc(106px + var(--hud-inset,0px) + 37px * var(--hud-scale,1) + max(0px,calc((var(--hud-scale,1) - 1) * 70px)));font-variant-numeric:tabular-nums}

/* Presence stays at the left edge; map, inventory and pause share a small rack
   at the opposite edge. Neither row occupies the heading centerline. */
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .flight-top,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #flightUI .flight-top{top:var(--desktop-top);left:var(--desktop-edge);right:auto;width:148px;min-height:32px;gap:0;justify-content:flex-start}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .flight-logo{display:none}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .flight-top .match-state,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI[data-free-roam=true] .flight-top .match-state,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #flightUI .flight-top .match-state{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:148px;flex:0 0 148px;height:32px;box-sizing:border-box;align-items:center;padding:5px 7px;gap:7px;border:1px solid #bfd8b440;border-radius:6px;background:#10283291;backdrop-filter:none;transform-origin:left top}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .flight-top .match-count,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI[data-free-roam=true] .flight-top .match-count,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #flightUI .flight-top .match-count{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;margin:0}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .flight-top .match-state b,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI[data-free-roam=true] .flight-top .match-state b,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #flightUI .flight-top .match-state b{font-size:15px;line-height:1;font-weight:500}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .flight-top .match-short-label,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI[data-free-roam=true] .flight-top .match-short-label,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #flightUI .flight-top .match-short-label{display:block;font-size:8px;line-height:1.2;letter-spacing:.02em;margin:0;white-space:nowrap}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .flight-top .match-full-label{position:absolute;width:1px;height:1px;padding:0;border:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .flight-top .match-state i{display:none}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI :is(#flightMapButton,#inventoryButton,#pauseButton),
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #flightUI :is(#flightMapButton,#inventoryButton,#pauseButton){position:fixed;top:var(--desktop-utility-top);left:auto;bottom:auto;width:var(--desktop-utility-size,40px);min-width:var(--desktop-utility-size,40px);max-width:var(--desktop-utility-size,40px);height:var(--desktop-utility-size,40px);min-height:var(--desktop-utility-size,40px);margin:0;padding:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;transform:none;border:1px solid #bfd8b44d;border-radius:6px;background:#102832b8;backdrop-filter:none;box-shadow:none;font-size:0;letter-spacing:0;pointer-events:auto}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #flightMapButton,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #flightUI #flightMapButton{right:calc(var(--desktop-edge) + 2 * var(--desktop-utility-step,46px))}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #inventoryButton,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #flightUI #inventoryButton{right:calc(var(--desktop-edge) + var(--desktop-utility-step,46px))}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #pauseButton,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #flightUI #pauseButton{right:var(--desktop-edge)}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI :is(#flightMapButton,#inventoryButton) :is(small,span){display:none}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightMapButton:before,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #flightMapButton:before{content:'MAP';display:block;width:auto;height:auto;background:none;-webkit-mask:none;mask:none;font:10px/1 var(--mono)}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #inventoryButton:before,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #inventoryButton:before{content:'INV';display:block;width:auto;height:auto;background:none;-webkit-mask:none;mask:none;font:10px/1 var(--mono)}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #pauseButton:before,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #pauseButton:before{content:'Ⅱ';display:block;width:auto;height:auto;background:none;-webkit-mask:none;mask:none;font:18px/1 var(--mono)}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI :is(#flightMapButton,#inventoryButton,#pauseButton):hover{border-color:#d5e6b58c;background:#24403cdd}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI :is(#flightMapButton,#inventoryButton,#pauseButton):focus-visible{outline:2px solid #e2f2b9;outline-offset:3px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])){--desktop-utility-top:var(--ground-utility-top)}

/* Ordinary notices own the upper-left lane. A flight hazard owns its own center
   lane below the canvas heading, including maximum saved scale and safe inset.
   Long gear messages wrap without running behind other instruments. */
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #announcer,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#matchmakingBadge:not([hidden])) #announcer,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #flightUI #announcer{position:fixed;left:var(--desktop-edge);right:auto;top:calc(var(--desktop-top) + 46px);bottom:auto;transform:none;width:min(340px,27vw);max-width:calc(100vw - 2 * var(--desktop-edge));height:auto;min-height:0;max-height:none;box-sizing:border-box;padding:9px 11px;border:1px solid #b5d3a64d;border-radius:6px;background:#102832e6;font:12px/1.5 var(--mono);letter-spacing:.01em;text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:normal;overflow:visible;display:block;-webkit-line-clamp:unset;-webkit-box-orient:initial;line-clamp:none;pointer-events:none;z-index:8}
/* Ground and airborne infantry have no canvas heading. Their notices use the
   free center of the top edge, leaving ammo, vitals and the map fully readable. */
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):is(.on-foot,.ground-vehicle) #flightUI #announcer,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):is(.on-foot,.ground-vehicle):has(#groundMinimap:not([hidden])) #flightUI #announcer,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#parachuteHUD:not([hidden])) #flightUI #announcer{top:var(--desktop-top);left:50%;transform:translateX(-50%);width:min(500px,calc(100vw - 2 * var(--desktop-edge) - 400px));max-width:none;text-align:center}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #warning,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #flightUI #warning{position:fixed;left:50%;right:auto;top:calc(var(--desktop-heading-end) + 12px);bottom:auto;transform:translateX(-50%);width:max-content;max-width:min(540px,calc(100vw - 2 * var(--desktop-edge) - 300px));max-height:none;box-sizing:border-box;padding:8px 13px;border:1px solid #e5b37c70;border-radius:5px;background:#3a2014d9;font:13px/1.45 var(--mono);letter-spacing:.02em;text-align:center;white-space:normal;overflow-wrap:anywhere;overflow:visible;pointer-events:none;z-index:8}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI :is(#publicLobbyBadge,#matchmakingBadge){position:fixed;top:calc(var(--desktop-utility-top) + 50px);left:auto;right:var(--desktop-edge);transform:none;width:min(280px,27vw);max-width:calc(100vw - 2 * var(--desktop-edge));min-height:0;box-sizing:border-box;padding:8px 10px;gap:8px;border-radius:6px;font:11px/1.45 var(--mono);text-align:left;box-shadow:none}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#publicLobbyBadge:not([hidden])) #matchmakingBadge{top:calc(var(--desktop-utility-top) + 132px)}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#audioUnlock:not([hidden])) :is(#publicLobbyBadge,#matchmakingBadge){top:calc(var(--desktop-utility-top) + 94px)}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .matchmaking-badge-text{font-size:11px;line-height:1.45}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .matchmaking-badge button{font-size:10px;min-height:34px;padding:7px 9px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #audioUnlock{position:fixed;top:calc(var(--desktop-top) + 48px);right:var(--desktop-edge);font-size:10px;min-height:34px;padding:7px 10px;max-width:180px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .flight-mission{top:calc(var(--desktop-top) + 56px);right:var(--desktop-edge);gap:4px;max-width:225px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .flight-mission>span,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .flight-mission small{font-size:10px;line-height:1.4;letter-spacing:.035em}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .flight-mission b{font-size:24px;line-height:1.15}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI[data-free-roam=true] .flight-mission{display:none}

/* The lower rack retains the original radar and weapon nodes. Reserve scaled
   radar height before placing edge instruments, including a right-side radar. */
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .bottom-flight{left:var(--desktop-edge);right:var(--desktop-edge);bottom:var(--desktop-top);gap:18px;align-items:flex-end}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .radar-wrap{width:calc(var(--desktop-radar-width) * var(--radar-size,1));height:calc(var(--desktop-radar-height) * var(--radar-size,1));border-radius:7px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .radar-wrap canvas{width:100%;height:auto}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .radar-wrap>span.flight-radar-footer{font-size:calc(9px * var(--radar-size,1));left:7px;right:7px;bottom:6px;gap:3px 4px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .instruments,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#trainingPanel:not([hidden])) .instruments,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#roomPanel:not([hidden])) .instruments{top:auto;bottom:calc(var(--desktop-top) + max(176px,calc(var(--desktop-radar-height) * var(--radar-size,1))) + 18px);width:136px;transform:scale(var(--hud-scale,1))}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .left-instruments,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#trainingPanel:not([hidden])) .left-instruments,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI[data-radar-position=right]:has(#trainingPanel:not([hidden])) .left-instruments{left:var(--desktop-edge);right:auto;top:auto;bottom:calc(var(--desktop-top) + max(176px,calc(var(--desktop-radar-height) * var(--radar-size,1))) + 18px);transform:scale(var(--hud-scale,1));transform-origin:left bottom}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .right-instruments,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#trainingPanel:not([hidden])) .right-instruments,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI[data-radar-position=right] .right-instruments{right:var(--desktop-edge);left:auto;top:auto;bottom:calc(var(--desktop-top) + max(176px,calc(var(--desktop-radar-height) * var(--radar-size,1))) + 18px);transform-origin:right bottom}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .instruments>span{font-size:11px;letter-spacing:.06em}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .instruments small{font-size:10px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .instruments strong,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#trainingPanel:not([hidden])) .instruments strong{font-size:44px;line-height:1.05;letter-spacing:0}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .instruments label{font-size:11px;letter-spacing:0;margin-bottom:7px;line-height:1.25}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .instruments em{font-size:10px;letter-spacing:0}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .rule{margin:7px 0 10px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .throttle-track{margin:10px 0 7px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .airframe-status{min-width:0;width:272px;max-width:272px;flex:0 0 272px;margin:0;transform-origin:left bottom}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .airframe-status>span{font-size:11px;letter-spacing:.04em}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .airframe-status>small{font-size:10px;line-height:1.4;letter-spacing:0}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .hull{height:3px;margin:9px 0 6px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #aircraftSystems{font-size:10px;gap:5px;margin-top:9px;flex-wrap:wrap}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #aircraftSystems button,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #aircraftSystems>span{min-height:30px;padding:7px 8px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .weapon{font-size:11px;gap:12px;margin-top:10px;flex-wrap:wrap}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .weapon b{font-size:21px;margin-left:4px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .weapon>span:last-child{font-size:10px;line-height:1.3;max-width:90px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #rackStatus{font-size:10px;line-height:1.4;margin-top:7px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #rearmStatus{font-size:10px;line-height:1.45;margin:6px 0 0}

/* Optional help lives above the camera label and yields the chosen radar side. */
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #keyboardHints:not([hidden]),
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #padHints{position:fixed;left:auto;right:var(--desktop-edge);bottom:calc(var(--desktop-top) + 48px);max-width:min(360px,calc(100vw - 2 * var(--desktop-edge) - 470px));box-sizing:border-box;gap:7px;margin:0;padding:10px 12px;border:1px solid #a6c4ae33;border-radius:6px;background:#102832d6;font:10px/1.5 var(--mono);letter-spacing:0}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #keyboardHints kbd{font-size:9px;padding:2px 4px;margin-left:4px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI[data-radar-position=right] :is(#keyboardHints:not([hidden]),#padHints){right:calc(var(--desktop-edge) + var(--desktop-radar-width) * var(--radar-size,1) + 16px);max-width:min(360px,calc(100vw - 2 * var(--desktop-edge) - 470px))}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .camera-label,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#padHints:not([hidden])) .camera-label{left:auto;right:var(--desktop-edge);bottom:var(--desktop-top);transform:none;gap:4px;align-items:flex-end;font-size:10px;letter-spacing:.04em}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .camera-label span:last-child{font-size:9px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI[data-radar-position=right] .camera-label{right:calc(var(--desktop-edge) + var(--desktop-radar-width) * var(--radar-size,1) + 16px)}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #interactionHint{bottom:calc(var(--desktop-top) + max(176px,calc(var(--desktop-radar-height) * var(--radar-size,1))) + 18px);min-height:38px;padding:8px 12px;max-width:min(420px,calc(100vw - 380px));font-size:11px;line-height:1.4;white-space:normal;text-align:center}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui).on-foot #flightUI #interactionHint{bottom:var(--desktop-top);max-width:min(460px,calc(100vw - 2 * var(--desktop-edge)));font-size:12px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui).ground-vehicle #flightUI #interactionHint{left:auto;right:var(--desktop-edge);bottom:var(--desktop-top);transform:none;max-width:min(320px,calc(100vw - 2 * var(--desktop-edge) - 390px))}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #groundHint,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#trainingPanel:not([hidden])) #groundHint{top:auto;bottom:calc(var(--desktop-top) + 68px);font-size:11px;line-height:1.45;padding:8px 11px;max-width:min(420px,calc(100vw - 380px))}

/* Secondary flight and crew context stays on the outer lanes. Room navigation
   and the full player roster already live in pause, so need no gameplay copy. */
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #trainingPanel{top:calc(var(--desktop-top) + 100px);left:auto;right:var(--desktop-edge);width:280px;max-width:28vw;max-height:max(110px,calc(100dvh - 465px));padding:12px 14px;backdrop-filter:none}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #trainingPanel h3{font-size:25px;margin:9px 0}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #trainingPanel p{font-size:13px;line-height:1.5}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI :is(#lessonTip,#lessonMetric){font-size:11px;line-height:1.45}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .training-heading span{font-size:11px;letter-spacing:.02em}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .training-actions button{font-size:10px;min-height:32px;padding:7px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .lesson-picker{font-size:10px;gap:6px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .lesson-picker select{font-size:11px;min-height:34px;padding:7px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #encounterPanel{top:calc(var(--desktop-top) + 165px);right:var(--desktop-edge);width:250px;max-width:27vw;max-height:max(100px,calc(100dvh - 510px));padding:12px 14px;backdrop-filter:none}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #encounterPanel h3{font-size:25px;margin:8px 0}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #encounterPanel .micro{font-size:10px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #encounterPanel p{font-size:11px;line-height:1.5}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #encounterPanel button{font-size:10px;min-height:34px;padding:8px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #worldCrewHUD.world-crew-hud,
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #flightUI #worldCrewHUD.world-crew-hud{top:calc(var(--desktop-top) + 100px);left:var(--desktop-edge);right:auto;width:242px;max-width:27vw;padding:8px 10px;max-height:140px;box-sizing:border-box;overflow:auto;background:#102832a6;pointer-events:auto}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #worldCrewHUD strong{font-size:11px;line-height:1.4}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #worldCrewHUD span{font-size:10px;line-height:1.4}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #wingmanPanel{top:calc(var(--desktop-top) + 100px);left:var(--desktop-edge);width:242px;min-width:0;padding:10px 12px;gap:7px;box-sizing:border-box;backdrop-filter:none}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI :is(#wingmanPanel>span,#wingmanPanel small,#wingmanButton){font-size:11px;line-height:1.4}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#announcer.visible:not(.hud-disabled)) :is(#worldCrewHUD.world-crew-hud,#wingmanPanel),
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #flightUI:has(#announcer.visible:not(.hud-disabled)) #worldCrewHUD.world-crew-hud{top:calc(var(--desktop-top) + 164px)}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #landingChallengeHUD{top:calc(var(--desktop-top) + 56px);left:auto;right:var(--desktop-edge);transform:none;width:280px;max-width:28vw;padding:10px 12px;text-align:left}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #landingChallengeHUD strong{font-size:11px;line-height:1.4}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #landingChallengeHUD p{font-size:11px;line-height:1.45;margin:6px 0 0}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #parachuteHUD{top:calc(var(--desktop-top) + 56px);left:var(--desktop-edge);width:320px;padding:10px 12px}

/* On foot, readable ammo remains below presence. The existing minimap/vitals
   retain their range, dimensions and enabled/disabled preference. */
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #groundMinimap .ground-minimap-legend{font-size:8px;line-height:1.2}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #groundMinimap .ground-minimap-humans{font-size:8px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #pilotHealthHUD>div:first-child{font-size:10px;line-height:1.2}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) #pilotHealthHUD .pilot-stamina-hud{font-size:8px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) .foot-combat-hud{top:calc(var(--desktop-top) + 44px);left:var(--desktop-edge);width:192px;height:54px;max-width:27vw;padding:5px 8px;gap:7px;border:1px solid #bfd8b433;background:#102832a6}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) .foot-combat-hud strong{font-size:11px;line-height:1.3}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) .foot-combat-hud small{font-size:9px;line-height:1.3}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):not(.death-scene):has(#groundMinimap:not([hidden])):has(#announcer.visible:not(:where(.hud-disabled,[hidden]))) :is(#footCombatHUD,.foot-combat-hud,.exotic-tool-hud){visibility:visible}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) .exotic-tool-hud{top:calc(var(--desktop-top) + 44px);left:var(--desktop-edge);width:192px;height:54px;max-width:27vw;padding:6px 8px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) .exotic-tool-hud strong{font-size:11px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui):has(#groundMinimap:not([hidden])) .exotic-tool-hud span{font-size:9px}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #shootingRangeHUD.shooting-range-hud{top:calc(var(--desktop-top) + 112px);left:var(--desktop-edge)}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #drivingHUD.driving-hud{left:var(--desktop-edge);bottom:var(--desktop-top);box-shadow:none}
body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #groundDrivingHint{bottom:calc(var(--desktop-top) + 146px);max-width:min(420px,calc(100vw - 420px));padding:8px 11px;font-size:10px;line-height:1.4}

@media(max-width:1100px),(max-height:700px){
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui){--desktop-top:16px;--desktop-radar-width:132px;--desktop-radar-height:162px}
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .instruments,
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#trainingPanel:not([hidden])) .instruments{width:124px}
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .instruments strong,
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#trainingPanel:not([hidden])) .instruments strong{font-size:40px}
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .airframe-status{width:244px;max-width:244px;flex-basis:244px}
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #keyboardHints:not([hidden]),
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #padHints{max-width:min(300px,calc(100vw - 450px));font-size:9px;gap:5px;padding:8px 9px}
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI[data-radar-position=right] :is(#keyboardHints:not([hidden]),#padHints){max-width:min(280px,calc(100vw - 520px))}
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #trainingPanel{max-height:140px}
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI #encounterPanel{top:calc(var(--desktop-top) + 150px);max-height:110px}
}
@media(max-height:700px){
 /* A short desktop window uses the horizontal space beside each primary value
    instead of stacking tall cards above an enlarged, user-selected radar. */
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .instruments,
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#trainingPanel:not([hidden])) .instruments,
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#roomPanel:not([hidden])) .instruments{display:grid;grid-template-columns:84px minmax(0,1fr);column-gap:8px;row-gap:4px;width:180px;height:100px;align-items:center}
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .right-instruments,
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#trainingPanel:not([hidden])) .right-instruments,
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#roomPanel:not([hidden])) .right-instruments{height:88px}
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .instruments>span{grid-column:1/-1;min-width:0;font-size:10px}
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .instruments strong,
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#trainingPanel:not([hidden])) .instruments strong{grid-column:1;grid-row:2/span 3;min-width:0;font-size:36px;line-height:1.1}
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .right-instruments strong,
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI:has(#trainingPanel:not([hidden])) .right-instruments strong{font-size:30px}
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .instruments label{grid-column:2;min-width:0;font-size:10px;line-height:1.3;margin:0;gap:3px}
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .instruments .rule{display:none}
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .instruments .throttle-track{grid-column:1/-1;margin:3px 0 0}
 body:is(.desktop-ui,.handheld-ui):not(.phone-ui) #flightUI .instruments em{grid-column:1/-1;font-size:9px;line-height:1.2}
}
