Linear — Design System
Linear is near-black restraint with one decisive accent. The canvas sits at #08090A and a single indigo (#5E6AD2) does all the pointing; everything else is a disciplined grayscale ladder. Inter carries every word — no display face, no flourish — set tight on a strict 8px rhythm so the interface reads as engineered, not decorated. Corners are minimal (2px on surfaces, fully-rounded pills on primary buttons), borders are hairline #26282A, and shadows are nearly absent — depth comes from luminance, not drop-shadow. It feels fast before you click: quiet, dense, keyboard-first, and unmistakably built for people who ship.
This is a static, crawlable rendering for search & AI engines. The interactive version — filters, live decode console, copy & export — is at https://mozaika.design/ds/linear.
Tokens
Linear's decoded design system: background #08090A, text #D0D6E0, accent #E5E5E6, link #5E6AD2, primary #D0D6E0; type scale h1 64px / h2 48px / body 15px; 8px spacing base; 2px base radius. The single interactive/action color is #E5E5E6 — used only on interactive or must-notice elements (buttons, links, key highlights), never on large fills.
Color roles
| Role | Value |
|---|---|
| bg | #08090A |
| surface | #141516 |
| border | #26272A |
| text | #D0D6E0 |
| text_muted | #84888E |
| primary | #D0D6E0 |
| accent | #E5E5E6 |
| link | #5E6AD2 |
| secondary | #E4F222 |
| button_bg | #E5E5E6 |
| button_text | #08090A |
Using these colors
- Action color
#E5E5E6— the single interactive color; only on things you click or must notice, never large fills. accent,button_bgare all#E5E5E6— one role, not several (the action color).- accent
#E5E5E6— 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. - primary
#D0D6E0— ≈ the text color — a foreground/text color, not an action color (action = #E5E5E6). - link
#5E6AD2— inline text links and link-styled controls. - secondary
#E4F222— optional secondary accent — LOW decode confidence; use rarely (a status color or a single decorative moment) or omit it entirely. Prefer one accent unless the reference clearly shows two.
Typography
- Heading: SF Pro Display
- Body: Inter
- Mono: Berkeley Mono
- h1: 64px
- h2: 48px
- body: 15px
Spacing
- base unit: 8px
- scale: 4px, 8px, 12px, 16px, 24px, 32px, 48px, 64px
Radii
- base: 2px
- button: 9999px
Shadow
rgba(0, 0, 0, 0) 0px 8px 2px 0px, rgba(0, 0, 0, 0.01) 0px 5px 2px 0px, rgba(0, 0, 0, 0.04) 0px 3px 2px 0px, rgba(0, 0, 0, 0.07) 0px 1px 1px 0px, rgba(0, 0, 0, 0.08) 0px 0px 1px 0px
Per-section tokens (39)
- Hero — dark · bg #080A0B · text #4A88AE · 3 col · split
- Integrations — dark · bg #080A0B · text #3C3D3E · 3 col · split
- Hero — dark · bg #080A0B · text #636569 · 1 col · center
- Integrations — dark · bg #080A0B · text #404243 · 3 col · split
- Hero — dark · bg #080A0B · text #E1E2E2 · 1 col · center
- Testimonial / Social Proof — dark · bg #080A0B · text #656767 · 1 col · center
- Hero — dark · bg #080A0B · text #909292 · 1 col · left
- Hero — dark · bg #080A0B · text #313334 · 2 col · split
- Feature — dark · bg #080A0B · text #88A6C2 · 2 col · split
- Integrations — dark · bg #080A0B · text #C0C1C1 · 1 col · left
- Feature — dark · bg #080A0B · text #585C5F · 1 col · center
- Pricing / Plans — dark · bg #080A0B · text #3B3C3F · 2 col · split
- Banner — dark · bg #080A0B · text #73777C · 1 col · left
- Logo Wall — dark · bg #0F1112 · text #27292A · 1 col · left
- Logo Wall — dark · bg #080A0B · text #757A80 · 1 col · left
- Logo Wall — dark · bg #080A0B · text #808386 · 1 col · left
- Testimonial / Social Proof — dark · bg #080A0B · text #45474B · 2 col · split
- Integrations — dark · bg #0F1112 · text #2A2C2D · 1 col · left
- Feature — dark · bg #080A0B · text #56595C · 1 col · center
- Logo Wall — dark · bg #0F1112 · text #525253 · 2 col · split
- Feature — dark · bg #080A0B · text #65696D · 1 col · left
- Banner — dark · bg #0F1112 · text #2D2C21 · 1 col · left
- Feature — dark · bg #080A0B · text #5D5F63 · 3 col · split
- Feature — dark · bg #080A0B · text #82858A · 1 col · left
- Integrations — dark · bg #0F1112 · text #423D27 · 2 col · split
- Integrations — dark · bg #0F1112 · text #444145 · 2 col · split
- Logo Wall — dark · bg #080A0B · text #5A5E63 · 1 col · left
- Feature — dark · bg #080A0B · text #292B2D · 2 col · split
- Testimonial / Social Proof — dark · bg #0F1112 · text #5F5F5B · 2 col · split
- Feature — dark · bg #080A0B · text #606367 · 3 col · split
- Integrations — dark · bg #0F1112 · text #2E3135 · 2 col · split
- Feature — dark · bg #0F1112 · text #46494F · 2 col · split
- Footer
- Feature — dark · bg #080A0B · text #2F3133 · 2 col · split
- Integrations — dark · bg #0F1112 · text #4D4F50 · 2 col · split
- Feature — dark · bg #080A0B · text #474846 · 2 col · split
- Integrations — dark · bg #0F1112 · text #464748 · 2 col · split
- Integrations — dark · bg #0F1112 · text #6E6F70 · 3 col · split
- CTA / Sign-up — dark · bg #080A0B · text #F0F1F0 · 1 col · center
Export: DESIGN.md
# Linear — Design System > dark, modern, medium, custom Linear is near-black restraint with one decisive accent. The canvas sits at #08090A and a single indigo (#5E6AD2) does all the pointing; everything else is a disciplined grayscale ladder. Inter carries every word — no display face, no flourish — set tight on a strict 8px rhythm so the interface reads as engineered, not decorated. Corners are minimal (2px on surfaces, fully-rounded pills on primary buttons), borders are hairline #26282A, and shadows are nearly absent — depth comes from luminance, not drop-shadow. It feels fast before you click: quiet, dense, keyboard-first, and unmistakably built for people who ship. ## Colors | Role | Value | |------|-------| | bg | `#08090A` | | surface | `#141516` | | border | `#26272A` | | text | `#D0D6E0` | | text_muted | `#84888E` | | primary | `#D0D6E0` | | accent | `#E5E5E6` | | link | `#5E6AD2` | | secondary | `#E4F222` | | button_bg | `#E5E5E6` | | button_text | `#08090A` | **Using these colors** - **Action color** `#E5E5E6` — the single interactive color; it appears only on things you click or must notice (buttons, key highlights), never on large fills or backgrounds. - `accent`, `button_bg` are all `#E5E5E6` — one role, not several (your action color). - **accent** `#E5E5E6` — 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. - **primary** `#D0D6E0` — ≈ the text color — a foreground/text color, not an action color (action = #E5E5E6). - **link** `#5E6AD2` — inline text links and link-styled controls. - **secondary** `#E4F222` — optional secondary accent — LOW decode confidence; use rarely (a status color or a single decorative moment) or omit it entirely. Prefer one accent unless the reference clearly shows two. ## Typography - Heading: **SF Pro Display** _(free fallback: Inter)_ - Body: **Inter** - Mono: **Berkeley Mono** _(measured)_ | Role | Size / weight · line-height · tracking | |------|------------------------------------------| | hero | 64px / 510 · lh 64px · tracking -1.41px | | h2 | 48px / 510 · lh 48px · tracking -1.06px | | h3 | 24px / 400 · lh 32px · tracking -0.29px | | body | 15px / 400 · lh 24px · tracking -0.17px | | small | 14px / 400 · lh 21px · tracking -0.18px | - Weight ladder: 300 · 400 · 510 · 590 — use these exact measured weights, not the 400/600 defaults. > **Fonts —** SF Pro Display is proprietary — closest free match: Inter (Google). Load Inter; keep SF Pro Display first so licensed users still get it. Inter — free, on Google. ## Spacing - base unit: 8px - scale: 4px, 8px, 12px, 16px, 24px, 32px, 48px, 64px - section rhythm: 128px top/bottom padding per section (measured) ## Radius - base: 2px - button: 9999px - card: 6px - pill: 9999px - sharp: 2px ## Primary button - bg `#E5E5E6` · text `#08090A` · radius 9999px ## How to apply Paste the Tailwind `@theme` (or CSS variables) as your base, then build each section to its spec — verify every color, radius, and font against these tokens.
Export: Tailwind v4 (@theme)
@theme {
/* action color #E5E5E6 — the one interactive color; buttons/links/emphasis only, never large fills. */
--color-bg: #08090A;
--color-surface: #141516;
--color-border: #26272A;
--color-text: #D0D6E0;
--color-text-muted: #84888E;
--color-primary: #D0D6E0; /* ≈ the text color — a foreground/text color, not an action color (action = #E5E5E6). */
--color-accent: #E5E5E6; /* 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. */
--color-link: #5E6AD2; /* inline text links and link-styled controls. */
--color-secondary: #E4F222; /* optional secondary accent — LOW decode confidence; use rarely (a status color or a single decorative moment) or omit it entirely. Prefer one accent unless the reference clearly shows two. */
--color-button-bg: #E5E5E6; /* primary-button fill — the main call-to-action color. */
--color-button-text: #08090A;
/* fonts: SF Pro Display is proprietary — closest free match: Inter (Google). Load Inter; keep SF Pro Display first so licensed users still get it. Inter — free, on Google. */
--font-heading: "SF Pro Display", "Inter", system-ui, -apple-system, 'Segoe UI', sans-serif;
--font-body: "Inter", system-ui, -apple-system, 'Segoe UI', sans-serif;
--font-mono: "Berkeley Mono", ui-monospace, monospace;
/* measured weights: 300, 400, 510, 590 — use these, not 400/600 */
--text-hero: 64px; --font-weight-hero: 510; --leading-hero: 64px; --tracking-hero: -1.41px;
--text-h2: 48px; --font-weight-h2: 510; --leading-h2: 48px; --tracking-h2: -1.06px;
--text-h3: 24px; --font-weight-h3: 400; --leading-h3: 32px; --tracking-h3: -0.29px;
--text-body: 15px; --font-weight-body: 400; --leading-body: 24px; --tracking-body: -0.17px;
--text-small: 14px; --font-weight-small: 400; --leading-small: 21px; --tracking-small: -0.18px;
--radius-base: 2px;
--radius-button: 9999px;
--radius-card: 6px;
--radius-pill: 9999px;
--radius-sharp: 2px;
--section-y: 128px; /* per-section vertical padding (measured) */
--spacing-1: 4px;
--spacing-2: 8px;
--spacing-3: 12px;
--spacing-4: 16px;
--spacing-5: 24px;
--spacing-6: 32px;
--spacing-7: 48px;
--spacing-8: 64px;
}Export: CSS variables
:root {
/* action color #E5E5E6 — the one interactive color; buttons/links/emphasis only, never large fills. */
--bg: #08090A;
--surface: #141516;
--border: #26272A;
--text: #D0D6E0;
--text-muted: #84888E;
--primary: #D0D6E0; /* ≈ the text color — a foreground/text color, not an action color (action = #E5E5E6). */
--accent: #E5E5E6; /* 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. */
--link: #5E6AD2; /* inline text links and link-styled controls. */
--secondary: #E4F222; /* optional secondary accent — LOW decode confidence; use rarely (a status color or a single decorative moment) or omit it entirely. Prefer one accent unless the reference clearly shows two. */
--button-bg: #E5E5E6; /* primary-button fill — the main call-to-action color. */
--button-text: #08090A;
--font-heading: "SF Pro Display", "Inter", system-ui, -apple-system, 'Segoe UI', sans-serif;
--font-body: "Inter", system-ui, -apple-system, 'Segoe UI', sans-serif;
--font-mono: "Berkeley Mono", ui-monospace, monospace;
--text-hero: 64px; --weight-hero: 510; --leading-hero: 64px; --tracking-hero: -1.41px;
--text-h2: 48px; --weight-h2: 510; --leading-h2: 48px; --tracking-h2: -1.06px;
--text-h3: 24px; --weight-h3: 400; --leading-h3: 32px; --tracking-h3: -0.29px;
--text-body: 15px; --weight-body: 400; --leading-body: 24px; --tracking-body: -0.17px;
--text-small: 14px; --weight-small: 400; --leading-small: 21px; --tracking-small: -0.18px;
--radius: 2px;
--radius-button: 9999px;
--radius-card: 6px;
--radius-pill: 9999px;
--radius-sharp: 2px;
--section-y: 128px;
}
/* fonts: SF Pro Display is proprietary — closest free match: Inter (Google). Load Inter; keep SF Pro Display first so licensed users still get it. Inter — free, on Google. */