Typography
The typographic system defines font families, scale, weights, line heights, and letter spacing used across the entire platform. Every value is intentional and optimized for dense data-rich interfaces.
Font Families
The system uses two typefaces: Inter for all user interface text and JetBrains Mono for code, data values, and monospaced content.
/* CSS Custom Property */
--mono: 'JetBrains Mono', 'SF Mono', 'Consolas', monospace;
/* Body font stack */
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;Type Scale
The platform uses a compact, purposeful scale optimized for data-dense dashboards. Every size corresponds to a specific UI role. Base font size is 14px (body).
Scale Reference Table
| Size | Pixels | Weight | Role | Where Used |
|---|---|---|---|---|
1.25rem | 20px | 700 | Page title | Main page heading, docs-page-title |
0.95rem | ~15px | 700 | Panel title | Sidebar panel headings, settings panels |
0.9rem | ~14px | 700 | Card title | Card headers, modal titles, widget names |
0.84rem | ~13px | 500 | Sidebar link | Navigation sidebar links |
0.82rem | ~13px | 600 | Section title | Section headings, inline row titles |
0.78rem | ~12px | 500 | Body | Buttons, form inputs, body text, callouts |
0.75rem | ~12px | 400 | Card sub | Card subtitles, secondary descriptions (mono) |
0.72rem | ~11px | 500-600 | Small body | Table cells, form labels, code blocks, sidebar labels |
0.68rem | ~11px | 600 | Sub text | Uppercase micro labels, topbar link text |
0.65rem | ~10px | 600 | Micro label | Swatch hex values, meta info, shadow labels |
0.62rem | ~10px | 600 | Smallest | Version badges, topbar version, copy button text |
Font Weights
Five weights are loaded for Inter. Each weight has a specific role in the visual hierarchy. Avoid using weights outside this set.
/* Weight assignments in the system */
font-weight: 300; /* Light — large display text only */
font-weight: 400; /* Regular — card-sub, placeholder text */
font-weight: 500; /* Medium — body text, sidebar links, buttons */
font-weight: 600; /* SemiBold — labels, section titles, sidebar labels, badges */
font-weight: 700; /* Bold — page titles, card titles, modal titles */Line Heights
Line height varies by context. Tighter values for badges and compact UI, looser values for readable paragraphs and code blocks.
/* Line height assignments */
line-height: 1; /* Badges, single-line compact elements */
line-height: 1.4; /* Body text in cards and tables */
line-height: 1.5; /* Global default (set on body) */
line-height: 1.6; /* Code blocks, callouts, accordion body */Letter Spacing
Subtle letter spacing adjustments improve readability at small sizes and give uppercase labels the breathing room they need.
/* Letter spacing scale */
letter-spacing: 0.01em; /* Body default — set on body element */
letter-spacing: 0.02em; /* Buttons, card labels, table headers */
letter-spacing: 0.03em; /* Section titles, sidebar labels, version badge */
letter-spacing: 0.04em; /* Notification sources, uppercase micro labels */Monospace Usage
JetBrains Mono is used for all data-oriented content where character alignment matters. It is applied via the var(--mono) CSS custom property.
$ npm install
$ npm run build
| Type | service |
| Port | 8443 |
| Protocol | https |
/* Apply mono font via CSS custom property */
font-family: var(--mono);
/* Common mono patterns */
.card-sub { font-family: var(--mono); font-size: 0.75rem; }
.cmd-block { font-family: var(--mono); font-size: 0.72rem; line-height: 1.6; }
.secret { font-family: var(--mono); font-size: 0.72rem; }
.version-tag { font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.03em; }Antialiasing
Font smoothing is applied globally on the body element to ensure consistent rendering across browsers and operating systems. This produces thinner, crisper text that matches macOS-native rendering.
/* Applied globally on body */
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* These properties produce thinner, crisper text on macOS and iOS.
On Windows/Linux, text rendering uses system defaults.
Always use antialiased for dashboard-style interfaces. */Quick Reference
Copy-paste-ready CSS for the most common typographic patterns used across the platform.
| Element | Font | Size | Weight | Spacing | Line H. |
|---|---|---|---|---|---|
| Page title | Inter | 1.25rem |
700 | -0.01em |
1.4 |
| Card title | Inter | 0.9rem |
700 | 0.01em |
1.4 |
| Section title | Inter | 0.82rem |
600 | 0.03em |
1.4 |
| Body text | Inter | 0.78rem |
500 | 0.01em |
1.5 |
| Button | Inter | 0.78rem |
600 | 0.02em |
1 |
| Label / Caption | Inter | 0.72rem |
600 | 0.02em |
1.4 |
| Card subtitle | JetBrains Mono | 0.75rem |
400 | 0.01em |
1.4 |
| Code block | JetBrains Mono | 0.72rem |
400 | 0.01em |
1.6 |
| Version badge | JetBrains Mono | 0.62rem |
600 | 0.03em |
1 |