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 bold two-surface athletic identity: a near-black (#0a0c0e) background fills the screen while electric mint green (#01c88f) serves as the literal text color across headings, body copy, and labels, not merely as an accent. The only secondary surface is a full-bleed mint-green band at the foot of the page that inverts the relationship to near-black ink on green. Interactive elements are universally pill-shaped, eyebrows are all-caps with em-dash separators, and Plus Jakarta Sans ExtraBold anchors a heavy display voice.
mintblackathletics.com
Mint Black
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: "bdb0d8da-172c-46b6-9350-4f2658174bb1"
version: 0
slug: "mint-black-athletics"
name: "Mint Black Athletics"
colors:
roles_light:
background: "#01C88F"
foreground: "#060A0A"
card: "#00B87E"
card-foreground: "#060A0A"
popover: "#00AC74"
popover-foreground: "#060A0A"
primary: "#060A0A"
primary-foreground: "#F0FDF8"
secondary: "#009D6B"
secondary-foreground: "#060A0A"
muted: "#00B07B"
muted-foreground: "#000000"
accent: "#056B4A"
accent-foreground: "#E8FDF4"
destructive: "#B91C1C"
destructive-foreground: "#FFFFFF"
border: "#00A06B"
input: "#00B07B"
ring: "#060A0A"
success: "#064E35"
success-foreground: "#ECFDF5"
warning: "#92400E"
warning-foreground: "#FEF3C7"
chart-1: "#060A0A"
chart-2: "#1E3A5F"
chart-3: "#6B3049"
chart-4: "#3D536B"
chart-5: "#443260"
roles_dark:
background: "#0A0C0E"Three ways from the same kit: run "npx identityforge@latest apply mint-black-athletics" 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/mint-black-athletics.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.
Mint Black Athletics is free: its full color tokens, fonts, DESIGN.md, and every export are available at no cost.
Supporting copy goes here.
/*
* Mint Black Athletics — Identity Forge design kit.
* Kit id: bdb0d8da-172c-46b6-9350-4f2658174bb1
* Kit slug: mint-black-athletics (a mutable alias; the id is the durable handle)
* Kit version: 0 (no version minted yet)
*/
@import url("https://fonts.googleapis.com/css2?family=Plus%20Jakarta%20Sans:wght@400;500;600;700&family=Space%20Mono:wght@400;700&display=swap");
:root {
--radius: 0.75rem;
--font-heading: 'Plus Jakarta Sans', sans-serif;
--font-sans: 'Plus Jakarta Sans', sans-serif;
--font-mono: 'Space Mono', monospace;
--background: 163 99% 39%;
--foreground: 180 25% 3%;
--card: 161 100% 36%;
--card-foreground: 180 25% 3%;
--popover: 160 100% 34%;
--popover-foreground: 180 25% 3%;
--primary: 180 25% 3%;
--primary-foreground: 157 76% 97%;
--secondary: 161 100% 31%;
--secondary-foreground: 180 25% 3%;
--muted: 162 100% 35%;
--muted-foreground: 0 0% 0%;
--accent: 161 91% 22%;
--accent-foreground: 154 84% 95%;
--destructive: 0 74% 42%;
--destructive-foreground: 0 0% 100%;
--border: 160 100% 31%;
--input: 162 100% 35%;
--ring: 180 25% 3%;
--success: 159 86% 16%;
--success-foreground: 152 81% 96%;
--warning: 23 83% 31%;
--warning-foreground: 48 96% 89%;
--chart-1: 180 25% 3%;
--chart-2: 214 52% 25%;
--chart-3: 335 38% 30%;
--chart-4: 211 27% 33%;
--chart-5: 263 32% 29%;
--shadow-sm: 0 1px 2px rgba(0,0,0,0.5);
--shadow-md: 0 4px 16px rgba(0,0,0,0.7);
--shadow-lg: 0 8px 32px rgba(0,0,0,0.85);
--shadow-xl: 0 20px 60px rgba(0,0,0,0.95);
--gradient-hero: linear-gradient(180deg, #0a0c0e 0%, #0b1410 60%, #0a0c0e 100%);
--gradient-brand: linear-gradient(135deg, #01c88f 0%, #11d49f 100%);
--gradient-subtle: linear-gradient(180deg, #0f1512 0%, #0a0c0e 100%);
--duration: 200ms;
--duration-slow: 400ms;
--ease: cubic-bezier(0.25, 0, 0, 1);
--tracking-tight: -0.02em;
--tracking-normal: 0em;
--font-weight-heading: 800;
--font-weight-body: 500;
--button-radius: 9999px;
--card-radius: 0.5rem;
--input-radius: 9999px;
--badge-radius: 9999px;
--border-width: 1px;Registry
/r/mint-black-athletics.jsonTailwind v4
/*
* Mint Black Athletics — Identity Forge design kit.
* Kit id: bdb0d8da-172c-46b6-9350-4f2658174bb1
* Kit slug: mint-black-athletics (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=Plus%20Jakarta%20Sans:wght@400;500;600;700&family=Space%20Mono:wght@400;700&display=swap");
:root {
--radius: 0.75rem;
--font-heading: 'Plus Jakarta Sans', sans-serif;
--font-sans: 'Plus Jakarta Sans', sans-serif;
--font-mono: 'Space Mono', monospace;
--background: 163 99% 39%;
--foreground: 180 25% 3%;
--card: 161 100% 36%;
--card-foreground: 180 25% 3%;
--popover: 160 100% 34%;
--popover-foreground: 180 25% 3%;
--primary: 180 25% 3%;
--primary-foreground: 157 76% 97%;
--secondary: 161 100% 31%;
--secondary-foreground: 180 25% 3%;
--muted: 162 100% 35%;
--muted-foreground: 0 0% 0%;
--accent: 161 91% 22%;
--accent-foreground: 154 84% 95%;
--destructive: 0 74% 42%;
--destructive-foreground: 0 0% 100%;
--border: 160 100% 31%;
--input: 162 100% 35%;
--ring: 180 25% 3%;
--success: 159 86% 16%;
--success-foreground: 152 81% 96%;
--warning: 23 83% 31%;
--warning-foreground: 48 96% 89%;
--chart-1: 180 25% 3%;
--chart-2: 214 52% 25%;
--chart-3: 335 38% 30%;
--chart-4: 211 27% 33%;
--chart-5: 263 32% 29%;
--shadow-sm: 0 1px 2px rgba(0,0,0,0.5);
--shadow-md: 0 4px 16px rgba(0,0,0,0.7);
--shadow-lg: 0 8px 32px rgba(0,0,0,0.85);
--shadow-xl: 0 20px 60px rgba(0,0,0,0.95);
--gradient-hero: linear-gradient(180deg, #0a0c0e 0%, #0b1410 60%, #0a0c0e 100%);
--gradient-brand: linear-gradient(135deg, #01c88f 0%, #11d49f 100%);
--gradient-subtle: linear-gradient(180deg, #0f1512 0%, #0a0c0e 100%);
--duration: 200ms;
--duration-slow: 400ms;
--ease: cubic-bezier(0.25, 0, 0, 1);
--tracking-tight: -0.02em;
--tracking-normal: 0em;
--font-weight-heading: 800;
--font-weight-body: 500;
--button-radius: 9999px;
--card-radius: 0.5rem;
--input-radius: 9999px;
--badge-radius: 9999px;
--border-width: 1px;
--card-border-width: 1px;
--input-border-width: 1px;
--button-border-width: 1px;
--badge-border-width: 1px;
--heading-transform: none;
--label-transform: uppercase;
--kit-id: "bdb0d8da-172c-46b6-9350-4f2658174bb1";
--kit-version: 0;
}
.dark {
--radius: 0.75rem;
--font-heading: 'Plus Jakarta Sans', sans-serif;
--font-sans: 'Plus Jakarta Sans', sans-serif;
--font-mono: 'Space Mono', monospace;
--background: 210 17% 5%;
--foreground: 163 99% 39%;
--card: 150 17% 7%;
--card-foreground: 163 99% 39%;
--popover: 146 21% 6%;
--popover-foreground: 163 99% 39%;
--primary: 163 99% 39%;
--primary-foreground: 180 25% 3%;
--secondary: 145 23% 10%;
--secondary-foreground: 163 99% 39%;
--muted: 153 26% 7%;
--muted-foreground: 156 44% 52%;
--accent: 164 85% 45%;
--accent-foreground: 180 25% 3%;
--destructive: 0 74% 42%;
--destructive-foreground: 0 0% 100%;
--border: 148 28% 13%;
--input: 144 24% 8%;
--ring: 163 99% 39%;
--success: 163 99% 39%;
--success-foreground: 180 25% 3%;
--warning: 38 92% 50%;
--warning-foreground: 210 17% 5%;
--chart-1: 163 99% 39%;
--chart-2: 164 85% 45%;
--chart-3: 181 38% 69%;
--chart-4: 350 40% 37%;
--chart-5: 210 45% 81%;
}
@theme inline {
--font-heading: 'Plus Jakarta Sans', sans-serif;
--font-sans: 'Plus Jakarta Sans', 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: 0.25rem;
--radius-md: 0.5rem;
--radius-lg: 0.75rem;
--radius-xl: 1rem;
--radius-button: 9999px;
--radius-card: 0.5rem;
--radius-input: 9999px;
--radius-badge: 9999px;
--border-width: 1px;
--card-border-width: 1px;
--input-border-width: 1px;
--button-border-width: 1px;
--badge-border-width: 1px;
--shadow-sm: 0 1px 2px rgba(0,0,0,0.5);
--shadow-md: 0 4px 16px rgba(0,0,0,0.7);
--shadow-lg: 0 8px 32px rgba(0,0,0,0.85);
--shadow-xl: 0 20px 60px rgba(0,0,0,0.95);
--tracking-tight: -0.02em;
--tracking-normal: 0em;
--ease-kit: cubic-bezier(0.25, 0, 0, 1);
--duration-kit: 200ms;
--duration-kit-slow: 400ms;
--gradient-hero: linear-gradient(180deg, #0a0c0e 0%, #0b1410 60%, #0a0c0e 100%);
--gradient-brand: linear-gradient(135deg, #01c88f 0%, #11d49f 100%);
--gradient-subtle: linear-gradient(180deg, #0f1512 0%, #0a0c0e 100%);
--font-weight-heading: 800;
--font-weight-body: 500;
}Registry payload
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "mint-black-athletics",
"type": "registry:theme",
"title": "Mint Black Athletics",
"description": "A high-impact dark athletic kit where near-black is the pervasive canvas and electric mint green is the primary ink for headings and body copy alike, with a single inverted mint footer band.",
"categories": [
"dark",
"athletic",
"mint",
"bold",
"flat",
"performance",
"editorial",
"dtc"
],© 2026 Identity Forge. All rights reserved.
Munich, Germany