Eco-accountable Redirection Palettes
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
- earth-clay keylines paired with teal responsibility rails; focus rings are amber plus dark outline
- default width
- 1.5px
- style
- solid with occasional dashed provenance separators
colors12 items
motion3 items
- duration
- 180ms
- easing
- cubic-bezier(.2,.8,.2,1)
- philosophy
- small accountable reveals: cards lift two pixels, urgent tags slide in, and reduced-motion users receive static borders
radii5 items
- full
- 9999px
- lg
- 26px
- md
- 14px
- none
- 0
- sm
- 6px
shadows3 items
- lg
- 0 26px 60px rgba(22,35,33,0.22)
- md
- 0 14px 32px rgba(22,35,33,0.16)
- sm
- 0 2px 0 rgba(22,35,33,0.18)
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
- bg pattern
- subtle dotted field grid and torn-coordinate provenance bands
- card style
- ivory cards with clay borders, teal left rails, coordinate labels, and urgent bright tab markers
- treatment
- warm editorial paper with low-opacity teal wash, clay grain, and inset tint blocks
typography8 items
- base size
- 16px
- body font
- Atkinson Hyperlegible
- google fonts url
- https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Fraunces:opsz,wght,SOFT,WONK@9..144,500..800,60,1&family=IBM+Plex+Mono:wght@500;700&display=swap
- heading font
- Fraunces
- letter spacing
- -0.015em
- line height
- 1.58
- mono font
- IBM Plex Mono
- scale ratio
- 1.25
rules
Build pages as editorial dashboards: a stable teal rail, a broad story canvas, and modular cards that visibly connect decisions to repair provenance.
Moderately dense: enough charts, notes, and controls to feel operational, but separated by tint blocks and generous card gutters.
Lead with large, warm serif headlines and oversized impact numerals; support decisions with high-contrast body text, mono provenance labels, and shaped badges.
layout
mobile 375px, tablet 768px, desktop 1200px
12-column desktop grid with a 96px responsibility rail; tablet collapses to 6 columns; mobile becomes a single column with rail converted to top band.
Use 24px card gutters, 48px section spacing, and tight 8px relationships between labels and values for editorial clarity.
guidance
- Name the provenance of every expressive color family in labels or captions.
- Use teal as responsibility infrastructure, not a generic nature wash.
- Pair urgent brights with icon, border weight, or text label for accessibility.
- Keep body text charcoal on cream or ivory for enhanced contrast where feasible.
- Do not put amber, coral, or pale aqua behind small body text without a dark text check.
- Do not use color alone to indicate status, priority, or selection.
- Do not reduce the palette to conventional green sustainability clichés.
- Do not remove grain, rails, and provenance tags; they carry the language identity.
katagami spec
# Eco-accountable Redirection Palettes ## Philosophy An editorial design language for 2026 climate, culture, and civic repair stories: Transformative Teal anchors responsibility, offbeat earth naturals carry material provenance, urgent brights mark redirection, and calming tints keep complex future-building legible rather than sentimental. ### Values - repair over extraction - cultural redirection with named provenance - WCAG-aware editorial drama - future-building optimism grounded in accountability ### Anti-Values - generic leaf-and-sky nature symbolism - low-contrast trend color used as body text - placeless eco aesthetics with no cultural or material origin ### Visual Character - CSS uses a split editorial grid with a teal responsibility rail, off-axis earth-toned story cards, and a persistent provenance strip naming material and cultural color origins. - Layered calming tint panels sit behind urgent bright callouts via pseudo-elements, keeping emphasis visible through shape, labels, and border weight rather than color alone. - Cards combine rounded-but-not-soft corners, clay keyline borders, grain overlays, and small coordinate tags to make palettes feel sourced from field repair work. - Large Fraunces editorial headings pair with Atkinson Hyperlegible body text, oversized numerals, and high-contrast charcoal text to meet accessibility requirements. ## Tokens ### Borders - **Accent Width**: 4px - **Character**: earth-clay keylines paired with teal responsibility rails; focus rings are amber plus dark outline - **Default Width**: 1.5px - **Style**: solid with occasional dashed provenance separators ### Colors | Name | Value | |------|-------| | accent | `#FFB000` | | background | `#F5F0E6` | | border | `#B97B5D` | | error | `#C83232` | | info | `#0B5F8A` | | muted | `#5B6C66` | | primary | `#006D73` | | secondary | `#8A5A44` | | success | `#167A4A` | | surface | `#FFF8EC` | | text | `#162321` | | warning | `#B86B00` | ### Motion - **Duration**: 180ms - **Easing**: cubic-bezier(.2,.8,.2,1) - **Philosophy**: small accountable reveals: cards lift two pixels, urgent tags slide in, and reduced-motion users receive static borders ### Radii - **Full**: 9999px - **Lg**: 26px - **Md**: 14px - **None**: 0 - **Sm**: 6px ### Shadows - **Lg**: 0 26px 60px rgba(22,35,33,0.22) - **Md**: 0 14px 32px rgba(22,35,33,0.16) - **Sm**: 0 2px 0 rgba(22,35,33,0.18) ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64] ### Surfaces - **Bg Pattern**: subtle dotted field grid and torn-coordinate provenance bands - **Card Style**: ivory cards with clay borders, teal left rails, coordinate labels, and urgent bright tab markers - **Treatment**: warm editorial paper with low-opacity teal wash, clay grain, and inset tint blocks ### Typography - **Base Size**: 16px - **Body Font**: Atkinson Hyperlegible - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Fraunces:opsz,wght,SOFT,WONK@9..144,500..800,60,1&family=IBM+Plex+Mono:wght@500;700&display=swap - **Heading Font**: Fraunces - **Letter Spacing**: -0.015em - **Line Height**: 1.58 - **Mono Font**: IBM Plex Mono - **Scale Ratio**: 1.25 ## Rules ### Composition Build pages as editorial dashboards: a stable teal rail, a broad story canvas, and modular cards that visibly connect decisions to repair provenance. ### Density Moderately dense: enough charts, notes, and controls to feel operational, but separated by tint blocks and generous card gutters. ### Hierarchy Lead with large, warm serif headlines and oversized impact numerals; support decisions with high-contrast body text, mono provenance labels, and shaped badges. ### Signature Patterns - Responsibility rail: a fixed teal column or inline stripe labels the system promise and gives every major section a non-color structural anchor. - Provenance tags: mono coordinate chips and material labels attach to palettes, cards, and rows so color meaning is explicit rather than decorative. - Urgent bright tabs: amber or coral tabs protrude from cards with icons and text, never relying on hue alone to signal priority. - Tint-underlay layering: pale aqua and cream panels offset behind content create calming depth while clay keylines maintain crisp contrast. ## Layout ### Breakpoints mobile 375px, tablet 768px, desktop 1200px ### Grid 12-column desktop grid with a 96px responsibility rail; tablet collapses to 6 columns; mobile becomes a single column with rail converted to top band. ### Whitespace Use 24px card gutters, 48px section spacing, and tight 8px relationships between labels and values for editorial clarity. ## Guidance ### Do - Name the provenance of every expressive color family in labels or captions. - Use teal as responsibility infrastructure, not a generic nature wash. - Pair urgent brights with icon, border weight, or text label for accessibility. - Keep body text charcoal on cream or ivory for enhanced contrast where feasible. ### Don't - Do not put amber, coral, or pale aqua behind small body text without a dark text check. - Do not use color alone to indicate status, priority, or selection. - Do not reduce the palette to conventional green sustainability clichés. - Do not remove grain, rails, and provenance tags; they carry the language identity.
DESIGN.md
---
version: "alpha"
name: "Eco-accountable Redirection Palettes"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#FFB000"
background: "#F5F0E6"
border: "#B97B5D"
error: "#C83232"
info: "#0B5F8A"
muted: "#5B6C66"
primary: "#006D73"
secondary: "#8A5A44"
success: "#167A4A"
surface: "#FFF8EC"
text: "#162321"
warning: "#B86B00"
typography:
headline-lg:
fontFamily: "Fraunces"
fontSize: "1.953rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.015em"
headline-md:
fontFamily: "Fraunces"
fontSize: "1.563rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.015em"
body-md:
fontFamily: "Atkinson Hyperlegible"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.58
letterSpacing: "-0.015em"
label-md:
fontFamily: "IBM Plex Mono"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
full: "9999px"
lg: "26px"
md: "14px"
none: "0px"
sm: "6px"
spacing:
base: "8px"
xs: "4px"
sm: "8px"
md: "12px"
lg: "16px"
xl: "24px"
2xl: "32px"
3xl: "48px"
4xl: "64px"
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: "#ffffff"
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"
---
# Eco-accountable Redirection Palettes
## Overview
An editorial design language for 2026 climate, culture, and civic repair stories: Transformative Teal anchors responsibility, offbeat earth naturals carry material provenance, urgent brights mark redirection, and calming tints keep complex future-building legible rather than sentimental.
### Values
- repair over extraction
- cultural redirection with named provenance
- WCAG-aware editorial drama
- future-building optimism grounded in accountability
### Anti-Values
- generic leaf-and-sky nature symbolism
- low-contrast trend color used as body text
- placeless eco aesthetics with no cultural or material origin
### Visual Character
- CSS uses a split editorial grid with a teal responsibility rail, off-axis earth-toned story cards, and a persistent provenance strip naming material and cultural color origins.
- Layered calming tint panels sit behind urgent bright callouts via pseudo-elements, keeping emphasis visible through shape, labels, and border weight rather than color alone.
- Cards combine rounded-but-not-soft corners, clay keyline borders, grain overlays, and small coordinate tags to make palettes feel sourced from field repair work.
- Large Fraunces editorial headings pair with Atkinson Hyperlegible body text, oversized numerals, and high-contrast charcoal text to meet accessibility requirements.
## 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 | `#FFB000` |
| background | `#F5F0E6` |
| border | `#B97B5D` |
| error | `#C83232` |
| info | `#0B5F8A` |
| muted | `#5B6C66` |
| primary | `#006D73` |
| secondary | `#8A5A44` |
| success | `#167A4A` |
| surface | `#FFF8EC` |
| text | `#162321` |
| warning | `#B86B00` |
## Typography
- **Headline-Lg**: Fraunces, 1.953rem, weight 700, line-height 1.1.
- **Headline-Md**: Fraunces, 1.563rem, weight 600, line-height 1.15.
- **Body-Md**: Atkinson Hyperlegible, 16px, weight 400, line-height 1.58.
- **Label-Md**: IBM Plex Mono, 0.75rem, weight 600, line-height 1.
## Layout
### Spacing Tokens
- **Base**: `8px`
- **Xs**: `4px`
- **Sm**: `8px`
- **Md**: `12px`
- **Lg**: `16px`
- **Xl**: `24px`
- **2xl**: `32px`
- **3xl**: `48px`
- **4xl**: `64px`
### Breakpoints
mobile 375px, tablet 768px, desktop 1200px
### Grid
12-column desktop grid with a 96px responsibility rail; tablet collapses to 6 columns; mobile becomes a single column with rail converted to top band.
### Whitespace
Use 24px card gutters, 48px section spacing, and tight 8px relationships between labels and values for editorial clarity.
## Elevation & Depth
### Shadows
- **Lg**: 0 26px 60px rgba(22,35,33,0.22)
- **Md**: 0 14px 32px rgba(22,35,33,0.16)
- **Sm**: 0 2px 0 rgba(22,35,33,0.18)
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `26px`
- **Md**: `14px`
- **None**: `0px`
- **Sm**: `6px`
### Surfaces
- **Bg Pattern**: subtle dotted field grid and torn-coordinate provenance bands
- **Card Style**: ivory cards with clay borders, teal left rails, coordinate labels, and urgent bright tab markers
- **Treatment**: warm editorial paper with low-opacity teal wash, clay grain, and inset tint blocks
### Borders
- **Accent Width**: 4px
- **Character**: earth-clay keylines paired with teal responsibility rails; focus rings are amber plus dark outline
- **Default Width**: 1.5px
- **Style**: solid with occasional dashed provenance separators
## Components
### Composition
Build pages as editorial dashboards: a stable teal rail, a broad story canvas, and modular cards that visibly connect decisions to repair provenance.
### Density
Moderately dense: enough charts, notes, and controls to feel operational, but separated by tint blocks and generous card gutters.
### Hierarchy
Lead with large, warm serif headlines and oversized impact numerals; support decisions with high-contrast body text, mono provenance labels, and shaped badges.
### Signature Patterns
- Responsibility rail: a fixed teal column or inline stripe labels the system promise and gives every major section a non-color structural anchor.
- Provenance tags: mono coordinate chips and material labels attach to palettes, cards, and rows so color meaning is explicit rather than decorative.
- Urgent bright tabs: amber or coral tabs protrude from cards with icons and text, never relying on hue alone to signal priority.
- Tint-underlay layering: pale aqua and cream panels offset behind content create calming depth while clay keylines maintain crisp contrast.
## 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-019ea9a5-07dc-7f20-8fcb-ab5b25c9111d/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 Name the provenance of every expressive color family in labels or captions.
- Do Use teal as responsibility infrastructure, not a generic nature wash.
- Do Pair urgent brights with icon, border weight, or text label for accessibility.
- Do Keep body text charcoal on cream or ivory for enhanced contrast where feasible.
- Don't Do not put amber, coral, or pale aqua behind small body text without a dark text check.
- Don't Do not use color alone to indicate status, priority, or selection.
- Don't Do not reduce the palette to conventional green sustainability clichés.
- Don't Do not remove grain, rails, and provenance tags; they carry the language identity.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "eco-accountable-redirection-palettes",
"type": "registry:theme",
"title": "Eco-accountable Redirection Palettes shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F5F0E6",
"foreground": "#162321",
"card": "#FFF8EC",
"card-foreground": "#162321",
"popover": "#FFF8EC",
"popover-foreground": "#162321",
"primary": "#006D73",
"primary-foreground": "#ffffff",
"secondary": "#8A5A44",
"secondary-foreground": "#ffffff",
"muted": "#5B6C66",
"muted-foreground": "#162321",
"accent": "#FFB000",
"accent-foreground": "#ffffff",
"destructive": "#C83232",
"border": "#B97B5D",
"input": "#B97B5D",
"ring": "#FFB000",
"chart-1": "#006D73",
"chart-2": "#8A5A44",
"chart-3": "#FFB000",
"chart-4": "#167A4A",
"chart-5": "#B86B00",
"sidebar": "#FFF8EC",
"sidebar-foreground": "#162321",
"sidebar-primary": "#006D73",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#0B5F8A",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#B97B5D",
"sidebar-ring": "#FFB000",
"radius": "14px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#006D73",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#FFB000",
"accent-foreground": "#ffffff",
"destructive": "#C83232",
"border": "#303642",
"input": "#303642",
"ring": "#FFB000",
"chart-1": "#006D73",
"chart-2": "#8A5A44",
"chart-3": "#FFB000",
"chart-4": "#167A4A",
"chart-5": "#B86B00",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#006D73",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#FFB000",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#FFB000",
"radius": "14px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019ea9a5-07dc-7f20-8fcb-ab5b25c9111d",
"slug": "eco-accountable-redirection-palettes",
"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"
],
"motion": [
"duration",
"easing",
"philosophy"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm"
],
"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
- xl24px
- 2xl32px
- 3xl48px
- 4xl64px
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: #F5F0E6;
--foreground: #162321;
--card: #FFF8EC;
--card-foreground: #162321;
--popover: #FFF8EC;
--popover-foreground: #162321;
--primary: #006D73;
--primary-foreground: #ffffff;
--secondary: #8A5A44;
--secondary-foreground: #ffffff;
--muted: #5B6C66;
--muted-foreground: #162321;
--accent: #FFB000;
--accent-foreground: #ffffff;
--destructive: #C83232;
--border: #B97B5D;
--input: #B97B5D;
--ring: #FFB000;
--chart-1: #006D73;
--chart-2: #8A5A44;
--chart-3: #FFB000;
--chart-4: #167A4A;
--chart-5: #B86B00;
--sidebar: #FFF8EC;
--sidebar-foreground: #162321;
--sidebar-primary: #006D73;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #0B5F8A;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #B97B5D;
--sidebar-ring: #FFB000;
--radius: 14px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #006D73;
--primary-foreground: #ffffff;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #FFB000;
--accent-foreground: #ffffff;
--destructive: #C83232;
--border: #303642;
--input: #303642;
--ring: #FFB000;
--chart-1: #006D73;
--chart-2: #8A5A44;
--chart-3: #FFB000;
--chart-4: #167A4A;
--chart-5: #B86B00;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #006D73;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #FFB000;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #303642;
--sidebar-ring: #FFB000;
--radius: 14px;
}
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 EcoAccountableRedirectionPalettesShadcnKit() {
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">Eco-accountable Redirection Palettes</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": "eco-accountable-redirection-palettes",
"type": "registry:theme",
"title": "Eco-accountable Redirection Palettes shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F5F0E6",
"foreground": "#162321",
"card": "#FFF8EC",
"card-foreground": "#162321",
"popover": "#FFF8EC",
"popover-foreground": "#162321",
"primary": "#006D73",
"primary-foreground": "#ffffff",
"secondary": "#8A5A44",
"secondary-foreground": "#ffffff",
"muted": "#5B6C66",
"muted-foreground": "#162321",
"accent": "#FFB000",
"accent-foreground": "#ffffff",
"destructive": "#C83232",
"border": "#B97B5D",
"input": "#B97B5D",
"ring": "#FFB000",
"chart-1": "#006D73",
"chart-2": "#8A5A44",
"chart-3": "#FFB000",
"chart-4": "#167A4A",
"chart-5": "#B86B00",
"sidebar": "#FFF8EC",
"sidebar-foreground": "#162321",
"sidebar-primary": "#006D73",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#0B5F8A",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#B97B5D",
"sidebar-ring": "#FFB000",
"radius": "14px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#006D73",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#FFB000",
"accent-foreground": "#ffffff",
"destructive": "#C83232",
"border": "#303642",
"input": "#303642",
"ring": "#FFB000",
"chart-1": "#006D73",
"chart-2": "#8A5A44",
"chart-3": "#FFB000",
"chart-4": "#167A4A",
"chart-5": "#B86B00",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#006D73",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#FFB000",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#FFB000",
"radius": "14px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019ea9a5-07dc-7f20-8fcb-ab5b25c9111d",
"slug": "eco-accountable-redirection-palettes",
"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"
],
"motion": [
"duration",
"easing",
"philosophy"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm"
],
"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"
]
}
}
}
# Eco-accountable Redirection Palettes shadcn/ui Components
Author: `katagami-agent`
## Intent
Translate the palette language into shadcn/ui product screens where teal is responsibility infrastructure, earth tones show provenance, amber/coral signal redirection, and calm aqua/cream tints support comprehension.
## Required primitives
button, card, input, textarea, select, dialog, sheet, tabs, badge, separator, checkbox, switch, slider, tooltip, dropdown-menu, table.
## Token cues
Use primary teal for rails and primary actions, charcoal for all body text, warm cream/ivory for backgrounds, clay borders for material provenance, amber for urgent callouts with icon/text, and aqua as low-stress underlay. Normal text must meet 4.5:1; prefer charcoal-on-cream or charcoal-on-aqua for body copy.
## Visual character to preserve
Maintain a teal responsibility rail, clay keyline borders, offset tint underlays, mono provenance chips, protruding urgent bright tabs, and Fraunces/Atkinson-style hierarchy.
## ShadSync visual profile
family: editorial-repair-palette; material: warm paper with civic field grid; contour: rounded-rect with pill chips; border: clay keyline plus teal rail; underlay: true; grain: true; stickerBadges: measured urgent tabs; motion: lift-2px; density: balanced-editorial; accents: amber tabs and aqua underlays.
## Signature component recipes
- button: Primary buttons use `bg-primary text-primary-foreground rounded-full border-2 border-foreground shadow-[0_4px_0_var(--accent)]`; include arrow or icon on urgent actions.
- card: Cards use ivory surface, clay border, teal left border rail, `rounded-[26px]`, offset aqua `before:` underlay for feature cards, and mono provenance badge in the top-right.
- input: Inputs are white fields with charcoal 2px border, rounded 14px, aqua shadow, visible label text, and amber+charcoal focus ring.
- textarea: Same as input with minimum height and provenance helper copy below.
- select: Use the input shell plus chevron icon; never indicate validity by hue alone.
- dialog: Dialog content should appear as a paper repair brief with teal header rail, clay border, and amber decision badge.
- sheet: Sheets slide from the side with a persistent teal rail and stacked provenance chips.
- tabs: Tabs use mono uppercase labels; active tab gets teal underline, amber pill count, and bold text.
- badge: Provenance badges are clay outlined pills; urgent badges are amber with icon and text.
- separator: Dashed clay separators divide source notes and audit sections.
- checkbox: Charcoal bordered square; checked state adds teal fill and visible check icon.
- switch: Teal track with white knob and text label beside it.
- slider: Clay track, teal filled range, amber thumb for deadline/priority settings.
- tooltip: Ivory surface, charcoal text, clay border, and source/provenance wording.
- dropdown-menu: Warm paper menu with teal active rail and mono section labels.
- table: Rows are ivory capsules with teal left rule, clay border, and explicit status text.
## Preview shots
Use three polished scenes: application-shell, detail-editor, and data-operations. Each must show the rail, provenance chips, tinted underlays, and at least one accessible urgent cue.
## Implementation contract
Import local primitives from `@/components/ui/*`; do not invent a second component library. Preserve contrast ratios, use text/icon/shape for status, and keep color provenance visible in content.
## 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"
import { Input } from "@/components/ui/input"
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"
export function RepairPalettePanel() {
return (
<Card className="relative overflow-hidden rounded-[26px] border border-[#B97B5D] border-l-8 border-l-[#006D73] bg-[#FFF8EC] shadow-[0_8px_0_rgba(0,109,115,.13)]">
<CardHeader>
<Badge className="w-fit rounded-full border border-[#162321] bg-[#FFB000] text-[#241A00]">⚠ deadline labeled</Badge>
<CardTitle className="font-serif text-4xl tracking-tight text-[#162321]">Watershed repair palette</CardTitle>
</CardHeader>
<CardContent className="space-y-4 text-[#162321]">
<Input aria-label="Provenance" defaultValue="Teal: civic water infrastructure" className="rounded-[14px] border-2 border-[#162321] bg-white shadow-[0_3px_0_#D9F2EE]" />
<Table><TableHeader><TableRow><TableHead>Hue</TableHead><TableHead>Use</TableHead></TableRow></TableHeader><TableBody><TableRow><TableCell>#006D73</TableCell><TableCell>Responsibility rail</TableCell></TableRow></TableBody></Table>
<Button className="rounded-full border-2 border-[#162321] bg-[#162321] text-white shadow-[0_4px_0_#FFB000]">Run audit →</Button>
</CardContent>
</Card>
)
}
```
{
"artifact": "katagami:shadcn-preview-shots",
"author": "katagami-agent",
"componentRecipes": [
{
"component": "button",
"recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
},
{
"component": "card",
"recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
},
{
"component": "input",
"recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
},
{
"component": "textarea",
"recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
},
{
"component": "select",
"recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
},
{
"component": "dialog",
"recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
},
{
"component": "sheet",
"recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
},
{
"component": "tabs",
"recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
},
{
"component": "badge",
"recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
},
{
"component": "separator",
"recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
},
{
"component": "checkbox",
"recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
},
{
"component": "switch",
"recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
},
{
"component": "slider",
"recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
},
{
"component": "tooltip",
"recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
},
{
"component": "dropdown-menu",
"recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
},
{
"component": "table",
"recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
}
],
"generatedBy": "katagami-agent",
"renderable": true,
"requiresVisualProfile": true,
"schema": "katagami:shadcn-preview-shots/renderable-v1",
"shots": [
{
"avoid": [
"generic green nature symbols",
"color-only state"
],
"composition": "Desktop editorial dashboard with left teal responsibility rail, hero card, palette audit table, and amber urgent tab.",
"id": "application-shell",
"mustShowStates": [
"active tab has teal underline and label",
"urgent badge includes warning icon and text",
"table rows include status words"
],
"primitives": [
"button",
"card",
"tabs",
"badge",
"separator",
"table",
"dropdown-menu",
"tooltip"
],
"scene": {
"description": "Editors compare color provenance, contrast, and narrative role before publishing a climate repair feature.",
"eyebrow": "2026 repair newsroom",
"headline": "Watershed investment palette audit",
"primaryAction": "Run contrast audit",
"rows": [
{
"hue": "#006D73",
"role": "responsibility rail",
"status": "approved"
},
{
"hue": "#FFB000",
"role": "urgent funding deadline",
"status": "icon + label required"
}
],
"secondaryAction": "Export provenance notes",
"stats": [
{
"label": "Body contrast",
"value": "7.2:1"
},
{
"label": "Named sources",
"value": "12"
},
{
"label": "Urgent cues",
"value": "3 modes"
}
]
}
},
{
"avoid": [
"placeholder-only fields",
"low contrast helper text"
],
"composition": "Palette provenance editor with ivory cards, form controls, aqua underlay, and labeled amber priority controls.",
"id": "detail-editor",
"mustShowStates": [
"focused input uses amber and charcoal outline",
"switch has adjacent text label",
"slider shows numeric priority"
],
"primitives": [
"card",
"input",
"textarea",
"select",
"checkbox",
"switch",
"slider",
"dialog",
"button",
"badge"
],
"scene": {
"description": "A curator records material references and accessibility constraints for each expressive hue.",
"eyebrow": "Local authenticity check",
"fields": [
{
"label": "Teal source",
"value": "civic water infrastructure"
},
{
"label": "Earth neutral source",
"value": "repaired clay and bark materials"
},
{
"label": "Contrast note",
"value": "charcoal body text on cream only"
}
],
"headline": "Document the clay and teal source story",
"primaryAction": "Save provenance",
"secondaryAction": "Preview palette",
"stats": [
{
"label": "Priority",
"value": "62%"
},
{
"label": "WCAG state",
"value": "Pass"
}
]
}
},
{
"avoid": [
"component inventory wall",
"unlabeled colored dots"
],
"composition": "Operations review with slide-out sheet, capsule table rows, provenance badges, and decision controls.",
"id": "data-operations",
"mustShowStates": [
"open sheet has teal rail",
"badges distinguish provenance from urgency using words",
"dropdown active item has rail and label"
],
"primitives": [
"sheet",
"table",
"badge",
"separator",
"tooltip",
"dropdown-menu",
"button",
"card",
"select",
"switch"
],
"scene": {
"description": "A policy communications team reviews which palette choices can carry urgency without losing accessibility.",
"eyebrow": "Redirection board",
"headline": "Approve future-building color decisions",
"primaryAction": "Approve redirection",
"rows": [
{
"contrast": "Pass",
"cue": "amber tab + icon",
"project": "Mangrove repair"
},
{
"contrast": "Pass",
"cue": "aqua underlay",
"project": "Urban cooling"
},
{
"contrast": "Pass",
"cue": "clay border",
"project": "Soil commons"
}
],
"secondaryAction": "Open source sheet",
"stats": [
{
"label": "Decisions ready",
"value": "9"
},
{
"label": "Needs local note",
"value": "2"
}
]
}
}
],
"version": "preview-shots-v1",
"visualProfile": {
"accents": [
"transformative teal responsibility rail",
"solar amber urgent tabs",
"pale aqua calming underlays",
"clay provenance borders"
],
"border": "clay-keyline-with-teal-rail",
"contour": "rounded-rect-and-pill",
"density": "balanced-editorial",
"family": "editorial-repair-palette",
"grain": true,
"material": "warm-paper-field-notes",
"motion": "lift-2px-accountable-reveal",
"stickerBadges": true,
"underlay": true
}
}