Linear Mobile — design system & UI screens
Project and team organization for collaborative work management, displayed as a hierarchical sidebar. The interface groups saved favorites (Triage, H2 2025, Product roadmap, AI workstreams, Navigation restructure, Compass material, Agent PRD, Design weekly sync) above collapsible team sections (Mobile with iOS and Android sub-items, Product), with a bottom navigation bar for main app sections.
This is a static, crawlable rendering for search & AI engines. The interactive version — filters, live decode console, copy & export — is at https://mozaika.design/website/linear-mobile.
Decoded design system
Linear Mobile's decoded design system: background #0D0D0D, text #FFFFFF, accent #5B6AD9, link #5B6AD9, primary #5B6AD9; type scale h1 34px / h2 22px / body 17px; 4px spacing base; 12px base radius. The single interactive/action color is #5B6AD9 — used only on interactive or must-notice elements (buttons, links, key highlights), never on large fills.
Color roles
| Role | Value |
|---|---|
| bg | #0D0D0D |
| surface | #1B1B1B |
| border | #313131 |
| text | #FFFFFF |
| text_muted | #A3A3A3 |
| primary | #5B6AD9 |
| accent | #5B6AD9 |
| link | #5B6AD9 |
| button_bg | #5B6AD9 |
| button_text | #0D0D0D |
Using these colors
- Action color
#5B6AD9— the single interactive color; only on things you click or must notice, never large fills. primary,accent,link,button_bgare all#5B6AD9— one role, not several (the action color).- accent
#5B6AD9— THE accent / action color — interactive & must-notice only (buttons, links, focus, one key highlight); never large fills or backgrounds. Scarcity is what makes it read as designed.
Typography
- Mono: Berkeley Mono
- h1: 34px
- h2: 22px
- body: 17px
Spacing
- base unit: 4px
- scale: 2px, 3px, 4px, 6px, 8px, 12px, 15px, 16px, 20px, 24px
Radii
- base: 12px
- button: 12px
Shadows (elevation)
- subtle:
rgba(0, 0, 0, 0.03) 0px 1.2px 0px 0px - card:
rgba(0, 0, 0, 0.4) 0px 2px 4px 0px - overlay:
rgba(8, 9, 10, 0.6) 0px 4px 32px 0px
Motion
Micro-interactions run at 160ms (dominant) with cubic-bezier(0.25, 0.46, 0.45, 0.94).
- durations: 160ms · 400ms · 100ms
- easings:
cubic-bezier(0.25, 0.46, 0.45, 0.94)·ease-out - animated properties: transform, filter, background, opacity
Native design tokens
| Token | Value |
|---|---|
--color-text-secondary | #d0d6e0 |
--color-text-tertiary | #8a8f98 |
--color-line-tertiary | #18191a |
--color-white | #fff |
--color-accent | #7170ff |
--color-border-translucent | #ffffff0d |
--color-line-secondary | #202122 |
--color-bg-level-3 | #191a1b |
--editor-text-color | #e4e5e9 |
--color-line-primary | #37393a |
…and 110 more measured on the page.
Button states (measured)
- primary hover: background
#FFFFFF - primary focus: outline
1px solid rgb(94, 105, 209)
Layout (measured)
- container max-width:
1436px - nav: 73px fixed, backdrop
blur(20px) - common grid: 2 columns
Motion choreography (measured)
Load order: span.w9ZFkq_animatedTextGradi → circle.grid-dot-0-0-upDown×25 → circle.grid-dot-0-0-pong×25 → circle.grid-dot-0-0-agent×50 → div.qM9FAa_cursor → circle.grid-dot-0-0-empty-once×25
Scroll reveal: 2 elements rest at opacity 0, animate in over 800ms.
Overlay recipe (measured)
dropdown panel: #171718 · radius 8px · enter 160ms cubic-bezier(0.25, 0.46, 0.45, 0.94)
Input (measured)
height 68px · radius 6px · focus ring 1px solid rgb(94, 105, 209)
Responsive (measured)
- breakpoints: 640px · 768px · 1024px · 1280px · 1440px · 1536px
- mobile (390px): hero 38px · nav inline
Full design system, per-section tokens & DESIGN.md / Tailwind / CSS exports →