Qdrant — Design System
The full decoded design system for Qdrant: color roles, type scale, spacing, radii and paste-ready DESIGN.md / Tailwind / CSS exports.
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/qdrant.
Tokens
Qdrant's decoded design system: background #F0F3FA, text #161E33, accent #E1E5F0, link #161E33, primary #090E1A; type scale h1 64px / h2 48px / body 14px; 4px spacing base; 8px base radius. The single interactive/action color is #E1E5F0 — used only on interactive or must-notice elements (buttons, links, key highlights), never on large fills.
Color roles
| Role | Value |
|---|---|
| bg | #F0F3FA |
| surface | #E2E6EE |
| border | #CFD3DC |
| text | #161E33 |
| text_muted | #686E7E |
| primary | #090E1A |
| accent | #E1E5F0 |
| link | #161E33 |
| secondary | #E1E5F0 |
| button_bg | #E1E5F0 |
| button_text | #FFFFFF |
Using these colors
- Action color
#E1E5F0— the single interactive color; only on things you click or must notice, never large fills. accent,secondary,button_bgare all#E1E5F0— one role, not several (the action color).- accent
#E1E5F0— 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
#090E1A— a brand color — but the call-to-action uses #E1E5F0, not this. - link
#161E33— inline text links and link-styled controls.
Typography
- Heading: Mona Sans
- Body: Mona Sans
- Mono: geist mono
- h1: 64px
- h2: 48px
- body: 14px
Spacing
- base unit: 4px
- scale: 2px, 4px, 6px, 8px, 12px, 16px, 24px, 32px
Radii
- base: 8px
- button: 8px
Shadow
rgb(255, 81, 107) 0px 2px 1px 0px inset
Per-section tokens (9)
Export: DESIGN.md
# Qdrant — Design System > light, modern, medium, custom ## Colors | Role | Value | |------|-------| | bg | `#F0F3FA` | | surface | `#E2E6EE` | | border | `#CFD3DC` | | text | `#161E33` | | text_muted | `#686E7E` | | primary | `#090E1A` | | accent | `#E1E5F0` | | link | `#161E33` | | secondary | `#E1E5F0` | | button_bg | `#E1E5F0` | | button_text | `#FFFFFF` | **Using these colors** - **Action color** `#E1E5F0` — the single interactive color; it appears only on things you click or must notice (buttons, key highlights), never on large fills or backgrounds. - `accent`, `secondary`, `button_bg` are all `#E1E5F0` — one role, not several (your action color). - **accent** `#E1E5F0` — 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** `#090E1A` — a brand color — but the call-to-action uses #E1E5F0, not this. - **link** `#161E33` — inline text links and link-styled controls. ## Typography - Heading: **Mona Sans** _(free fallback: Newsreader)_ - Body: **Mona Sans** _(free fallback: Newsreader)_ - Mono: **geist mono** _(measured)_ | Role | Size / weight · line-height · tracking | |------|------------------------------------------| | hero | 64px / 600 · lh 70px · tracking -1.5px | | h2 | 48px / 600 · lh 53px · tracking -0.5px | | h3 | 40px / 600 · lh 48px · tracking -0.5px | | body | 16px / 500 · lh 24px | | small | 14px / 500 · lh 21px | | eyebrow | 14px / 500 · tracking 2px | - Weight ladder: 350 · 400 · 500 · 600 — use these exact measured weights, not the 400/600 defaults. > **Fonts —** Mona Sans may be proprietary — safe free fallback: Newsreader (Google Fonts). ## Spacing - base unit: 4px - scale: 2px, 4px, 6px, 8px, 12px, 16px, 24px, 32px - section rhythm: 80px top/bottom padding per section (measured) ## Radius - base: 8px - button: 8px - card: 8px - sharp: 2px ## Primary button - bg `#E1E5F0` · text `#FFFFFF` · radius 8px ## 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 #E1E5F0 — the one interactive color; buttons/links/emphasis only, never large fills. */
--color-bg: #F0F3FA;
--color-surface: #E2E6EE;
--color-border: #CFD3DC;
--color-text: #161E33;
--color-text-muted: #686E7E;
--color-primary: #090E1A; /* a brand color — but the call-to-action uses #E1E5F0, not this. */
--color-accent: #E1E5F0; /* 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: #161E33; /* inline text links and link-styled controls. */
--color-secondary: #E1E5F0; /* same color as the action (see accent). */
--color-button-bg: #E1E5F0; /* primary-button fill — the main call-to-action color. */
--color-button-text: #FFFFFF;
/* fonts: Mona Sans may be proprietary — safe free fallback: Newsreader (Google Fonts). */
--font-heading: "Mona Sans", "Newsreader", system-ui, -apple-system, 'Segoe UI', sans-serif;
--font-body: "Mona Sans", "Newsreader", system-ui, -apple-system, 'Segoe UI', sans-serif;
--font-mono: "geist mono", ui-monospace, monospace;
/* measured weights: 350, 400, 500, 600 — use these, not 400/600 */
--text-hero: 64px; --font-weight-hero: 600; --leading-hero: 70px; --tracking-hero: -1.5px;
--text-h2: 48px; --font-weight-h2: 600; --leading-h2: 53px; --tracking-h2: -0.5px;
--text-h3: 40px; --font-weight-h3: 600; --leading-h3: 48px; --tracking-h3: -0.5px;
--text-body: 16px; --font-weight-body: 500; --leading-body: 24px;
--text-small: 14px; --font-weight-small: 500; --leading-small: 21px;
--text-eyebrow: 14px; --font-weight-eyebrow: 500; --tracking-eyebrow: 2px;
--radius-base: 8px;
--radius-button: 8px;
--radius-card: 8px;
--radius-sharp: 2px;
--section-y: 80px; /* per-section vertical padding (measured) */
--spacing-1: 2px;
--spacing-2: 4px;
--spacing-3: 6px;
--spacing-4: 8px;
--spacing-5: 12px;
--spacing-6: 16px;
--spacing-7: 24px;
--spacing-8: 32px;
}Export: CSS variables
:root {
/* action color #E1E5F0 — the one interactive color; buttons/links/emphasis only, never large fills. */
--bg: #F0F3FA;
--surface: #E2E6EE;
--border: #CFD3DC;
--text: #161E33;
--text-muted: #686E7E;
--primary: #090E1A; /* a brand color — but the call-to-action uses #E1E5F0, not this. */
--accent: #E1E5F0; /* 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: #161E33; /* inline text links and link-styled controls. */
--secondary: #E1E5F0; /* same color as the action (see accent). */
--button-bg: #E1E5F0; /* primary-button fill — the main call-to-action color. */
--button-text: #FFFFFF;
--font-heading: "Mona Sans", "Newsreader", system-ui, -apple-system, 'Segoe UI', sans-serif;
--font-body: "Mona Sans", "Newsreader", system-ui, -apple-system, 'Segoe UI', sans-serif;
--font-mono: "geist mono", ui-monospace, monospace;
--text-hero: 64px; --weight-hero: 600; --leading-hero: 70px; --tracking-hero: -1.5px;
--text-h2: 48px; --weight-h2: 600; --leading-h2: 53px; --tracking-h2: -0.5px;
--text-h3: 40px; --weight-h3: 600; --leading-h3: 48px; --tracking-h3: -0.5px;
--text-body: 16px; --weight-body: 500; --leading-body: 24px;
--text-small: 14px; --weight-small: 500; --leading-small: 21px;
--text-eyebrow: 14px; --weight-eyebrow: 500; --tracking-eyebrow: 2px;
--radius: 8px;
--radius-button: 8px;
--radius-card: 8px;
--radius-sharp: 2px;
--section-y: 80px;
}
/* fonts: Mona Sans may be proprietary — safe free fallback: Newsreader (Google Fonts). */