back to gallery
design language·restorative-accent-current

Restorative Accent Current

A portable design language for agents: download the markdown first, then inspect the preview, tokens, and rules as needed.

Download DESIGN.md

Portable DESIGN.md source of truth for most agents and apps.

the spec

specification

philosophy
summary
A mobile-first consumer app color system that makes everyday actions feel calm, warm, and lightly delightful through restorative teal foundations, tomato-coral action cues, lilac moments of reward, and luminous yellow guidance over soft tactile surfaces.
values
Restorative confidence for health, finance, planning, and social consumer flowsSemantic accents with accessible foregrounds in light and dark themesTactile pastel surfaces that feel warm without becoming childishMobile clarity: generous hit areas, legible contrast, and recognizable action color roles
anti-values
×Low-contrast candy gradients that cannot support real product text×Single-accent monochrome systems where every state feels the same×Neon dark modes that glow instead of guide×Decorative color use that breaks semantic meaning
tokens
borders4 items
accent width
4px
character
soft neutral outlines with one semantic accent edge for active modules and focus states
default width
1px
style
solid
colors12 items
accent
#FF6B57
background
#FFF8EE
border
#D8CDBE
error
#D9473F
info
#2477B8
muted
#657276
primary
#0F8B83
secondary
#A98BFF
success
#21806B
surface
#F7ECDD
text
#17202A
warning
#F7C948
dark_colors12 items
accent
#FF8A76
background
#111820
border
#34414B
error
#FF786E
info
#80C7FF
muted
#A6B1B2
primary
#5ED6CA
secondary
#C8B5FF
success
#65D6B8
surface
#1B242D
text
#F8F1E8
warning
#FFE07A
motion3 items
duration
180ms
easing
cubic-bezier(.2,.8,.2,1)
philosophy
Short tactile lift and color-warmth transitions; never use long decorative animation for state changes.
radii5 items
full
9999px
lg
28px
md
18px
none
0
sm
10px
semantic_accents4 items
action coral
dark #FF8A76·dark foreground #2C0D08·foreground #24100D·light #FF6B57
delight lilac
dark #C8B5FF·dark foreground #21143F·foreground #1D1242·light #A98BFF
highlight yellow
dark #FFE07A·dark foreground #251D00·foreground #2B2100·light #F7C948
restorative teal
dark #5ED6CA·dark foreground #082A2A·foreground #FFFFFF·light #0F8B83
shadows3 items
lg
0 24px 60px rgba(23,32,42,0.18)
md
0 12px 28px rgba(23,32,42,0.12)
sm
0 2px 8px rgba(23,32,42,0.08)
spacing2 items
base
8px
scale
4, 8, 12, 16, 20, 24, 32, 40, 56, 72
surfaces3 items
bg pattern
large blurred teal and lilac halo patches plus a fine warm grain overlay
card style
rounded tactile cards with 1px translucent border, inner top highlight, and optional accent rail
treatment
warm off-white base, soft peach-beige cards, and charcoal dark equivalents with colored semantic edge glints
typography8 items
base size
16px
body font
Nunito Sans
google fonts url
https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Nunito+Sans:wght@400;600;700;800&family=JetBrains+Mono:wght@500;700&display=swap
heading font
Fraunces
letter spacing
-0.015em
line height
1.52
mono font
JetBrains Mono
scale ratio
1.22
rules
composition
Compose consumer mobile screens as stacked task cards inside a rounded device-like shell, with one dominant restorative panel and smaller semantic accent modules.
density

Balanced mobile density with 44px minimum controls, 16px gutters, compact data rows, and ample breathing room between semantic groups.

hierarchy
Use a warm editorial heading, compact rounded status chips, and color-coded rails so users can identify primary action, guidance, delight, and alert states at a glance.
signature patterns
Semantic accent rails: active cards reserve the left or top 4px for teal, coral, lilac, or yellow instead of tinting all text.Tactile pastel basins: panels use warm surface fills, inset white highlights, and soft shadows to feel touchable on mobile.Dark-mode glints: charcoal cards keep neutral body surfaces while small luminous accent dots, rails, and focus rings carry the palette.Action warmth pairing: coral primary actions are balanced by teal restorative secondary actions and yellow inline tips.
layout
breakpoints

360px mobile, 768px tablet, 1024px desktop, 1280px gallery; cards collapse to one column below 720px.

grid

Mobile-first 4-column card grid that expands into a 12-column desktop showcase with app panels never exceeding comfortable reading width.

whitespace

Use 16px mobile gutters, 24px panel padding, and 32-56px section gaps to keep pastel surfaces calm and scannable.

guidance
do
  • Assign teal to restorative or safe progress, coral to high-intent actions, lilac to delight or personalization, and yellow to guidance.
  • Pair every accent fill with its tested foreground token and keep body copy on neutral surfaces.
  • Provide dark-theme equivalents over charcoal or ink instead of simply brightening light colors.
  • Use accent rails, chips, and focus rings to carry color semantics in dense mobile states.
avoid
  • Do not place small white text on luminous yellow or pale lilac.
  • Do not use coral for passive decoration because it competes with action meaning.
  • Do not flood full-screen backgrounds with saturated gradients.
  • Do not let dark theme become black; retain charcoal hierarchy and warm off-white text.
katagami spec
# Restorative Accent Current

## Philosophy

A mobile-first consumer app color system that makes everyday actions feel calm, warm, and lightly delightful through restorative teal foundations, tomato-coral action cues, lilac moments of reward, and luminous yellow guidance over soft tactile surfaces.

### Values

