body { background: #02040a; }
  .mapwrap { background: #02040a; border-color: #16233a; }
  .globe-stage { position: relative; background: #02040a; }
  canvas#map { display: block; width: 100%; height: 58vh; min-height: 380px; cursor: grab; background: #02040a; touch-action: none; }
  #labels { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
  .glabel {
    position: absolute; transform: translate(12px, -50%);
    font-family: var(--mono); font-size: 12px; white-space: nowrap;
    padding: 1px 6px; border-radius: 2px;
    background: rgba(2, 6, 16, 0.72); text-shadow: 0 1px 3px #000;
  }
  .glabel.sel { color: #ff8a5c; }
  .glabel.hover { color: #eaf2ff; }
  .glabel.silo { color: #ffc04a; }
  .ghud {
    position: absolute; transform: translate(16px, -50%);
    font-family: var(--mono); font-size: 13px; line-height: 1.5;
    white-space: nowrap; text-shadow: 0 1px 4px #000, 0 0 10px rgba(0,0,0,0.9);
  }
  .ghud.docked {
    left: auto; right: 12px; top: 12px; transform: none; max-width: calc(100% - 24px);
    padding: 10px 14px; background: rgba(2, 6, 16, 0.84); border: 1px solid #1c2a40; border-radius: 4px;
    text-shadow: none; white-space: normal; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
  }
  .ghud .gh-name { color: #ffffff; font-weight: 500; letter-spacing: 0.02em; }
  .ghud .gh-cy { color: #6ee7ff; }
  .ghud .gh-gr { color: #7dff9b; }
  .ghud .gh-warn { color: #ff8a5c; }
  .telemetry .threat { color: #ff6b5e; letter-spacing: 0.12em; }
  .navhint { color: var(--ink-3); letter-spacing: 0.06em; }
  .map-head { background: rgba(4, 10, 20, 0.9); }
