Schematic ยท style specimen

Schematic, the drawing set

Every component of the document system, rendered in Schematic: a cool white page with drafting blue rules, navy fills, orchid and lime as small signal marks, and a faint grid only inside frames and code.

Palette

Section 1

The palette in three parts: the key colours, then every shade of each one, then the roles a stylesheet writes and which colour fills each. All of it is read from the page, so a style shows its own palette here.

Roles: what each job is filled with

Each card is a role, the name a stylesheet writes. Under it is the raw colour this style pours into that role, named in the style's own words, with its hex.

Ground and text

The page, the words on it, and the hairlines between blocks.

  • --surfaceThe page ground
  • --surface-raisedA quiet ground inside the page: the boxed table's header
  • --on-surfaceBody text and headings
  • --on-surface-softSecondary copy: ledes, blockquotes, captions
  • --on-surface-faintMeta lines, table heads, section numbers
  • --borderHairline borders and dividers

Accent

The structural colour, and the colours that act on the page.

  • --accentThe structural accent: the insight label, facts icons, the accent band and callout
  • --accent-hoverThe accent's hover state
  • --accent-tintThe structural panel, the insight panel, code
  • --linkInline links in running prose
  • --focusThe focus ring

Marks and emphasis

Small marks, the third fill, and the one thing worth pausing on.

  • --markBullet dots, accent numerals, the all-day label, done marks
  • --fillThe third fill: its callout and icon circle
  • --on-fillText and glyphs on that fill
  • --tintThe default quiet panel
  • --emphasisThe one thing worth pausing on: its band, callout, caveat label
  • --emphasis-hoverThe emphasis hover state
  • --emphasis-tintThe emphasis panel and the caveat insight

On a filled ground

A band, a callout, an icon circle, and what reads on them.

  • --structureThe divider, the default band, callout and icon circle
  • --on-structureText on a filled band, callout or icon circle
  • --on-structure-softSecondary copy on a filled ground
  • --on-structure-faintSection numbers and meta on a filled ground

Type

Section 2

Three faces, named from what the page actually resolved, then the size ladder with every level set at its own token. The size and line-height beside each are read from the rendered sample.

Faces

Display face--font-display

Sphinx of black quartz, judge my vow

Use it for headings, section numbers, table heads, and labels. It carries the page's voice, so it is the face a style changes first.
Handgloves--w-body ยท
Handgloves--w-medium ยท
Handgloves--w-display ยท
Handgloves--w-bold ยท
Body face--font-body

Sphinx of black quartz, judge my vow

Use it for body copy, captions, and list text. It has to stay quiet at body size for a whole page.
Handgloves--w-body ยท
Handgloves--w-medium ยท
Handgloves--w-display ยท
Handgloves--w-bold ยท
Mono face--font-mono

const vow = judge(blackQuartz); // 0O 1lI

Use it for inline code and code blocks. A monospace keeps columns of code lined up.

The size ladder

H1, the document title

--text-h1 ยท ยท

H2, a section heading

--text-h2 ยท ยท

H3, a subsection

--text-h3 ยท ยท

H4, a label

--text-h4 ยท ยท

Figure, the number in a facts grid

--text-figure ยท ยท

Lede, the framing under the title

--text-lede ยท ยท

Body, every paragraph a reader is meant to read

--text-body ยท ยท

Small, captions, footnotes, code

--text-small ยท ยท

Meta, table heads, labels, meta lines

--text-meta ยท ยท

Micro, chips, event times, month-cell lines

--text-micro ยท ยท

Body at the reading measure

--read ยท ยท wide on this page

Most documents are read once, quickly, by someone deciding what to do next. The measure keeps a line short enough that the eye finds the start of the next one without hunting, and the body size and line-height keep a long page from turning grey. A paragraph set here is what every section of a document looks like, so judge the style on this block before judging it on any component.

Spacing and lines

Section 3

Each bar is drawn at its token's width, and the value beside it is measured from the bar.

The scale

--s1
--s2
--s3
--s4
--s5
--s6
--s7
--s8

Spacing by purpose

--gutter The column's side inset, and the padding inside a panel, an insight, or a callout
--section-gap Between sections, and above an h1 or h2
--section-gap-narrow The same gap on a narrow screen, above an h3, and between grid cells
--block-gap Between stacked blocks inside a section: paragraphs, tables, figures, panels

