Same routes, different chrome
Below 768px we collapse the three-column shell into a single column with a bottom nav, a left drawer, and a draggable bottom-sheet. No new routes. No new entities. Same data, different surface — every URL renders correctly on every viewport.
The four primary surfaces from the desktop topnav move to the bottom nav, plus Voice (which toggles the voice flow inline rather than navigating). Safe-area-inset-bottom padding keeps it above the iOS home indicator.
Tapping the left hamburger slides in the existing left rail — journey picker, sidebar projection, decision list. Backdrop tap closes; Esc closes; tapping a link inside closes too so you land on the destination uncluttered.
On decision pages the right rail (steps, doc preview, presence, feedback) becomes a draggable bottom-sheet. Tap the handle to toggle peek ↔ open. Drag for a direct-manipulation feel. Snap to nearest on release.
The right-side hamburger opens the user menu: Dark / Light / Match system theme picker, secondary nav links, account + logout. Same content as desktop; mobile just collapses it behind one tap.