- Restorative confidence for health, finance, planning, and social consumer flows
- Semantic accents with accessible foregrounds in light and dark themes
- Tactile pastel surfaces that feel warm without becoming childish
- Mobile clarity: generous hit areas, legible contrast, and recognizable action color roles

### Anti-Values

- Low-contrast candy gradients that cannot support real product text
- Single-accent monochrome systems where every state feels the same
- Neon dark modes that glow instead of guide
- Decorative color use that breaks semantic meaning

### Visual Character

- Rounded charcoal-framed mobile panels sit on warm off-white or ink surfaces with a visible 1px semantic accent rail on the active edge.
- Cards use soft pastel wash backgrounds, inset highlight lines, and small color-chip labels so semantic color is visible without flooding the whole screen.
- Primary controls pair tomato-coral fills with dark ink text or ivory text depending on contrast, while teal controls use deep teal foregrounds for restorative tasks.
- Dark theme equivalents invert to charcoal and ink surfaces with desaturated teal, lilac, coral, and luminous yellow glints reserved for state and focus indicators.

## Tokens

### Borders

- **Accent Width**: 4px
- **Character**: soft neutral outlines with one semantic accent edge for active modules and focus states
- **Default Width**: 1px
- **Style**: solid

### Colors

| Name | Value |
|------|-------|
| accent | `#FF6B57` |
| background | `#FFF8EE` |
| border | `#D8CDBE` |
| error | `#D9473F` |
| info | `#2477B8` |
| muted | `#657276` |
| primary | `#0F8B83` |
| secondary | `#A98BFF` |
| success | `#21806B` |
| surface | `#F7ECDD` |
| text | `#17202A` |
| warning | `#F7C948` |

### Dark Colors

- **Accent**: #FF8A76
- **Background**: #111820
- **Border**: #34414B
- **Error**: #FF786E
- **Info**: #80C7FF
- **Muted**: #A6B1B2
- **Primary**: #5ED6CA
- **Secondary**: #C8B5FF
- **Success**: #65D6B8
- **Surface**: #1B242D
- **Text**: #F8F1E8
- **Warning**: #FFE07A

### Motion

- **Duration**: 180ms
- **Easing**: cubic-bezier(.2,.8,.2,1)
- **Philosophy**: Short tactile lift and color-warmth transitions; never use long decorative animation for state changes.

### Radii

- **Full**: 9999px
- **Lg**: 28px
- **Md**: 18px
- **None**: 0
- **Sm**: 10px

### Semantic Accents

- **Action Coral**: {"dark":"#FF8A76","dark_foreground":"#2C0D08","foreground":"#24100D","light":"#FF6B57"}
- **Delight Lilac**: {"dark":"#C8B5FF","dark_foreground":"#21143F","foreground":"#1D1242","light":"#A98BFF"}
- **Highlight Yellow**: {"dark":"#FFE07A","dark_foreground":"#251D00","foreground":"#2B2100","light":"#F7C948"}
- **Restorative Teal**: {"dark":"#5ED6CA","dark_foreground":"#082A2A","foreground":"#FFFFFF","light":"#0F8B83"}

### Shadows

- **Lg**: 0 24px 60px rgba(23,32,42,0.18)
- **Md**: 0 12px 28px rgba(23,32,42,0.12)
- **Sm**: 0 2px 8px rgba(23,32,42,0.08)

### Spacing

- **Base**: 8px
- **Scale**: [4,8,12,16,20,24,32,40,56,72]

### Surfaces

- **Bg Pattern**: large blurred teal and lilac halo patches plus a fine warm grain overlay
- **Card Style**: rounded tactile cards with 1px translucent border, inner top highlight, and optional accent rail
- **Treatment**: warm off-white base, soft peach-beige cards, and charcoal dark equivalents with colored semantic edge glints

### Typography

- **Base Size**: 16px
- **Body Font**: Nunito Sans
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Nunito+Sans:wght@400;600;700;800&family=JetBrains+Mono:wght@500;700&display=swap
- **Heading Font**: Fraunces
- **Letter Spacing**: -0.015em
- **Line Height**: 1.52
- **Mono Font**: JetBrains Mono
- **Scale Ratio**: 1.22

## Rules

### Composition

Compose consumer mobile screens as stacked task cards inside a rounded device-like shell, with one dominant restorative panel and smaller semantic accent modules.

### Density

Balanced mobile density with 44px minimum controls, 16px gutters, compact data rows, and ample breathing room between semantic groups.

### Hierarchy

Use a warm editorial heading, compact rounded status chips, and color-coded rails so users can identify primary action, guidance, delight, and alert states at a glance.

### Signature Patterns

- Semantic accent rails: active cards reserve the left or top 4px for teal, coral, lilac, or yellow instead of tinting all text.
- Tactile pastel basins: panels use warm surface fills, inset white highlights, and soft shadows to feel touchable on mobile.
- Dark-mode glints: charcoal cards keep neutral body surfaces while small luminous accent dots, rails, and focus rings carry the palette.
- Action warmth pairing: coral primary actions are balanced by teal restorative secondary actions and yellow inline tips.

## Layout

### Breakpoints

360px mobile, 768px tablet, 1024px desktop, 1280px gallery; cards collapse to one column below 720px.

### Grid

Mobile-first 4-column card grid that expands into a 12-column desktop showcase with app panels never exceeding comfortable reading width.

### Whitespace

Use 16px mobile gutters, 24px panel padding, and 32-56px section gaps to keep pastel surfaces calm and scannable.

## Guidance

### Do

