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 grid-disciplined system fusing a vivid signal blue, a warm paper cream, and deep ink navy into a confident, print-rooted look. It favors crisp type set in Archivo with tight negative letter-spacing, generous whitespace, and minimal flat depth. Headings carry poster-like impact while borders and color blocks handle separation instead of elevation, working in both light and dark modes for typography catalogs, editorial products, and studio sites.
creamblueswissgrid.com
Cream Blue Grid
Supporting copy goes here.
creamblueswissgrid.com
Cream Blue 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: "57ddef94-f00d-4cad-9bfa-bccad435ebee"
version: 0
slug: "cream-blue-swiss-grid"
name: "Cream Blue Swiss Grid"
colors:
roles_light:
background: "#FFFDF3"
foreground: "#142444"
card: "#FFFFFF"
card-foreground: "#142444"
popover: "#FFFFFF"
popover-foreground: "#142444"
primary: "#1B64D3"
primary-foreground: "#FFFFFF"
secondary: "#FEF3C3"
secondary-foreground: "#3A3208"
muted: "#EEE7D2"
muted-foreground: "#5A5640"
accent: "#BDD0DE"
accent-foreground: "#142444"
destructive: "#BA1A1A"
destructive-foreground: "#FFFFFF"
border: "#DCD5BE"
input: "#DCD5BE"
ring: "#1B64D3"
success: "#2F7D4F"
success-foreground: "#FFFFFF"
warning: "#C98A12"
warning-foreground: "#000000"
chart-1: "#1B64D3"
chart-2: "#DCC74D"
chart-3: "#142444"
chart-4: "#2F7D4F"
chart-5: "#A69C7C"
roles_dark:
background: "#11131C"Three ways from the same kit: run "npx identityforge@latest apply cream-blue-swiss-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/cream-blue-swiss-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.
Cream Blue Swiss Grid is free: its full color tokens, fonts, DESIGN.md, and every export are available at no cost.
Supporting copy goes here.
/*
* Cream Blue Swiss Grid — Identity Forge design kit.
* Kit id: 57ddef94-f00d-4cad-9bfa-bccad435ebee
* Kit slug: cream-blue-swiss-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=Archivo:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains%20Mono:wght@400;500;700&display=swap");
:root {
--radius: 0.375rem;
--font-heading: 'Archivo', sans-serif;
--font-sans: 'Inter', sans-serif;
--font-mono: 'JetBrains Mono', monospace;
--background: 50 100% 98%;
--foreground: 220 55% 17%;
--card: 0 0% 100%;
--card-foreground: 220 55% 17%;
--popover: 0 0% 100%;
--popover-foreground: 220 55% 17%;
--primary: 216 77% 47%;
--primary-foreground: 0 0% 100%;
--secondary: 49 97% 88%;
--secondary-foreground: 50 76% 13%;
--muted: 45 45% 88%;
--muted-foreground: 51 17% 30%;
--accent: 205 33% 81%;
--accent-foreground: 220 55% 17%;
--destructive: 0 75% 42%;
--destructive-foreground: 0 0% 100%;
--border: 46 30% 80%;
--input: 46 30% 80%;
--ring: 216 77% 47%;
--success: 145 45% 34%;
--success-foreground: 0 0% 100%;
--warning: 39 84% 43%;
--warning-foreground: 0 0% 0%;
--chart-1: 216 77% 47%;
--chart-2: 51 67% 58%;
--chart-3: 220 55% 17%;
--chart-4: 145 45% 34%;
--chart-5: 46 19% 57%;
--shadow-sm: 0 1px 0 0 rgba(20,36,68,0.08);
--shadow-md: 0 1px 2px 0 rgba(20,36,68,0.10);
--shadow-lg: 0 4px 8px -2px rgba(20,36,68,0.12);
--shadow-xl: 0 12px 24px -6px rgba(20,36,68,0.16);
--gradient-hero: linear-gradient(135deg,#1b64d3 0%,#142444 100%);
--gradient-brand: linear-gradient(90deg,#1b64d3 0%,#4f8ee8 100%);
--gradient-subtle: linear-gradient(180deg,#fffdf3 0%,#fef3c3 100%);
--duration: 180ms;
--duration-slow: 360ms;
--ease: cubic-bezier(0.4,0,0.2,1);
--tracking-tight: -0.03em;
--tracking-normal: 0em;
--font-weight-heading: 700;
--font-weight-body: 400;
--button-radius: 0.25rem;
--card-radius: 0.625rem;
--input-radius: 0.25rem;
--badge-radius: 0.25rem;
--border-width: 1px;Registry
/r/cream-blue-swiss-grid.jsonTailwind v4
/*
* Cream Blue Swiss Grid — Identity Forge design kit.
* Kit id: 57ddef94-f00d-4cad-9bfa-bccad435ebee
* Kit slug: cream-blue-swiss-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=Archivo:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains%20Mono:wght@400;500;700&display=swap");
:root {
--radius: 0.375rem;
--font-heading: 'Archivo', sans-serif;
--font-sans: 'Inter', sans-serif;
--font-mono: 'JetBrains Mono', monospace;
--background: 50 100% 98%;
--foreground: 220 55% 17%;
--card: 0 0% 100%;
--card-foreground: 220 55% 17%;
--popover: 0 0% 100%;
--popover-foreground: 220 55% 17%;
--primary: 216 77% 47%;
--primary-foreground: 0 0% 100%;
--secondary: 49 97% 88%;
--secondary-foreground: 50 76% 13%;
--muted: 45 45% 88%;
--muted-foreground: 51 17% 30%;
--accent: 205 33% 81%;
--accent-foreground: 220 55% 17%;
--destructive: 0 75% 42%;
--destructive-foreground: 0 0% 100%;
--border: 46 30% 80%;
--input: 46 30% 80%;
--ring: 216 77% 47%;
--success: 145 45% 34%;
--success-foreground: 0 0% 100%;
--warning: 39 84% 43%;
--warning-foreground: 0 0% 0%;
--chart-1: 216 77% 47%;
--chart-2: 51 67% 58%;
--chart-3: 220 55% 17%;
--chart-4: 145 45% 34%;
--chart-5: 46 19% 57%;
--shadow-sm: 0 1px 0 0 rgba(20,36,68,0.08);
--shadow-md: 0 1px 2px 0 rgba(20,36,68,0.10);
--shadow-lg: 0 4px 8px -2px rgba(20,36,68,0.12);
--shadow-xl: 0 12px 24px -6px rgba(20,36,68,0.16);
--gradient-hero: linear-gradient(135deg,#1b64d3 0%,#142444 100%);
--gradient-brand: linear-gradient(90deg,#1b64d3 0%,#4f8ee8 100%);
--gradient-subtle: linear-gradient(180deg,#fffdf3 0%,#fef3c3 100%);
--duration: 180ms;
--duration-slow: 360ms;
--ease: cubic-bezier(0.4,0,0.2,1);
--tracking-tight: -0.03em;
--tracking-normal: 0em;
--font-weight-heading: 700;
--font-weight-body: 400;
--button-radius: 0.25rem;
--card-radius: 0.625rem;
--input-radius: 0.25rem;
--badge-radius: 0.25rem;
--border-width: 1px;
--card-border-width: 1px;
--input-border-width: 1px;
--button-border-width: 1px;
--badge-border-width: 1px;
--heading-transform: none;
--label-transform: none;
--kit-id: "57ddef94-f00d-4cad-9bfa-bccad435ebee";
--kit-version: 0;
}
.dark {
--radius: 0.375rem;
--font-heading: 'Archivo', sans-serif;
--font-sans: 'Inter', sans-serif;
--font-mono: 'JetBrains Mono', monospace;
--background: 229 24% 9%;
--foreground: 49 38% 91%;
--card: 228 24% 12%;
--card-foreground: 49 38% 91%;
--popover: 228 24% 12%;
--popover-foreground: 49 38% 91%;
--primary: 215 77% 61%;
--primary-foreground: 218 55% 9%;
--secondary: 230 19% 25%;
--secondary-foreground: 39 23% 88%;
--muted: 227 19% 18%;
--muted-foreground: 53 13% 61%;
--accent: 211 28% 32%;
--accent-foreground: 207 40% 90%;
--destructive: 4 100% 64%;
--destructive-foreground: 357 100% 8%;
--border: 226 20% 22%;
--input: 226 20% 22%;
--ring: 215 77% 61%;
--success: 145 44% 56%;
--success-foreground: 141 68% 7%;
--warning: 40 73% 55%;
--warning-foreground: 40 100% 8%;
--chart-1: 215 77% 61%;
--chart-2: 51 67% 58%;
--chart-3: 205 33% 81%;
--chart-4: 145 44% 56%;
--chart-5: 46 19% 57%;
}
@theme inline {
--font-heading: 'Archivo', sans-serif;
--font-sans: 'Inter', sans-serif;
--font-mono: 'JetBrains 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: 0.125rem;
--radius-md: 0.25rem;
--radius-lg: 0.375rem;
--radius-xl: 0.625rem;
--radius-button: 0.25rem;
--radius-card: 0.625rem;
--radius-input: 0.25rem;
--radius-badge: 0.25rem;
--border-width: 1px;
--card-border-width: 1px;
--input-border-width: 1px;
--button-border-width: 1px;
--badge-border-width: 1px;
--shadow-sm: 0 1px 0 0 rgba(20,36,68,0.08);
--shadow-md: 0 1px 2px 0 rgba(20,36,68,0.10);
--shadow-lg: 0 4px 8px -2px rgba(20,36,68,0.12);
--shadow-xl: 0 12px 24px -6px rgba(20,36,68,0.16);
--tracking-tight: -0.03em;
--tracking-normal: 0em;
--ease-kit: cubic-bezier(0.4,0,0.2,1);
--duration-kit: 180ms;
--duration-kit-slow: 360ms;
--gradient-hero: linear-gradient(135deg,#1b64d3 0%,#142444 100%);
--gradient-brand: linear-gradient(90deg,#1b64d3 0%,#4f8ee8 100%);
--gradient-subtle: linear-gradient(180deg,#fffdf3 0%,#fef3c3 100%);
--font-weight-heading: 700;
--font-weight-body: 400;
}Registry payload
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "cream-blue-swiss-grid",
"type": "registry:theme",
"title": "Cream Blue Swiss Grid",
"description": "A bold Swiss-typographic kit pairing electric signal blue with warm cream and ink navy for editorial, type-forward interfaces.",
"categories": [
"swiss",
"editorial",
"typographic",
"minimal",
"blue",
"cream",
"grid",
"flat"
],© 2026 Identity Forge. All rights reserved.
Munich, Germany