Lines

--line The hairline under a table row, around a boxed table, above a footer
--line-ink A hairline in ink. No document rule draws it today; the radius samples below use it
--divider The hanging rule above a section head, and a table's header rule

Radius

--r ยท Panels, callouts, code blocks
--r-lg ยท A larger corner, for a surface that wants one
--r-code ยท Inline code, a chip rather than a panel
--r-pill ยท The calendar's today marker and the day page's chips

Layout

--maxw
The column's width
--read
The reading measure

Contrast

Section 4

The text pairs the base's component rules draw, each ratio worked out from the two rendered colours with the WCAG relative-luminance formula. A style that restates a component's colours in its own rules measures those pairs in its own contrast script.

Aa
Body text on the page--on-surface on --surface
Floor 4.5:1
Aa
Ledes and secondary copy--on-surface-soft on --surface
Floor 4.5:1
Aa
Meta, captions, section numbers--on-surface-faint on --surface
Floor 4.5:1
Aa
A link in running prose--link on --surface
Floor 4.5:1
Aa
The dot bullet, a drawn mark--mark on --surface
Floor 3:1
Aa
Text on the boxed table's header ground--on-surface on --surface-raised
Floor 4.5:1
Aa
Text in the default panel--on-surface on --tint
Floor 4.5:1
Aa
Text in the accent panel, the insight, and code--on-surface on --accent-tint
Floor 4.5:1
Aa
Text in the emphasis panel and the caveat--on-surface on --emphasis-tint
Floor 4.5:1
Aa
The insight label on its tint--accent on --accent-tint
Floor 4.5:1
Aa
The caveat label on its tint--emphasis on --emphasis-tint
Floor 4.5:1
Aa
Text on the band and the filled callout--on-structure on --structure
Floor 4.5:1
Aa
Secondary copy on the band--on-structure-soft on --structure
Floor 4.5:1
Aa
The section number on the band--on-structure-faint on --structure
Floor 4.5:1
Aa
Text on the emphasis band and callout--on-structure on --emphasis
Floor 4.5:1
Aa
Text on the accent band and callout--on-structure on --accent
Floor 4.5:1
Aa
Text on the third fill--on-fill on --fill
Floor 4.5:1

Facts grid, use for 3 key figures at a glance

Section 5
A short label
One or two sentences explaining the figure. Three of these side by side, for the numbers a reader needs before anything else.
Second label
Keep each entry short. This grid collapses to one column under 820px.
Third label
If there's a fourth fact, start a new row rather than a four-column grid.

Facts grid with icons, two ways

Section 6

Use icons when the three items are genuinely three points rather than three columns of text. The icon sits on the term's line so the left edge stays a single line down the page. One icon per fact or none, and one colour across the row.

Line icon on the term line, preferred

First point
The default. Sized in em so the icon tracks the term's cap height and reads as part of the line rather than as an object beside it.
Second point
The stroke picks up drafting blue, through the --accent role, so a restyle reaches it without touching this rule.
Third point
Closer to the plain grid, with just enough signal to mark the three as points.

Filled circle, the second option

First point
Louder, because a circle is always larger than the type beside it. Worth it when the document has no other accent; prefer the line version otherwise.
Second point
Keep the terms a similar length so the row reads as a set.
Third point
Three is what this grid is built for. Four wraps, two looks unfinished.

Naked ruled table, the default

Section 7
Column oneColumn twoColumn three
Row label16:20The detail for this row. This table style has no outer border and no header tint, only a hairline under each row.
Row label20:25Judge this table in the section it lives in, not next to another table in a comparison strip, that comparison can flip which one looks right.

Bordered box table, for dense reference tables

Section 8
Scope itemDurationNotes
Item2 weeksUse this style, not the naked table, when the box itself helps the reader hold the boundary of a dense grid.
Item1 weekHeader row is tinted with the paper background.

Two-column prose, two related short ideas

Section 9

Left column heading

Short paragraph. Use this layout for two options, a before/after, or two halves of one point. It collapses to one column under 860px.

Right column heading

Not for one long argument, that stays a single column at reading width.

Lists, dot bullets and numbered steps

Section 10

Dot-bullet list

  • An orchid dot marks each item. Add class "dot--cobalt" to the ul to switch the dot to drafting blue, pick one per list, never mix.
  • Use for a flat list of items with no inherent order.
  • Keep each item to a line or two.

