When sorting by shape (A–Z), the 1,930 sightings without a shape come first, so the first ~97 pages of "load more" show only "Unknown". MySQL sorts `NULL` (and empty strings) before every other value in ascending order. City sorting has the same risk, since empty cities (`''`) also sort first. ## Tasks - [ ] Put sightings without a shape last in `SHAPE_ASC` (e.g. `sh.NAME IS NULL, sh.NAME ASC, s.UFO_SIGHTING_ID ASC` in `backend/src/db/sightings.ts`) - [ ] Check whether any sightings have an empty city, and if so put them last in `CITY_ASC` - [ ] Add a test for the sort order ## Done when - [ ] Sorting by shape or city starts with real names, and sightings without a value come last - [ ] Pagination still returns every sighting exactly once