Live preview
Use this system
Three ways to drop Vellum into your workflow.
Save the file for your tool — your agent then generates UI in Vellum, automatically.
CLAUDE.mdRepo root — Claude Code reads it automatically.
.cursor/rules/vellum.mdcProject rule — applied to every generation.
.windsurfrulesRepo root — Cascade reads it automatically.
.github/copilot-instructions.mdRepo-wide custom instructions for Copilot.
The system
Brand & Voice
Literary, unhurried, and warm. Vellum is built for long-form reading: the page feels like quality paper, the type invites you in, and color is used sparingly to mark voice rather than decorate.
Layout & Grid
A single 680px measure for body text on a warm canvas. Wide margins, drop caps optional, and a clear vertical rhythm anchored to the 1.7 line height.
Components
Links
Inline links use color.brand.primary with a subtle underline that thickens on
hover. Pull quotes borrow color.brand.secondary.
Accessibility
Body text exceeds 4.5:1 on the warm surface. Reading width and line height are tuned for comfort, not density.
Do & Don't
- Let the type breathe — favor whitespace over density.
- Reserve color for emphasis and voice.
- Don't introduce cool greys that fight the warm paper tone.
Tokens
Color (11)
Tokens
Export
One source of truth, five formats — copy or download any of them.
---$schema: https://designmd.in/schema/v1.jsonid: vellumname: Vellumtitle: Vellum — Warm Editorial Readingversion: 1.0.0category: editorialtags: [editorial, warm, serif, reading, calm]author: designmdlicense: CC-BY-4.0updatedAt: 2026-06-19colorMode: [light]tokens: color: brand: primary: { value: "oklch(0.50 0.13 42)", type: color } secondary: { value: "oklch(0.46 0.08 150)", type: color } onBrand: { value: "oklch(0.99 0.01 80)", type: color } text: primary: { value: "oklch(0.25 0.02 60)", type: color } muted: { value: "oklch(0.46 0.02 60)", type: color } link: { value: "{color.brand.primary}", type: color } surface: base: { value: "oklch(0.99 0.008 80)", type: color } raised: { value: "oklch(0.97 0.012 80)", type: color } border: default: { value: "oklch(0.90 0.012 80)", type: color } state: success: { value: "oklch(0.48 0.13 150)", type: color } danger: { value: "oklch(0.50 0.19 28)", type: color } typography: family: sans: { value: "Newsreader, Georgia, serif", type: fontFamily } mono: { value: "iA Writer Mono, ui-monospace, monospace", type: fontFamily } scale: sm: { value: "0.9rem", type: dimension } base: { value: "1.125rem", type: dimension } lg: { value: "1.375rem", type: dimension } xl: { value: "1.75rem", type: dimension } "2xl": { value: "2.5rem", type: dimension } "3xl": { value: "3.5rem", type: dimension } weight: regular: { value: 400, type: fontWeight } medium: { value: 500, type: fontWeight } bold: { value: 700, type: fontWeight } leading: tight: { value: 1.2, type: number } normal: { value: 1.7, type: number } spacing: base: { value: "0.25rem", type: dimension } radius: sm: { value: "0.25rem", type: dimension } md: { value: "0.375rem", type: dimension } full: { value: "9999px", type: dimension } shadow: sm: { value: "0 1px 2px oklch(0 0 0 / 0.05)", type: shadow } md: { value: "0 8px 24px oklch(0 0 0 / 0.07)", type: shadow } motion: duration: base: { value: "300ms", type: duration } easing: standard: { value: "cubic-bezier(0.33, 0, 0.2, 1)", type: cubicBezier } breakpoint: md: { value: "768px", type: dimension } lg: { value: "1024px", type: dimension } iconography: style: { value: "thin 1.25px line icons, slightly humanist", type: descriptor }---# Vellum Design System## Brand & VoiceLiterary, unhurried, and warm. Vellum is built for long-form reading: the pagefeels like quality paper, the type invites you in, and color is used sparinglyto mark voice rather than decorate.## Layout & GridA single 680px measure for body text on a warm canvas. Wide margins, drop capsoptional, and a clear vertical rhythm anchored to the 1.7 line height.## Components### LinksInline links use `color.brand.primary` with a subtle underline that thickens onhover. Pull quotes borrow `color.brand.secondary`.## AccessibilityBody text exceeds 4.5:1 on the warm surface. Reading width and line height aretuned for comfort, not density.## Do & Don't- Let the type breathe — favor whitespace over density.- Reserve color for emphasis and voice.- Don't introduce cool greys that fight the warm paper tone.