Adopt the portal's design language so the app embeds seamlessly into its
header/sidebar chrome later:
- Token layer rewritten as raw OKLCH triplets (the previous oklch()-wrapped
vars produced invalid colors; the UI was effectively unstyled). Values mirror
GSD: Manrope + Fraunces fonts, #cb333b red brand, warm off-white surfaces,
pill buttons, brand focus rings. Dark tokens follow .dark or the portal's
[data-bs-theme=dark].
- Layout: no left sidebar, no header (the portal supplies them). Conversation
column flush-left with a slim F1-F8 phase strip; session rail moved to the
RIGHT, mirroring the portal's left sidebar (red section label, red-tint active
item). Editorial empty state.
- Transcript component now actually renders the streamed assistant turns (the
store accumulated them but nothing displayed them). Toaster mounted for errors
(matchMedia polyfill added to the jsdom test setup).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>