/* Live HUD; the original map, mission and radio controls retain their identities. */
.compact-hud {
  --map-size:132px;
  position:fixed; z-index:18;
  top:max(18px,env(safe-area-inset-top)); left:max(18px,env(safe-area-inset-left));
  width:min(660px,calc(100vw - 36px)); min-height:var(--map-size);
  padding:6px 0 6px 100px;
  color:#f5f8fc; font-family:Arial,Helvetica,sans-serif; pointer-events:none;
}
.compact-hud[hidden],body:not(.playing) .compact-hud,body.map-open .compact-hud,.hud-menu-targets[hidden] {display:none!important}
.hud-capsule {
  min-height:120px; padding:8px 13px 8px 42px;
  border:1px solid #627888; border-radius:17px;
  background:linear-gradient(160deg,#162637f5 0%,#06111df7 38%,#06121cf7 78%,#0e2030f5);
  box-shadow:inset 0 1px 0 #cad9e52b,inset 0 0 0 2px #07121f,0 3px 8px #0006;
  pointer-events:auto;
}
.compact-hud header {
  position:static; display:flex; align-items:center; justify-content:space-between;
  gap:8px; margin:0 0 4px; pointer-events:auto;
}
.compact-hud .identity {display:block; min-width:0; padding:0}
.compact-hud .identity strong {
  display:block; color:#fff; white-space:nowrap;
  font:900 20px/1.1 Arial,Helvetica,sans-serif; letter-spacing:.35px;
  text-shadow:0 1px 2px #000;
}
.hud-wallet {flex:none; margin-left:auto; text-align:right}
.compact-hud #clock {display:block; white-space:nowrap; color:#d1e3f1; font:700 11px/1.2 ui-monospace,monospace; letter-spacing:.1px}
.compact-hud .cash {position:static; margin-top:2px; color:#54ec8b; font:900 19px/1 Arial,sans-serif; letter-spacing:.2px; text-shadow:0 1px 1px #062014}
.hud-menu-slot {flex:none}
.compact-hud #mobileMenu {
  position:static!important; display:block!important; width:30px!important; height:30px!important;
  min-width:30px; padding:0!important; border:1px solid #415c70!important; border-radius:8px!important;
  background:#0c1c2a!important; color:#d3e4f0!important; font:700 9px Arial,sans-serif!important;
}
.compact-hud #mobileMenu[hidden] {display:none!important}
.compact-hud .mapcard {
  position:absolute; top:0; left:0; right:auto; bottom:auto; display:block;
  width:var(--map-size); height:var(--map-size); padding:0; border:0; background:none; pointer-events:auto;
}
.compact-hud .map-open-button {
  position:relative; width:100%; height:100%; padding:11px; border:2px solid #536a7c; border-radius:50%;
  background:conic-gradient(from 10deg,#f8cc24 0deg 154deg,#1d303e 155deg 214deg,#f8cc24 215deg 266deg,#8c9faa 267deg 344deg,#223645 345deg);
  box-shadow:inset 0 0 0 5px #0a1723,0 3px 7px #0008; overflow:visible;
}
.compact-hud .map-open-button::before,.compact-hud .map-open-button::after {content:none; background:none}
.compact-hud #minimap {display:block; width:100%; height:100%; border:2px solid #eef3f4; border-radius:50%; background:#24352f; image-rendering:pixelated; overflow:hidden}
.compact-hud .map-north {position:absolute; z-index:3; top:-5px; left:50%; transform:translateX(-50%); padding:3px 8px; border:1px solid #5c7181; border-radius:7px; background:#08131f; color:#fff; font:bold 19px/1 Arial,sans-serif}
.compact-hud .map-key {display:none}
.compact-hud .contract {
  position:relative; left:auto; right:auto; top:auto; bottom:auto; display:grid;
  grid-template-columns:18px minmax(0,1fr) auto 28px; gap:6px; align-items:center;
  width:100%; min-height:30px; max-height:none; margin:0; padding:0 5px 0 7px;
  border:1px solid #536b7e; border-bottom-color:#bba046; border-radius:9px; background:#04101ac9; overflow:visible;
}
.compact-hud .mission-diamond {grid-column:1; grid-row:1; display:block; width:16px; height:16px; border:4px solid #f6c722; transform:rotate(45deg); font-size:0; box-shadow:0 1px 2px #0005}
.compact-hud .contract h2 {grid-column:2; grid-row:1; display:block; min-width:0; margin:0; font:700 13px/1.25 Arial,sans-serif; color:#f1f5fa; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.compact-hud .mission-distance {grid-column:3; grid-row:1; white-space:nowrap; color:#b8d0e2; font:600 11px/1 ui-monospace,monospace; letter-spacing:0}
.compact-hud #missionDetails {position:static; float:none; grid-column:4; grid-row:1; width:28px; min-width:28px; min-height:28px; margin:0; padding:2px; border:0; border-radius:6px; font:13px Arial,sans-serif; color:#b4cbdc; background:#0d2130}
.compact-hud #missionDetails[aria-expanded="true"] {transform:rotate(180deg)}
.compact-hud .contract:not(.expanded) :is(.eyebrow,.contractbottom,#cargoStatus,#missiondesc) {display:none}
.compact-hud .contract.expanded :is(.eyebrow,.contractbottom,#cargoStatus,#missiondesc) {grid-column:2/-1; margin:2px 0; padding:0; border:0; float:none; white-space:normal; display:block; font:11px/1.4 Arial,sans-serif}
.compact-hud .contract.expanded #cargoStatus[hidden] {display:none}
.compact-hud .contract.expanded .cargo-status img {width:20px; height:20px; vertical-align:middle}
.compact-hud #contractnum {display:none}
.compact-hud .contract.expanded {max-height:calc(100dvh - 270px); overflow:auto}
.hud-bottom {display:grid; grid-template-columns:minmax(120px,40%) minmax(0,1fr); gap:12px; align-items:center; margin-top:5px}
.compact-hud .player-gauges {position:static; display:grid; gap:4px; width:auto; margin:0; padding:0; border:0; background:none}
.compact-hud .gauge {display:flex; align-items:center; gap:6px; margin:0}
.compact-hud .gauge>span {display:block; width:20px; text-align:center; font:bold 20px/.7 Arial,sans-serif; letter-spacing:0}
.compact-hud .health-gauge .gauge-icon {color:#ff3658}
.compact-hud .stamina-gauge .gauge-icon {color:#ffd821}
.compact-hud .gauge-track {flex:1; height:9px; border:1px solid #496376; border-radius:3px; overflow:hidden; background:#233947; box-shadow:inset 0 1px 2px #0007}
.compact-hud .gauge-track i {display:block; width:100%; height:100%; border-radius:2px; box-shadow:inset 0 1px 1px #ffffff55}
/* Override the legacy segmented gauge background, including its important image. */
.compact-hud #healthFill {background:#f22941; background-image:linear-gradient(#ff4264,#f22941)!important}
.compact-hud #staminaFill {background:#f5c819; background-image:linear-gradient(#ffe942,#f5c819)!important}
.hud-radio {display:flex; align-items:center; min-width:0; gap:8px; border-left:1px solid #a8bbca73; padding-left:12px}
.hud-music-icon {font:28px/1 Arial,sans-serif; color:#fff}
.compact-hud .radio-panel {position:static!important; display:block; flex:1; width:auto; min-width:0; max-width:100%; padding:0!important; border:0; border-radius:0; background:none; box-shadow:none; overflow:hidden; white-space:nowrap; font-size:11px; color:#b5cfe3}
.compact-hud .radio-panel #stationName,.hud-radio-summary strong {display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#f1f7ff; font:800 12px/1.3 Arial,sans-serif; letter-spacing:.2px}
.compact-hud #radioSong,.hud-radio-summary span {display:inline; margin:0; color:#b5cfe3; font:11px/1.4 Arial,sans-serif}
.compact-hud #radioArtist,.hud-radio-summary small {display:inline; margin:0; color:#b5cfe3; font:11px/1.4 Arial,sans-serif}
.compact-hud #radioArtist:not(:empty)::before,.hud-radio-summary small:not(:empty)::before {content:' – '}
.compact-hud .radio-controls,.compact-hud .radio-status {display:none!important}
.hud-radio-summary {display:none; flex:1; min-width:0; padding:0; border:0; background:none; color:inherit; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.hud-radio-drawer .compact-hud .radio-panel {display:none}
.hud-radio-drawer .hud-radio-summary {display:block}
.compact-hud button:focus-visible,.compact-hud .radio-panel:focus-visible {outline:2px solid #f7cc2a; outline-offset:3px}
.hud-feedback {margin-top:2px; font:11px/1.4 Arial,sans-serif}
.compact-hud :is(.status,.interaction-hint,.hover-status,.save-notice) {position:static; left:auto; right:auto; top:auto; bottom:auto; transform:none; max-width:none; max-height:none; margin:3px 0 0; padding:0; border:0; border-radius:0; background:none; color:#c8dded; font:11px/1.4 Arial,sans-serif; letter-spacing:0; text-align:left; pointer-events:none}
.compact-hud :is(.status,.interaction-hint,.hover-status,.save-notice)[hidden] {display:none!important}
.compact-hud .save-notice {color:#ffce78}
.compact-hud .speedcard {position:static; float:right; margin-top:3px; pointer-events:none}
.compact-hud .speedcard[hidden] {display:none}
.compact-hud .speed {margin:0; padding:0; gap:4px; border:0; background:none}
.compact-hud .speed>span {font:bold 15px/1 Arial,sans-serif; letter-spacing:0}
.compact-hud .speed small {font:9px/1 Arial,sans-serif; letter-spacing:0}
.compact-hud .speed b {display:none}
body.playing>.weather-hud,body.playing>footer {display:none!important}
/* The City Menu keeps full station, playback and weather controls. */
#mobileMenuDialog .weather-hud {display:block; position:static; max-width:none; margin-bottom:14px; border:1px solid #526b7b; border-radius:8px; background:#142736; color:#c9dfef; font:11px/1.5 Arial,sans-serif; pointer-events:auto}
#mobileMenuDialog .weather-hud[hidden],.mobile-menu-radio[hidden] {display:none!important}
#mobileMenuDialog .radio-panel {display:block!important; position:static; width:100%; max-height:none; overflow:visible; padding:12px; border:1px solid #506a7b; border-radius:8px; background:#0b1926; margin:0 0 14px}
#mobileMenuDialog .radio-controls {display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px}
#mobileMenuDialog .radio-controls button {display:block; min-width:44px; min-height:44px; padding:5px; margin:0}
#mobileMenuDialog .radio-panel :is(#stationName,#radioSong,#radioArtist) {white-space:normal; overflow-wrap:anywhere}
#mobileMenuDialog .radio-status {display:block}
#mobileMenuDialog .radio-status:empty {display:none}
/* Touch controls remain real 44px targets, with the joystick deck unobstructed. */
body.mobile-ui .compact-hud {
  --map-size:96px;
  top:max(10px,env(safe-area-inset-top)); left:max(10px,env(safe-area-inset-left));
  width:calc(100vw - max(10px,env(safe-area-inset-left)) - max(10px,env(safe-area-inset-right)));
  max-width:660px; min-height:var(--map-size); padding:4px 0 0 70px;
}
body.mobile-ui .hud-capsule {min-height:0; padding:6px 8px 6px 30px; border-radius:14px}
body.mobile-ui .compact-hud header {position:static; left:auto; right:auto; top:auto; min-height:44px; gap:6px; padding:0; margin-bottom:4px}
body.mobile-ui .compact-hud .identity strong {font-size:clamp(12px,2.2vw,18px); letter-spacing:.1px}
body.mobile-ui .compact-hud #clock {font-size:10px}
body.mobile-ui .compact-hud .cash {position:static; margin-top:2px; font-size:17px; letter-spacing:0}
body.mobile-ui .compact-hud #mobileMenu {width:44px!important; height:44px!important; min-width:44px; border-radius:9px!important; font-size:10px!important}
body.mobile-ui .compact-hud .mapcard {position:absolute; left:0; top:14px; right:auto; bottom:auto; display:block; width:var(--map-size); height:var(--map-size)}
body.mobile-ui .compact-hud .map-open-button {width:100%; height:100%; padding:8px}
body.mobile-ui .compact-hud .map-north {top:-4px; padding:2px 6px; font-size:14px}
body.mobile-ui .compact-hud .contract {position:relative; left:auto; right:auto; top:auto; bottom:auto; width:100%; min-height:44px; max-height:none; padding:0 3px 0 5px; grid-template-columns:14px minmax(0,1fr) auto 44px; gap:4px}
body.mobile-ui .compact-hud .mission-diamond {width:12px; height:12px; border-width:3px; font-size:0}
body.mobile-ui .compact-hud .contract h2 {display:block; margin:0; font:700 11px/1.25 Arial,sans-serif}
body.mobile-ui .compact-hud .mission-distance {font-size:10px}
body.mobile-ui .compact-hud #missionDetails {position:static; float:none; width:44px; min-width:44px; min-height:44px; padding:0; font-size:17px; background:transparent}
body.mobile-ui .compact-hud .contract.expanded {max-height:calc(100dvh - var(--mobile-deck) - 180px)}
body.mobile-ui .hud-bottom {grid-template-columns:minmax(65px,36%) minmax(0,1fr); gap:8px; margin-top:4px}
body.mobile-ui .compact-hud .player-gauges {position:static; width:auto; margin:0; padding:0; gap:4px}
body.mobile-ui .compact-hud .gauge {gap:4px; margin:0}
body.mobile-ui .compact-hud .gauge>span {display:block; width:16px; font-size:18px}
body.mobile-ui .compact-hud .gauge-track {height:8px}
body.mobile-ui .hud-radio {padding-left:8px; gap:5px}
body.mobile-ui .hud-music-icon {display:none}
body.mobile-ui .hud-radio-summary {display:block; min-height:44px}
body.mobile-ui .compact-hud .radio-panel {display:none!important}
body.mobile-ui .hud-radio-summary strong {font-size:10px}
body.mobile-ui .hud-radio-summary span {display:block; overflow:hidden; text-overflow:ellipsis; font-size:10px}
body.mobile-ui .hud-radio-summary small {display:none}
body.mobile-ui .compact-hud .speedcard {position:static; top:auto; bottom:auto; right:auto}
body.mobile-ui .compact-hud :is(.status,.interaction-hint,.hover-status,.save-notice) {display:block; font-size:10px}
body.mobile-ui:not(.mobile-message) .compact-hud .status,body.mobile-ui .compact-hud .interaction-hint {display:none}
@media(max-width:600px) {
  body.mobile-ui .compact-hud {--map-size:82px; padding-left:58px}
  body.mobile-ui .hud-capsule {padding-left:27px}
  body.mobile-ui .compact-hud header {position:relative; flex-wrap:wrap; align-content:center; gap:3px; padding-right:48px}
  body.mobile-ui .compact-hud .identity {width:100%}
  body.mobile-ui .compact-hud .identity strong {font-size:13px}
  body.mobile-ui .hud-wallet {display:flex; align-items:center; gap:9px; width:100%; margin:0; text-align:left}
  body.mobile-ui .compact-hud .cash {margin:0; font-size:15px}
  body.mobile-ui .hud-menu-slot {position:absolute; top:0; right:0}
  body.mobile-ui .compact-hud .mapcard {top:24px}
  body.mobile-ui .compact-hud .contract {grid-template-columns:12px minmax(0,1fr) auto 44px; gap:3px}
  .compact-hud .contract.expanded :is(.eyebrow,.contractbottom,#cargoStatus,#missiondesc) {font-size:10px}
}
@media(max-width:360px) {
  body.mobile-ui .compact-hud {--map-size:72px; padding-left:50px}
  body.mobile-ui .hud-capsule {padding-left:24px; padding-right:6px}
  body.mobile-ui .compact-hud .identity strong {font-size:11px}
  body.mobile-ui .compact-hud .contract h2 {font-size:10px}
  body.mobile-ui .compact-hud .mission-distance {font-size:9px}
  body.mobile-ui .hud-bottom {gap:5px}
  body.mobile-ui .hud-radio-summary strong {font-size:9px}
}
@media(max-height:540px) and (min-width:480px) {
  body.mobile-ui .compact-hud {--map-size:96px; width:min(660px,calc(100vw - 24px)); padding-left:70px}
  body.mobile-ui .compact-hud .mapcard {top:14px}
  body.mobile-ui .compact-hud .contract.expanded {max-height:calc(100dvh - var(--mobile-deck) - 170px)}
}
/* Mobile exploration starts with only map, cash, vitals and the City Menu.
   Expanded text is optional; hidden mode leaves one reachable restore target. */
.hud-visibility-button,.hud-expand-button{display:none}
body.mobile-ui.playing .hud-visibility-button{display:block;position:fixed;z-index:26;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;border:1px solid #627888;border-radius:11px;background:#071521eb;color:#dceaf3;font:700 10px Arial,sans-serif;touch-action:manipulation}
body.mobile-ui .hud-menu-slot{display:flex;gap:4px}
body.mobile-ui .hud-expand-button{display:block;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;border:1px solid #415c70;border-radius:9px;background:#0c1c2a;color:#d3e4f0;font:700 20px Arial,sans-serif;touch-action:manipulation}
body.mobile-ui .compact-hud{width:calc(100vw - max(10px,env(safe-area-inset-left)) - max(10px,env(safe-area-inset-right)) - 54px);max-width:606px}
body.mobile-ui:not(.hud-expanded) .compact-hud{--map-size:68px;padding:0 0 0 48px;min-height:76px}
body.mobile-ui:not(.hud-expanded) .hud-capsule{padding:4px 6px 6px 24px;min-height:70px;border-radius:13px}
body.mobile-ui:not(.hud-expanded) .compact-hud header{min-height:44px;flex-wrap:nowrap;padding:0;gap:4px;margin:0}
body.mobile-ui:not(.hud-expanded) .compact-hud :is(.identity,#clock,.contract,.hud-radio,.hud-feedback,.speedcard){display:none!important}
body.mobile-ui:not(.hud-expanded) .hud-wallet{display:block;flex:1;width:auto;margin:0;text-align:left}
body.mobile-ui:not(.hud-expanded) .compact-hud .cash{font-size:16px;white-space:nowrap}
body.mobile-ui:not(.hud-expanded) .hud-menu-slot{position:static}
body.mobile-ui:not(.hud-expanded) .hud-bottom{display:block;margin-top:4px}
body.mobile-ui:not(.hud-expanded) .compact-hud .player-gauges{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
body.mobile-ui:not(.hud-expanded) .compact-hud .gauge-track{height:7px}
body.mobile-ui:not(.hud-expanded) .compact-hud .mapcard{top:4px}
body.mobile-ui.hud-expanded .compact-hud .identity strong{font-size:11px}
body.mobile-ui.hud-expanded .compact-hud header{padding-right:96px}
body.mobile-ui.hud-hidden .compact-hud{display:none!important}
body.mobile-ui.map-open .hud-visibility-button,body:not(.playing) .hud-visibility-button{display:none!important}
.hud-visibility-button:focus-visible,.hud-expand-button:focus-visible{outline:2px solid #f7cc2a;outline-offset:2px}
@media(max-width:360px){body.mobile-ui:not(.hud-expanded) .compact-hud{--map-size:56px;padding-left:38px}body.mobile-ui:not(.hud-expanded) .hud-capsule{padding-left:19px}body.mobile-ui:not(.hud-expanded) .compact-hud .cash{font-size:13px}body.mobile-ui:not(.hud-expanded) .compact-hud .gauge>span{width:12px;font-size:15px}}
@media(min-width:601px){body.mobile-ui.hud-expanded .compact-hud header{padding-right:0}}
/* Reserve real text width for the title, clock and wallet. Independent absolute
   positions let a five-digit balance paint over the time; this one header row
   keeps their gutters while retaining the existing plate/map/mission geometry. */
body.hud-v3:not(.mobile-short-landscape) #gameHud.compact-hud:not(.hud-venue) .hud-capsule>header{
 display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:calc(12px*var(--s));
 position:absolute!important;left:var(--in)!important;right:auto!important;top:calc(var(--hy) + 26px*var(--s))!important;
 width:calc(var(--plate-x) + var(--plate-w) - var(--in) - 16px*var(--s));margin:0!important;padding:0!important;
}
body.hud-v3:not(.mobile-short-landscape) #gameHud.compact-hud:not(.hud-venue) .identity{
 position:static!important;width:auto!important;min-width:0;overflow:hidden;
}
body.hud-v3:not(.mobile-short-landscape) #gameHud.compact-hud:not(.hud-venue) .identity strong{
 font-size:calc(31px*var(--s))!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
body.hud-v3:not(.mobile-short-landscape) #gameHud.compact-hud:not(.hud-venue) .hud-wallet{
 display:flex!important;align-items:center;gap:calc(12px*var(--s));min-width:0;max-width:calc(var(--plate-w) - 240px*var(--s));margin:0;text-align:right;
}
body.hud-v3:not(.mobile-short-landscape) #gameHud.compact-hud:not(.hud-venue) #clock{
 position:static!important;flex:none;width:auto!important;font-size:calc(20px*var(--s))!important;gap:calc(8px*var(--s));line-height:1.2!important;
}
body.hud-v3:not(.mobile-short-landscape) #gameHud.compact-hud:not(.hud-venue) #cash{
 position:static!important;flex:0 1 auto;width:auto!important;min-width:0!important;margin:0!important;
 font-size:calc(30px*var(--s))!important;line-height:1.1!important;overflow:hidden;text-overflow:ellipsis;
}
/* These controls retain their viewport anchors, rather than becoming relative
   to the newly laid-out header. */
body.hud-v3:not(.mobile-short-landscape) #gameHud.compact-hud:not(.hud-venue) :is(#hudMenuSlot,#hudHeat){position:fixed!important}
body.hud-v3.mobile-ui:not(.mobile-short-landscape) #gameHud.compact-hud:not(.hud-venue) .hud-capsule>header{
 top:calc(var(--hy) + 13px)!important;width:calc(var(--mobile-control-width,100vw) - var(--in) - var(--hx) - 10px);gap:8px;
}
body.hud-v3.mobile-ui:not(.mobile-short-landscape) #gameHud.compact-hud:not(.hud-venue) .identity strong{font-size:13px!important}
body.hud-v3.mobile-ui:not(.mobile-short-landscape) #gameHud.compact-hud:not(.hud-venue) .hud-wallet{gap:6px;max-width:calc(var(--mobile-control-width,100vw) - var(--in) - var(--hx) - 72px)}
body.hud-v3.mobile-ui:not(.mobile-short-landscape) #gameHud.compact-hud:not(.hud-venue) #clock{font-size:12px!important}
body.hud-v3.mobile-ui:not(.mobile-short-landscape) #gameHud.compact-hud:not(.hud-venue) #cash{font-size:19px!important}
body.hud-v3.mobile-ui.mobile-narrow-width:not(.mobile-short-landscape) #gameHud.compact-hud:not(.hud-venue) .identity strong{font-size:11px!important}
body.hud-v3.mobile-ui.mobile-narrow-width:not(.mobile-short-landscape) #gameHud.compact-hud:not(.hud-venue) #clock{display:none!important}
body.hud-v3.mobile-ui.mobile-narrow-width:not(.mobile-short-landscape) #gameHud.compact-hud:not(.hud-venue) #cash{font-size:18px!important}
/* Indoor plates are narrower than the phone: anchor the wallet to their edge,
   rather than the screen edge, while preserving the room HUD's geometry. */
body.hud-v3.mobile-ui #gameHud.compact-hud.hud-venue #cash{
 left:calc(var(--plate-x) + var(--plate-w) - 92px)!important;right:auto!important;
 width:76px!important;max-width:76px!important;overflow:hidden;text-overflow:ellipsis;
}
/* Use visible screen width rather than a CSS media query: retained browser zoom
   can leave the layout viewport wider than the area actually available to play. */
body.hud-v3.mobile-ui.mobile-narrow-width #gameHud.compact-hud .identity{
 top:calc(var(--hy) + 14px)!important;
 width:max(0px,calc(var(--mobile-control-width,100vw) - var(--in) - var(--hx) - 74px))!important;
 min-width:0;overflow:hidden;
}
body.hud-v3.mobile-ui.mobile-narrow-width #gameHud.compact-hud .identity strong{
 display:block;font-size:11px!important;line-height:1!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
body.hud-v3.mobile-ui.mobile-narrow-width #gameHud.compact-hud #clock{display:none!important}
body.hud-v3.mobile-ui.mobile-narrow-width #gameHud.compact-hud #cash{
 font-size:18px!important;max-width:64px!important;overflow:hidden;text-overflow:ellipsis;
}
/* Sideways phones have little vertical room. Keep the map, mission and vitals
   in a 72 px cluster; radio remains available through the same live menu. */
body.hud-v3.mobile-ui.mobile-short-landscape #gameHud.compact-hud{
 --map:56px;--plate-x:calc(var(--hx) + 34px);
 --plate-w:calc(var(--mobile-control-width,100vw) - var(--plate-x) - var(--hx) - 60px);
 --in:calc(var(--hx) + 70px);
}
body.hud-v3.mobile-ui.mobile-short-landscape #gameHud.compact-hud .hud-plate{height:58px!important;top:calc(var(--hy) + 6px)!important}
body.hud-v3.mobile-ui.mobile-short-landscape #gameHud.compact-hud .mapcard{top:calc(var(--hy) + 3px)!important;padding:4px!important}
body.hud-v3.mobile-ui.mobile-short-landscape #gameHud.compact-hud .map-north{width:18px;height:18px;font-size:12px!important}
body.hud-v3.mobile-ui.mobile-short-landscape #gameHud.compact-hud .identity{top:calc(var(--hy) + 14px)!important;width:calc(var(--mobile-control-width,100vw) - var(--in) - var(--hx) - 260px)!important;overflow:hidden}
body.hud-v3.mobile-ui.mobile-short-landscape #gameHud.compact-hud .identity strong{font-size:14px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.hud-v3.mobile-ui.mobile-short-landscape #gameHud.compact-hud #clock{right:calc(var(--hx) + 194px)!important;top:calc(var(--hy) + 17px)!important;font-size:12px!important}
body.hud-v3.mobile-ui.mobile-short-landscape #gameHud.compact-hud #cash{right:calc(var(--hx) + 114px)!important;top:calc(var(--hy) + 13px)!important;font-size:18px!important;max-width:72px!important;overflow:hidden;text-overflow:ellipsis}
body.hud-v3.mobile-ui.mobile-short-landscape #gameHud.compact-hud .contract{top:calc(var(--hy) + 33px)!important;width:calc(var(--mobile-control-width,100vw) - var(--in) - var(--hx) - 238px)!important;height:24px!important;padding-left:26px!important}
body.hud-v3.mobile-ui.mobile-short-landscape #gameHud.compact-hud .contract #objective{font-size:12px!important}
body.hud-v3.mobile-ui.mobile-short-landscape #gameHud.compact-hud .contract #distance{font-size:11px!important}
body.hud-v3.mobile-ui.mobile-short-landscape #gameHud.compact-hud .player-gauges{left:auto!important;right:calc(var(--hx) + 114px)!important;top:calc(var(--hy) + 36px)!important;width:104px!important;gap:5px!important}
body.hud-v3.mobile-ui.mobile-short-landscape #gameHud.compact-hud .gauge-icon{font-size:10px!important;width:10px!important}
body.hud-v3.mobile-ui.mobile-short-landscape #gameHud.compact-hud .gauge-track{height:6px!important}
body.hud-v3.mobile-ui.mobile-short-landscape #gameHud.compact-hud .hud-radio{display:none!important}
body.hud-v3.mobile-ui.mobile-short-landscape #gameHud.compact-hud #hudMenuSlot{top:calc(var(--hy) + 6px)!important}
body.hud-v3.mobile-ui.mobile-short-landscape.playing .hud-visibility-button{top:calc(var(--mobile-viewport-top,0px) + (var(--hy) + 72px) * var(--mobile-control-scale,1))!important}
body.hud-v3.mobile-ui.mobile-short-landscape.hud-hidden.playing .hud-visibility-button{top:calc(var(--mobile-viewport-top,0px) + var(--hy) * var(--mobile-control-scale,1))!important}
