51067e23fd
BookLibraryView is itself pushed from PracticeView's NavigationStack, so the .navigationDestination(for: Book.self) it declared was a non-root registration. Combined with NavigationLink(value: book), that resolved the push to *both* the destination handler and the closure that produced BookLibraryView originally — pushing the chapter list underneath, then re-pushing the library on top. Hitting back popped the library and revealed the chapter list, in the wrong order. Switched both Library→ChapterList and ChapterList→Reader to closure- based NavigationLinks. Destinations attach directly to the link, no type-keyed registry involved. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>