Now that the strip paints on iPhone, it turned out to sit at the very bottom
edge — under the right-edge control stack and clipped by the dock.
The strip spans the full width, so it has to clear that stack rather than sit
beside it:
My Location bottom: 90px + 44px tall -> top at 134px
Base map switcher bottom: 144px + 44px tall -> top at 188px
so bottom: 196px, 8px above the topmost of them. The arithmetic is written into
the rule, with a pointer to .ls-locate-toggle and the LayerSwitcher button in
layerswitcher.css, since a change to either silently reintroduces the overlap.
Landscape still fits: the map is ~270px tall there and the strip is one row at
that width, so 196 + 52 = 248px.
Verified against stand-ins for both buttons at phone and tablet widths: no
overlap in either the one-row or the wrapped two-row layout.
Service Worker v18 -> v19.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>