Design Specification — Unparalleled software observability
| Field | Value |
| Site / Project | https://daemon.dev/ |
| Analyzed on | 2026-08-26 |
| Analysis mode | Automated code extraction (no AI) |
Overview
This design system was extracted programmatically from the source page. It is built on a light canvas (#FFFFFF), ink text (#000000), a vivid accent (#654DBE). Display headings use a distinct face ("Source Serif Pro:Regular") over the body stack ("Radio Canada Big:Medium",sans-serif). Detected font weights: 400, 500, 600, 700. Detected style signatures: technical / mono accents.
Logo asset(s): https://daemon.dev/_assets/v11/6e3b7d134b9c553a088115bb2c779d31d5ea17b3.png
Color System
Detected palette (by frequency)
| Hex | RGB | HSL | Count |
#000000 | 0, 0, 0 | 0° 0% 0% | 34 |
#B0A2E3 | 176, 162, 227 | 253° 54% 76% | 10 |
#FFFFFF | 255, 255, 255 | 0° 0% 100% | 9 |
#654DBE | 101, 77, 190 | 253° 47% 52% | 5 |
#C0DFFF | 192, 223, 255 | 210° 100% 88% | 3 |
#DBE0EC | 219, 224, 236 | 222° 31% 89% | 2 |
#6C6C6C | 108, 108, 108 | 0° 0% 42% | 1 |
#F6F8FB | 246, 248, 251 | 216° 38% 97% | 1 |
Assigned roles
Roles are taken from the page's own semantic CSS custom properties when present, otherwise inferred from usage frequency + luminance/saturation.
| Token | Hex | RGB | HSL |
--color-primary | #B0A2E3 | 176, 162, 227 | 253° 54% 76% |
--color-accent | #654DBE | 101, 77, 190 | 253° 47% 52% |
--color-background | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-surface | #F6F8FB | 246, 248, 251 | 216° 38% 97% |
--color-text-primary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-secondary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-text-secondary | #C0DFFF | 192, 223, 255 | 210° 100% 88% |
--color-border | #DBE0EC | 219, 224, 236 | 222° 31% 89% |
--color-on-primary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-on-secondary | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-on-accent | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
Typography
Primary typeface: Radio Canada Big:Medium — stack: "Radio Canada Big:Medium",sans-serif
Display / heading typeface: "Source Serif Pro:Regular" (used for large headings; body uses the primary stack)
Font stacks (most used first)
"Radio Canada Big:Medium",sans-serif
"Radio Canada Big:Medium"
"Radio Canada Big:Regular"
"Geist:Medium"
"Inter:Semi Bold"
"Geist:Bold"
"Inter:Bold"
"Geist Mono:Regular"
"Source Serif Pro:Regular"
"Geist Mono:Medium"
Derived type scale
| Token | Size |
| display | 80px |
| headline-lg | 40px |
| headline-md | 28px |
| title-lg | 20px |
| body-lg | 18px |
| body-md | 16px |
| label-md | 14px |
Font sizes (by frequency)
| Size | Count |
| 20px | 10 |
| 18px | 7 |
| 16px | 6 |
| 36px | 5 |
| 24px | 5 |
| 64px | 4 |
| 80px | 4 |
| 32px | 4 |
| 40px | 4 |
| 14px | 1 |
| 48px | 1 |
| 56px | 1 |
| 25px | 1 |
| 28px | 1 |
Weights in use: 400, 500, 600, 700
Line heights (by frequency)
| Value | Count |
| 0 | 14 |
| 1 | 12 |
| 1.2 | 6 |
| 1.45 | 2 |
| 3 | 1 |
Letter spacing (by frequency)
| Value | Count |
| 0px | 5 |
| -0.48px | 4 |
| -0.54px | 4 |
| -0.08px | 4 |
| -0.16px | 2 |
| -0.09px | 2 |
| -0.8px | 2 |
| -1.2px | 2 |
Spacing
Derived spacing scale
| Token | Value |
| unit | 8px |
| xs | 4px |
| sm | 8px |
| md | 16px |
| lg | 32px |
| xl | 56px |
Raw values (by frequency)
| Value | Count |
| 32px | 13 |
| 40px | 9 |
| 24px | 8 |
| 16px | 8 |
| 64px | 7 |
| 12px | 4 |
| 80px | 4 |
| 20px | 3 |
| 10px | 2 |
| 108px | 2 |
| 60px | 2 |
| 120px | 2 |
| 8px | 1 |
| 4px | 1 |
| 56px | 1 |
| 96px | 1 |
Borders & Radius
Derived radius tokens
| Token | Value |
| sm | 4px |
| md | 8px |
| lg | 16px |
Raw values (resolved, by frequency)
| Radius | Count |
inherit | 13 |
16px | 7 |
4px | 3 |
8px | 3 |
12px | 1 |
Shadows
Derived elevation
| Token | Value |
| md | 0px 4px 8px 0px rgba(0,0,0,0.02),0px 12px 32px 0px rgba(0,0,0,0.04) |
All detected shadows
0px 4px 8px 0px rgba(0,0,0,0.02),0px 12px 32px 0px rgba(0,0,0,0.04)
Layout
Container max-width: 1200px
Breakpoints
- 1px
- 600px
- 799px
- 800px
- 1280px
Animation & Motion
Easing curves
Keyframes
@keyframes scroll { 0%{transform:translateX(0%)}100%{transform:translateX(-100%)} }
Animations
scroll var(--duration) linear var(--delay) var(--iteration-count)
none
Effects
- backdrop-filter:
blur(32px)
Source Design Tokens (CSS custom properties)
:root {
--banner-height: 48px;
--banner-height-v2: 40px;
--full-height-with-banner: calc(100dvh - var(--banner-height));
--100dvw: 100vw;
--100dvh: 100vh;
--content-min-width: 100%;
--content-min-height: var(--100dvh);
--letter-spacing: 0px;
--responsive-font-size: 36px;
--responsive-letter-spacing: -0.0972px;
--responsive-line-height: 1.2;
}
Do's and Don'ts
Do
- Do reserve the accent
#654DBE for interactive highlights and key moments — it is used sparingly on the source page.
- Do keep the canvas at
#FFFFFF; surfaces should stay within the detected neutral ramp.
- Do set large headings in
"Source Serif Pro:Regular" with tight tracking (-0.48px), and body copy in the primary stack.
- Do stick to the detected font weight(s): 400, 500, 600, 700.
- Do align spacing to the 8px base unit derived from the page.
Don't
- Don't introduce colors outside the detected palette — every hue above was found in the source.
- Don't add gradients — the source page uses flat fills exclusively.
Design Tokens (copy-paste)
:root {
--color-primary: #B0A2E3;
--color-accent: #654DBE;
--color-background: #FFFFFF;
--color-surface: #F6F8FB;
--color-text-primary: #000000;
--color-secondary: #000000;
--color-text-secondary: #C0DFFF;
--color-border: #DBE0EC;
--color-on-primary: #000000;
--color-on-secondary: #FFFFFF;
--color-on-accent: #FFFFFF;
--font-sans: "Radio Canada Big:Medium",sans-serif;
--font-size-display: 80px;
--font-size-headline-lg: 40px;
--font-size-headline-md: 28px;
--font-size-title-lg: 20px;
--font-size-body-lg: 18px;
--font-size-body-md: 16px;
--font-size-label-md: 14px;
--radius-sm: 4px;
--radius-md: 8px;
--radius-lg: 16px;
--shadow-md: 0px 4px 8px 0px rgba(0,0,0,0.02),0px 12px 32px 0px rgba(0,0,0,0.04);
--space-xs: 4px;
--space-sm: 8px;
--space-md: 16px;
--space-lg: 32px;
--space-xl: 56px;
--font-display: "Source Serif Pro:Regular";
--tracking-display: -0.48px;
--container-max: 1200px;
}