The single shared overpass-api.de instance varies wildly in load — Promise.any against three independent public mirrors (also CORS-open, verified) means only the slowest one determines wait time, not whichever happens to be hit. Also show the description tag (falls back to it for the title when a route has no name, e.g. many KST route relations), the ref number, and a "View on OpenStreetMap" link — the popup was skipping data that was already in the response for free.