cted') {
        setConnUI('connected');
        showToast('telemetry streaming', true);
      }
      // schedule stale check
      clearTimeout(trafficTimer);
      trafficTimer = setTimeout(() => {
        const noTraffic = Date.now() - lastTrafficAt >= TRAFFIC_TIMEOUT_MS;
        if (noTraffic) {
          // socket might still be up, but no frames → stale
          setConnUI('stale');
          showToast('no telemetry');
          qs.spd.textContent = '-';
          qs.alt.textContent = '-';
        