Contract: everything keys off the existing window classes (`$expanded` 840, `$large` 1200). Phones are unchanged: every new prop is a no-op below 840. No second implementation of any component — each stage extends the shared one.
Type deltas: desktop type steps down, not up (macOS body 13 vs iOS 17). Recommended: body 16→15, titles unchanged, meta stays 13 because Hangul has a higher legibility floor than Latin (our judgement; no source publishes a Korean floor).
Proposal 2026-10-06. Reuses the web-app board kit (WaWindow, WaSidebar, WaPane); the toolbar slot, row layout, inspector content and keyboard layer are all unbuilt.
packages/ui/src/{main-tab-shell,detail-shell,supporting-pane,feed-list.web,pressable,window-size}.tsx · session-card-v2.tsx · apps/web/components/{app-nav,list-detail-layout}.tsx
grounded in 14 source file(s)
packages/ui/src/window-size.tspackages/ui/src/main-tab-shell.tsxpackages/ui/src/detail-shell.tsxpackages/ui/src/supporting-pane.tsxpackages/ui/src/content-width.tsxpackages/ui/src/feed-list.web.tsxpackages/ui/src/pressable.tsxpackages/app/src/presentation/components/sessions/session-card-v2.tsxpackages/features/sessions/src/session-detail-screen.tsxpackages/features/clubs/src/club-detail-screen.tsxpackages/features/profile/src/profile-screen.tsxpackages/features/profile/src/settings-screen.tsxapps/web/components/app-nav.tsxapps/web/components/list-detail-layout.tsx