- Assign teal to restorative or safe progress, coral to high-intent actions, lilac to delight or personalization, and yellow to guidance.
- Pair every accent fill with its tested foreground token and keep body copy on neutral surfaces.
- Provide dark-theme equivalents over charcoal or ink instead of simply brightening light colors.
- Use accent rails, chips, and focus rings to carry color semantics in dense mobile states.

### Don't

- Do not place small white text on luminous yellow or pale lilac.
- Do not use coral for passive decoration because it competes with action meaning.
- Do not flood full-screen backgrounds with saturated gradients.
- Do not let dark theme become black; retain charcoal hierarchy and warm off-white text.
DESIGN.md
---
version: "alpha"
name: "Restorative Accent Current"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  accent: "#FF6B57"
  background: "#FFF8EE"
  border: "#D8CDBE"
  error: "#D9473F"
  info: "#2477B8"
  muted: "#657276"
  primary: "#0F8B83"
  secondary: "#A98BFF"
  success: "#21806B"
  surface: "#F7ECDD"
  text: "#17202A"
  warning: "#F7C948"
typography:
  headline-lg:
    fontFamily: "Fraunces"
    fontSize: "1.816rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.015em"
  headline-md:
    fontFamily: "Fraunces"
    fontSize: "1.488rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.015em"
  body-md:
    fontFamily: "Nunito Sans"
    fontSize: "16px"
    fontWeight: 400
    lineHeight: 1.52
    letterSpacing: "-0.015em"
  label-md:
    fontFamily: "JetBrains Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  full: "9999px"
  lg: "28px"
  md: "18px"
  none: "0px"
  sm: "10px"
spacing:
  base: "8px"
  xs: "4px"
  sm: "8px"
  md: "12px"
  lg: "16px"
  xl: "20px"
  2xl: "24px"
  3xl: "32px"
  4xl: "40px"
  step-8: "56px"
  step-9: "72px"
components:
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-background:
    backgroundColor: "{colors.background}"
  color-reference-border:
    backgroundColor: "{colors.border}"
  color-reference-error:
    backgroundColor: "{colors.error}"
  color-reference-info:
    backgroundColor: "{colors.info}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-primary:
    backgroundColor: "{colors.primary}"
  color-reference-secondary:
    backgroundColor: "{colors.secondary}"
  color-reference-success:
    backgroundColor: "{colors.success}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-warning:
    backgroundColor: "{colors.warning}"
  button-primary:
    backgroundColor: "{colors.primary}"
    textColor: "#000000"
    typography: "{typography.label-md}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  card-surface:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  input-default:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    height: "44px"
---

# Restorative Accent Current

## Overview

A mobile-first consumer app color system that makes everyday actions feel calm, warm, and lightly delightful through restorative teal foundations, tomato-coral action cues, lilac moments of reward, and luminous yellow guidance over soft tactile surfaces.

### Values

- Restorative confidence for health, finance, planning, and social consumer flows
- Semantic accents with accessible foregrounds in light and dark themes
- Tactile pastel surfaces that feel warm without becoming childish
- Mobile clarity: generous hit areas, legible contrast, and recognizable action color roles

### Anti-Values

- Low-contrast candy gradients that cannot support real product text
- Single-accent monochrome systems where every state feels the same
- Neon dark modes that glow instead of guide
- Decorative color use that breaks semantic meaning

### Visual Character

- Rounded charcoal-framed mobile panels sit on warm off-white or ink surfaces with a visible 1px semantic accent rail on the active edge.
- Cards use soft pastel wash backgrounds, inset highlight lines, and small color-chip labels so semantic color is visible without flooding the whole screen.
- Primary controls pair tomato-coral fills with dark ink text or ivory text depending on contrast, while teal controls use deep teal foregrounds for restorative tasks.
- Dark theme equivalents invert to charcoal and ink surfaces with desaturated teal, lilac, coral, and luminous yellow glints reserved for state and focus indicators.

## Colors

Use the YAML color tokens as the normative palette. The prose below names the roles agents should preserve when generating UI.

| Token | Value |
|-------|-------|
| accent | `#FF6B57` |
| background | `#FFF8EE` |
| border | `#D8CDBE` |
| error | `#D9473F` |
| info | `#2477B8` |
| muted | `#657276` |
| primary | `#0F8B83` |
| secondary | `#A98BFF` |
| success | `#21806B` |
| surface | `#F7ECDD` |
| text | `#17202A` |
| warning | `#F7C948` |

## Typography

- **Headline-Lg**: Fraunces, 1.816rem, weight 700, line-height 1.1.
- **Headline-Md**: Fraunces, 1.488rem, weight 600, line-height 1.15.
- **Body-Md**: Nunito Sans, 16px, weight 400, line-height 1.52.
- **Label-Md**: JetBrains Mono, 0.75rem, weight 600, line-height 1.

## Layout

### Spacing Tokens

- **Base**: `8px`
- **Xs**: `4px`
- **Sm**: `8px`
- **Md**: `12px`
- **Lg**: `16px`
- **Xl**: `20px`
- **2xl**: `24px`
- **3xl**: `32px`
- **4xl**: `40px`
- **Step-8**: `56px`
- **Step-9**: `72px`

### Breakpoints

360px mobile, 768px tablet, 1024px desktop, 1280px gallery; cards collapse to one column below 720px.

### Grid

Mobile-first 4-column card grid that expands into a 12-column desktop showcase with app panels never exceeding comfortable reading width.

### Whitespace

Use 16px mobile gutters, 24px panel padding, and 32-56px section gaps to keep pastel surfaces calm and scannable.

