mber.isFinite(g.gps_satellites) ? `${g.gps_satellites} sats` : "";
        qs.gps.textContent = [fix, sats].filter(Boolean).join(" · ");
      }

      // map
      if (Number.isFinite(g.lat) && Number.isFinite(g.lon) && !(g.lat === 0 && g.lon === 0)) {
        updateMarker(g.lat, g.lon);
      }
    }

    const TRAFFIC_TIMEOUT_MS = 1200;
    let lastTrafficAt = 0;
    let trafficTimer = null;

    function markTelemetrySeen() {
      lastTrafficAt = Date.now();
      if (connText.dataset.state !== 'conne