#0b0b0f App background.
Layered dark workspace with disciplined borders, keyboard-first hierarchy, and violet-blue focus states.
A dark SaaS control surface with low-chroma panels, sparse accent use, tight row heights, and crisp focus affordances. Useful for issue tracking, command centers, and agent timelines.
productivity / dark / keyboard
#0b0b0f App background.
#141419 Primary panel surface.
#2a2a33 Hairline border.
#f4f4f5 Primary text.
#8f8f9d Secondary text.
#7c5cff Focus, selected item, and active tab.
# Design Reference - Linear
> Layered dark workspace with disciplined borders, keyboard-first hierarchy, and violet-blue focus states.
Theme: dark
Industry: productivity
Captured: 2026-04-18T16:22:10.000Z
## Source
- Source: Public source
- Source URL: https://linear.app
- Original site: https://linear.app
- License note: Publicly visible design reference metadata. Use as inspiration and token guidance, not as copied brand assets.
## Technical Summary
A dark SaaS control surface with low-chroma panels, sparse accent use, tight row heights, and crisp focus affordances. Useful for issue tracking, command centers, and agent timelines.
## Tags
- productivity
- dark
- keyboard
- workspace
- crisp
## Colors
| Name | Value | Token | Group | Role |
| --- | --- | --- | --- | --- |
| Void | `#0b0b0f` | `--color-void` | surface | App background. |
| Panel | `#141419` | `--color-panel` | surface | Primary panel surface. |
| Line | `#2a2a33` | `--color-line` | neutral | Hairline border. |
| Text | `#f4f4f5` | `--color-text` | neutral | Primary text. |
| Muted | `#8f8f9d` | `--color-muted` | neutral | Secondary text. |
| Focus Violet | `#7c5cff` | `--color-focus-violet` | accent | Focus, selected item, and active tab. |
## Typography
### Inter - `--font-inter`
Single family for dense product UI, labels, tables, and command surfaces.
- Family: `Inter, ui-sans-serif, system-ui, sans-serif`
- Weights: 400, 500, 600
- Sizes: 12px, 13px, 14px, 16px, 20px, 40px
- Line heights: 1.2, 1.4, 1.5
## Spacing
- Base unit: 4px
- Density: compact
| Name | Value | Token |
| --- | --- | --- |
| 4 | `4px` | `--spacing-4` |
| 8 | `8px` | `--spacing-8` |
| 12 | `12px` | `--spacing-12` |
| 16 | `16px` | `--spacing-16` |
| 24 | `24px` | `--spacing-24` |
| 32 | `32px` | `--spacing-32` |
| 48 | `48px` | `--spacing-48` |
| 64 | `64px` | `--spacing-64` |
## Radius
- Default: 6px
- Controls: 6px
- Panels: 8px
## Components
### Command row
Role: Navigation
- 24-28px row height
- left icon
- right shortcut hint
### Issue panel
Role: Content
- Dark raised surface
- single-pixel border
- muted metadata line
## Do
- Use one accent at a time.
- Let borders carry hierarchy.
- Keep rows compact and keyboard scannable.
## Dont
- Do not use decorative gradients.
- Do not over-round controls.
- Do not brighten inactive text.
/* Linear public design reference tokens. */
/* Source: https://linear.app */
@theme {
--color-void: #0b0b0f;
--color-panel: #141419;
--color-line: #2a2a33;
--color-text: #f4f4f5;
--color-muted: #8f8f9d;
--color-focus-violet: #7c5cff;
--font-inter: Inter, ui-sans-serif, system-ui, sans-serif;
--spacing-4: 4px;
--spacing-8: 8px;
--spacing-12: 12px;
--spacing-16: 16px;
--spacing-24: 24px;
--spacing-32: 32px;
--spacing-48: 48px;
--spacing-64: 64px;
--radius-default: 6px;
--radius-controls: 6px;
--radius-panels: 8px;
--shadow-panel: rgba(0,0,0,0.35) 0px 12px 32px;
}
/* Linear public design reference tokens. */
/* Source: https://linear.app */
:root {
--color-void: #0b0b0f;
--color-panel: #141419;
--color-line: #2a2a33;
--color-text: #f4f4f5;
--color-muted: #8f8f9d;
--color-focus-violet: #7c5cff;
--font-inter: Inter, ui-sans-serif, system-ui, sans-serif;
--spacing-4: 4px;
--spacing-8: 8px;
--spacing-12: 12px;
--spacing-16: 16px;
--spacing-24: 24px;
--spacing-32: 32px;
--spacing-48: 48px;
--spacing-64: 64px;
--radius-default: 6px;
--radius-controls: 6px;
--radius-panels: 8px;
--shadow-panel: rgba(0,0,0,0.35) 0px 12px 32px;
}
{
"name": "Linear",
"id": "linear",
"sourceUrl": "https://linear.app",
"capturedAt": "2026-04-18T16:22:10.000Z",
"color": {
"colorVoid": {
"$type": "color",
"$value": "#0b0b0f",
"$description": "App background.",
"group": "surface"
},
"colorPanel": {
"$type": "color",
"$value": "#141419",
"$description": "Primary panel surface.",
"group": "surface"
},
"colorLine": {
"$type": "color",
"$value": "#2a2a33",
"$description": "Hairline border.",
"group": "neutral"
},
"colorText": {
"$type": "color",
"$value": "#f4f4f5",
"$description": "Primary text.",
"group": "neutral"
},
"colorMuted": {
"$type": "color",
"$value": "#8f8f9d",
"$description": "Secondary text.",
"group": "neutral"
},
"colorFocusViolet": {
"$type": "color",
"$value": "#7c5cff",
"$description": "Focus, selected item, and active tab.",
"group": "accent"
}
},
"typography": {
"fontInter": {
"$type": "fontFamily",
"$value": "Inter, ui-sans-serif, system-ui, sans-serif",
"$description": "Single family for dense product UI, labels, tables, and command surfaces."
}
},
"spacing": {
"spacing4": {
"$type": "dimension",
"$value": "4px"
},
"spacing8": {
"$type": "dimension",
"$value": "8px"
},
"spacing12": {
"$type": "dimension",
"$value": "12px"
},
"spacing16": {
"$type": "dimension",
"$value": "16px"
},
"spacing24": {
"$type": "dimension",
"$value": "24px"
},
"spacing32": {
"$type": "dimension",
"$value": "32px"
},
"spacing48": {
"$type": "dimension",
"$value": "48px"
},
"spacing64": {
"$type": "dimension",
"$value": "64px"
}
},
"radius": {
"default": {
"$type": "dimension",
"$value": "6px"
},
"controls": {
"$type": "dimension",
"$value": "6px"
},
"panels": {
"$type": "dimension",
"$value": "8px"
}
},
"shadow": {
"shadowPanel": {
"$type": "shadow",
"$value": "rgba(0,0,0,0.35) 0px 12px 32px"
}
}
}{
"id": "linear",
"name": "Linear",
"theme": "dark",
"industry": "productivity",
"summary": "Layered dark workspace with disciplined borders, keyboard-first hierarchy, and violet-blue focus states.",
"technicalSummary": "A dark SaaS control surface with low-chroma panels, sparse accent use, tight row heights, and crisp focus affordances. Useful for issue tracking, command centers, and agent timelines.",
"source": {
"name": "Public source",
"url": "https://linear.app",
"kind": "public-design-reference"
},
"sourceName": "Public source",
"sourceUrl": "https://linear.app",
"originalSiteUrl": "https://linear.app",
"capturedAt": "2026-04-18T16:22:10.000Z",
"licenseNote": "Publicly visible design reference metadata. Use as inspiration and token guidance, not as copied brand assets.",
"tags": [
"productivity",
"dark",
"keyboard",
"workspace",
"crisp"
],
"tokenCount": 19,
"colors": [
{
"name": "Void",
"value": "#0b0b0f",
"token": "--color-void",
"group": "surface",
"role": "App background."
},
{
"name": "Panel",
"value": "#141419",
"token": "--color-panel",
"group": "surface",
"role": "Primary panel surface."
},
{
"name": "Line",
"value": "#2a2a33",
"token": "--color-line",
"group": "neutral",
"role": "Hairline border."
},
{
"name": "Text",
"value": "#f4f4f5",
"token": "--color-text",
"group": "neutral",
"role": "Primary text."
},
{
"name": "Muted",
"value": "#8f8f9d",
"token": "--color-muted",
"group": "neutral",
"role": "Secondary text."
},
{
"name": "Focus Violet",
"value": "#7c5cff",
"token": "--color-focus-violet",
"group": "accent",
"role": "Focus, selected item, and active tab."
}
],
"typography": [
{
"name": "Inter",
"token": "--font-inter",
"family": "Inter, ui-sans-serif, system-ui, sans-serif",
"role": "Single family for dense product UI, labels, tables, and command surfaces.",
"weights": [
"400",
"500",
"600"
],
"sizes": [
"12px",
"13px",
"14px",
"16px",
"20px",
"40px"
],
"lineHeights": [
"1.2",
"1.4",
"1.5"
]
}
],
"spacing": {
"baseUnit": "4px",
"density": "compact",
"scale": [
{
"name": "4",
"value": "4px",
"token": "--spacing-4"
},
{
"name": "8",
"value": "8px",
"token": "--spacing-8"
},
{
"name": "12",
"value": "12px",
"token": "--spacing-12"
},
{
"name": "16",
"value": "16px",
"token": "--spacing-16"
},
{
"name": "24",
"value": "24px",
"token": "--spacing-24"
},
{
"name": "32",
"value": "32px",
"token": "--spacing-32"
},
{
"name": "48",
"value": "48px",
"token": "--spacing-48"
},
{
"name": "64",
"value": "64px",
"token": "--spacing-64"
}
]
},
"radius": {
"default": "6px",
"controls": "6px",
"panels": "8px"
},
"shadows": [
{
"name": "panel",
"value": "rgba(0,0,0,0.35) 0px 12px 32px",
"token": "--shadow-panel"
}
],
"components": [
{
"name": "Command row",
"role": "Navigation",
"technicalNotes": [
"24-28px row height",
"left icon",
"right shortcut hint"
]
},
{
"name": "Issue panel",
"role": "Content",
"technicalNotes": [
"Dark raised surface",
"single-pixel border",
"muted metadata line"
]
}
],
"guidelines": {
"do": [
"Use one accent at a time.",
"Let borders carry hierarchy.",
"Keep rows compact and keyboard scannable."
],
"dont": [
"Do not use decorative gradients.",
"Do not over-round controls.",
"Do not brighten inactive text."
]
},
"exports": {
"htmlUrl": "https://memoire.cv/references/linear",
"jsonUrl": "https://memoire.cv/references/linear.json",
"designMdUrl": "https://memoire.cv/references/linear/design.md",
"tokensJsonUrl": "https://memoire.cv/references/linear/tokens.json",
"tailwindV4Url": "https://memoire.cv/references/linear/tailwind-v4.css"
}
}