Mockups · not implemented
Same product: gold duck, Feedback, Support, Changelog, Help Center, Status. Current page structures, with illustrative data and local preview interactions. The change is surface — neutral charcoal, hairline separators, familiar pill actions, solid Heroicons, and quiet hierarchy instead of cards and shadows.
Locked for this pass
Token system
Mapped onto the existing tweakcn variables so branding and expandTheme keep working. Only the unbranded bases move.
| Token | Today (dark) | Proposed | Why |
|---|---|---|---|
| --background / --sidebar | oklch(0.145) zinc | #0a0a0a | Keep the current charcoal base; remove the raised frame around lists. |
| --card / --popover | oklch(0.17) lifted | #0A0A0A / #101010 | Cards share the page. Popovers may lift one step. |
| --border | oklch(0.269) | #262626 | Visible hairline on black without becoming a frame. |
| --muted-foreground | oklch(0.708) | #A1A1A1 | Neutral secondary text stays legible without a blue-gray cast. |
| --radius | 0.625rem everywhere | 8px fields; 12px panels; pill buttons/search | Pills are for controls, not every rectangle. 12px on a 40px field still reads as a capsule. |
| --shadow-* | Pronounced dark shadows | None on surfaces | Depth from hairlines. Dialogs sit on a neutral black dim. |
| --ring | Neutral gray | Gold | A restrained gold focus ring keeps keyboard position clear. |
Shared primitives
Update these first. Most screens inherit the system without a per-page restyle.
Boards, billing, getting started. 12px radius, 1px border, no shadow.
No second “Post” white pill. Primary is gold. Page titles are type only — no gold icon tile. Form fields are 8px, not capsules.
Admin
The inset rounded stage around admin main goes away. Rail, filters, and list share one charcoal field. Rows are posts, not cards. Click filters, votes, and rows. Toggle light to see the sibling.
Structure checked against the current repository. These are visual previews with illustrative data, not a functional replica. View navigation, theme toggles, votes, switches, and the board dialog work locally; search, publishing, and persistence are not connected.
| Area | Preview coverage | Source in apps/web/src |
|---|---|---|
| Feedback & Support | Inbox, post detail, conversation, empty state, board dialog | components/admin/feedback · routes/admin/inbox.tsx |
| Roadmap | Roadmap selector, status columns, post cards | components/admin/roadmap-admin.tsx · roadmap-sidebar.tsx |
| Help Center | Articles, status/category navigation, article detail | components/admin/help-center/help-center-list.tsx · help-center-filters.tsx |
| Status | Overview, incidents, maintenance, services | components/admin/status/status-admin.tsx · status-overview-view.tsx |
| Analytics & Users | Overview metrics and activity, people and companies | components/admin/analytics/analytics-page.tsx · users/users-layout.tsx |
| Quinn Agent | Basics, Knowledge, Guidance | routes/admin/automation.agent.tsx |
| Public portal | Feedback, Changelog, Help Center, Status | routes/_portal/changelog.index.tsx · hc.tsx · status.index.tsx |
Public portal · /
Header: logo, workspace name, underline product nav, gold New post, avatar. Search lives above the boards panel. Use the product navigation to preview Changelog, Help Center, and Status. No inline composer. New post stays the existing dialog.
Voted chevron is gold, no mute box. Status is a dot + label. Boards panel footer keeps Powered by when the plan requires it.
Admin · /admin/settings/general
Left nav stays. Sections are 12px outlined panels. Fields are 8px rectangles. Module rows are a label + switch, not feature tiles.
Small screens
Admin keeps today’s hamburger sheet plus the floating Filters pill — not a new four-icon dock. Portal: New post in the header; Boards opens the existing sheet.
Gold New post in the header. Filters stays the existing FAB. No second dock.
Boards is a header control, not a second column.
Critic rounds