Sketchbook
A journal on grid paper: serif display, square outlined cards, hand-drawn marks.
Where it comes from
Before software, products were worked out on paper: graph-ruled pads, pencil, a margin note with an arrow, a circled word. A sketchbook look borrows that working surface on purpose. It says that the thing is in progress and made by hand, which lowers the stakes of reading it and suits tools for people who make things.
This is the language of the documentation you are reading. We chose it because it carries two moods at once: the structure of a printed grid and the warmth of marks made with a pen. It sits between the rigour of a plain grid style and the shouting of a heavy-stroke style, with outlined cards that cast a hard offset shadow and a serif for headings.
Written by us, in our own words, as background. It is not a claim about users.
Traits
- Type
A serif display face over a plain body face, semibold headings, uppercase labels with open tracking, and a generous line height near 1.65. Captions are italic.
--ca-font-display--ca-font-weight-heading--ca-label-case--ca-label-tracking--ca-line-height-body- Colour
Paper and pencil: a quiet surface, graphite text, and the brand colour for marks and the active state. The page grid is drawn in a subtle outline colour so it stays texture.
--ca-brand-main--ca-outline-subtle--ca-mark-color--ca-page-mesh- Shape
Square corners with a two to three pixel outline. Hand-drawn underlines and margin notes (`.ca-mark-underline`, `.ca-mark-note`) add the pen.
--ca-radius-scale--ca-border-width--ca-border-width-strong- Depth
A hard offset shadow, like a card laid on a desk. No blur. The paper itself is flat grid lines.
--ca-shadow-md--ca-mat-regular-shadow- Motion
Short and plain at about 60% of the default, with the standard curve: things appear, they do not perform.
--ca-motion-scale--ca-ease-standard
Before and after, on real components
The same components twice: with the package default and with this style. Use the toggle to flip between them or put them side by side.
Weekly report
Revenue grew in three of four regions. The fourth is waiting on a late import.
As on your ID.
Heads up
Payment failed
Do and don't
Do
- Keep the grid faint; it is texture behind the content, not a pattern in front of it.
- Use the hand-drawn marks sparingly, once or twice a page, on the words that matter.
- Let captions and notes be italic and secondary so the body stays plain.
- Pair it with a light and a dark scheme and check the grid ink in both.
Don't
- Do not draw a mark on every heading; a mark only means something when it is rare.
- Do not put text over the grid lines at a size where they cross the letters.
- Do not use a handwriting font for body text. The warmth comes from marks and layout, not from illegible type.
- Do not add blur or gradients; they fight the paper.
These are our own guidance for using the recipe well. The accessibility items below carry their sources.
Accessibility pitfalls
Each item names what goes wrong, what the library already does about it and what is left to you.
A busy background pattern can reduce how readable text over it is
Standard or guidelineW3C Web Accessibility Initiative 2023
Grid or dotted paper behind body text is a background the text contrast has to survive.
Scope: WCAG 2.2 Quick Reference, contrast criteria: text needs 4.5:1 against its background. A background pattern counts as part of the background, so the lines under text are measured too.
What to do. Keep the paper pattern at low contrast (it uses `--ca-outline-subtle` at about half strength) and keep text on a raised, opaque surface rather than directly on the grid.
Decorative marks must not carry meaning
Standard or guidelineW3C Web Accessibility Initiative 2023
A hand-drawn circle around a word tells a sighted reader that it matters; a screen reader hears nothing, so the importance has to be stated in text as well.
Scope: WCAG 2.2 Quick Reference: information conveyed only through a visual device needs a text or programmatic equivalent. It says what must be available, not how a mark is perceived.
What to do. Marks are drawn with CSS masks and are not announced; any emphasis they give must also be in the words (bold, a label, an order), and in forced-colors mode they fall back to the system text colour.
Components that fit
Developer tools, documentation, learning products, portfolios and products for people who make things, where warmth and structure should coexist.
Avoid it when: Formal institutions, finance, or any context where a hand-made look would read as unserious.
Where it fits is our judgement from using the recipe, not a measured result.
Highlight: A hand-drawn emphasis on the words that matter.Card: An outlined card with a hard shadow is a page of the book.Callout: A margin note with a clear tone.CodeSnippet: A boxed block that sits well on paper.
Highlight
Emphasis belongs on the words that matter, once or twice a page.
Card
Field notes
A card is a surface with a title and room to breathe.
Callout
Margin note
CodeSnippet
Overlays such as Dialog and Tooltip render in the page body, outside this style's subtree, so they are not shown here. Apply the style to the whole site to see them wear it.
The ThemeOptions recipe
One call in src/lib/theme.ts. Everything below is what the recipe sets; override any of it on top.
With your own brand colour on top:
Every knob this recipe sets
Try it on this site
Try it on every page of this site, only in this browser. Nothing is published or changed for anyone else.
Prompt for your AI
Paste this into a coding agent. It carries the recipe, the limits and the accessibility rules.
References
W3C Web Accessibility Initiative (2023). WCAG 2.2: How to Meet WCAG (Quick Reference). W3C Recommendation.Standard or guideline
Supports: What conformant content must do, as testable success criteria with a level (A, AA, AAA): for example 1.4.10 Reflow (no two-dimensional scrolling at a width equivalent to 320 CSS pixels, except content that needs two-dimensional layout), 2.4.11 Focus Not Obscured (Minimum) and 2.5.8 Target Size (Minimum) (at least 24 by 24 CSS pixels, with listed exceptions).
Does not support: What users prefer or what performs better. A standard says what is required, not what is popular.
Checked 2026-10-25.