46512ee1d6
Tours and tips both address elements by selector, and everything they most want to point at — the composer, the model pill, the nav rows, the profile rail, the right-pane toggle — was reachable only by icon, position, or a translated aria-label. None of those survive a re-render, a theme, or a locale change. Two handles are needed per surface, not one, because where an arrow points and what an outline wraps are different questions: a nav row's label carries the `data-tour` handle so an arrow lands at the end of the word, and defers the outline to the row via `data-tip-arrow-only`. The collector also has to skip panes hidden by the keep-alive stack. An inactive tab stays mounted under `visibility: hidden` to keep its scroll position, so its rect is identical to the live tab's and no geometry test separates them — which is how a tour could spotlight a background tab's composer.