## Elevation & Depth

### Shadows

- **Lg**: 0 24px 60px rgba(23,32,42,0.18)
- **Md**: 0 12px 28px rgba(23,32,42,0.12)
- **Sm**: 0 2px 8px rgba(23,32,42,0.08)

## Shapes

### Rounded

- **Full**: `9999px`
- **Lg**: `28px`
- **Md**: `18px`
- **None**: `0px`
- **Sm**: `10px`

### Surfaces

- **Bg Pattern**: large blurred teal and lilac halo patches plus a fine warm grain overlay
- **Card Style**: rounded tactile cards with 1px translucent border, inner top highlight, and optional accent rail
- **Treatment**: warm off-white base, soft peach-beige cards, and charcoal dark equivalents with colored semantic edge glints

### Borders

- **Accent Width**: 4px
- **Character**: soft neutral outlines with one semantic accent edge for active modules and focus states
- **Default Width**: 1px
- **Style**: solid

## Components

### Composition

Compose consumer mobile screens as stacked task cards inside a rounded device-like shell, with one dominant restorative panel and smaller semantic accent modules.

### Density

Balanced mobile density with 44px minimum controls, 16px gutters, compact data rows, and ample breathing room between semantic groups.

### Hierarchy

Use a warm editorial heading, compact rounded status chips, and color-coded rails so users can identify primary action, guidance, delight, and alert states at a glance.

### Signature Patterns

- Semantic accent rails: active cards reserve the left or top 4px for teal, coral, lilac, or yellow instead of tinting all text.
- Tactile pastel basins: panels use warm surface fills, inset white highlights, and soft shadows to feel touchable on mobile.
- Dark-mode glints: charcoal cards keep neutral body surfaces while small luminous accent dots, rails, and focus rings carry the palette.
- Action warmth pairing: coral primary actions are balanced by teal restorative secondary actions and yellow inline tips.

## shadcn/ui Usage

When the target app uses shadcn/ui, copy DESIGN.md with shadcn instead of the plain DESIGN.md. It contains the same Katagami design-language source plus the shadcn/ui primitives, imports, theme variables, component recipes, and preview-shot guidance.

DESIGN.md with shadcn: `/language/en-019ea9a3-cbb5-74f3-8f36-5b4334aa8d39/DESIGN.with-shadcn.md`.

The shadcn page also exposes optional machine-readable files for automation, but the human-facing handoff is DESIGN.md with shadcn.

Install recommended primitives with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.

Use these primitives in shadcn apps:
- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table

Implementation rule for agents: import shadcn primitives from `@/components/ui/*`, apply the generated CSS variables first, then compose the language-specific recipes from the companion MD. Katagami remains the source of truth; shadcn names are the implementation surface.

## Do's and Don'ts

