Themes / 01
Strict One
A disciplined, Swiss-grid editorial theme. One accent, hard edges, no decoration.
npx shadcn@latest add https://strictthemes.com/r/strict-one.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 / Page prompts
Paste one into your agent. Get that page.
Each prompt is a full brief for one page in this theme: its sections, layout, behavior, and a checklist the agent goes through before it says it is done. The rules in every prompt are generated from the theme's strict block.
Landing page
A marketing landing page for a software product, from header to footer.
18.9k characters · Run 4 times in Claude Code
Pricing page
A pricing page with three plans, a monthly and yearly switch, a comparison table and a FAQ.
20.6k characters · Run 2 times in Claude Code
Article page
A long-form article or blog post page built for reading, with a table of contents.
20.0k characters · Run 2 times in Claude Code
Documentation page
A documentation page with a sidebar, the content, and an "on this page" list.
20.3k characters · Run 2 times in Claude Code
Dashboard
The overview screen of a web app, with navigation, key numbers, a chart and a table.
20.9k characters · Run 4 times in Claude Code
03 / Colors
Every color the theme allows.
primary
#1F3BFF / #8091FF
on-primary
#FFFFFF / #0B0B0C
secondary
#111111 / #F5F5F4
on-secondary
#FFFFFF / #111111
tertiary
#FF4F00
on-tertiary
#111111
neutral
#6B6B6B / #A3A3A0
background
#FFFFFF / #0B0B0C
surface
#F5F5F4 / #161618
foreground
#111111 / #F5F5F4
border
#E2E2E0 / #2A2A2E
error
#C62828 / #FF6B5E
Left: light mode. Right: dark mode.
04 / Typography
Five sizes. Nothing in between.
display
Archivo · 56px · weight 700 · line 1.05
The quick brown fox
h1
Archivo · 36px · weight 700 · line 1.15
The quick brown fox
h2
Archivo · 24px · weight 600 · line 1.25
The quick brown fox
body
IBM Plex Sans · 16px · weight 400 · line 1.6
The quick brown fox
label
IBM Plex Mono · 12px · weight 500 · line 1.3
The quick brown fox
05 / Shape and space
Corners and spacing.
none
0
sm
2px
md
4px
xs
4px
sm
8px
md
16px
lg
32px
xl
64px
06 / 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
- Flagged
- glow shadows
- Flagged
07 / Guidance
What your agent reads.
Overview
Strict One is an editorial theme built on a visible grid. It reads like a well-set printed page: generous whitespace, strong type contrast, and a single saturated blue used only where the reader should act. Nothing is decorative. If an element does not carry content or structure, remove it.
Colors
- Primary (
#1F3BFF) is for the one main action on a screen and for links. Never use it for large fills or backgrounds. - Secondary (
#111111) is ink: headings, secondary buttons, rules. - Tertiary (
#FF4F00) is a signal color for badges and status only. At most one per view. - Neutral (
#6B6B6B) is for captions and metadata. - Background / Surface are flat. No gradients, no tints of primary.
- Error (
#C62828) is reserved for validation and destructive actions.
Typography
Archivo sets headings, tight and heavy. IBM Plex Sans sets body text at 16px with a 1.6 line height and a measure of 60–75 characters. IBM Plex Mono sets labels in uppercase with wide tracking. Use only the five sizes defined above; hierarchy comes from size and weight, never from color.
Layout
A 12-column grid with 32px gutters and a 1200px maximum width. All spacing comes from the scale (4, 8, 16, 32, 64). Align everything to the grid's left edge; centered layouts are the exception, not the default. Separate sections with whitespace or a 1px border, not with boxes.
Elevation & Depth
Flat. There are no shadows and no blur. Layers are separated by a 1px border in the border color or by a change from background to surface.
Shapes
Corners are square or nearly so: 0 for badges and images, 2px for controls, 4px for cards. Nothing is pill-shaped or circular except avatars.
Components
- Buttons: one primary button per view. Labels are uppercase mono, 12px.
- Cards: surface fill, 32px padding, no shadow. Never nest a card inside a card.
- Badges: square, tertiary fill, used sparingly.
- Icons: 1.5px stroke line icons. Never emoji.
Do's and Don'ts
- Do keep one accent color per screen.
- Do let whitespace separate content.
- Don't use gradients, glows, glassmorphism or drop shadows.
- Don't use emoji as icons or bullets.
- Don't introduce a color, size or radius that is not a token above.