| Class | Width (dp) | Layout |
|---|---|---|
| Compact | <600 | bottom tab bar, FAB, one pane (today) |
| Medium | 600–839 | navigation rail, one pane, content max width |
| Expanded | 840–1199 | rail + two-pane layouts (list-detail, supporting pane) |
| Large | ≥1200 | labeled sidebar + supporting pane, content max ~1200 |
Classes follow Material 3 window size classes (compact / medium / expanded), with large added at 1200 for the sidebar.
Shared: the @twomore/ui shells gain a max width and an optional side pane; media breakpoints are declared in both tamagui configs. Web-only: the sidebar and rail, the route-group layout, hover and keyboard behaviour.
Density: hover dims inside the element (no press band); focus rings stay; text line length stays at or under about 70ch.
Decided 2026-09-30 and built. Now: the create button is 번개 만들기; 설정 uses the 메시지 list-detail instead of a sub-nav; the 홈 summary pane is not built (its counts need their own question).
apps/web/app/{layout.tsx,(tabs)/layout.tsx,globals.css} · packages/ui/src/{main-tab-shell,detail-shell,bottom-cta-band}.tsx
grounded in 15 source file(s)
apps/web/app/layout.tsxapps/web/app/(tabs)/layout.tsxapps/web/app/globals.csspackages/ui/src/main-tab-shell.tsxpackages/ui/src/detail-shell.tsxpackages/ui/src/bottom-cta-band.tsxpackages/app/src/presentation/components/sessions/session-card-v2.tsxpackages/features/sessions/src/session-detail-screen.tsxpackages/features/messaging/src/dm-inbox-screen.tsxpackages/features/messaging/src/dm-thread-screen.tsxpackages/features/profile/src/settings-screen.tsxapps/web/components/app-nav.tsxapps/web/components/list-detail-layout.tsxpackages/ui/src/supporting-pane.tsxpackages/ui/src/window-size.ts