Live preview
Use this system
Three ways to drop Broadsheet into your workflow.
Save the file for your tool — your agent then generates UI in Broadsheet, automatically.
CLAUDE.mdRepo root — Claude Code reads it automatically.
.cursor/rules/broadsheet.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
Broadsheet carries the authority of print: a tall serif for headlines, a clean humanist sans for body, and a single editorial red for emphasis. Rules and column breaks do the structuring — no rounded corners, no soft shadows.
Layout & Grid
Multi-column reading with strong vertical rhythm and hairline rules between sections. Headlines dominate; bylines and kickers recede in muted text.
Components
Buttons
Squared, text-forward buttons. Primary uses the editorial red; everything else is a bordered, typographic affordance.
Article Cards
Headline-led cards divided by border.default rules, with a kicker, dek, and
byline. Hover underlines the headline.
Accessibility
Body text is large and high-contrast; primary and muted text pass WCAG AA on all surfaces. Reading width is capped for comfort and links are always underlined.
Tokens
Color (14)
Tokens
Export
One source of truth, five formats — copy or download any of them.
---$schema: https://designmd.in/schema/v1.jsonid: broadsheetname: Broadsheettitle: Broadsheet — Newspaper Editorialversion: 1.0.0category: editorialtags: [editorial, serif, news, print, high-contrast]author: designmdlicense: CC-BY-4.0updatedAt: 2026-06-22colorMode: [light]tokens: color: brand: primary: { value: "oklch(0.52 0.2 25)", type: color } secondary: { value: "oklch(0.4 0.04 250)", type: color } onBrand: { value: "oklch(0.99 0 0)", type: color } text: primary: { value: "oklch(0.18 0.004 60)", type: color } muted: { value: "oklch(0.42 0.008 60)", type: color } link: { value: "{color.brand.primary}", type: color } surface: base: { value: "oklch(0.985 0.006 80)", type: color } raised: { value: "oklch(1 0 0)", type: color } sunken: { value: "oklch(0.955 0.01 80)", type: color } border: default: { value: "oklch(0.84 0.008 80)", type: color } state: success: { value: "oklch(0.5 0.13 150)", type: color } danger: { value: "{color.brand.primary}", type: color } warning: { value: "oklch(0.64 0.13 70)", type: color } info: { value: "oklch(0.5 0.12 250)", type: color } typography: family: serif: { value: "Playfair Display, Georgia, serif", type: fontFamily } sans: { value: "Source Sans 3, system-ui, sans-serif", type: fontFamily } mono: { value: "ui-monospace, monospace", type: fontFamily } scale: sm: { value: "0.875rem", type: dimension } base: { value: "1.0625rem", type: dimension } lg: { value: "1.375rem", type: dimension } xl: { value: "1.875rem", type: dimension } "2xl": { value: "2.75rem", type: dimension } "3xl": { value: "4rem", type: dimension } weight: regular: { value: 400, type: fontWeight } bold: { value: 800, type: fontWeight } leading: tight: { value: 1.08, type: number } normal: { value: 1.65, type: number } spacing: base: { value: "0.25rem", type: dimension } radius: sm: { value: "0rem", type: dimension } md: { value: "0rem", type: dimension } full: { value: "9999px", type: dimension } shadow: sm: { value: "0 1px 0 oklch(0.84 0.008 80)", type: shadow } md: { value: "0 2px 0 oklch(0.84 0.008 80)", type: shadow } motion: duration: base: { value: "120ms", type: duration } easing: standard: { value: "cubic-bezier(0.4, 0, 0.2, 1)", type: cubicBezier } breakpoint: md: { value: "768px", type: dimension } iconography: style: { value: "thin editorial line icons, 1.25px", type: descriptor } zIndex: dropdown: { value: 1000, type: number } modal: { value: 1300, type: number }---# Broadsheet Design System## Brand & VoiceBroadsheet carries the authority of print: a tall serif for headlines, a cleanhumanist sans for body, and a single editorial red for emphasis. Rules andcolumn breaks do the structuring — no rounded corners, no soft shadows.## Layout & GridMulti-column reading with strong vertical rhythm and hairline rules betweensections. Headlines dominate; bylines and kickers recede in muted text.## Components### ButtonsSquared, text-forward buttons. Primary uses the editorial red; everything elseis a bordered, typographic affordance.### Article CardsHeadline-led cards divided by `border.default` rules, with a kicker, dek, andbyline. Hover underlines the headline.## AccessibilityBody text is large and high-contrast; primary and muted text pass WCAG AA on allsurfaces. Reading width is capped for comfort and links are always underlined.