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.
specification
philosophy
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
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
Compose consumer mobile screens as stacked task cards inside a rounded device-like shell, with one dominant restorative panel and smaller semantic accent modules.
Balanced mobile density with 44px minimum controls, 16px gutters, compact data rows, and ample breathing room between semantic groups.
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.
layout
360px mobile, 768px tablet, 1024px desktop, 1280px gallery; cards collapse to one column below 720px.
Mobile-first 4-column card grid that expands into a 12-column desktop showcase with app panels never exceeding comfortable reading width.
Use 16px mobile gutters, 24px panel padding, and 32-56px section gaps to keep pastel surfaces calm and scannable.
guidance
- 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.
- 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"
]
}
}
}
```embodiments
at a glance
Typography
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
Components
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
implementation kit
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
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table: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;
}
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>
);
}
{
"$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"
]
}
}
}
# 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>
)
}
```
{
"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"
}
}