Numbered steps

  1. Bold the lead word. Use for a sequence where order matters: a process, a workflow, a weekly loop.
  2. Keep each step short. Add class "steps--two-col" to the ol if the steps are short enough to run in two columns.
  3. Stop at the last real step. Don't pad the list to make it look fuller.

Panels and callouts, the full set

Section 11

Three related things, quietest first. Tinted panels hold a few unlabelled lines. Insight panels are the same tint with a label row, and they hold a lead line plus a short list. Callouts are saturated, loud, and hold one line. One of each per page at most.

Tinted panels

Vellum, the default. The quiet one. Use it for a caveat or an aside that supports the section without interrupting it.

Blue tint. For something structural: a definition, a scope note, a constraint the reader has to carry forward.

Orchid tint. For the one thing on the page worth pausing on. Ink reads 15.31:1 on this tint, 15.69:1 on the default one and 15.36:1 on the accent one, so the choice is tone rather than legibility.

Not saved. The error panel, for a problem only: something failed, is missing, or did not save. The label takes the danger red and the full border; the explanation stays ink. A page with no problem shows none.

Insight panels

Two jobs hide under one request, and they have different answers.

  1. The first job. The panel carries a bold lead line, then a short numbered list under it. That is what it is for: the point plus the two or three parts it breaks into.
  2. The second job. The label and the icon are generated by CSS, so the markup holds only the content.

The caveat variant. The orchid tint, "Caveat" label, a warning icon. Use it for the limit or the objection attached to what was just said. The orchid label sits at 5.44:1 on its own tint, which clears the 4.5 floor it has to clear at this size.

The label is replaceable. Add data-label when "Key insight" or "Caveat" is wrong for the content. Keep it to two or three words; it is a label, not a heading.

Callouts

Navy, the structural fill. White on it reads 10.93:1. The default.

Orchid. White on it reads 6.31:1. The emphasis fill, for the one thing worth pausing on.

Drafting blue. White on it reads 5.99:1. The accent fill.

The status callout. Lime is a mark, not a surface, so this is navy carrying white at 10.93:1 and a lime dot at 6.24:1.

Icons

Section 12

Two treatments. Use one per document. Icons are optional and a page with none is fine; a page with an icon on every heading is decorated, not designed.

Inline, leading a line

The quiet treatment. Ink stroke, sized to the text beside it, decorative so it carries aria-hidden.
Works for a short flagged line without needing a whole callout panel.

In a filled circle

The louder treatment, and a way to get colour onto a page in small doses. Three fills carry white; the light one carries ink.

Drafting blue

White on it is 5.99:1. The accent circle.

Orchid

White on it is 6.31:1. The one to use when the circle sits alone.

Lime

The one place lime fills a shape, because the circle is small. The glyph is graphite at 10.14:1.

Navy

White on it is 10.93:1. The default structural fill.

Numbered steps, two ways

Section 13

Plain numerals

  1. Do the first thing. Numerals stay in ink.
  2. Then the second. Quieter, and it never competes with a coloured element elsewhere on the page.
  3. Then the third.

Accent numerals

  1. Do the first thing. Numerals pick up orchid, matching the dot bullets.
  2. Then the second. Use this or the dot bullets in a document, not both.
  3. Then the third.

Code

Section 14

Geist Mono, on the blue tint with the drawing grid behind it and a hairline frame around it. Inline code sits in running prose like --font-mono or padding-block. A block holds something worth reading on its own.

python3 ~/.claude/skills/research-report/scripts/build_report_html.py . \
  --order research_first.md research_second.md

Code is 15px against 17px body, because a monospace at the same nominal size reads larger than the prose around it. Ink on this ground is 15.36:1. A long line scrolls inside the block rather than widening the page.

Navy, the default

Section 15

The structural band. White body text reads 10.93:1 on it, blue mist carries secondary copy at 9.36:1, and blue haze carries the section number at 8.36:1. The dots are lime, at 6.24:1.

Orchid

Section 16

The emphasis fill as a band. White reads 6.31:1 on it and the section number 4.82:1. One band per document, so the bands here are alternatives, not a set.

Drafting blue

Section 17

The accent as a band. White reads 5.99:1 on it; the section number is dimmed white, as in the base.

Plain elements, no classes

Section 18

