Ambient Forecast Palette System 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 warm umber lines with selective blue-violet left rails for active regions
- default width
- 1px
- style
- solid
colors12 items
motion3 items
- duration
- 180ms
- easing
- cubic-bezier(.2,.8,.2,1)
- philosophy
- small material lifts, color fades, and focus-ring blooms only; no bouncing or decorative motion
radii5 items
- full
- 9999px
- lg
- 28px
- md
- 16px
- none
- 0
- sm
- 10px
shadows3 items
- lg
- 0 34px 90px rgba(78,75,143,0.18)
- md
- 0 18px 45px rgba(70,55,42,0.12)
- sm
- 0 1px 2px rgba(36,32,27,0.08)
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
- bg pattern
- overlapping low-opacity clay and blue-violet radial gradients on plaster background
- card style
- large rounded product panels with 1px umber border and inset cream highlight
- treatment
- matte warm neutrals with subtle radial mineral grain
typography8 items
- base size
- 16px
- body font
- Instrument Sans
- google fonts url
- https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Instrument+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap
- heading font
- Fraunces
- letter spacing
- -0.015em
- line height
- 1.52
- mono font
- IBM Plex Mono
- scale ratio
- 1.22
rules
Use an editorial product-dashboard composition: a wide hero panel, a token rail, and operational cards arranged on a 12-column grid with visible air between material blocks.
Balanced density with generous panel padding, compact control interiors, and scannable token chips.
Let Fraunces headlines carry atmosphere while Instrument Sans labels, values, and controls provide precise utility; accent hue marks current state and primary action only.
layout
mobile 375px, tablet 768px, desktop 1200px, wide 1440px
12-column desktop grid with 24px gutters, collapsing to two columns on tablet and a single ordered stack on mobile.
Use 24-32px panel gaps and 48-64px hero breathing room so warm neutrals feel calm rather than empty.
guidance
- Anchor most surfaces in warm plaster, mushroom, cream, and umber neutrals.
- Reserve blue-violet accent for current state, primary action, hero hue, and data emphasis.
- Annotate color tokens with role, contrast guidance, and light/dark mapping notes.
- Keep semantic color smaller and sharper than brand color.
- Do not combine multiple forecast accent families in one screen.
- Do not place muted taupe text on cream below accessible contrast thresholds.
- Do not use glossy glass panels, neon gradients, or generic SaaS blue.
- Do not make every component violet; preserve neutral atmosphere.
katagami spec
# Ambient Forecast Palette System 2026 ## Philosophy Ambient Forecast Palette System 2026 translates interiors, fashion, and product-material color signals into a calm interface palette architecture: grounded warm neutrals, tactile product surfaces, a expressive Future Dusk blue-violet accent family, and restrained semantic colors tuned for accessible digital use. ### Values - interiors-led calm - material color honesty - forecast accent restraint - accessible semantic contrast - token-ready tonal architecture ### Anti-Values - rainbow trend collage - low-contrast beige-on-beige interfaces - decorative color with no semantic role - default SaaS blue saturation ### Visual Character - Layer warm plaster and mushroom neutral backgrounds with nested cards separated by 1px translucent umber borders and soft inner highlights. - Use a blue-violet hero hue only as a contained accent rail, selected tab fill, gradient halo, and primary button rather than flooding every component. - Build tonal palette swatches as stacked horizontal material chips with numeric token labels, contrast notes, and semantic role badges. - Pair rounded product-like panels at 28px radius with compact 12px controls and pill badges to create furniture-scale containers around precise UI elements. - Apply quiet surface grain through low-opacity radial gradients and matte shadows instead of glassmorphism, neon glow, or heavy drop shadows. ## Tokens ### Borders - **Accent Width**: 3px - **Character**: translucent warm umber lines with selective blue-violet left rails for active regions - **Default Width**: 1px - **Style**: solid ### Colors | Name | Value | |------|-------| | accent | `#8E6FD6` | | background | `#F3EDE3` | | border | `#D8CBBB` | | error | `#B34743` | | info | `#456E8F` | | muted | `#7A7066` | | primary | `#4E4B8F` | | secondary | `#8B6F5C` | | success | `#4F7A5A` | | surface | `#FFFBF4` | | text | `#24201B` | | warning | `#B8842F` | ### Motion - **Duration**: 180ms - **Easing**: cubic-bezier(.2,.8,.2,1) - **Philosophy**: small material lifts, color fades, and focus-ring blooms only; no bouncing or decorative motion ### Radii - **Full**: 9999px - **Lg**: 28px - **Md**: 16px - **None**: 0 - **Sm**: 10px ### Shadows - **Lg**: 0 34px 90px rgba(78,75,143,0.18) - **Md**: 0 18px 45px rgba(70,55,42,0.12) - **Sm**: 0 1px 2px rgba(36,32,27,0.08) ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64] ### Surfaces - **Bg Pattern**: overlapping low-opacity clay and blue-violet radial gradients on plaster background - **Card Style**: large rounded product panels with 1px umber border and inset cream highlight - **Treatment**: matte warm neutrals with subtle radial mineral grain ### Typography - **Base Size**: 16px - **Body Font**: Instrument Sans - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Instrument+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap - **Heading Font**: Fraunces - **Letter Spacing**: -0.015em - **Line Height**: 1.52 - **Mono Font**: IBM Plex Mono - **Scale Ratio**: 1.22 ## Rules ### Composition Use an editorial product-dashboard composition: a wide hero panel, a token rail, and operational cards arranged on a 12-column grid with visible air between material blocks. ### Density Balanced density with generous panel padding, compact control interiors, and scannable token chips. ### Hierarchy Let Fraunces headlines carry atmosphere while Instrument Sans labels, values, and controls provide precise utility; accent hue marks current state and primary action only. ### Signature Patterns - Forecast rail: active navigation and hero modules receive a 3px blue-violet inset rail plus a pale violet radial halo behind the content. - Material-chip palettes: color tokens appear as layered horizontal chips with hex labels, WCAG usage notes, and semantic badges embedded in each chip. - Interior-panel nesting: cards sit inside oversized rounded cream trays with subtle inset highlights, like product displays on a plaster wall. - Restrained function color: success, warning, error, and info appear as small outlined badges and chart ticks, never as large filled surfaces. ## Layout ### Breakpoints mobile 375px, tablet 768px, desktop 1200px, wide 1440px ### Grid 12-column desktop grid with 24px gutters, collapsing to two columns on tablet and a single ordered stack on mobile. ### Whitespace Use 24-32px panel gaps and 48-64px hero breathing room so warm neutrals feel calm rather than empty. ## Guidance ### Do - Anchor most surfaces in warm plaster, mushroom, cream, and umber neutrals. - Reserve blue-violet accent for current state, primary action, hero hue, and data emphasis. - Annotate color tokens with role, contrast guidance, and light/dark mapping notes. - Keep semantic color smaller and sharper than brand color. ### Don't - Do not combine multiple forecast accent families in one screen. - Do not place muted taupe text on cream below accessible contrast thresholds. - Do not use glossy glass panels, neon gradients, or generic SaaS blue. - Do not make every component violet; preserve neutral atmosphere.
DESIGN.md
---
version: "alpha"
name: "Ambient Forecast Palette System 2026"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#8E6FD6"
background: "#F3EDE3"
border: "#D8CBBB"
error: "#B34743"
info: "#456E8F"
muted: "#7A7066"
primary: "#4E4B8F"
secondary: "#8B6F5C"
success: "#4F7A5A"
surface: "#FFFBF4"
text: "#24201B"
warning: "#B8842F"
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: "Instrument Sans"
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: "16px"
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"
---
# Ambient Forecast Palette System 2026
## Overview
Ambient Forecast Palette System 2026 translates interiors, fashion, and product-material color signals into a calm interface palette architecture: grounded warm neutrals, tactile product surfaces, a expressive Future Dusk blue-violet accent family, and restrained semantic colors tuned for accessible digital use.
### Values
- interiors-led calm
- material color honesty
- forecast accent restraint
- accessible semantic contrast
- token-ready tonal architecture
### Anti-Values
- rainbow trend collage
- low-contrast beige-on-beige interfaces
- decorative color with no semantic role
- default SaaS blue saturation
### Visual Character
- Layer warm plaster and mushroom neutral backgrounds with nested cards separated by 1px translucent umber borders and soft inner highlights.
- Use a blue-violet hero hue only as a contained accent rail, selected tab fill, gradient halo, and primary button rather than flooding every component.
- Build tonal palette swatches as stacked horizontal material chips with numeric token labels, contrast notes, and semantic role badges.
- Pair rounded product-like panels at 28px radius with compact 12px controls and pill badges to create furniture-scale containers around precise UI elements.
- Apply quiet surface grain through low-opacity radial gradients and matte shadows instead of glassmorphism, neon glow, or heavy drop shadows.
## 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 | `#8E6FD6` |
| background | `#F3EDE3` |
| border | `#D8CBBB` |
| error | `#B34743` |
| info | `#456E8F` |
| muted | `#7A7066` |
| primary | `#4E4B8F` |
| secondary | `#8B6F5C` |
| success | `#4F7A5A` |
| surface | `#FFFBF4` |
| text | `#24201B` |
| warning | `#B8842F` |
## 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**: Instrument Sans, 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, wide 1440px
### Grid
12-column desktop grid with 24px gutters, collapsing to two columns on tablet and a single ordered stack on mobile.
### Whitespace
Use 24-32px panel gaps and 48-64px hero breathing room so warm neutrals feel calm rather than empty.
## Elevation & Depth
### Shadows
- **Lg**: 0 34px 90px rgba(78,75,143,0.18)
- **Md**: 0 18px 45px rgba(70,55,42,0.12)
- **Sm**: 0 1px 2px rgba(36,32,27,0.08)
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `28px`
- **Md**: `16px`
- **None**: `0px`
- **Sm**: `10px`
### Surfaces
- **Bg Pattern**: overlapping low-opacity clay and blue-violet radial gradients on plaster background
- **Card Style**: large rounded product panels with 1px umber border and inset cream highlight
- **Treatment**: matte warm neutrals with subtle radial mineral grain
### Borders
- **Accent Width**: 3px
- **Character**: translucent warm umber lines with selective blue-violet left rails for active regions
- **Default Width**: 1px
- **Style**: solid
## Components
### Composition
Use an editorial product-dashboard composition: a wide hero panel, a token rail, and operational cards arranged on a 12-column grid with visible air between material blocks.
### Density
Balanced density with generous panel padding, compact control interiors, and scannable token chips.
### Hierarchy
Let Fraunces headlines carry atmosphere while Instrument Sans labels, values, and controls provide precise utility; accent hue marks current state and primary action only.
### Signature Patterns
- Forecast rail: active navigation and hero modules receive a 3px blue-violet inset rail plus a pale violet radial halo behind the content.
- Material-chip palettes: color tokens appear as layered horizontal chips with hex labels, WCAG usage notes, and semantic badges embedded in each chip.
- Interior-panel nesting: cards sit inside oversized rounded cream trays with subtle inset highlights, like product displays on a plaster wall.
- Restrained function color: success, warning, error, and info appear as small outlined badges and chart ticks, never as large filled surfaces.
## 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-cada-7423-aa8a-23d91ced1559/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 Anchor most surfaces in warm plaster, mushroom, cream, and umber neutrals.
- Do Reserve blue-violet accent for current state, primary action, hero hue, and data emphasis.
- Do Annotate color tokens with role, contrast guidance, and light/dark mapping notes.
- Do Keep semantic color smaller and sharper than brand color.
- Don't Do not combine multiple forecast accent families in one screen.
- Don't Do not place muted taupe text on cream below accessible contrast thresholds.
- Don't Do not use glossy glass panels, neon gradients, or generic SaaS blue.
- Don't Do not make every component violet; preserve neutral atmosphere.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "ambient-forecast-palette-system-2026",
"type": "registry:theme",
"title": "Ambient Forecast Palette System 2026 shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F3EDE3",
"foreground": "#24201B",
"card": "#FFFBF4",
"card-foreground": "#24201B",
"popover": "#FFFBF4",
"popover-foreground": "#24201B",
"primary": "#4E4B8F",
"primary-foreground": "#ffffff",
"secondary": "#8B6F5C",
"secondary-foreground": "#ffffff",
"muted": "#7A7066",
"muted-foreground": "#24201B",
"accent": "#8E6FD6",
"accent-foreground": "#ffffff",
"destructive": "#B34743",
"border": "#D8CBBB",
"input": "#D8CBBB",
"ring": "#8E6FD6",
"chart-1": "#4E4B8F",
"chart-2": "#8B6F5C",
"chart-3": "#8E6FD6",
"chart-4": "#4F7A5A",
"chart-5": "#B8842F",
"sidebar": "#FFFBF4",
"sidebar-foreground": "#24201B",
"sidebar-primary": "#4E4B8F",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#456E8F",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#D8CBBB",
"sidebar-ring": "#8E6FD6",
"radius": "16px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#4E4B8F",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#8E6FD6",
"accent-foreground": "#ffffff",
"destructive": "#B34743",
"border": "#303642",
"input": "#303642",
"ring": "#8E6FD6",
"chart-1": "#4E4B8F",
"chart-2": "#8B6F5C",
"chart-3": "#8E6FD6",
"chart-4": "#4F7A5A",
"chart-5": "#B8842F",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#4E4B8F",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#8E6FD6",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#8E6FD6",
"radius": "16px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019ea9a3-cada-7423-aa8a-23d91ced1559",
"slug": "ambient-forecast-palette-system-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"
],
"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: #F3EDE3;
--foreground: #24201B;
--card: #FFFBF4;
--card-foreground: #24201B;
--popover: #FFFBF4;
--popover-foreground: #24201B;
--primary: #4E4B8F;
--primary-foreground: #ffffff;
--secondary: #8B6F5C;
--secondary-foreground: #ffffff;
--muted: #7A7066;
--muted-foreground: #24201B;
--accent: #8E6FD6;
--accent-foreground: #ffffff;
--destructive: #B34743;
--border: #D8CBBB;
--input: #D8CBBB;
--ring: #8E6FD6;
--chart-1: #4E4B8F;
--chart-2: #8B6F5C;
--chart-3: #8E6FD6;
--chart-4: #4F7A5A;
--chart-5: #B8842F;
--sidebar: #FFFBF4;
--sidebar-foreground: #24201B;
--sidebar-primary: #4E4B8F;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #456E8F;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #D8CBBB;
--sidebar-ring: #8E6FD6;
--radius: 16px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #4E4B8F;
--primary-foreground: #ffffff;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #8E6FD6;
--accent-foreground: #ffffff;
--destructive: #B34743;
--border: #303642;
--input: #303642;
--ring: #8E6FD6;
--chart-1: #4E4B8F;
--chart-2: #8B6F5C;
--chart-3: #8E6FD6;
--chart-4: #4F7A5A;
--chart-5: #B8842F;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #4E4B8F;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #8E6FD6;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #303642;
--sidebar-ring: #8E6FD6;
--radius: 16px;
}
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 AmbientForecastPaletteSystem2026ShadcnKit() {
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">Ambient Forecast Palette System 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": "ambient-forecast-palette-system-2026",
"type": "registry:theme",
"title": "Ambient Forecast Palette System 2026 shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F3EDE3",
"foreground": "#24201B",
"card": "#FFFBF4",
"card-foreground": "#24201B",
"popover": "#FFFBF4",
"popover-foreground": "#24201B",
"primary": "#4E4B8F",
"primary-foreground": "#ffffff",
"secondary": "#8B6F5C",
"secondary-foreground": "#ffffff",
"muted": "#7A7066",
"muted-foreground": "#24201B",
"accent": "#8E6FD6",
"accent-foreground": "#ffffff",
"destructive": "#B34743",
"border": "#D8CBBB",
"input": "#D8CBBB",
"ring": "#8E6FD6",
"chart-1": "#4E4B8F",
"chart-2": "#8B6F5C",
"chart-3": "#8E6FD6",
"chart-4": "#4F7A5A",
"chart-5": "#B8842F",
"sidebar": "#FFFBF4",
"sidebar-foreground": "#24201B",
"sidebar-primary": "#4E4B8F",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#456E8F",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#D8CBBB",
"sidebar-ring": "#8E6FD6",
"radius": "16px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#4E4B8F",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#8E6FD6",
"accent-foreground": "#ffffff",
"destructive": "#B34743",
"border": "#303642",
"input": "#303642",
"ring": "#8E6FD6",
"chart-1": "#4E4B8F",
"chart-2": "#8B6F5C",
"chart-3": "#8E6FD6",
"chart-4": "#4F7A5A",
"chart-5": "#B8842F",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#4E4B8F",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#8E6FD6",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#8E6FD6",
"radius": "16px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019ea9a3-cada-7423-aa8a-23d91ced1559",
"slug": "ambient-forecast-palette-system-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"
],
"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"
]
}
}
}
# Ambient Forecast Palette System 2026 shadcn/ui Components
Author: `katagami-agent`
## Intent
Translate 2026 interiors-driven forecast color into shadcn/ui screens: matte plaster neutrals, cream product panels, umber borders, and one contained Future Dusk blue-violet accent family.
## Required primitives
button, card, input, textarea, select, dialog, sheet, tabs, badge, separator, checkbox, switch, slider, tooltip, dropdown-menu, and table from `@/components/ui/*`.
## Token cues
Use background `#F3EDE3`, card `#FFFBF4`, foreground `#24201B`, muted `#7A7066`, border `#D8CBBB`, primary `#4E4B8F`, accent `#8E6FD6`, destructive `#B34743`, success `#4F7A5A`, warning `#B8842F`, and info `#456E8F`. Use Fraunces for display headings, Instrument Sans for UI, IBM Plex Mono for token labels.
## Visual character to preserve
- Warm plaster app canvas with low-opacity mineral radial gradients.
- 28px product-scale cards and sheets with 1px umber borders and inset cream highlights.
- 3px blue-violet active rails and focus blooms only for current state and primary action.
- Material-chip swatches with hex labels, semantic role badges, and contrast notes.
## ShadSync visual profile
family: ambient-forecast; material: matte-plaster-product-panel; contour: rounded-product-rectangle; border: translucent-umber-with-violet-active-rail; underlay: radial-mineral-halo; grain: subtle; stickerBadges: restrained-outline; motion: material-lift-fade; density: balanced; accents: future-dusk-blue-violet.
## Signature component recipes
- button: primary is Future Dusk fill, 14px radius, slight lift on hover; secondary is cream fill with umber border.
- card: use 28px radius, cream background, 1px warm border, inset top highlight, and optional violet rail for active cards.
- input: cream field, 12px radius, 1px border, violet 4px focus halo; textarea follows the same but with comfortable line-height.
- select: same as input with muted placeholder and violet focus ring; avoid native arrow styling drift.
- dialog: large rounded cream product panel over warm dim overlay; one violet rail on the content edge.
- sheet: cream panel with plaster underlay, umber border, calm spacing, and no glass blur.
- tabs: pill list where active tab uses pale violet fill and inset bottom accent line.
- badge: outline by default; semantic colors remain small, never large filled banners.
- separator: 1px translucent umber line, never stark gray.
- checkbox: 12px rounded square; checked state fills Future Dusk with cream tick.
- switch: neutral track, Future Dusk thumb/track in checked state, 180ms material fade.
- slider: mushroom track with Future Dusk active range and rounded thumb.
- tooltip: night violet surface, cream text, small radius, no neon glow.
- dropdown-menu: cream surface, rounded 16px, warm border, active item with violet left rail.
- table: warm row separators, mono token cells, semantic badges for status, violet only on selected row rail.
## Preview shots
application-shell shows the forecast dashboard; detail-editor shows palette editing fields; data-operations shows token table, filtering, and dropdown states.
## Implementation contract
Import local primitives from `@/components/ui/*` instead of inventing a second component system. Preserve radius scale: cards/sheets 28px, controls 12-14px, badges full pill. Keep accent under 12% of viewport area.
## Copy-paste component example
```tsx
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import { Input } from "@/components/ui/input"
import { Badge } from "@/components/ui/badge"
export function ForecastPaletteCard() {
return (
<Card className="rounded-[28px] border-[#D8CBBB] bg-[#FFFBF4] shadow-[inset_0_1px_0_rgba(255,255,255,.75)]">
<CardHeader className="border-l-[3px] border-l-[#8E6FD6]">
<Badge variant="outline" className="w-fit border-[#4E4B8F] text-[#4E4B8F]">2026 forecast</Badge>
<CardTitle className="font-serif text-3xl text-[#24201B]">Future Dusk accent family</CardTitle>
</CardHeader>
<CardContent className="space-y-4">
<Input className="rounded-[12px] border-[#D8CBBB] bg-[#FFFBF4] focus-visible:ring-[#8E6FD6]/25" defaultValue="#4E4B8F" />
<Button className="rounded-[14px] bg-[#4E4B8F] text-white hover:bg-[#45417f]">Apply tokens</Button>
</CardContent>
</Card>
)
}
```
{
"artifact": "katagami:shadcn-preview-shots",
"author": "katagami-agent",
"componentRecipes": [
{
"component": "button",
"recipe": "Use warm cream surfaces, umber borders, rounded product geometry, violet only for focus, active, selected, or primary states."
},
{
"component": "card",
"recipe": "Use warm cream surfaces, umber borders, rounded product geometry, violet only for focus, active, selected, or primary states."
},
{
"component": "input",
"recipe": "Use warm cream surfaces, umber borders, rounded product geometry, violet only for focus, active, selected, or primary states."
},
{
"component": "textarea",
"recipe": "Use warm cream surfaces, umber borders, rounded product geometry, violet only for focus, active, selected, or primary states."
},
{
"component": "select",
"recipe": "Use warm cream surfaces, umber borders, rounded product geometry, violet only for focus, active, selected, or primary states."
},
{
"component": "dialog",
"recipe": "Use warm cream surfaces, umber borders, rounded product geometry, violet only for focus, active, selected, or primary states."
},
{
"component": "sheet",
"recipe": "Use warm cream surfaces, umber borders, rounded product geometry, violet only for focus, active, selected, or primary states."
},
{
"component": "tabs",
"recipe": "Use warm cream surfaces, umber borders, rounded product geometry, violet only for focus, active, selected, or primary states."
},
{
"component": "badge",
"recipe": "Use warm cream surfaces, umber borders, rounded product geometry, violet only for focus, active, selected, or primary states."
},
{
"component": "separator",
"recipe": "Use warm cream surfaces, umber borders, rounded product geometry, violet only for focus, active, selected, or primary states."
},
{
"component": "checkbox",
"recipe": "Use warm cream surfaces, umber borders, rounded product geometry, violet only for focus, active, selected, or primary states."
},
{
"component": "switch",
"recipe": "Use warm cream surfaces, umber borders, rounded product geometry, violet only for focus, active, selected, or primary states."
},
{
"component": "slider",
"recipe": "Use warm cream surfaces, umber borders, rounded product geometry, violet only for focus, active, selected, or primary states."
},
{
"component": "tooltip",
"recipe": "Use warm cream surfaces, umber borders, rounded product geometry, violet only for focus, active, selected, or primary states."
},
{
"component": "dropdown-menu",
"recipe": "Use warm cream surfaces, umber borders, rounded product geometry, violet only for focus, active, selected, or primary states."
},
{
"component": "table",
"recipe": "Use warm cream surfaces, umber borders, rounded product geometry, violet only for focus, active, selected, or primary states."
}
],
"generatedBy": "katagami-agent",
"renderable": true,
"requiresVisualProfile": true,
"schema": "katagami:shadcn-preview-shots/renderable-v1",
"shots": [
{
"avoid": [
"full-screen violet fills",
"generic gray cards"
],
"composition": "Sidebar, forecast hero, token chip cards, and theme mapping tiles on plaster canvas.",
"id": "application-shell",
"mustShowStates": [
"active violet rail",
"primary button",
"outline semantic badges",
"hoverable menu trigger"
],
"primitives": [
"button",
"card",
"tabs",
"badge",
"separator",
"tooltip",
"dropdown-menu"
],
"scene": {
"actions": [
"Generate theme tokens",
"Audit contrast"
],
"description": "Warm interiors-led neutrals with one Future Dusk action family.",
"eyebrow": "2026 Color Forecast",
"headline": "Ambient palette operating system",
"stats": [
{
"label": "neutral tokens",
"value": "08"
},
{
"label": "accent family",
"value": "01"
},
{
"label": "AA targets",
"value": "12"
}
]
}
},
{
"avoid": [
"browser default controls",
"over-saturated semantic blocks"
],
"composition": "Palette detail editor in a rounded cream sheet with focus-ring examples and compact controls.",
"id": "detail-editor",
"mustShowStates": [
"focused input violet halo",
"checked switch",
"slider active range",
"dialog confirmation"
],
"primitives": [
"input",
"textarea",
"select",
"switch",
"slider",
"checkbox",
"dialog",
"sheet",
"button",
"badge"
],
"scene": {
"actions": [
"Save palette",
"Open preview"
],
"description": "Edit surface, border, and accent tokens with accessibility notes.",
"eyebrow": "Palette Editor",
"fields": [
{
"label": "Primary",
"value": "#4E4B8F"
},
{
"label": "Surface",
"value": "#FFFBF4"
},
{
"label": "Contrast note",
"value": "Use muted text only above AA."
}
],
"headline": "Tune material color roles"
}
},
{
"avoid": [
"inventory wall",
"unlabeled swatches"
],
"composition": "Operational token table with semantic status badges, selected row rail, and dropdown filter.",
"id": "data-operations",
"mustShowStates": [
"selected row rail",
"warning badge",
"success badge",
"dropdown menu"
],
"primitives": [
"table",
"dropdown-menu",
"badge",
"separator",
"tabs",
"button",
"card",
"tooltip"
],
"scene": {
"actions": [
"Export JSON",
"Filter roles"
],
"description": "Review light, dim, and dark mappings for product teams.",
"eyebrow": "Token Operations",
"headline": "Accessible theme mapping",
"rows": [
{
"hex": "#4E4B8F",
"status": "AA pass",
"token": "primary.700"
},
{
"hex": "#B8842F",
"status": "badge only",
"token": "warning.600"
},
{
"hex": "#FFFBF4",
"status": "base",
"token": "surface.0"
}
]
}
}
],
"version": "preview-shots-v1",
"visualProfile": {
"accents": "future-dusk blue-violet",
"border": "translucent umber with violet active rail",
"contour": "rounded-product-rectangle",
"density": "balanced",
"family": "ambient-forecast",
"grain": true,
"material": "matte plaster and product panel",
"motion": "material-lift-fade",
"stickerBadges": "restrained-outline",
"underlay": true
}
}