Renders the Session Detail screen — /sessions/:id. Resolves the URL
id against the sessions slice, computes the session's summary, and
lays out the design's two-row header (title + horizontal KV strip)
over the four-tab shell (Overview / Charts / Map / Raw Data).
Tab panels are placeholders for now; real content lands as CLAUDE.md
TODO §19–§22:
Raw Data — Paginated row table with shared-cursor hover.
Unknown ids land on a "Session not found" state with a back-to-Library
button. The same back button anchors the right side of the header for
known sessions — predictable target across both states.
Renders the Session Detail screen —
/sessions/:id. Resolves the URL id against the sessions slice, computes the session's summary, and lays out the design's two-row header (title + horizontal KV strip) over the four-tab shell (Overview / Charts / Map / Raw Data).Tab panels are placeholders for now; real content lands as CLAUDE.md TODO §19–§22:
Unknown ids land on a "Session not found" state with a back-to-Library button. The same back button anchors the right side of the header for known sessions — predictable target across both states.