Nothing below carries a class. A Markdown page renders exactly this, so the base layer has to give it the house look on its own: dot bullets, numbered steps, a reading measure on the prose, room above every heading, and an image that stops at the column.

A heading that wrote itself

This h3 sits under a paragraph with no wrapper anywhere. The space above it is the heading's own margin, not a wrapper's.

  1. First step. A plain ol gets the numbered-steps look.
  2. Second step. The bold lead word picks up the display face.
  3. Third step.

A block quote sits behind a hairline rule in the soft ink, quieter than the prose around it and never a pull quote.


A placeholder image, 1200 by 400 pixels
A figure caption. The image file is 1200px wide and the column is narrower, so the image is clamped to the column instead of pushing the page sideways.

Folded section, for a long list worth collapsing

Section 19

A native details element. Use it for a section a reader will often skip: a long list of headlines, an inbox, a set of events. Click the head to close it.

Check-in block, unnumbered and timestamped

9:29 AM

Use this for a note written at a moment rather than a section of the document. It has no number, and the time sits under the heading in the meta grey.

Calendar, week view

Section 20

Seven columns, today first, all-day items before timed ones. An empty day reads "Open". Under 820px the grid becomes a stack.

Wed16
  • All dayFocus: style system
  • 11:00Client check-in
Thu17
  • 9:30Workshop prep
Fri18

Open

Sat19

Open

Sun20
  • 15:00Long run
Mon21
  • 10:00Columbia lecture
Tue22

Open

Calendar, month view

Section 21

Weeks as rows. Today has the heavier rule and the filled day number; days outside the month are dimmed.

SunMonTueWedThuFriSat
30
31
1
2
3
4
5
6
7
8
9
  • Logo decided
10
11
  • Daily page ships
12
13
14
  • Article 2 published
15
16
  • Client check-in
17
18
19
20
21
  • Columbia lecture
22
23
24
25
26
27
28
29
30
1
2
3

Stat tiles, for numbers that are the point

Section 22

A faint label, a large number in tabular numerals, and one meta line. Use the facts grid when the words matter more than the figure, and these when the figure is the point. The row fits up to four across and drops to two on a phone.

Bordered

Engagements shipped

38

since January 2024

Median time to first result

11 days

across the last twelve

Repeat clients

64%

booked a second engagement

Workshop seats

212

people trained on their own material

Tinted

Engagements shipped

38

since January 2024

Median time to first result

11 days

across the last twelve

Repeat clients

64%

booked a second engagement

Single large number

Repeat clients

64%

booked a second engagement within a year

Pull quote, one line lifted from the body

Section 23

The display face, capped at half the reading measure, with the attribution in soft ink under it. No quotation marks and no coloured bar. A plain blockquote, with its hairline side rule, is still the quiet aside; this is the loud one, once per document.

They stopped guessing at what the agent could do and started writing it down. That is the whole change.

Operations lead, 40-person logistics firm

They stopped guessing at what the agent could do and started writing it down. That is the whole change.

Badges and the eyebrow label

Section 24

A badge is a small square tag for a status or a category. Five fills, one per badge. Keep the word to one or two.

Five fills

Done In progress Structural Decision Draft

With a status dot or an icon

Live Ships in 11 days Included

Eyebrow label

A heading with a small label above it

The eyebrow sits above a heading and names what kind of thing follows: "Quarterly review", "Option B", "Section 2". Display face, meta size, faint ink, and no rule or box under it.

Step sequence, for named stages

Section 25

For a process whose steps each have a name and a line of detail. The numbered list stays for a sequence of sentences.

Boxed, side by side, four steps or fewer

  1. Brief

    An hour on what you actually do, written up as a scope you sign off.

  2. Build

    The work happens in your repository, with your developers watching.

  3. Review

    You run it on real work for a week and say where it breaks.

  4. Hand over

    The runbook, the prompts, and the person who knows how to change them.

Ruled rows, for longer steps or more of them

  1. Brief

    An hour on what you actually do, written up as a scope you sign off before anything is built.

  2. Build

    The work happens in your repository, with your developers watching, so nothing arrives as a black box.

  3. Review

    You run it on real work for a week and say where it breaks, and the fixes go in before handover.

  4. Hand over

    The runbook, the prompts, and the person on your team who knows how to change them.

  5. Check back

    A month later, one call to see what changed and what the team would build next.

