Forecast Token Atlas 2026
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
- 3px
- character
- translucent mushroom borders with occasional plum or butter left-edge semantic rails
- default width
- 1px
- style
- solid
colors12 items
motion3 items
- duration
- 180ms
- easing
- cubic-bezier(.2,.8,.2,1)
- philosophy
- quiet product transitions: cards lift 2px, hue chips slide underline, no trend-show theatrics
palette_architecture5 items
- dark theme
- bg #111A1A·muted #B8B4A9·surface #172423·surface subtle #223231·text #F7F1E7
- hero hue
- name Transformative Teal·ramp ["#E2F2F0","#B9DEDB","#7AB9B6","#3E9292","#0D6F73","#08484D"]·role primary brand field, selected navigation, focus emphasis
- light theme
- bg #F7F1E7·muted #7C8179·surface #FFF9EF·surface subtle #F0E6D8·text #182322
- support accents
- {"hex":"#7B4E5E","name":"Earth Plum","role":"secondary actions, editorial dividers, premium tags"}, {"hex":"#F0B84A","name":"Butter Signal","role":"attention, warning-adjacent optimism, CTA halo"}, {"hex":"#B9473F","name":"Clay Coral","role":"destructive/error warmth and human annotation"}, {"hex":"#2F6D9C","name":"Product Blue","role":"information and analytical affordances"}
- surface neutrals
- #FFF9EF, #F7F1E7, #E9DED0, #D9CDBB, #8B8A80, #182322
radii5 items
- full
- 9999px
- lg
- 28px
- md
- 18px
- none
- 0
- sm
- 10px
shadows3 items
- lg
- 0 28px 80px rgba(13,111,115,0.18)
- md
- 0 16px 40px rgba(24,35,34,0.12)
- sm
- 0 1px 2px rgba(24,35,34,0.08)
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
- bg pattern
- subtle tonal ramp bands and tiny mono token labels
- card style
- rounded furniture-like panels with plum-tinted hairline borders and warm inset highlights
- treatment
- misted parchment surfaces over deep teal anchoring fields
typography8 items
- base size
- 16px
- body font
- Inter
- google fonts url
- https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;600&family=Instrument+Serif:ital@0;1&family=Inter:wght@400;500;600;700;800&display=swap
- heading font
- Instrument Serif
- letter spacing
- -0.015em
- line height
- 1.52
- mono font
- IBM Plex Mono
- scale ratio
- 1.24
rules
Build product screens as a token atlas: a dominant teal hero/navigation zone, parchment work surfaces, and compact semantic color rows that reveal how forecast hues map to UI jobs.
Balanced density: generous 24-32px card padding for palette explanation, tighter 8-12px controls and table rows for implementation data.
Use large serif editorial headings sparingly for forecast narrative, then switch to crisp Inter labels and IBM Plex Mono token codes for operational clarity.
layout
mobile 375px, tablet 768px, desktop 1200px+
12-column desktop grid with a fixed token rail, collapsing to two columns on tablet and one column on mobile.
Use 24px gutters on desktop, 16px on mobile, with breathing room around hero color blocks and tighter rhythm in implementation tables.
guidance
- Assign every forecast hue a semantic UI role before using it decoratively.
- Check text contrast on both parchment light surfaces and deep teal dark surfaces.
- Use warm neutrals for surfaces so saturated colors remain functional signals.
- Reserve butter and coral accents for attention, status, and small-area emphasis.
- Do not place pastel trend colors behind body copy without contrast testing.
- Do not make every component a swatch; product hierarchy still comes first.
- Do not use saturated accents as large backgrounds in dense data views.
- Do not mix multiple novelty shapes beyond the defined radius scale.
katagami spec
# Forecast Token Atlas 2026
## Philosophy
Forecast Token Atlas 2026 translates fashion, interiors, and product color forecasting into a production-ready interface palette system: a calm teal hero, earth-plum warmth, buttery optimism, misted neutrals, accessible status hues, data categories, and paired light/dark theme ramps for durable UI work.
### Values
- forecast color made operational through semantic roles
- accessible contrast before trend novelty
- tonal ramps that support both editorial hero moments and dense product surfaces
- interior-material warmth translated into software surfaces
### Anti-Values
- single-swatch moodboards with no interaction semantics
- low-contrast pastel interfaces
- overly saturated data colors that compete with primary actions
### Visual Character
- Layer wide teal-to-mist hero bands behind an 8px token grid, using CSS linear-gradients and clipped panels instead of decorative illustration.
- Use warm parchment and mushroom surface cards with 1px translucent plum borders, giving interior-material softness while preserving product UI clarity.
- Apply tonal ramp chips as functional navigation rails, status badges, and chart keys so forecast hues are always tied to semantic interface roles.
- Pair rounded-rectangle containers at 28px radius with small 10px control radii, creating a furniture-product silhouette without making fields novelty-shaped.
## Tokens
### Borders
- **Accent Width**: 3px
- **Character**: translucent mushroom borders with occasional plum or butter left-edge semantic rails
- **Default Width**: 1px
- **Style**: solid
### Colors
| Name | Value |
|------|-------|
| accent | `#F0B84A` |
| background | `#F7F1E7` |
| border | `#D9CDBB` |
| error | `#B9473F` |
| info | `#2F6D9C` |
| muted | `#7C8179` |
| primary | `#0D6F73` |
| secondary | `#7B4E5E` |
| success | `#2F7D5B` |
| surface | `#FFF9EF` |
| text | `#182322` |
| warning | `#B87916` |
### Motion
- **Duration**: 180ms
- **Easing**: cubic-bezier(.2,.8,.2,1)
- **Philosophy**: quiet product transitions: cards lift 2px, hue chips slide underline, no trend-show theatrics
### Palette Architecture
- **Dark Theme**: {"bg":"#111A1A","muted":"#B8B4A9","surface":"#172423","surface_subtle":"#223231","text":"#F7F1E7"}
- **Hero Hue**: {"name":"Transformative Teal","ramp":["#E2F2F0","#B9DEDB","#7AB9B6","#3E9292","#0D6F73","#08484D"],"role":"primary brand field, selected navigation, focus emphasis"}
- **Light Theme**: {"bg":"#F7F1E7","muted":"#7C8179","surface":"#FFF9EF","surface_subtle":"#F0E6D8","text":"#182322"}
- **Support Accents**: [{"hex":"#7B4E5E","name":"Earth Plum","role":"secondary actions, editorial dividers, premium tags"},{"hex":"#F0B84A","name":"Butter Signal","role":"attention, warning-adjacent optimism, CTA halo"},{"hex":"#B9473F","name":"Clay Coral","role":"destructive/error warmth and human annotation"},{"hex":"#2F6D9C","name":"Product Blue","role":"information and analytical affordances"}]
- **Surface Neutrals**: ["#FFF9EF","#F7F1E7","#E9DED0","#D9CDBB","#8B8A80","#182322"]
### Radii
- **Full**: 9999px
- **Lg**: 28px
- **Md**: 18px
- **None**: 0
- **Sm**: 10px
### Shadows
- **Lg**: 0 28px 80px rgba(13,111,115,0.18)
- **Md**: 0 16px 40px rgba(24,35,34,0.12)
- **Sm**: 0 1px 2px rgba(24,35,34,0.08)
### Spacing
- **Base**: 8px
- **Scale**: [4,8,12,16,24,32,48,64]
### Surfaces
- **Bg Pattern**: subtle tonal ramp bands and tiny mono token labels
- **Card Style**: rounded furniture-like panels with plum-tinted hairline borders and warm inset highlights
- **Treatment**: misted parchment surfaces over deep teal anchoring fields
### Typography
- **Base Size**: 16px
- **Body Font**: Inter
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;600&family=Instrument+Serif:ital@0;1&family=Inter:wght@400;500;600;700;800&display=swap
- **Heading Font**: Instrument Serif
- **Letter Spacing**: -0.015em
- **Line Height**: 1.52
- **Mono Font**: IBM Plex Mono
- **Scale Ratio**: 1.24
## Rules
### Composition
Build product screens as a token atlas: a dominant teal hero/navigation zone, parchment work surfaces, and compact semantic color rows that reveal how forecast hues map to UI jobs.
### Density
Balanced density: generous 24-32px card padding for palette explanation, tighter 8-12px controls and table rows for implementation data.
### Hierarchy
Use large serif editorial headings sparingly for forecast narrative, then switch to crisp Inter labels and IBM Plex Mono token codes for operational clarity.
### Signature Patterns
- Semantic hue rails: 3px left borders on cards and alerts encode primary, support, status, and data-category meaning without flooding the whole surface.
- Tonal ramp ladders: six-step swatch stacks appear beside controls and charts, proving each trend color has hover, selected, disabled, and dark-mode counterparts.
- Interior sample cards: warm neutral panels use inset highlights, large radii, and material labels to translate home/product forecast texture into UI surfaces.
- Forecast token tags: mono uppercase chips show role names such as HERO/PRIMARY/STATUS/SUCCESS and attach every color decision to a reusable design token.
## Layout
### Breakpoints
mobile 375px, tablet 768px, desktop 1200px+
### Grid
12-column desktop grid with a fixed token rail, collapsing to two columns on tablet and one column on mobile.
### Whitespace
Use 24px gutters on desktop, 16px on mobile, with breathing room around hero color blocks and tighter rhythm in implementation tables.
## Guidance
### Do
- Assign every forecast hue a semantic UI role before using it decoratively.
- Check text contrast on both parchment light surfaces and deep teal dark surfaces.
- Use warm neutrals for surfaces so saturated colors remain functional signals.
- Reserve butter and coral accents for attention, status, and small-area emphasis.
### Don't
- Do not place pastel trend colors behind body copy without contrast testing.
- Do not make every component a swatch; product hierarchy still comes first.
- Do not use saturated accents as large backgrounds in dense data views.
- Do not mix multiple novelty shapes beyond the defined radius scale.
DESIGN.md
---
version: "alpha"
name: "Forecast Token Atlas 2026"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#F0B84A"
background: "#F7F1E7"
border: "#D9CDBB"
error: "#B9473F"
info: "#2F6D9C"
muted: "#7C8179"
primary: "#0D6F73"
secondary: "#7B4E5E"
success: "#2F7D5B"
surface: "#FFF9EF"
text: "#182322"
warning: "#B87916"
typography:
headline-lg:
fontFamily: "Instrument Serif"
fontSize: "1.907rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.015em"
headline-md:
fontFamily: "Instrument Serif"
fontSize: "1.538rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.015em"
body-md:
fontFamily: "Inter"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.52
letterSpacing: "-0.015em"
label-md:
fontFamily: "IBM Plex 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: "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"
---
# Forecast Token Atlas 2026
## Overview
Forecast Token Atlas 2026 translates fashion, interiors, and product color forecasting into a production-ready interface palette system: a calm teal hero, earth-plum warmth, buttery optimism, misted neutrals, accessible status hues, data categories, and paired light/dark theme ramps for durable UI work.
### Values
- forecast color made operational through semantic roles
- accessible contrast before trend novelty
- tonal ramps that support both editorial hero moments and dense product surfaces
- interior-material warmth translated into software surfaces
### Anti-Values
- single-swatch moodboards with no interaction semantics
- low-contrast pastel interfaces
- overly saturated data colors that compete with primary actions
### Visual Character
- Layer wide teal-to-mist hero bands behind an 8px token grid, using CSS linear-gradients and clipped panels instead of decorative illustration.
- Use warm parchment and mushroom surface cards with 1px translucent plum borders, giving interior-material softness while preserving product UI clarity.
- Apply tonal ramp chips as functional navigation rails, status badges, and chart keys so forecast hues are always tied to semantic interface roles.
- Pair rounded-rectangle containers at 28px radius with small 10px control radii, creating a furniture-product silhouette without making fields novelty-shaped.
## 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 | `#F0B84A` |
| background | `#F7F1E7` |
| border | `#D9CDBB` |
| error | `#B9473F` |
| info | `#2F6D9C` |
| muted | `#7C8179` |
| primary | `#0D6F73` |
| secondary | `#7B4E5E` |
| success | `#2F7D5B` |
| surface | `#FFF9EF` |
| text | `#182322` |
| warning | `#B87916` |
## Typography
- **Headline-Lg**: Instrument Serif, 1.907rem, weight 700, line-height 1.1.
- **Headline-Md**: Instrument Serif, 1.538rem, weight 600, line-height 1.15.
- **Body-Md**: Inter, 16px, weight 400, line-height 1.52.
- **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 fixed token rail, collapsing to two columns on tablet and one column on mobile.
### Whitespace
Use 24px gutters on desktop, 16px on mobile, with breathing room around hero color blocks and tighter rhythm in implementation tables.
## Elevation & Depth
### Shadows
- **Lg**: 0 28px 80px rgba(13,111,115,0.18)
- **Md**: 0 16px 40px rgba(24,35,34,0.12)
- **Sm**: 0 1px 2px rgba(24,35,34,0.08)
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `28px`
- **Md**: `18px`
- **None**: `0px`
- **Sm**: `10px`
### Surfaces
- **Bg Pattern**: subtle tonal ramp bands and tiny mono token labels
- **Card Style**: rounded furniture-like panels with plum-tinted hairline borders and warm inset highlights
- **Treatment**: misted parchment surfaces over deep teal anchoring fields
### Borders
- **Accent Width**: 3px
- **Character**: translucent mushroom borders with occasional plum or butter left-edge semantic rails
- **Default Width**: 1px
- **Style**: solid
## Components
### Composition
Build product screens as a token atlas: a dominant teal hero/navigation zone, parchment work surfaces, and compact semantic color rows that reveal how forecast hues map to UI jobs.
### Density
Balanced density: generous 24-32px card padding for palette explanation, tighter 8-12px controls and table rows for implementation data.
### Hierarchy
Use large serif editorial headings sparingly for forecast narrative, then switch to crisp Inter labels and IBM Plex Mono token codes for operational clarity.
### Signature Patterns
- Semantic hue rails: 3px left borders on cards and alerts encode primary, support, status, and data-category meaning without flooding the whole surface.
- Tonal ramp ladders: six-step swatch stacks appear beside controls and charts, proving each trend color has hover, selected, disabled, and dark-mode counterparts.
- Interior sample cards: warm neutral panels use inset highlights, large radii, and material labels to translate home/product forecast texture into UI surfaces.
- Forecast token tags: mono uppercase chips show role names such as HERO/PRIMARY/STATUS/SUCCESS and attach every color decision to a reusable design token.
## 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-019ea9a4-960f-7e70-bd24-cbba3963fbcd/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 every forecast hue a semantic UI role before using it decoratively.
- Do Check text contrast on both parchment light surfaces and deep teal dark surfaces.
- Do Use warm neutrals for surfaces so saturated colors remain functional signals.
- Do Reserve butter and coral accents for attention, status, and small-area emphasis.
- Don't Do not place pastel trend colors behind body copy without contrast testing.
- Don't Do not make every component a swatch; product hierarchy still comes first.
- Don't Do not use saturated accents as large backgrounds in dense data views.
- Don't Do not mix multiple novelty shapes beyond the defined radius scale.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "forecast-token-atlas-2026",
"type": "registry:theme",
"title": "Forecast Token Atlas 2026 shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F7F1E7",
"foreground": "#182322",
"card": "#FFF9EF",
"card-foreground": "#182322",
"popover": "#FFF9EF",
"popover-foreground": "#182322",
"primary": "#0D6F73",
"primary-foreground": "#ffffff",
"secondary": "#7B4E5E",
"secondary-foreground": "#ffffff",
"muted": "#7C8179",
"muted-foreground": "#182322",
"accent": "#F0B84A",
"accent-foreground": "#ffffff",
"destructive": "#B9473F",
"border": "#D9CDBB",
"input": "#D9CDBB",
"ring": "#F0B84A",
"chart-1": "#0D6F73",
"chart-2": "#7B4E5E",
"chart-3": "#F0B84A",
"chart-4": "#2F7D5B",
"chart-5": "#B87916",
"sidebar": "#FFF9EF",
"sidebar-foreground": "#182322",
"sidebar-primary": "#0D6F73",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#2F6D9C",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#D9CDBB",
"sidebar-ring": "#F0B84A",
"radius": "18px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#0D6F73",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#F0B84A",
"accent-foreground": "#ffffff",
"destructive": "#B9473F",
"border": "#303642",
"input": "#303642",
"ring": "#F0B84A",
"chart-1": "#0D6F73",
"chart-2": "#7B4E5E",
"chart-3": "#F0B84A",
"chart-4": "#2F7D5B",
"chart-5": "#B87916",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#0D6F73",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#F0B84A",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#F0B84A",
"radius": "18px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019ea9a4-960f-7e70-bd24-cbba3963fbcd",
"slug": "forecast-token-atlas-2026",
"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"
],
"palette_architecture": [
"dark_theme",
"hero_hue",
"light_theme",
"support_accents",
"surface_neutrals"
],
"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: #F7F1E7;
--foreground: #182322;
--card: #FFF9EF;
--card-foreground: #182322;
--popover: #FFF9EF;
--popover-foreground: #182322;
--primary: #0D6F73;
--primary-foreground: #ffffff;
--secondary: #7B4E5E;
--secondary-foreground: #ffffff;
--muted: #7C8179;
--muted-foreground: #182322;
--accent: #F0B84A;
--accent-foreground: #ffffff;
--destructive: #B9473F;
--border: #D9CDBB;
--input: #D9CDBB;
--ring: #F0B84A;
--chart-1: #0D6F73;
--chart-2: #7B4E5E;
--chart-3: #F0B84A;
--chart-4: #2F7D5B;
--chart-5: #B87916;
--sidebar: #FFF9EF;
--sidebar-foreground: #182322;
--sidebar-primary: #0D6F73;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #2F6D9C;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #D9CDBB;
--sidebar-ring: #F0B84A;
--radius: 18px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #0D6F73;
--primary-foreground: #ffffff;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #F0B84A;
--accent-foreground: #ffffff;
--destructive: #B9473F;
--border: #303642;
--input: #303642;
--ring: #F0B84A;
--chart-1: #0D6F73;
--chart-2: #7B4E5E;
--chart-3: #F0B84A;
--chart-4: #2F7D5B;
--chart-5: #B87916;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #0D6F73;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #F0B84A;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #303642;
--sidebar-ring: #F0B84A;
--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 ForecastTokenAtlas2026ShadcnKit() {
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">Forecast Token Atlas 2026</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": "forecast-token-atlas-2026",
"type": "registry:theme",
"title": "Forecast Token Atlas 2026 shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F7F1E7",
"foreground": "#182322",
"card": "#FFF9EF",
"card-foreground": "#182322",
"popover": "#FFF9EF",
"popover-foreground": "#182322",
"primary": "#0D6F73",
"primary-foreground": "#ffffff",
"secondary": "#7B4E5E",
"secondary-foreground": "#ffffff",
"muted": "#7C8179",
"muted-foreground": "#182322",
"accent": "#F0B84A",
"accent-foreground": "#ffffff",
"destructive": "#B9473F",
"border": "#D9CDBB",
"input": "#D9CDBB",
"ring": "#F0B84A",
"chart-1": "#0D6F73",
"chart-2": "#7B4E5E",
"chart-3": "#F0B84A",
"chart-4": "#2F7D5B",
"chart-5": "#B87916",
"sidebar": "#FFF9EF",
"sidebar-foreground": "#182322",
"sidebar-primary": "#0D6F73",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#2F6D9C",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#D9CDBB",
"sidebar-ring": "#F0B84A",
"radius": "18px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#0D6F73",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#F0B84A",
"accent-foreground": "#ffffff",
"destructive": "#B9473F",
"border": "#303642",
"input": "#303642",
"ring": "#F0B84A",
"chart-1": "#0D6F73",
"chart-2": "#7B4E5E",
"chart-3": "#F0B84A",
"chart-4": "#2F7D5B",
"chart-5": "#B87916",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#0D6F73",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#F0B84A",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#F0B84A",
"radius": "18px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019ea9a4-960f-7e70-bd24-cbba3963fbcd",
"slug": "forecast-token-atlas-2026",
"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"
],
"palette_architecture": [
"dark_theme",
"hero_hue",
"light_theme",
"support_accents",
"surface_neutrals"
],
"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"
]
}
}
}
# shadcn/ui Components — Forecast Token Atlas 2026
Author: `katagami-agent`
## ShadSync visual profile
- Family: forecast-token-atlas
- Material: warm parchment software surfaces carrying fashion/interior forecast color as semantic product tokens.
- Shape scale: cards/containers `28px`, controls `18px`, badges and primary pills `9999px`.
- Borders: 1px mushroom dividers with selective plum or teal rails; no novelty shape mixing.
- Motion: 180ms ease-out lift, focus-ring glow, and subtle tonal-ramp reveal.
## Signature component recipes
### button
Use rounded-full teal primary buttons with white text, butter secondary pills with deep teal text, and clay destructive buttons only for destructive intent. Add a 2px translateY lift on hover.
### card
Use parchment surfaces, 1px mushroom border, 28px radius, soft warm shadow, and optional 3px semantic rail in teal/plum/butter.
### input
Use warm ivory fields, 10px radius, mushroom border, deep teal focus ring, mono helper text, and never use pastel text-on-pastel combinations.
### textarea
Match input styling with generous line height and a plum character-count rail for editorial notes.
### select
Use the input field treatment; menu surface is parchment with teal selected state and butter hover state.
### dialog
Deep teal header band, parchment body, plum divider, rounded large shell, and explicit footer actions.
### sheet
Use a side panel as a material sample drawer with teal title band, parchment body, and status chips.
### tabs
Use pill tabs on mushroom rail; active tab uses teal fill and inactive tabs use transparent parchment.
### badge
Use uppercase mono labels. Status badges use semantic hues; trend-token badges may use butter/plum but must include text labels.
### separator
Use mushroom separators; use plum separators only for section changes.
### checkbox
Rounded-sm box with teal fill and clear label; support indeterminate for token review states.
### switch
Teal on-state, mushroom off-state, pill contour; include visible label and state copy.
### slider
Teal track with butter thumb for forecast intensity or confidence controls.
### tooltip
Deep teal bubble, parchment text, small radius, short explanatory copy.
### dropdown-menu
Parchment menu, mushroom border, teal selected row, mono shortcut labels.
### table
Compact warm rows, sticky parchment header, mono token codes, semantic badges, and teal focus row.
## Preview shots
- `application-shell`: navigation, hero token atlas, semantic cards, and ramp chips.
- `detail-editor`: palette-token editor with fields, preview cards, dialog/sheet controls, and validation states.
- `data-operations`: operational table, filters, sliders, switches, and status workflows.
## 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"
export function ForecastTokenCard() {
return (
<Card className="rounded-[28px] border-[#CFC3AA] bg-[#F6EEDC] shadow-[0_16px_40px_rgba(20,40,38,0.12)]">
<CardHeader className="border-l-4 border-[#0F5F5C]">
<Badge className="w-fit rounded-full bg-[#F2D06B] font-mono text-[#14312F]">FORECAST TOKEN</Badge>
<CardTitle className="font-serif text-[#14312F]">Teal becomes the product anchor</CardTitle>
</CardHeader>
<CardContent className="space-y-4">
<Input placeholder="Semantic role" className="rounded-[10px] border-[#CFC3AA] bg-[#FFF9EA] focus-visible:ring-[#0F5F5C]" />
<Button className="rounded-full bg-[#0F5F5C] text-white hover:-translate-y-0.5">Apply palette role</Button>
</CardContent>
</Card>
)
}
```
{
"artifact": "katagami:shadcn-preview-shots",
"author": "katagami-agent",
"componentRecipes": [
{
"component": "button",
"recipe": "Use rounded-full teal primary buttons with white text, butter secondary pills with deep teal text, and clay destructive buttons only for destructive intent. Add a 2px translateY lift on hover.",
"shapeScale": {
"containers": "28px",
"controls": "18px",
"pills": "9999px"
},
"tokens": [
"primary",
"surface",
"border",
"accent"
]
},
{
"component": "card",
"recipe": "Use parchment surfaces, 1px mushroom border, 28px radius, soft warm shadow, and optional 3px semantic rail in teal/plum/butter.",
"shapeScale": {
"containers": "28px",
"controls": "18px",
"pills": "9999px"
},
"tokens": [
"primary",
"surface",
"border",
"accent"
]
},
{
"component": "input",
"recipe": "Use warm ivory fields, 10px radius, mushroom border, deep teal focus ring, mono helper text, and never use pastel text-on-pastel combinations.",
"shapeScale": {
"containers": "28px",
"controls": "18px",
"pills": "9999px"
},
"tokens": [
"primary",
"surface",
"border",
"accent"
]
},
{
"component": "textarea",
"recipe": "Match input styling with generous line height and a plum character-count rail for editorial notes.",
"shapeScale": {
"containers": "28px",
"controls": "18px",
"pills": "9999px"
},
"tokens": [
"primary",
"surface",
"border",
"accent"
]
},
{
"component": "select",
"recipe": "Use the input field treatment; menu surface is parchment with teal selected state and butter hover state.",
"shapeScale": {
"containers": "28px",
"controls": "18px",
"pills": "9999px"
},
"tokens": [
"primary",
"surface",
"border",
"accent"
]
},
{
"component": "dialog",
"recipe": "Deep teal header band, parchment body, plum divider, rounded large shell, and explicit footer actions.",
"shapeScale": {
"containers": "28px",
"controls": "18px",
"pills": "9999px"
},
"tokens": [
"primary",
"surface",
"border",
"accent"
]
},
{
"component": "sheet",
"recipe": "Use a side panel as a material sample drawer with teal title band, parchment body, and status chips.",
"shapeScale": {
"containers": "28px",
"controls": "18px",
"pills": "9999px"
},
"tokens": [
"primary",
"surface",
"border",
"accent"
]
},
{
"component": "tabs",
"recipe": "Use pill tabs on mushroom rail; active tab uses teal fill and inactive tabs use transparent parchment.",
"shapeScale": {
"containers": "28px",
"controls": "18px",
"pills": "9999px"
},
"tokens": [
"primary",
"surface",
"border",
"accent"
]
},
{
"component": "badge",
"recipe": "Use uppercase mono labels. Status badges use semantic hues; trend-token badges may use butter/plum but must include text labels.",
"shapeScale": {
"containers": "28px",
"controls": "18px",
"pills": "9999px"
},
"tokens": [
"primary",
"surface",
"border",
"accent"
]
},
{
"component": "separator",
"recipe": "Use mushroom separators; use plum separators only for section changes.",
"shapeScale": {
"containers": "28px",
"controls": "18px",
"pills": "9999px"
},
"tokens": [
"primary",
"surface",
"border",
"accent"
]
},
{
"component": "checkbox",
"recipe": "Rounded-sm box with teal fill and clear label; support indeterminate for token review states.",
"shapeScale": {
"containers": "28px",
"controls": "18px",
"pills": "9999px"
},
"tokens": [
"primary",
"surface",
"border",
"accent"
]
},
{
"component": "switch",
"recipe": "Teal on-state, mushroom off-state, pill contour; include visible label and state copy.",
"shapeScale": {
"containers": "28px",
"controls": "18px",
"pills": "9999px"
},
"tokens": [
"primary",
"surface",
"border",
"accent"
]
},
{
"component": "slider",
"recipe": "Teal track with butter thumb for forecast intensity or confidence controls.",
"shapeScale": {
"containers": "28px",
"controls": "18px",
"pills": "9999px"
},
"tokens": [
"primary",
"surface",
"border",
"accent"
]
},
{
"component": "tooltip",
"recipe": "Deep teal bubble, parchment text, small radius, short explanatory copy.",
"shapeScale": {
"containers": "28px",
"controls": "18px",
"pills": "9999px"
},
"tokens": [
"primary",
"surface",
"border",
"accent"
]
},
{
"component": "dropdown-menu",
"recipe": "Parchment menu, mushroom border, teal selected row, mono shortcut labels.",
"shapeScale": {
"containers": "28px",
"controls": "18px",
"pills": "9999px"
},
"tokens": [
"primary",
"surface",
"border",
"accent"
]
},
{
"component": "table",
"recipe": "Compact warm rows, sticky parchment header, mono token codes, semantic badges, and teal focus row.",
"shapeScale": {
"containers": "28px",
"controls": "18px",
"pills": "9999px"
},
"tokens": [
"primary",
"surface",
"border",
"accent"
]
}
],
"components": [
"button",
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"separator",
"checkbox",
"switch",
"slider",
"tooltip",
"dropdown-menu",
"table"
],
"generatedBy": "katagami-agent",
"renderable": true,
"requiresVisualProfile": true,
"schema": "katagami:shadcn-preview-shots/renderable-v1",
"shots": [
{
"components": [
"button",
"card",
"tabs",
"badge",
"separator",
"tooltip"
],
"id": "application-shell",
"scene": {
"actions": [
"Open token atlas",
"Export shadcn theme"
],
"description": "A teal navigation rail, parchment hero cards, plum dividers, and butter action chips organize forecast color into usable interface semantics.",
"eyebrow": "2026 Forecast System",
"headline": "Translate trend hues into product roles",
"stats": [
{
"label": "Semantic hues",
"value": "12"
},
{
"label": "Contrast checks",
"value": "AA+"
},
{
"label": "Ramp steps",
"value": "9"
}
]
},
"title": "Forecast Atlas Shell"
},
{
"components": [
"input",
"textarea",
"select",
"dialog",
"sheet",
"checkbox",
"switch",
"slider",
"button",
"badge"
],
"id": "detail-editor",
"scene": {
"actions": [
"Save token role",
"Preview dark theme"
],
"description": "Editors map a forecast swatch to UI role, confidence, accessibility state, and launch context inside calm warm-neutral controls.",
"eyebrow": "Token Detail",
"fields": [
{
"label": "Token name",
"value": "Primary / Deep Teal"
},
{
"label": "Forecast source",
"value": "Interior-product color report"
},
{
"label": "Confidence",
"value": "82%"
},
{
"label": "Accessible on parchment",
"value": "Pass"
}
],
"headline": "Assign a hue before it becomes decoration"
},
"title": "Palette Token Detail Editor"
},
{
"components": [
"table",
"dropdown-menu",
"select",
"slider",
"switch",
"badge",
"separator",
"button",
"card"
],
"id": "data-operations",
"scene": {
"actions": [
"Filter risky tokens",
"Publish palette"
],
"description": "A compact data screen tracks token usage, status, contrast, exports, and dark-theme readiness with semantic badges instead of loose swatches.",
"eyebrow": "Operations",
"headline": "Govern color systems like product infrastructure",
"rows": [
{
"hex": "#0D6F73",
"role": "action/navigation",
"status": "approved",
"token": "primary"
},
{
"hex": "#F0B84A",
"role": "attention",
"status": "needs review",
"token": "accent"
},
{
"hex": "#B9473F",
"role": "destructive",
"status": "approved",
"token": "error"
}
]
},
"title": "Semantic Palette Operations"
}
],
"version": "preview-shots-v1",
"visualProfile": {
"accents": [
"deep teal primary anchors",
"butter attention pills",
"plum dividers",
"coral destructive/status hints"
],
"border": "1px mushroom borders with plum or teal semantic rails",
"contour": "large-rounded-rectangles with pill controls",
"density": "balanced-data-product",
"family": "forecast-token-atlas",
"grain": true,
"material": "warm-parchment-interface with fashion-forecast color chips",
"motion": "calm 180ms lift-and-fade",
"stickerBadges": true,
"underlay": true
}
}