Resolved 2 conflicts. PR #813 was based on dev (pre-#786/#802 merges) so it
re-introduced overlapping changes:
ScaleUnitToggle.tsx:
- PR #813 used inline `cursor: 'pointer'`. Kept HEAD's `cursor-pointer`
Tailwind class to match codebase convention. Functionally identical.
MapComponent.tsx:
- Took PR #813's full file as the base (it includes #786 + #802 work
plus #813's new MapCommand prop, getMapLocationParams URL helper,
targetIndicator state, fly-to/marker command useEffect, handleMapLoad).
- Preserved one HEAD-only addition: `.maplibregl-popup` selector inclusion
in both `target?.closest()` calls (handleMouseMove + onMouseMoveCapture).
PR #813 takes a different approach (passing `onMouseEnter={hideCoordinates}`
as a prop to ViewMapMarkerPopup and MapMarkerFormPopup), but adding the
popup selector is belt-and-suspenders coverage and harmless.