Data table, for columns of numbers

Section 26

Add data to either table style. Numbers set in tabular numerals and aligned right with num, so the decimals and dollar signs stack. The total goes in a tfoot row.

EngagementDaysSessionsFee
Team workshop, half day0.51$2,400
Team workshop, full day1.02$4,200
Codebase readiness review4.03$11,500
One workflow, end to end12.08$28,000
Four engagements17.514$46,100

Checklist, for what is included

Section 27

What the workshop includes

  • A half or full day with your team, on your own material.
  • The prompts and the runbook, yours to keep.
  • One follow-up call a month later.

When to reach for it

A list of what is in the box, not a list of steps. The check sits at the same inset as the dot and the numeral, so the three kinds of list line up when they stack.

Figure with a caption plate

Section 28

A picture printed on a plate: a hairline frame, room round the image, and a numbered caption on its own strip. The plain figure, with no class, stays frameless.

A table from the house style, as a sample figure
Figure 1. The white plate, the default.
A figure from the house style, as a sample figure
Figure 2. The tinted plate, for a picture with a white ground of its own.

Option cards, for choosing between

Section 29

A grid of cards, one per choice. Each names the option, says what it is in a line or two, and lists what it costs. A recommended option says so with a badge, never with a coloured edge.

Option A

Keep the call

Every new account starts with a forty-minute call, as it does today.

  • No build work.
  • Caps sign-ups at about twelve a week.
Recommended

Guided setup

A four-step setup replaces the call; the call stays for anyone who asks.

  • Two weeks to build.
  • No weekly cap.

Option C

Recorded walkthrough

A ten-minute video sent on sign-up, with no live call at all.

  • Two days to record.
  • No way to see where people get stuck.

Image beside text

Section 30
The opening of a document in the house style

Picture on the left, the default

The picture takes two fifths of the column and the text the rest. Use it for a screenshot and the paragraph that explains it. Under 820px the two stack, picture first.

The opening of a document in the Textbook style

Picture on the right

Add media--right. Alternate the two down a page when several pictures each have a paragraph of their own.

Image cards

Section 31

A picture on top, then a name and a line. Two across by default, three with image-cards--3. The picture is cropped to one shape so the row lines up.

Two across

The opening of a document in the Folio style

Folio

A beige page and a condensed display face.

The opening of a document in the Ledger style

Ledger

Mono labels in a column beside a quiet sans.

Three across

The opening of a document in the Poster style

Poster

Each section its own block of colour.

The opening of a document in the Schematic style

Schematic

A title block over a ruled grid.

The opening of a document in the Field Guide style

Field Guide

A serif catalogue with a margin rail.

Image gallery

Section 32

A grid of figures, one caption line each, and no box round them. Two-up by default, three-up with gallery--3. Three-up drops to two on a phone.

Full-width image

Section 33

For a hero shot or a wide chart. The figure sits between sections as a direct child of the body, like a band, and only the picture runs to the page edge. A picture taller than most of the screen is cropped from the top.

The opening of a document in the Poster style, run edge to edge
The caption comes back into the column, so it lines up with the text above.

Peek pair

Section 34
The opening of a document in the Schematic style A table in the Schematic style, laid over the opening

Two views of one thing

A main picture fills the frame and a second one peeks in from the lower right at a slight angle, like a sheet laid on a sheet. Use it for a page and one detail from it.

It fills whatever width it is given and keeps one shape, so give it a grid cell, an image card, or the picture side of an image-beside-text block, never the whole column.

Section heads, three levels

Section 35

The large head opens every numbered section, like the one above. Two smaller levels sit inside a section. Each drops one thing: the rule gets lighter, then the label goes.

Medium, for a subsection

Workshops

A 1px ink rule across the full column, an h3, and a short label on the right in place of the section number.

Small, for a block inside a column or a card

A hairline and the heading alone, with no label.

Icon reference

Section 36

Twelve Lucide icons cover what documents need. Add one to this set before using it, so a page never mixes two drawings of the same idea.

Stroke follows type weight

Beside body text at 400, the stroke is 1.75, so the icon sits in the line rather than on top of it.

Beside display type at 600, the stroke is 2

Four colours

Ink is the default. The accent marks structure, the emphasis marks the one thing to act on, and the mark colour marks status. An icon takes one of the four and nothing else.

Still open, or footnotes

Section 37