- Register shop_district_ (handleDistrictBack) + shop_subcategory_ (handleSubcategorySelection) in routes.js — Back button in empty categories now works - state.location pipe-delimited with encodeURIComponent — multi-word names (Saint Petersburg) no longer break nav - answerCallbackQuery moved to start of callback handling — no stuck spinner - Empty city fallback (district_unknown) in Select district - Guard against stale underscore-format state.location - 48 tests pass; bump v1.2.4