Themes / 02
Recital
A warm, literary theme for long reading. Paper tones, a serif voice, and one oxblood accent.
npx shadcn@latest add https://strictthemes.com/r/recital.json- DESIGN.md The spec
- tailwind.css Tailwind CSS v4
- shadcn.css shadcn variables
- nuxt-ui.css Nuxt UI
- app.config.ts Nuxt UI config
- tokens.json W3C design tokens
01 / Preview
Stock shadcn components, this theme.
Ship the page, keep the system.
Every color, corner and typeface in this box comes from the theme's tokens. The components are stock shadcn.
96%88%100%02 / Colors
Every color the theme allows.
primary
#7B2D26 / #E39A7B
on-primary
#FFF9F0 / #1F1410
secondary
#2B2622 / #F2EADD
on-secondary
#FFF9F0 / #1F1B18
tertiary
#B8892B / #D4A94A
on-tertiary
#1F1B18
neutral
#6F665E / #A99F94
background
#FBF7F0 / #191614
surface
#F3ECE1 / #231F1C
foreground
#1F1B18 / #F2EADD
border
#DDD3C4 / #3A332D
error
#A3261C / #EF8A7E
Left: light mode. Right: dark mode.
03 / Typography
Five sizes. Nothing in between.
display
Fraunces · 60px · weight 600 · line 1.05
The quick brown fox
h1
Fraunces · 40px · weight 600 · line 1.15
The quick brown fox
h2
Fraunces · 28px · weight 500 · line 1.25
The quick brown fox
body
Source Sans 3 · 18px · weight 400 · line 1.65
The quick brown fox
label
Source Code Pro · 13px · weight 500 · line 1.4
The quick brown fox
04 / Shape and space
Corners and spacing.
sm
3px
md
6px
lg
12px
xs
4px
sm
8px
md
16px
lg
24px
xl
48px
2xl
96px
05 / Rules
What the strict block enforces.
- Contrast
- WCAG AA
- Colors
- Tokens only, within 0.02 of a token
- Spacing
- Scale only, plus 0, 1px
- Corners
- Scale only
- Type
- Scale only, declared fonts only
- purple gradient
- Not allowed
- emoji icons
- Not allowed
- nested cards
- Not allowed
- glow shadows
- Not allowed
06 / Guidance
What your agent reads.
Overview
Recital is for writing that people sit down with: essays, journals, documentation read end to end. It should feel like a well-made paperback, with warm paper, dark brown ink and a serif that has some character. The page is quiet so the words carry it. One oxblood accent marks what the reader can act on.
Colors
- Primary (
#7B2D26) is oxblood. Use it for links, the main button and the occasional drop cap. Not for backgrounds. - Secondary (
#2B2622) is the ink for secondary buttons and heavy rules. - Tertiary (
#B8892B) is an ochre for badges and highlights, like a margin note in pencil. Use it rarely. - Neutral (
#6F665E) sets captions, bylines and dates. - Background (
#FBF7F0) and Surface (#F3ECE1) are paper tones. Never pure white, never a cool grey. - Error (
#A3261C) is for validation only. It is close to the primary, so always pair it with an icon or a message.
Typography
Fraunces sets headings: soft, slightly old-style, never bold beyond 600. Source Sans 3 sets body text at 18px with a 1.65 line height and a measure of 60–70 characters. Source Code Pro sets labels, bylines and code. Body text is never smaller than 16px, and long passages are never centered or justified.
Layout
A single reading column, 680px wide, centered on the page. Wider elements such as images and tables may extend to 960px. Spacing comes from the scale (4, 8, 16, 24, 48, 96), with 48px between sections and 96px before a new chapter. Sidebars are the exception: prefer footnotes and inline asides.
Elevation & Depth
Almost flat. A card sits on the page by its surface color and a 1px border. One soft shadow is allowed for things that float over the text, such as menus and dialogs; nothing else casts one.
Shapes
Gently rounded: 3px for badges, 6px for buttons and inputs, 12px for cards and images. No pills, and no perfect circles except avatars.
Components
- Buttons: oxblood for the main action, ink for the rest. Sentence case, never all caps.
- Cards: surface fill, 12px corners, 24px padding. Used for asides and summaries, not for every paragraph.
- Badges: ochre, small, one or two words.
- Block quotes: a 2px primary rule on the left, set in Fraunces italic.
- Icons: thin line icons, used sparingly. Never emoji.
Do's and Don'ts
- Do give text room: wide margins and tall line height.
- Do use italics and small caps for emphasis before reaching for color.
- Don't use pure white, pure black or cool greys.
- Don't use gradients, glows or glass effects.
- Don't put a card inside a card.
- Don't introduce a color, size or radius that is not a token above.