Visual kits for agents that need to design well
Pick what you're building, preview every kit on that surface, and hand your agent a complete visual system — fonts, colors, tokens, and component rules.
Pick what you're building, preview every kit on that surface, and hand your agent a complete visual system — fonts, colors, tokens, and component rules.
A high-impact identity for cultural programming built on vivid chromatic surfaces. Every section is a full color fill (acid chartreuse #e7ff8f or sky blue #95c2fd) with dark forest-green ink set directly on it, never on white or floating neutral cards. Typography is exclusively uppercase in a heavy condensed grotesque, with oversized titles dominating the lower portion of each card. The system alternates surface colors to signal content type and reserves a signature blue-to-chartreuse gradient for feature surfaces. Every component is strictly rectangular at 0rem radius.
chartreuseculturalgrid.com
Chartreuse Grid
Supporting copy goes here.
chartreuseculturalgrid.com
Chartreuse Grid
Every kit is judged per use case against concrete criteria — chart-series distinctness, text contrast, information density — not keyword matching.
---
# Machine-readable tokens (the WHAT). The prose body gives the WHY + the rules.
# contract is THIS DOCUMENT'S shape and has nothing to do with the kit's
# revision below. It moves when a section is added, renamed or removed; a kit
# that never changed can arrive under a new one, and a kit that changed every
# token arrives under the same one. Read them independently.
#
# FIRST key on purpose. `name` is caller-supplied and yamlQuote escapes only the
# double quote, so a crafted kit name can inject lines into this block — every
# reader of this front matter honours the FIRST occurrence of a key, which puts
# an injected duplicate too late to matter.
contract: "1.0"
kit:
# The id is the durable handle; name and slug are both mutable.
# version is this record's monotonic revision: 0 = never versioned,
# null = the server did not report one. Diff against it; don't hash the file.
id: "db2636e0-1982-4206-bf2e-fb41c4192f57"
version: 0
slug: "chartreuse-cultural-grid"
name: "Chartreuse Cultural Grid"
colors:
roles_light:
background: "#E7FF8F"
foreground: "#0D2318"
card: "#DFF77A"
card-foreground: "#0D2318"
popover: "#E7FF8F"
popover-foreground: "#0D2318"
primary: "#1C6741"
primary-foreground: "#FFFFFF"
secondary: "#95C2FD"
secondary-foreground: "#0C2745"
muted: "#C8E87A"
muted-foreground: "#2D5A3D"
accent: "#95C2FD"
accent-foreground: "#0C2745"
destructive: "#C93030"
destructive-foreground: "#FFFFFF"
border: "#1C6741"
input: "#1C6741"
ring: "#1C6741"
success: "#31B06F"
success-foreground: "#001A0E"
warning: "#B45309"
warning-foreground: "#FFFFFF"
chart-1: "#1C6741"
chart-2: "#3B7EC9"
chart-3: "#9050C8"
chart-4: "#D94F3C"
chart-5: "#0D8C7A"
roles_dark:
background: "#0D2318"Three ways from the same kit: run "npx identityforge@latest apply chartreuse-cultural-grid" with the CLI to write the tokens and DESIGN.md into your project, fetch it through the Identity Forge MCP server inside Claude Code, Cursor, or OpenCode, or install from the shadcn registry at /r/chartreuse-cultural-grid.json with "npx shadcn add".
A complete brand system: a font pairing, 28 semantic color tokens in light and dark, a typography scale, spacing and elevation, per-element treatments, distinctive motifs, do's and don'ts, and a DESIGN.md a coding agent builds from. Exports cover shadcn registry items, Tailwind v3 and v4 themes, DTCG tokens JSON, and plain CSS variables.
Chartreuse Cultural Grid is free: its full color tokens, fonts, DESIGN.md, and every export are available at no cost.
Supporting copy goes here.
/*
* Chartreuse Cultural Grid — Identity Forge design kit.
* Kit id: db2636e0-1982-4206-bf2e-fb41c4192f57
* Kit slug: chartreuse-cultural-grid (a mutable alias; the id is the durable handle)
* Kit version: 0 (no version minted yet)
*/
@import url("https://fonts.googleapis.com/css2?family=Barlow%20Condensed:wght@400;500;600;700&family=Barlow:wght@400;500;600;700&family=Space%20Mono:wght@400;700&display=swap");
:root {
--radius: 0rem;
--font-heading: 'Barlow Condensed', sans-serif;
--font-sans: 'Barlow', sans-serif;
--font-mono: 'Space Mono', monospace;
--background: 73 100% 78%;
--foreground: 150 46% 9%;
--card: 72 89% 72%;
--card-foreground: 150 46% 9%;
--popover: 73 100% 78%;
--popover-foreground: 150 46% 9%;
--primary: 150 57% 26%;
--primary-foreground: 0 0% 100%;
--secondary: 214 96% 79%;
--secondary-foreground: 212 70% 16%;
--muted: 77 71% 69%;
--muted-foreground: 141 33% 26%;
--accent: 214 96% 79%;
--accent-foreground: 212 70% 16%;
--destructive: 0 61% 49%;
--destructive-foreground: 0 0% 100%;
--border: 150 57% 26%;
--input: 150 57% 26%;
--ring: 150 57% 26%;
--success: 149 56% 44%;
--success-foreground: 152 100% 5%;
--warning: 26 90% 37%;
--warning-foreground: 0 0% 100%;
--chart-1: 150 57% 26%;
--chart-2: 212 57% 51%;
--chart-3: 272 52% 55%;
--chart-4: 7 67% 54%;
--chart-5: 171 83% 30%;
--shadow-sm: 0 1px 0 rgba(13,35,24,0.06);
--shadow-md: 0 2px 8px rgba(13,35,24,0.08);
--shadow-lg: 0 4px 16px rgba(13,35,24,0.10);
--shadow-xl: 0 8px 32px rgba(13,35,24,0.12);
--gradient-hero: linear-gradient(180deg, #95c2fd 0%, #e7ff8f 100%);
--gradient-brand: linear-gradient(135deg, #31b06f 0%, #1c6741 100%);
--gradient-subtle: linear-gradient(180deg, #e7ff8f 0%, #c8e87a 100%);
--duration: 150ms;
--duration-slow: 350ms;
--ease: cubic-bezier(0.4, 0, 0.2, 1);
--tracking-tight: -0.01em;
--tracking-normal: 0.06em;
--font-weight-heading: 800;
--font-weight-body: 400;
--button-radius: 0rem;
--card-radius: 0rem;
--input-radius: 0rem;
--badge-radius: 0rem;
--border-width: 1px;Registry
/r/chartreuse-cultural-grid.jsonTailwind v4
/*
* Chartreuse Cultural Grid — Identity Forge design kit.
* Kit id: db2636e0-1982-4206-bf2e-fb41c4192f57
* Kit slug: chartreuse-cultural-grid (a mutable alias; the id is the durable handle)
* Kit version: 0 (no version minted yet)
*
* Drop-in Tailwind v4 theme: font import, the custom properties the theme
* aliases, and the @theme block. Expects `@import "tailwindcss";` above it,
* and the @import lines must stay at the top of the stylesheet.
*/
@import url("https://fonts.googleapis.com/css2?family=Barlow%20Condensed:wght@400;500;600;700&family=Barlow:wght@400;500;600;700&family=Space%20Mono:wght@400;700&display=swap");
:root {
--radius: 0rem;
--font-heading: 'Barlow Condensed', sans-serif;
--font-sans: 'Barlow', sans-serif;
--font-mono: 'Space Mono', monospace;
--background: 73 100% 78%;
--foreground: 150 46% 9%;
--card: 72 89% 72%;
--card-foreground: 150 46% 9%;
--popover: 73 100% 78%;
--popover-foreground: 150 46% 9%;
--primary: 150 57% 26%;
--primary-foreground: 0 0% 100%;
--secondary: 214 96% 79%;
--secondary-foreground: 212 70% 16%;
--muted: 77 71% 69%;
--muted-foreground: 141 33% 26%;
--accent: 214 96% 79%;
--accent-foreground: 212 70% 16%;
--destructive: 0 61% 49%;
--destructive-foreground: 0 0% 100%;
--border: 150 57% 26%;
--input: 150 57% 26%;
--ring: 150 57% 26%;
--success: 149 56% 44%;
--success-foreground: 152 100% 5%;
--warning: 26 90% 37%;
--warning-foreground: 0 0% 100%;
--chart-1: 150 57% 26%;
--chart-2: 212 57% 51%;
--chart-3: 272 52% 55%;
--chart-4: 7 67% 54%;
--chart-5: 171 83% 30%;
--shadow-sm: 0 1px 0 rgba(13,35,24,0.06);
--shadow-md: 0 2px 8px rgba(13,35,24,0.08);
--shadow-lg: 0 4px 16px rgba(13,35,24,0.10);
--shadow-xl: 0 8px 32px rgba(13,35,24,0.12);
--gradient-hero: linear-gradient(180deg, #95c2fd 0%, #e7ff8f 100%);
--gradient-brand: linear-gradient(135deg, #31b06f 0%, #1c6741 100%);
--gradient-subtle: linear-gradient(180deg, #e7ff8f 0%, #c8e87a 100%);
--duration: 150ms;
--duration-slow: 350ms;
--ease: cubic-bezier(0.4, 0, 0.2, 1);
--tracking-tight: -0.01em;
--tracking-normal: 0.06em;
--font-weight-heading: 800;
--font-weight-body: 400;
--button-radius: 0rem;
--card-radius: 0rem;
--input-radius: 0rem;
--badge-radius: 0rem;
--border-width: 1px;
--card-border-width: 1px;
--input-border-width: 1px;
--button-border-width: 0;
--badge-border-width: 1px;
--heading-transform: uppercase;
--label-transform: uppercase;
--kit-id: "db2636e0-1982-4206-bf2e-fb41c4192f57";
--kit-version: 0;
}
.dark {
--radius: 0rem;
--font-heading: 'Barlow Condensed', sans-serif;
--font-sans: 'Barlow', sans-serif;
--font-mono: 'Space Mono', monospace;
--background: 150 46% 9%;
--foreground: 73 100% 78%;
--card: 140 35% 13%;
--card-foreground: 73 100% 78%;
--popover: 138 33% 18%;
--popover-foreground: 73 100% 78%;
--primary: 149 56% 44%;
--primary-foreground: 152 100% 5%;
--secondary: 150 57% 26%;
--secondary-foreground: 73 100% 78%;
--muted: 142 33% 18%;
--muted-foreground: 144 50% 66%;
--accent: 214 96% 79%;
--accent-foreground: 150 46% 9%;
--destructive: 0 91% 71%;
--destructive-foreground: 0 100% 9%;
--border: 143 41% 30%;
--input: 143 41% 30%;
--ring: 73 100% 78%;
--success: 149 56% 44%;
--success-foreground: 152 100% 5%;
--warning: 43 96% 56%;
--warning-foreground: 34 100% 5%;
--chart-1: 149 56% 44%;
--chart-2: 214 96% 79%;
--chart-3: 73 100% 78%;
--chart-4: 25 95% 53%;
--chart-5: 255 92% 76%;
}
@theme inline {
--font-heading: 'Barlow Condensed', sans-serif;
--font-sans: 'Barlow', sans-serif;
--font-mono: 'Space Mono', monospace;
--color-background: hsl(var(--background));
--color-foreground: hsl(var(--foreground));
--color-card: hsl(var(--card));
--color-card-foreground: hsl(var(--card-foreground));
--color-popover: hsl(var(--popover));
--color-popover-foreground: hsl(var(--popover-foreground));
--color-primary: hsl(var(--primary));
--color-primary-foreground: hsl(var(--primary-foreground));
--color-secondary: hsl(var(--secondary));
--color-secondary-foreground: hsl(var(--secondary-foreground));
--color-muted: hsl(var(--muted));
--color-muted-foreground: hsl(var(--muted-foreground));
--color-accent: hsl(var(--accent));
--color-accent-foreground: hsl(var(--accent-foreground));
--color-destructive: hsl(var(--destructive));
--color-destructive-foreground: hsl(var(--destructive-foreground));
--color-border: hsl(var(--border));
--color-input: hsl(var(--input));
--color-ring: hsl(var(--ring));
--color-success: hsl(var(--success));
--color-success-foreground: hsl(var(--success-foreground));
--color-warning: hsl(var(--warning));
--color-warning-foreground: hsl(var(--warning-foreground));
--color-chart-1: hsl(var(--chart-1));
--color-chart-2: hsl(var(--chart-2));
--color-chart-3: hsl(var(--chart-3));
--color-chart-4: hsl(var(--chart-4));
--color-chart-5: hsl(var(--chart-5));
--radius-sm: 0rem;
--radius-md: 0rem;
--radius-lg: 0rem;
--radius-xl: 0rem;
--radius-button: 0rem;
--radius-card: 0rem;
--radius-input: 0rem;
--radius-badge: 0rem;
--border-width: 1px;
--card-border-width: 1px;
--input-border-width: 1px;
--button-border-width: 0;
--badge-border-width: 1px;
--shadow-sm: 0 1px 0 rgba(13,35,24,0.06);
--shadow-md: 0 2px 8px rgba(13,35,24,0.08);
--shadow-lg: 0 4px 16px rgba(13,35,24,0.10);
--shadow-xl: 0 8px 32px rgba(13,35,24,0.12);
--tracking-tight: -0.01em;
--tracking-normal: 0.06em;
--ease-kit: cubic-bezier(0.4, 0, 0.2, 1);
--duration-kit: 150ms;
--duration-kit-slow: 350ms;
--gradient-hero: linear-gradient(180deg, #95c2fd 0%, #e7ff8f 100%);
--gradient-brand: linear-gradient(135deg, #31b06f 0%, #1c6741 100%);
--gradient-subtle: linear-gradient(180deg, #e7ff8f 0%, #c8e87a 100%);
--font-weight-heading: 800;
--font-weight-body: 400;
}Registry payload
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "chartreuse-cultural-grid",
"type": "registry:theme",
"title": "Chartreuse Cultural Grid",
"description": "A bold all-caps cultural-poster system with acid-chartreuse and sky-blue color surfaces, vivid green ink, and heavy condensed grotesque display type.",
"categories": [
"bold",
"all-caps",
"condensed",
"color-surface",
"editorial",
"cultural",
"poster-system",
"chartreuse"
],© 2026 Identity Forge. All rights reserved.
Munich, Germany