Resolved 2 conflicts arising from #786 + #802 both restructuring map UX.
ScaleUnitToggle.tsx:
- Combined #786's onMouseEnter prop (essential for hide-coords-over-controls)
with #802's cursor-pointer styling and `if (scaleUnit !== X)` guards.
- Kept Tailwind classes (codebase convention) over #802's inline styles.
MapComponent.tsx:
- Layered #786's cursor/coords/dragging UX on top of #802's componentized
marker structure (MapMarkerFormPopup, ViewMapMarkerPopup).
- Dropped #786's inline marker form (markerName/markerColor state +
handleSaveMarker) — superseded by #802's MapMarkerFormPopup which
manages its own form state.
- Used #802's handleMapClick (calls confirmDiscardMarkerChanges) instead
of #786's simple version.
- Added '.maplibregl-popup' to both control selectors so #786's
hide-coords-over-controls UX naturally extends to popups without
requiring changes to #802's popup components.
- Kept all of #786's drag/cursor handlers on <Map> (onMouseDown/Up/
DragStart/End/MouseMove/MouseLeave + cursor='grabbing'/'crosshair').
- Kept #802's editingMarkerId / hasUnsavedMarkerChanges state for the
edit flow.