Radical two-color: deep indigo and warm bone, nothing else. Cool but editorial — never electric. Considered serif/sans pairing, refined 6px corners, no shadows. Discipline and quiet authority.
A complete design system, ready for your AI coding agent. Every primitive, token, and pattern below is generated straight from DESIGN.md — drop the file in your project and ship matching UI in minutes.
Prose-first token file — decisions live next to their reasoning.
Fine micro-scale (1–5px) for pills, editorial scale (12–21px) for the grid.
The system's own radius tokens — sm for chips and inputs, md for buttons, lg for cards, pill for fully-rounded CTAs.
1---2name: "Indigo Bone"3description: "Radical two-color: deep indigo and warm bone, nothing else. Cool but editorial — never electric. Considered serif/sans pairing, refined 6px corners, no shadows. Discipline and quiet authority."4tags: [duotone, editorial, minimal, premium, modern]5colors:6 primary: "#1B2447"7 secondary: "#5A6688"8 tertiary: "#8E97B5"9 neutral: "#F1ECE0"10 surface: "#F8F4EA"11typography:12 display: "Cormorant Garamond"13 body: Inter14 mono: "JetBrains Mono"15 scale:16 hero: "5rem / 1 / 500 / -0.025em"17 h1: "2.875rem / 1.05 / 500 / -0.022em"18 h2: "1.5rem / 1.3 / 500 / -0.012em"19 body: "1.0625rem / 1.7 / 400 / -0.003em"20radius:21 sm: 4px22 md: 6px23 lg: 8px24shadows:25 card: "0 0 0 1px rgba(27, 36, 71, 0.10)"26 button: none27borders:28 card: "1px solid rgba(27, 36, 71, 0.10)"29 divider: "rgba(27, 36, 71, 0.16)"30buttons:31 primary:32 background: #1B244733 color: #F1ECE034 border: 1px solid #1B244735 shape: rounded36 padding: 12px 24px37 font: 500 / 0.9375rem / -0.005em38 secondary:39 background: #F8F4EA40 color: #1B244741 border: 1px solid #1B244742 shape: rounded43 padding: 11px 23px44 font: 500 / 0.9375rem / -0.005em45 outline:46 background: transparent47 color: #1B244748 border: 1px solid rgba(27, 36, 71, 0.30)49 shape: rounded50 padding: 11px 23px51 font: 500 / 0.9375rem / -0.005em52 ghost:53 background: transparent54 color: #5A668855 border: none56 shape: rounded57 padding: 11px 4px58 font: 500 / 0.9375rem / -0.005em59 hover: underline60charts:61 variant: "rounded-bars"62 stroke_width: 263 gridlines: false64 bar_radius: 3px65 bar_gap: 10px66 highlight: all67 axis_color: "#5A6688"68 palette: ["#1B2447", "#5A6688", "#8E97B5"]69fonts_url: "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400&display=swap"70dependencies: ["lucide-react"]71---72 73# Indigo Bone74 75## AI Build Instructions76 77> **Read this section before writing any code.** The rules below78> are non-negotiable. Every value used in the UI must come from this79> file's frontmatter — never substitute, approximate, or invent new80> colors, fonts, radii, or shadows. If a value is missing, ask the81> user before adding one.82 83### 1 · Your role84 85You are building UI for a project that has adopted **Indigo Bone** as its86design system. Treat `DESIGN.md` as the single source of truth.87Your job is to translate the user's product requirements into88components and pages that look like they were designed by the same89person who authored this file.90 91### 2 · Token compliance92 93- Pull every color, font family, radius, shadow, and spacing value94 from the frontmatter at the top of this file.95- Use semantic roles (e.g. `primary`, `accent`, `muted`) — never96 hard-code hex values that bypass the system.97- When a token can be expressed as a CSS variable, declare it once98 in your global stylesheet and reference it everywhere downstream.99- The Google Fonts `<link>` is provided in the Typography section.100 Add it to `<head>` before any component renders.101 102### 3 · Component recipes103 104Use these recipes verbatim when building the corresponding component.105 106#### Buttons107 108Four variants are defined. Pick one — never blend variants or invent a fifth.109 110- **Primary** — rounded shape, bg `#1B2447`, text `#F1ECE0`, border `1px solid #1B2447`, padding `12px 24px`, weight `500`.111- **Secondary** — rounded shape, bg `#F8F4EA`, text `#1B2447`, border `1px solid #1B2447`, padding `11px 23px`, weight `500`.112- **Outline** — rounded shape, text `#1B2447`, border `1px solid rgba(27, 36, 71, 0.30)`, padding `11px 23px`, weight `500`.113- **Ghost** — rounded shape, text `#5A6688`, padding `11px 4px`, weight `500`.114 115Reach for **primary** as the single dominant CTA per screen.116**Secondary** for the supporting action. **Outline** for tertiary117actions in toolbars. **Ghost** for inline links and table actions.118 119#### Cards120 121- Background: `#F8F4EA`122- Border: `1px solid rgba(27, 36, 71, 0.10)`123- Shadow: `0 0 0 1px rgba(27, 36, 71, 0.10)`124- Radius: `radius.lg` (`8px`)125- Internal padding: `20px` for compact cards, `24–28px` for content cards.126 127#### Charts128 129- Bar/line variant: `rounded-bars`130- Bar radius: `3px`131- No gridlines — let the bars/lines carry the data.132- Highlight strategy: `all` — emphasize a single bar/point per chart.133- Use the declared palette in order: `#1B2447`, `#5A6688`, `#8E97B5`.134 135#### Typography pairings136 137- **Display (`Cormorant Garamond`)** — h1, h2, hero headlines, brand wordmarks.138- **Body (`Inter`)** — paragraphs, labels, button text, form inputs.139- **Mono (`JetBrains Mono`)** — code, eyebrows, metadata, numerals in tables.140 141### 4 · Hard constraints142 143Never do any of the following without explicit instruction from the user:144 145- Introduce a new color, font, radius, or shadow that isn't declared above.146- Mix this system with another (e.g. don't paste in Material or Bootstrap defaults).147- Use generic gradient defaults (purple→blue, peach→pink) — they break the system's voice.148- Reach for emoji icons. Use a consistent icon library and size icons in line with body type.149- Add motion that exceeds the system's restraint — keep transitions short (≤200ms) and subtle.150 151### 5 · Before you finish — verify152 153Run through this checklist for every screen you produce:154 155- [ ] Every color used appears in the Colors table above.156- [ ] Headlines use the display font; body copy uses the body font.157- [ ] Buttons match one of the declared variants exactly (shape, padding, weight).158- [ ] Border-radius values come from `radius.sm` / `radius.md` / `radius.lg` / `radius.pill`.159- [ ] Cards and dividers use the declared border + shadow tokens.160- [ ] No values were invented; if you needed something missing, you stopped and asked.161 162---163 164## Overview165Indigo Bone is a strict two-color editorial system: **deep indigo and warm bone, nothing else.** No third hue anywhere — not in charts, not in icons, not in shadows. The chart's three "colors" are one hue at three chroma levels.166 167Where Ink & Citron is cool-electric (deep ink + acid citron) and Terra Bone is warm-earthen (terracotta + bone), Indigo Bone sits between them: cool but editorial, never electric. The pairing of high-contrast serif and crisp sans gives it discipline and quiet authority.168 169For literary brands, premium publishers, design-forward financial pages, anything that wants two colors and nothing more.170 171## Color172- **Indigo #1B2447** — the only "dark." Body text, headings, primary fills, hairlines.173- **Faded #5A6688** — same hue at lower chroma. Secondary text, axis labels, second chart bar.174- **Soft #8E97B5** — same hue, even softer. Third chart bar, hover underline.175- **Bone #F1ECE0** — page canvas. Warm. The only neutral.176- **Surface #F8F4EA** — card surface, one notch above bone.177 178The three indigo steps are the same color at three chroma levels — the duotone discipline holds.179 180## Typography181- **Display: Cormorant Garamond 500** at 5rem with -2.5% tracking. Editorial serif.182- **Body: Inter 400** at 1.0625rem with 1.7 leading.183 184| Role | Font | Size | Weight | Tracking |185|------|------|------|--------|----------|186| Hero | Cormorant Garamond | 5rem | 500 | -0.025em |187| H1 | Cormorant Garamond | 2.875rem | 500 | -0.022em |188| H2 | Cormorant Garamond | 1.5rem | 500 | -0.012em |189| Body | Inter | 1.0625rem | 400 | -0.003em / 1.7 |190 191The serif/sans pairing carries the texture. Display always at weight 500 — never bold.192 193## Geometry194- **Radii: 4 / 6 / 8.** Editorial geometry, refined.195- **No shadow.** A 1px indigo hairline at 10% opacity is the only depth signal.196- **Section gap: 128px** desktop, 80px mobile.197 198## Buttons199- **Primary** — solid deep indigo, bone label.200- **Secondary** — bone surface, indigo label, full-opacity indigo hairline.201- **Outline** — bare hairline at 30%.202- **Ghost** — faded indigo label, hover underline.203 204## Cards205Surface bone on canvas, 1px indigo hairline at 10%, 6px corners, **no shadow**. The card depth comes from the hairline alone — adding shadow would introduce a third tonal value and break the duotone.206 207## Charts & Data208Three-bar histogram in three chroma steps of indigo, 3px corner radius, 10px gap, no gridlines. Axis labels in faded indigo. Monochrome by definition.209 210## Do's and Don'ts211- ✅ Two colors only — indigo and bone. Chart chroma steps are the same hue.212- ✅ Hairline is the only depth. No shadows.213- ✅ Serif display + sans body. The pairing is the texture.214- ✅ Display weight 500. Bold breaks the editorial restraint.215- ❌ No third hue. No green, no orange, no grey accent. Ever.216- ❌ No drop shadow. Hairline only.217- ❌ No bold display weight. Cormorant lives at 500.218- ❌ No pill buttons or sharp 0px corners. The system is refined.219 220---221 222## Tokens223 224> Generated from the same source the live preview renders from.225> Treat the values below as the contract — never substitute approximations.226 227### Colors228 229| Role | Value |230|-----------|-------|231| primary | `#1B2447` |232| secondary | `#5A6688` |233| tertiary | `#8E97B5` |234| neutral | `#F1ECE0` |235| surface | `#F8F4EA` |236 237### Typography238 239- **Display:** Cormorant Garamond240- **Body:** Inter241- **Mono:** JetBrains Mono242 243| Role | size / leading / weight / tracking |244|------|------------------------------------|245| Hero | 5rem / 1 / 500 / -0.025em |246| H1 | 2.875rem / 1.05 / 500 / -0.022em |247| H2 | 1.5rem / 1.3 / 500 / -0.012em |248| Body | 1.0625rem / 1.7 / 400 / -0.003em |249 250### Radius251 252- sm: `4px`253- md: `6px`254- lg: `8px`255 256### Shadows257 258- **card:** `0 0 0 1px rgba(27, 36, 71, 0.10)`259- **button:** `none`260 261### Borders262 263- **card:** `1px solid rgba(27, 36, 71, 0.10)`264- **divider:** `rgba(27, 36, 71, 0.16)`265 266### Buttons267 268Four variants, each fully tokenized. The preview renders from these exact values.269 270#### Primary271 272| Property | Value |273|----------|-------|274| shape | `rounded` |275| background | `#1B2447` |276| color | `#F1ECE0` |277| border | `1px solid #1B2447` |278| padding | `12px 24px` |279| fontWeight | `500` |280| fontSize | `0.9375rem` |281| tracking | `-0.005em` |282 283#### Secondary284 285| Property | Value |286|----------|-------|287| shape | `rounded` |288| background | `#F8F4EA` |289| color | `#1B2447` |290| border | `1px solid #1B2447` |291| padding | `11px 23px` |292| fontWeight | `500` |293| fontSize | `0.9375rem` |294| tracking | `-0.005em` |295 296#### Outline297 298| Property | Value |299|----------|-------|300| shape | `rounded` |301| background | `transparent` |302| color | `#1B2447` |303| border | `1px solid rgba(27, 36, 71, 0.30)` |304| padding | `11px 23px` |305| fontWeight | `500` |306| fontSize | `0.9375rem` |307| tracking | `-0.005em` |308 309#### Ghost310 311| Property | Value |312|----------|-------|313| shape | `rounded` |314| background | `transparent` |315| color | `#5A6688` |316| border | `none` |317| padding | `11px 4px` |318| fontWeight | `500` |319| fontSize | `0.9375rem` |320| tracking | `-0.005em` |321| hoverHint | `underline` |322 323### Charts324 325| Property | Value |326|----------|-------|327| variant | `rounded-bars` |328| strokeWidth | `2` |329| gridlines | `false` |330| barRadius | `3px` |331| barGap | `10px` |332| highlight | `all` |333| axisColor | `#5A6688` |334| palette | `#1B2447`, `#5A6688`, `#8E97B5` |335 # CLAUDE.md Reference @DESIGN.md for all styling decisions. Apply tokens strictly — do not introduce colors, fonts, or radii outside the system. When in doubt, prefer the values declared in DESIGN.md frontmatter.<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400&display=swap" />npm install lucide-react// tailwind.config.jsexport default { theme: { extend: { fontFamily: { display: ['"Cormorant Garamond"', 'serif'], sans: ['"Inter"', 'sans-serif'], mono: ['"JetBrains Mono"', 'monospace'], }, colors: { primary: '#1B2447', secondary: '#5A6688', accent: '#8E97B5', neutral: '#F1ECE0', surface: '#F8F4EA', }, borderRadius: { sm: '4px', md: '6px', lg: '8px', }, }, },};An ultra-minimal restraint exercise. Pure white surfaces, every layout snapped to a strict 12-column grid with a 4px baseline, Inter at three sizes for the entire system, sharp 0px corners, and one vermilion accent reserved for exactly one moment per page. Built for product pages, design portfolios, and brand surfaces where the discipline of the grid IS the design.
A complete design system, ready for your AI coding agent. Every primitive, token, and pattern below is generated straight from DESIGN.md — drop the file in your project and ship matching UI in minutes.
Design-agency editorial in print mode. Oversized DM Serif Display headlines that nearly touch the gutter, asymmetric two-column body in Inter, a single tomato accent that lives only in the first letter of the H1 and the period of the CTA. Built for studio sites and case studies.
A complete design system, ready for your AI coding agent. Every primitive, token, and pattern below is generated straight from DESIGN.md — drop the file in your project and ship matching UI in minutes.