- Do Assign teal to restorative or safe progress, coral to high-intent actions, lilac to delight or personalization, and yellow to guidance.
- Do Pair every accent fill with its tested foreground token and keep body copy on neutral surfaces.
- Do Provide dark-theme equivalents over charcoal or ink instead of simply brightening light colors.
- Do Use accent rails, chips, and focus rings to carry color semantics in dense mobile states.
- Don't Do not place small white text on luminous yellow or pale lilac.
- Don't Do not use coral for passive decoration because it competes with action meaning.
- Don't Do not flood full-screen backgrounds with saturated gradients.
- Don't Do not let dark theme become black; retain charcoal hierarchy and warm off-white text.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "restorative-accent-current",
  "type": "registry:theme",
  "title": "Restorative Accent Current shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#FFF8EE",
      "foreground": "#17202A",
      "card": "#F7ECDD",
      "card-foreground": "#17202A",
      "popover": "#F7ECDD",
      "popover-foreground": "#17202A",
      "primary": "#0F8B83",
      "primary-foreground": "#ffffff",
      "secondary": "#A98BFF",
      "secondary-foreground": "#ffffff",
      "muted": "#657276",
      "muted-foreground": "#17202A",
      "accent": "#FF6B57",
      "accent-foreground": "#ffffff",
      "destructive": "#D9473F",
      "border": "#D8CDBE",
      "input": "#D8CDBE",
      "ring": "#FF6B57",
      "chart-1": "#0F8B83",
      "chart-2": "#A98BFF",
      "chart-3": "#FF6B57",
      "chart-4": "#21806B",
      "chart-5": "#F7C948",
      "sidebar": "#F7ECDD",
      "sidebar-foreground": "#17202A",
      "sidebar-primary": "#0F8B83",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#2477B8",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#D8CDBE",
      "sidebar-ring": "#FF6B57",
      "radius": "18px"
    },
    "dark": {
      "background": "#111820",
      "foreground": "#F8F1E8",
      "card": "#1B242D",
      "card-foreground": "#F8F1E8",
      "popover": "#1B242D",
      "popover-foreground": "#F8F1E8",
      "primary": "#5ED6CA",
      "primary-foreground": "#111111",
      "secondary": "#C8B5FF",
      "secondary-foreground": "#ffffff",
      "muted": "#A6B1B2",
      "muted-foreground": "#F8F1E8",
      "accent": "#FF8A76",
      "accent-foreground": "#ffffff",
      "destructive": "#FF786E",
      "border": "#34414B",
      "input": "#34414B",
      "ring": "#FF8A76",
      "chart-1": "#5ED6CA",
      "chart-2": "#C8B5FF",
      "chart-3": "#FF8A76",
      "chart-4": "#65D6B8",
      "chart-5": "#FFE07A",
      "sidebar": "#1B242D",
      "sidebar-foreground": "#F8F1E8",
      "sidebar-primary": "#5ED6CA",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#80C7FF",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#34414B",
      "sidebar-ring": "#FF8A76",
      "radius": "18px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ea9a3-cbb5-74f3-8f36-5b4334aa8d39",
    "slug": "restorative-accent-current",
    "componentManifest": [
      "button",
      "card",
      "input",
      "textarea",
      "select",
      "dialog",
      "sheet",
      "tabs",
      "badge",
      "separator",
      "checkbox",
      "switch",
      "slider",
      "tooltip",
      "dropdown-menu",
      "table"
    ],
    "installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
    "nativeTokenNames": {
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "colors": [
        "accent",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "dark_colors": [
        "accent",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "semantic_accents": [
        "action_coral",
        "delight_lilac",
        "highlight_yellow",
        "restorative_teal"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ]
    }
  }
}
```
in the wild

embodiments

the full element showcase
embodiment · restorative-accent-current
DESIGN.md

at a glance

Palette

Typography

headline-lgFraunces · 29px · 700

The quick brown fox jumps

headline-mdFraunces · 24px · 600

The quick brown fox jumps

body-mdNunito Sans · 16px · 400

The quick brown fox jumps

label-mdJetBrains Mono · 12px · 600

The quick brown fox jumps

Components

New
Card title

Components rendered with this language’s tokens — colors, type, and rounded corners as specified.

Spacing

  • base8px
  • xs4px
  • sm8px
  • md12px
  • lg16px
  • xl20px
  • 2xl24px
  • 3xl32px
  • 4xl40px
  • step-856px
  • step-972px

Shape

full9999px
lg28px
md18px
none0px
sm10px
shadcn/ui

implementation kit

needs agent-authored kitstored
shadcn compatibility only
The generated theme variables are available, but the polished shadcn component recipes and shots have not been authored by the Katagami agent yet.
fallbackprimitives render
Compatibility proof
Local shadcn-style primitives accept the generated theme variables.
primaryaccentsurfacemutedwarningerror
table rhythm
buttonok
cardok
inputok
recommendedcompatibility fallback

DESIGN.md with shadcn

Copy this when the target app uses shadcn/ui. It packages the Katagami DESIGN.md context with the install list, theme variables, component recipes, preview-shot contract, and starter TSX in one Markdown companion.

advanced implementation filesoptional machine-readable theme, CSS, TSX starter, recipes, and preview contract
shadcn add
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table
theme css
:root {
  --background: #FFF8EE;
  --foreground: #17202A;
  --card: #F7ECDD;
  --card-foreground: #17202A;
  --popover: #F7ECDD;
  --popover-foreground: #17202A;
  --primary: #0F8B83;
  --primary-foreground: #ffffff;
  --secondary: #A98BFF;
  --secondary-foreground: #ffffff;
  --muted: #657276;
  --muted-foreground: #17202A;
  --accent: #FF6B57;
  --accent-foreground: #ffffff;
  --destructive: #D9473F;
  --border: #D8CDBE;
  --input: #D8CDBE;
  --ring: #FF6B57;
  --chart-1: #0F8B83;
  --chart-2: #A98BFF;
  --chart-3: #FF6B57;
  --chart-4: #21806B;
  --chart-5: #F7C948;
  --sidebar: #F7ECDD;
  --sidebar-foreground: #17202A;
  --sidebar-primary: #0F8B83;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #2477B8;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #D8CDBE;
  --sidebar-ring: #FF6B57;
  --radius: 18px;
}

.dark {
  --background: #111820;
  --foreground: #F8F1E8;
  --card: #1B242D;
  --card-foreground: #F8F1E8;
  --popover: #1B242D;
  --popover-foreground: #F8F1E8;
  --primary: #5ED6CA;
  --primary-foreground: #111111;
  --secondary: #C8B5FF;
  --secondary-foreground: #ffffff;
  --muted: #A6B1B2;
  --muted-foreground: #F8F1E8;
  --accent: #FF8A76;
  --accent-foreground: #ffffff;
  --destructive: #FF786E;
  --border: #34414B;
  --input: #34414B;
  --ring: #FF8A76;
  --chart-1: #5ED6CA;
  --chart-2: #C8B5FF;
  --chart-3: #FF8A76;
  --chart-4: #65D6B8;
  --chart-5: #FFE07A;
  --sidebar: #1B242D;
  --sidebar-foreground: #F8F1E8;
  --sidebar-primary: #5ED6CA;
  --sidebar-primary-foreground: #111111;
  --sidebar-accent: #80C7FF;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #34414B;
  --sidebar-ring: #FF8A76;
  --radius: 18px;
}
tsx starter
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import {
  Card,
  CardContent,
  CardDescription,
  CardFooter,
  CardHeader,
  CardTitle,
} from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";

export function RestorativeAccentCurrentShadcnKit() {
  return (
    <section className="grid gap-4 rounded-[var(--radius)] border bg-background p-4 text-foreground">
      <div className="flex items-start justify-between gap-4">
        <div>
          <Badge variant="outline">shadcn/ui</Badge>
          <h2 className="mt-3 text-2xl font-semibold tracking-tight">Restorative Accent Current</h2>
          <p className="mt-1 max-w-xl text-sm text-muted-foreground">
            Use the Katagami registry theme, then compose these shadcn primitives
            with the language-specific component recipes.
          </p>
        </div>
        <Button>Apply theme</Button>
      </div>

      <Tabs defaultValue="components">
        <TabsList>
          <TabsTrigger value="components">Components</TabsTrigger>
          <TabsTrigger value="states">States</TabsTrigger>
          <TabsTrigger value="export">Export</TabsTrigger>
        </TabsList>
      </Tabs>

      <Card>
        <CardHeader>
          <CardTitle>Component recipe</CardTitle>
          <CardDescription>
            Replace this starter content with the agent-authored product scene
            from components.md and preview-shots.json.
          </CardDescription>
        </CardHeader>
        <CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
          <Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
          <Button variant="secondary">Preview state</Button>
        </CardContent>
        <CardFooter className="justify-between">
          <Badge>Ready</Badge>
          <Button variant="outline">Copy recipe</Button>
        </CardFooter>
      </Card>
    </section>
  );
}
theme JSONcompatibility fallback
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "restorative-accent-current",
  "type": "registry:theme",
  "title": "Restorative Accent Current shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#FFF8EE",
      "foreground": "#17202A",
      "card": "#F7ECDD",
      "card-foreground": "#17202A",
      "popover": "#F7ECDD",
      "popover-foreground": "#17202A",
      "primary": "#0F8B83",
      "primary-foreground": "#ffffff",
      "secondary": "#A98BFF",
      "secondary-foreground": "#ffffff",
      "muted": "#657276",
      "muted-foreground": "#17202A",
      "accent": "#FF6B57",
      "accent-foreground": "#ffffff",
      "destructive": "#D9473F",
      "border": "#D8CDBE",
      "input": "#D8CDBE",
      "ring": "#FF6B57",
      "chart-1": "#0F8B83",
      "chart-2": "#A98BFF",
      "chart-3": "#FF6B57",
      "chart-4": "#21806B",
      "chart-5": "#F7C948",
      "sidebar": "#F7ECDD",
      "sidebar-foreground": "#17202A",
      "sidebar-primary": "#0F8B83",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#2477B8",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#D8CDBE",
      "sidebar-ring": "#FF6B57",
      "radius": "18px"
    },
    "dark": {
      "background": "#111820",
      "foreground": "#F8F1E8",
      "card": "#1B242D",
      "card-foreground": "#F8F1E8",
      "popover": "#1B242D",
      "popover-foreground": "#F8F1E8",
      "primary": "#5ED6CA",
      "primary-foreground": "#111111",
      "secondary": "#C8B5FF",
      "secondary-foreground": "#ffffff",
      "muted": "#A6B1B2",
      "muted-foreground": "#F8F1E8",
      "accent": "#FF8A76",
      "accent-foreground": "#ffffff",
      "destructive": "#FF786E",
      "border": "#34414B",
      "input": "#34414B",
      "ring": "#FF8A76",
      "chart-1": "#5ED6CA",
      "chart-2": "#C8B5FF",
      "chart-3": "#FF8A76",
      "chart-4": "#65D6B8",
      "chart-5": "#FFE07A",
      "sidebar": "#1B242D",
      "sidebar-foreground": "#F8F1E8",
      "sidebar-primary": "#5ED6CA",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#80C7FF",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#34414B",
      "sidebar-ring": "#FF8A76",
      "radius": "18px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ea9a3-cbb5-74f3-8f36-5b4334aa8d39",
    "slug": "restorative-accent-current",
    "componentManifest": [
      "button",
      "card",
      "input",
      "textarea",
      "select",
      "dialog",
      "sheet",
      "tabs",
      "badge",
      "separator",
      "checkbox",
      "switch",
      "slider",
      "tooltip",
      "dropdown-menu",
      "table"
    ],
    "installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
    "nativeTokenNames": {
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "colors": [
        "accent",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "dark_colors": [
        "accent",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "semantic_accents": [
        "action_coral",
        "delight_lilac",
        "highlight_yellow",
        "restorative_teal"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ]
    }
  }
}
component recipesstored
# Restorative Accent Current shadcn/ui Components

Author: `katagami-agent`

## Intent
Translate the semantic accent system into shadcn/ui primitives for consumer mobile product screens: calm teal progress, warm coral action, lilac delight, and yellow guidance over tactile warm neutral or charcoal surfaces.

## Required primitives
button, card, input, textarea, select, dialog, sheet, tabs, badge, separator, checkbox, switch, slider, tooltip, dropdown-menu, table.

## Token cues
Use `{colors.primary}` for restorative teal, `{colors.accent}` for coral primary actions, `{colors.secondary}` for lilac delight, `{colors.warning}` for yellow guidance, `{colors.surface}` for cards, `{colors.background}` for app shells, `{radii.lg}` for major cards, `{radii.md}` for controls, and `{spacing.scale}` for 8px rhythm.

## Visual character to preserve
Rounded mobile panels, accent rails, tactile pastel basins, dark-mode glints, warm editorial headings, and contrast-safe foreground pairings.

## ShadSync visual profile
family: semantic-consumer-accent; material: tactile-pastel; contour: rounded-rail; border: soft-neutral-with-accent-edge; underlay: warm-halo; grain: fine; stickerBadges: true; motion: tactile-lift-180ms; density: balanced-mobile; accents: teal, coral, lilac, yellow.

## Signature component recipes
- `button`: Use warm neutral surface, md/lg radius, 1px neutral border, semantic accent rail or focus ring where stateful; preserve teal restorative defaults, coral commit actions, lilac delight badges, and yellow guidance/focus.
- `card`: Use warm neutral surface, md/lg radius, 1px neutral border, semantic accent rail or focus ring where stateful; preserve teal restorative defaults, coral commit actions, lilac delight badges, and yellow guidance/focus.
- `input`: Use warm neutral surface, md/lg radius, 1px neutral border, semantic accent rail or focus ring where stateful; preserve teal restorative defaults, coral commit actions, lilac delight badges, and yellow guidance/focus.
- `textarea`: Use warm neutral surface, md/lg radius, 1px neutral border, semantic accent rail or focus ring where stateful; preserve teal restorative defaults, coral commit actions, lilac delight badges, and yellow guidance/focus.
- `select`: Use warm neutral surface, md/lg radius, 1px neutral border, semantic accent rail or focus ring where stateful; preserve teal restorative defaults, coral commit actions, lilac delight badges, and yellow guidance/focus.
- `dialog`: Use warm neutral surface, md/lg radius, 1px neutral border, semantic accent rail or focus ring where stateful; preserve teal restorative defaults, coral commit actions, lilac delight badges, and yellow guidance/focus.
- `sheet`: Use warm neutral surface, md/lg radius, 1px neutral border, semantic accent rail or focus ring where stateful; preserve teal restorative defaults, coral commit actions, lilac delight badges, and yellow guidance/focus.
- `tabs`: Use warm neutral surface, md/lg radius, 1px neutral border, semantic accent rail or focus ring where stateful; preserve teal restorative defaults, coral commit actions, lilac delight badges, and yellow guidance/focus.
- `badge`: Use warm neutral surface, md/lg radius, 1px neutral border, semantic accent rail or focus ring where stateful; preserve teal restorative defaults, coral commit actions, lilac delight badges, and yellow guidance/focus.
- `separator`: Use warm neutral surface, md/lg radius, 1px neutral border, semantic accent rail or focus ring where stateful; preserve teal restorative defaults, coral commit actions, lilac delight badges, and yellow guidance/focus.
- `checkbox`: Use warm neutral surface, md/lg radius, 1px neutral border, semantic accent rail or focus ring where stateful; preserve teal restorative defaults, coral commit actions, lilac delight badges, and yellow guidance/focus.
- `switch`: Use warm neutral surface, md/lg radius, 1px neutral border, semantic accent rail or focus ring where stateful; preserve teal restorative defaults, coral commit actions, lilac delight badges, and yellow guidance/focus.
- `slider`: Use warm neutral surface, md/lg radius, 1px neutral border, semantic accent rail or focus ring where stateful; preserve teal restorative defaults, coral commit actions, lilac delight badges, and yellow guidance/focus.
- `tooltip`: Use warm neutral surface, md/lg radius, 1px neutral border, semantic accent rail or focus ring where stateful; preserve teal restorative defaults, coral commit actions, lilac delight badges, and yellow guidance/focus.
- `dropdown-menu`: Use warm neutral surface, md/lg radius, 1px neutral border, semantic accent rail or focus ring where stateful; preserve teal restorative defaults, coral commit actions, lilac delight badges, and yellow guidance/focus.
- `table`: Use warm neutral surface, md/lg radius, 1px neutral border, semantic accent rail or focus ring where stateful; preserve teal restorative defaults, coral commit actions, lilac delight badges, and yellow guidance/focus.

## Preview shots
- application-shell: mobile dashboard with teal progress card, coral CTA, lilac reward, yellow tip.
- detail-editor: settings or habit detail editor with focus rings, sheet, tabs, form controls.
- data-operations: compact table with semantic badges, dropdown actions, tooltip guidance, and dark glints.

## Implementation contract
Import primitives from `@/components/ui/*`. Do not invent a second component system. Keep foreground contrast paired to each semantic accent and reserve coral for commit actions.

## Copy-paste component example
```tsx
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import { Badge } from "@/components/ui/badge"

export function RestorativeAccentCard() {
  return (
    <Card className="relative overflow-hidden rounded-[28px] border bg-card shadow-md before:absolute before:left-0 before:top-5 before:bottom-5 before:w-1 before:rounded-r-full before:bg-primary">
      <CardHeader>
        <Badge className="w-fit bg-secondary text-secondary-foreground">Delight ready</Badge>
        <CardTitle>Calm momentum</CardTitle>
      </CardHeader>
      <CardContent className="flex gap-3">
        <Button className="bg-[var(--accent)] text-[var(--accent-foreground)]">Commit change</Button>
        <Button variant="secondary">Review safely</Button>
      </CardContent>
    </Card>
  )
}
```
preview shotsstored
{
  "artifact": "katagami:shadcn-preview-shots",
  "author": "katagami-agent",
  "componentRecipes": [
    {
      "component": "button",
      "recipe": "Rounded shadcn primitive with soft border, tokenized surface, semantic accent state, visible focus ring, and mobile-friendly spacing."
    },
    {
      "component": "card",
      "recipe": "Rounded shadcn primitive with soft border, tokenized surface, semantic accent state, visible focus ring, and mobile-friendly spacing."
    },
    {
      "component": "input",
      "recipe": "Rounded shadcn primitive with soft border, tokenized surface, semantic accent state, visible focus ring, and mobile-friendly spacing."
    },
    {
      "component": "textarea",
      "recipe": "Rounded shadcn primitive with soft border, tokenized surface, semantic accent state, visible focus ring, and mobile-friendly spacing."
    },
    {
      "component": "select",
      "recipe": "Rounded shadcn primitive with soft border, tokenized surface, semantic accent state, visible focus ring, and mobile-friendly spacing."
    },
    {
      "component": "dialog",
      "recipe": "Rounded shadcn primitive with soft border, tokenized surface, semantic accent state, visible focus ring, and mobile-friendly spacing."
    },
    {
      "component": "sheet",
      "recipe": "Rounded shadcn primitive with soft border, tokenized surface, semantic accent state, visible focus ring, and mobile-friendly spacing."
    },
    {
      "component": "tabs",
      "recipe": "Rounded shadcn primitive with soft border, tokenized surface, semantic accent state, visible focus ring, and mobile-friendly spacing."
    },
    {
      "component": "badge",
      "recipe": "Rounded shadcn primitive with soft border, tokenized surface, semantic accent state, visible focus ring, and mobile-friendly spacing."
    },
    {
      "component": "separator",
      "recipe": "Rounded shadcn primitive with soft border, tokenized surface, semantic accent state, visible focus ring, and mobile-friendly spacing."
    },
    {
      "component": "checkbox",
      "recipe": "Rounded shadcn primitive with soft border, tokenized surface, semantic accent state, visible focus ring, and mobile-friendly spacing."
    },
    {
      "component": "switch",
      "recipe": "Rounded shadcn primitive with soft border, tokenized surface, semantic accent state, visible focus ring, and mobile-friendly spacing."
    },
    {
      "component": "slider",
      "recipe": "Rounded shadcn primitive with soft border, tokenized surface, semantic accent state, visible focus ring, and mobile-friendly spacing."
    },
    {
      "component": "tooltip",
      "recipe": "Rounded shadcn primitive with soft border, tokenized surface, semantic accent state, visible focus ring, and mobile-friendly spacing."
    },
    {
      "component": "dropdown-menu",
      "recipe": "Rounded shadcn primitive with soft border, tokenized surface, semantic accent state, visible focus ring, and mobile-friendly spacing."
    },
    {
      "component": "table",
      "recipe": "Rounded shadcn primitive with soft border, tokenized surface, semantic accent state, visible focus ring, and mobile-friendly spacing."
    }
  ],
  "generatedBy": "katagami-agent",
  "renderable": true,
  "requiresVisualProfile": true,
  "schema": "katagami:shadcn-preview-shots/renderable-v1",
  "shots": [
    {
      "avoid": [
        "generic inventory wall",
        "low contrast yellow text"
      ],
      "composition": "Rounded mobile dashboard inside warm app shell with four semantic accent cards.",
      "id": "application-shell",
      "mustShowStates": [
        "teal progress",
        "coral primary CTA",
        "lilac reward badge",
        "yellow guidance focus"
      ],
      "primitives": [
        "button",
        "card",
        "badge",
        "separator",
        "tabs",
        "switch"
      ],
      "scene": {
        "description": "A consumer home screen showing safe progress and one warm commit action.",
        "eyebrow": "Today dashboard",
        "headline": "Calm momentum",
        "primaryAction": "Commit change",
        "secondaryAction": "Review safely",
        "stats": [
          {
            "label": "Restored",
            "value": "82%"
          },
          {
            "label": "Streak",
            "value": "12 days"
          },
          {
            "label": "Nudges",
            "value": "3"
          }
        ]
      }
    },
    {
      "avoid": [
        "browser-default form styling"
      ],
      "composition": "Detail editor sheet with tactile form cards and yellow focus ring.",
      "id": "detail-editor",
      "mustShowStates": [
        "focused input",
        "coral save",
        "teal safe toggle",
        "lilac personalization"
      ],
      "primitives": [
        "input",
        "textarea",
        "select",
        "dialog",
        "sheet",
        "checkbox",
        "slider",
        "button"
      ],
      "scene": {
        "description": "A form for editing reminders with accessible semantic feedback.",
        "eyebrow": "Habit detail",
        "fields": [
          {
            "label": "Plan name",
            "value": "Evening reset"
          },
          {
            "label": "Reminder tone",
            "value": "Gentle"
          },
          {
            "label": "Reflection",
            "value": "Keep it restorative"
          }
        ],
        "headline": "Tune your plan",
        "primaryAction": "Save plan",
        "secondaryAction": "Preview"
      }
    },
    {
      "avoid": [
        "neon glow",
        "dense unreadable rows"
      ],
      "composition": "Compact operations table on charcoal card with accent glints and readable rows.",
      "id": "data-operations",
      "mustShowStates": [
        "status badges",
        "dropdown actions",
        "tooltip tip",
        "dark charcoal surface"
      ],
      "primitives": [
        "table",
        "dropdown-menu",
        "tooltip",
        "badge",
        "card",
        "separator",
        "button"
      ],
      "scene": {
        "description": "Rows use accent badges without flooding the table.",
        "eyebrow": "Operations",
        "headline": "Semantic status review",
        "primaryAction": "Resolve selected",
        "rows": [
          {
            "accent": "yellow",
            "item": "Subscription renewal",
            "status": "Guide"
          },
          {
            "accent": "teal",
            "item": "Profile backup",
            "status": "Safe"
          },
          {
            "accent": "lilac",
            "item": "Invite sent",
            "status": "Delight"
          }
        ],
        "secondaryAction": "Export"
      }
    }
  ],
  "version": "preview-shots-v1",
  "visualProfile": {
    "accents": [
      "restorative teal",
      "action coral",
      "delight lilac",
      "highlight yellow"
    ],
    "border": "soft-neutral-with-accent-edge",
    "contour": "rounded-rail",
    "density": "balanced-mobile",
    "family": "semantic-consumer-accent",
    "grain": "fine",
    "material": "tactile-pastel",
    "motion": "tactile-lift-180ms",
    "stickerBadges": true,
    "underlay": "warm-halo"
  }
}