prism·mdthe design press
EXTRACTED · 10 SECTIONS · 19 COLORS · GRADE A 93/100

sanity.io

19 colours · waldenburgNormal woff2 captured · real motion · desktop + mobile shots — every number measured, never written.

19
colors
7
faces
2
shadows
25
keyframes
01

Color — roles, semantics & the full census

19 colors measured · click any swatch to copy

Canvas
#ffffff
AAA 19.68:1
Ink
#0b0b0b
AAA 19.68:1
Accent
#0052ef
AA 6.08:1
Line
#121923
AAA 17.66:1
Semantic states
error#dd0000warning#965908info#df5044

3 semantic roles found.

19 colors mined from the live renderexpand
02

Type — the ladder, in the real face

7 roles · rendered live in the real waldenburgNormal (captured woff2) · lines are editable, click any spec to copy

display xl
display-xl112px · 400
display md
display-md48px · 400 · ×2.33
body
body16px · 400 · ×3.00
body sm
body-sm13px · 400 · ×1.23
caption sm
caption-sm10px · 400 · ×1.30
button
button13px · 400 · ×0.77
mono
mono15px · 400 · ×0.87
03

Spacing & radius, made spatial

9 spacing steps · 7 radii · bars are exact px widths

Spacing scale
xxs · 2px
xs · 4px
sm · 8px
md · 12px
base · 16px
lg · 24px
xl · 32px
2xl · 48px
3xl · 64px
Radius
none
0px
xs
4px
sm
8px
md
12px
lg
9999px
xl
99999px
full
9999px
04

Depth — elevation is extracted, not invented

2 box-shadows measured on the live page · click a tile to copy its raw value

shadow-1
shadow-2
05

Motion — easings, transitions & live keyframes

4 easing curves · 25 keyframes · hover a tile to preview

Easing & transitions
transition-3linear
transition-4ease-out
default-transition-timing-functioncubic-bezier(.4, 0, .2, 1)
ease-outcubic-bezier(0, 0, .2, 1)
25 keyframe animations extracted
delay-overflow
osano-load-scale
animate-entry
marquee-vertical
pulse-subtle
marqyL
marqyR
osano-dialog
live-recording-blink
spin
pulse
Image-module__9FTdyq__loading-animation-light
06

Components — the closed vocabulary

13 component families · 61 variants counted on the live DOM

ComponentVariants found
buttons×10
badges×10
links×7
code Block×6
nav Links×5
heading H2×5
footer Links×4
heading H3×4
inputs×3
tabs×3
heading H1×2
status Badge×1
date Picker×1
Component style specs (§4)expand

Buttons

Pill

  • Background: #ffffff {colors.on-primary}
  • Text: #0b0b0b {colors.primary-focus}
  • Padding: 8px
  • Radius: 9999px
  • Border: 1px solid rgb(11, 11, 11)
  • Font: 13px weight 400
  • Use: Status pills, tags, chips
  • Focus: outline: rgb(11, 11, 11) solid 1px

Pill

  • Background: #0b0b0b {colors.primary-focus}
  • Text: #ffffff {colors.on-primary}
  • Padding: 8px
  • Radius: 9999px
  • Border: 1px solid rgb(11, 11, 11)
  • Font: 13px weight 400
  • Use: Status pills, tags, chips
  • Focus: outline: rgb(11, 11, 11) solid 1px

Dark / Solid

  • Background: #0b0b0b {colors.primary-focus}
  • Text: #ffffff {colors.on-primary}
  • Padding: 6px 0px
  • Radius: 0px
  • Font: 16px weight 400
  • Use: Solid dark CTA
  • Focus: outline: rgb(11, 11, 11) solid 1px

Inputs & Forms

Text Input

  • Background: transparent
  • Text: #b9b9b9
  • Padding: 0px 12px
  • Radius: 3px
  • Border: 0px solid rgb(185, 185, 185)
  • Font: 15px weight 400
  • Use: Text fields, search inputs
  • Focus: color: rgb(255, 255, 255), border: 0px solid rgb(255, 255, 255), borderColor: rgb(255, 255, 255)

Navigation

Main Nav

  • Background: transparent
  • Padding: 0px 24px
  • Radius: none
  • Font: 16px weight 400
  • Use: Fixed/sticky flex nav — N/A items

Status Badges

Neutral Dark

  • Background: transparent
  • Text: #b9b9b9
  • Padding: 0px 12px
  • Radius: 3px
  • Font: 15px weight 400
07

Layout — structure & dimensions

4 layout metrics measured

header 67px 1248px max-width
max Width1248px
header Height67px
sidebar Width0px
container Padding0px
08

Responsive — real breakpoints

16 media-query stops read from the live CSS

48px
376px
479px
480px
600px
719px
720px
767px
768px
800px
959px
960px
1100px
1200px
1440px
1640px
09

Do's & Don'ts

21 enforceable rules pulled verbatim from the spec

Do
Use Black (`#0b0b0b`) for text — not pure black, it's warmer and more readable
Use waldenburgNormal as the primary typeface — it defines the brand personality
Use negative letter-spacing (-4.48px) at display sizes for compressed, editorial headlines
Use the extracted shadow patterns for elevation — they are tuned to match the brand palette
Use full-pill radius (9999px) only for specific elements (avatars, pills, toggles)
Use #0052ef (`#0052ef`) as the primary accent — it's the brand's signature interactive color
Use pill-shaped radius (9999px) for primary CTA buttons — the brand uses fully-rounded, pill CTAs
Respect the 4px–32px spacing range — the design uses a wide scale for visual breathing room
Make the hero full-viewport (≥70% screen height) — this design uses an immersive hero, not a tall navbar
Include exactly 3 CTAs in the hero (primary + secondary) — this design pattern is multi-action, not single-purpose
Each card includes a none image — imagery is part of the card identity, not optional
Use a 3-column grid on desktop — density matters for this content type
Repeat the primary CTA across 5 banner sections — conversion paths are layered, not single
Don't
Don't use pure black (`#000000`) for text — the near-black adds warmth
Don't substitute with generic sans-serif or serif — the custom font carries the brand
Don't increase letter-spacing on headings — the type is designed to run tight at scale
Don't invent new shadow values — use only the extracted shadow levels
Don't apply pill radius on rectangular buttons or cards — it's reserved for specific interactive elements
Don't introduce additional saturated accent colors — the palette is intentionally controlled
Don't use rectangular buttons for primary actions — the rounded pill shape is the brand standard
Don't make the nav sticky — this design lets it scroll away to maximize content focus
10

Agent guide & export

Paste-ready prompt + the real files behind this page

Build a UI in the sanity.io design system. Canvas #ffffff · ink #0b0b0b · accent #0052ef. Type: waldenburgNormal — respect the size/weight ladder in §3. Radius, spacing, shadow: use only the extracted scales (no magic numbers). Full spec follows — paste the DESIGN.md below into your agent.
Every value above was getComputedStyle-verified.
$ npx prismd add sanity
DESIGN.md · narrative spec tokens.json
A · InstrumentB · Press