back to gallery
design language·sprocket

Sprocket

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.

the spec

specification

philosophy
summary
Sprocket threads live operations through a film projector: every metric is a frame on a sprocket-perforated strip, captioned where it sits and advanced on one shared mechanism, so an operator reads a control room like a screening rather than a scoreboard. A warm bone-parchment daylight ground (a printed cinema programme, not a dark room), deep oxblood ink, and one electric amber that reads like the projector beam.
values
editorial pacing before decorative futurismdata sequenced on one reel and captioned in place, not stacked as identical tileswarm daylight atmosphere with accessibility-aware contrastcinematic worldbuilding through measured typographic restraint, not neon
anti-values
×arcade neon overload without information structure×generic dashboard cards with a palette pasted on top×dark control-room cliche; the daylight bone ground is the identity×skeuomorphic cockpit clutter that defeats reading flow
tokens
colors16 items
primary
#7A1B22
secondary
#E8761A
accent
#E8761A
background
#F4EFE6
surface
#FBF8F2
text
#1A1410
muted
#6E5F52
border
#D8CDBC
error
#B23A2E
success
#2F7D52
warning
#B5781A
info
#345C8A
strip
#231012
strip_ink
#F2E4D0
amber_soft
#F6B16A
on_accent
#231012
typography10 items
heading font
Fraunces
body font
Inter Tight
mono font
Space Mono
base size
17px
scale ratio
1.25
line height
1.55
letter spacing
-0.005em
heading weight
700
heading transform
none
google fonts url
https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500;1,9..144,600&family=Inter+Tight:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64
radii5 items
none
0
sm
0
md
0
lg
0
full
9999px
shadows3 items
sm
0 1px 0 rgba(122,27,34,.06), 0 8px 20px rgba(35,16,18,.07)
md
0 1px 0 rgba(122,27,34,.07), 0 14px 36px rgba(35,16,18,.10)
lg
0 1px 0 rgba(122,27,34,.10), 0 24px 60px rgba(35,16,18,.14)
surfaces3 items
treatment
scanline
card style
Lit film cells on a warm bone ground, mounted on a dark sprocket-perforated leader band; an oxblood corner registration tick replaces any border; glow and scanlines stay faint overlays, never glassy.
bg pattern
instrument-grid
borders4 items
default width
1px
accent width
2px
style
solid
character
No boxed borders: structure comes from the dark film-leader band, hairline rules, generous space, and oxblood corner registration ticks; never a heavy or single-accent card edge.
motion3 items
duration
240ms
easing
cubic-bezier(0.2,0.8,0.2,1)
philosophy
deliberate; the settled state is the no-JS default, reveals layered on top via a .js-gated start-state, fully disabled under prefers-reduced-motion
rules
composition
Build pages as a film reel: a dominant captioned strip of cells sequenced left to right on a sprocket-perforated leader, framed by perforation rails at the margins, with a literary serif lede setting the scene above.
hierarchy
Lead with an optical Fraunces serif headline, descend into Inter Tight summaries, Space Mono cues and tabular figures, and caption-scale annotations so information feels authored and sequenced rather than dumped.
density
High density controlled by the reel: every cluster of figures is a captioned cell with whitespace and mono labels, advanced on one shared sprocket that preserves reading order.
signature
Data rides a horizontal sprocket-perforated film strip of registration-ticked cells; charts sit over an instrument-grid and scanline scaffold with an amber playhead; controls reveal through ink fill and a measured amber ring, never soft fills.
layout
grid
A 12-column desktop grid with a dominant horizontal reel and asymmetric supporting spans; a two-column tablet reduction; a single-column mobile stack that keeps the leader band and corner ticks wherever possible.
whitespace

Deliberate and editorial: generous outer margins, compact internal cell padding, and larger inter-section gaps that pace the page like reels.

density

dense

responsive
Renders from ~390px mobile to 2560px+ ultra-wide; mobile stacks to one column, hides non-essential nav links and table columns, and drops the side perforation rails; the full-bleed hero spans 100vw while contained content caps and centres.
breakpoints
mobile
390px
tablet
768px
desktop
1440px
ultrawide
1700px
guidance
do
  • Pair the serif narration with the mono cue track so figures never lose context.
  • Mount data as captioned cells on the reel; caption where it happens.
  • Keep the amber a single projector-beam signal; let the dark leader and space do the separating.
avoid
  • Do not drift to a dark control-room ground; the daylight bone is the identity.
  • Do not box cells in borders or stack identical tiles; the reel sequences them.
  • Do not use neon or more than the three accents, or round the square frames.
imagery
pairs with

scanline-bureau

summary
Instrumented telemetry captures rendered on a warm bone-parchment daylight ground rather than dark — projection-booth subjects (projectors, reels, the gate) dressed with a faint instrument grid, scanline texture, and a single electric amber halation as the projector beam.
subjects
film projector and mounted reelthe gate and sprocket mechanisma contact sheet / light table of framesa projection beam in a daylit booth
usage
One full-bleed landing hero composed wide with the projector body left-of-centre and the amber beam exiting the right edge, leaving a darker left zone for the overlay headline; keep the subject full-frame so the instrument grid reads as an overlay, not surrounding apparatus.
katagami spec
# Sprocket

## Philosophy

Sprocket threads live operations through a film projector: every metric is a frame on a sprocket-perforated strip, captioned where it sits and advanced on one shared mechanism, so an operator reads a control room like a screening rather than a scoreboard. A warm bone-parchment daylight ground (a printed cinema programme, not a dark room), deep oxblood ink, and one electric amber that reads like the projector beam.

### Values

- editorial pacing before decorative futurism
- data sequenced on one reel and captioned in place, not stacked as identical tiles
- warm daylight atmosphere with accessibility-aware contrast
- cinematic worldbuilding through measured typographic restraint, not neon

### Anti-Values

- arcade neon overload without information structure
- generic dashboard cards with a palette pasted on top
- dark control-room cliche; the daylight bone ground is the identity
- skeuomorphic cockpit clutter that defeats reading flow

### Visual Character

- A warm bone-parchment field carries a dark sprocket-perforated film-leader band as its spine; metrics ride that reel as captioned cells, sequenced left to right like film rather than floating as isolated cards.
- Perforation rails run down the left and right margins, framing the page as film stock; the landing hero is a full-bleed projector with an amber halation beam and the same film edges.
- Every focal cell carries an oxblood corner crosshair registration tick instead of a boxed border, reading as a frame mounted on a light table.
- An optical Fraunces serif narrates, a tight Inter Tight grotesk runs operations, and a tabular Space Mono types the cues, timestamps, and indexes — three voices on one strip.
- Charts and timelines sit over a faint instrument-grid and scanline scaffold with an amber playhead and crosshair registration, so data reads instrumented without sci-fi chrome.
- Controls reveal through ink fill, hairline brightening, and a single measured amber ring; the amber is one signal, used like the projector beam, never a flood.

## Tokens

### Colors

| Name | Value |
|------|-------|
| primary | `#7A1B22` |
| secondary | `#E8761A` |
| accent | `#E8761A` |
| background | `#F4EFE6` |
| surface | `#FBF8F2` |
| text | `#1A1410` |
| muted | `#6E5F52` |
| border | `#D8CDBC` |
| error | `#B23A2E` |
| success | `#2F7D52` |
| warning | `#B5781A` |
| info | `#345C8A` |
| strip | `#231012` |
| strip_ink | `#F2E4D0` |
| amber_soft | `#F6B16A` |
| on_accent | `#231012` |

### Typography

- **Heading Font**: Fraunces
- **Body Font**: Inter Tight
- **Mono Font**: Space Mono
- **Base Size**: 17px
- **Scale Ratio**: 1.25
- **Line Height**: 1.55
- **Letter Spacing**: -0.005em
- **Heading Weight**: 700
- **Heading Transform**: none
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500;1,9..144,600&family=Inter+Tight:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap

### Spacing

- **Base**: 8px
- **Scale**: [4,8,12,16,24,32,48,64]

### Radii

- **None**: 0
- **Sm**: 0
- **Md**: 0
- **Lg**: 0
- **Full**: 9999px

### Shadows

- **Sm**: 0 1px 0 rgba(122,27,34,.06), 0 8px 20px rgba(35,16,18,.07)
- **Md**: 0 1px 0 rgba(122,27,34,.07), 0 14px 36px rgba(35,16,18,.10)
- **Lg**: 0 1px 0 rgba(122,27,34,.10), 0 24px 60px rgba(35,16,18,.14)

### Surfaces

- **Treatment**: scanline
- **Card Style**: Lit film cells on a warm bone ground, mounted on a dark sprocket-perforated leader band; an oxblood corner registration tick replaces any border; glow and scanlines stay faint overlays, never glassy.
- **Bg Pattern**: instrument-grid

### Borders

- **Default Width**: 1px
- **Accent Width**: 2px
- **Style**: solid
- **Character**: No boxed borders: structure comes from the dark film-leader band, hairline rules, generous space, and oxblood corner registration ticks; never a heavy or single-accent card edge.

### Motion

- **Duration**: 240ms
- **Easing**: cubic-bezier(0.2,0.8,0.2,1)
- **Philosophy**: deliberate; the settled state is the no-JS default, reveals layered on top via a .js-gated start-state, fully disabled under prefers-reduced-motion

## Rules

### Composition

Build pages as a film reel: a dominant captioned strip of cells sequenced left to right on a sprocket-perforated leader, framed by perforation rails at the margins, with a literary serif lede setting the scene above.

### Hierarchy

Lead with an optical Fraunces serif headline, descend into Inter Tight summaries, Space Mono cues and tabular figures, and caption-scale annotations so information feels authored and sequenced rather than dumped.

### Density

High density controlled by the reel: every cluster of figures is a captioned cell with whitespace and mono labels, advanced on one shared sprocket that preserves reading order.

### Signature

Data rides a horizontal sprocket-perforated film strip of registration-ticked cells; charts sit over an instrument-grid and scanline scaffold with an amber playhead; controls reveal through ink fill and a measured amber ring, never soft fills.

## Layout

### Grid

A 12-column desktop grid with a dominant horizontal reel and asymmetric supporting spans; a two-column tablet reduction; a single-column mobile stack that keeps the leader band and corner ticks wherever possible.

### Whitespace

Deliberate and editorial: generous outer margins, compact internal cell padding, and larger inter-section gaps that pace the page like reels.

### Density

dense

### Responsive

Renders from ~390px mobile to 2560px+ ultra-wide; mobile stacks to one column, hides non-essential nav links and table columns, and drops the side perforation rails; the full-bleed hero spans 100vw while contained content caps and centres.

### Breakpoints

- **Mobile**: 390px
- **Tablet**: 768px
- **Desktop**: 1440px
- **Ultrawide**: 1700px

## Guidance

### Do

- Pair the serif narration with the mono cue track so figures never lose context.
- Mount data as captioned cells on the reel; caption where it happens.
- Keep the amber a single projector-beam signal; let the dark leader and space do the separating.

### Don't

- Do not drift to a dark control-room ground; the daylight bone is the identity.
- Do not box cells in borders or stack identical tiles; the reel sequences them.
- Do not use neon or more than the three accents, or round the square frames.

### Accessibility

Body 17px+, table rows 14.5px+; ink on bone and strip-ink on leader both clear AA. The hero overlay uses a directional ink veil, not a lazy scrim, to keep the headline legible. Status uses labelled chips (colour AND text). Motion respects prefers-reduced-motion; the settled page renders with no JavaScript.

## Imagery Direction

### Pairs With

scanline-bureau

### Summary

Instrumented telemetry captures rendered on a warm bone-parchment daylight ground rather than dark — projection-booth subjects (projectors, reels, the gate) dressed with a faint instrument grid, scanline texture, and a single electric amber halation as the projector beam.

### Subjects

- film projector and mounted reel
- the gate and sprocket mechanism
- a contact sheet / light table of frames
- a projection beam in a daylit booth

### Usage

One full-bleed landing hero composed wide with the projector body left-of-centre and the amber beam exiting the right edge, leaving a darker left zone for the overlay headline; keep the subject full-frame so the instrument grid reads as an overlay, not surrounding apparatus.
DESIGN.md
---
version: "alpha"
name: "Sprocket"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  primary: "#7A1B22"
  secondary: "#E8761A"
  accent: "#E8761A"
  background: "#F4EFE6"
  surface: "#FBF8F2"
  text: "#1A1410"
  muted: "#6E5F52"
  border: "#D8CDBC"
  error: "#B23A2E"
  success: "#2F7D52"
  warning: "#B5781A"
  info: "#345C8A"
  strip: "#231012"
  strip_ink: "#F2E4D0"
  amber_soft: "#F6B16A"
  on_accent: "#231012"
typography:
  headline-lg:
    fontFamily: "Fraunces"
    fontSize: "2.075rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.005em"
  headline-md:
    fontFamily: "Fraunces"
    fontSize: "1.66rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.005em"
  body-md:
    fontFamily: "Inter Tight"
    fontSize: "17px"
    fontWeight: 400
    lineHeight: 1.55
    letterSpacing: "-0.005em"
  label-md:
    fontFamily: "Space Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  none: "0px"
  sm: "0px"
  md: "0px"
  lg: "0px"
  full: "9999px"
spacing:
  base: "8px"
  xs: "4px"
  sm: "8px"
  md: "12px"
  lg: "16px"
  xl: "24px"
  2xl: "32px"
  3xl: "48px"
  4xl: "64px"
components:
  color-reference-primary:
    backgroundColor: "{colors.primary}"
  color-reference-secondary:
    backgroundColor: "{colors.secondary}"
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-background:
    backgroundColor: "{colors.background}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-border:
    backgroundColor: "{colors.border}"
  color-reference-error:
    backgroundColor: "{colors.error}"
  color-reference-success:
    backgroundColor: "{colors.success}"
  color-reference-warning:
    backgroundColor: "{colors.warning}"
  color-reference-info:
    backgroundColor: "{colors.info}"
  color-reference-strip:
    backgroundColor: "{colors.strip}"
  color-reference-strip_ink:
    backgroundColor: "{colors.strip_ink}"
  color-reference-amber_soft:
    backgroundColor: "{colors.amber_soft}"
  color-reference-on_accent:
    backgroundColor: "{colors.on_accent}"
  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"
---

# Sprocket

## Overview

Sprocket threads live operations through a film projector: every metric is a frame on a sprocket-perforated strip, captioned where it sits and advanced on one shared mechanism, so an operator reads a control room like a screening rather than a scoreboard. A warm bone-parchment daylight ground (a printed cinema programme, not a dark room), deep oxblood ink, and one electric amber that reads like the projector beam.

### Values

- editorial pacing before decorative futurism
- data sequenced on one reel and captioned in place, not stacked as identical tiles
- warm daylight atmosphere with accessibility-aware contrast
- cinematic worldbuilding through measured typographic restraint, not neon

### Anti-Values

- arcade neon overload without information structure
- generic dashboard cards with a palette pasted on top
- dark control-room cliche; the daylight bone ground is the identity
- skeuomorphic cockpit clutter that defeats reading flow

### Visual Character

- A warm bone-parchment field carries a dark sprocket-perforated film-leader band as its spine; metrics ride that reel as captioned cells, sequenced left to right like film rather than floating as isolated cards.
- Perforation rails run down the left and right margins, framing the page as film stock; the landing hero is a full-bleed projector with an amber halation beam and the same film edges.
- Every focal cell carries an oxblood corner crosshair registration tick instead of a boxed border, reading as a frame mounted on a light table.
- An optical Fraunces serif narrates, a tight Inter Tight grotesk runs operations, and a tabular Space Mono types the cues, timestamps, and indexes — three voices on one strip.
- Charts and timelines sit over a faint instrument-grid and scanline scaffold with an amber playhead and crosshair registration, so data reads instrumented without sci-fi chrome.
- Controls reveal through ink fill, hairline brightening, and a single measured amber ring; the amber is one signal, used like the projector beam, never a flood.

## Colors

Use the YAML color tokens as the normative palette. The prose below names the roles agents should preserve when generating UI.

| Token | Value |
|-------|-------|
| primary | `#7A1B22` |
| secondary | `#E8761A` |
| accent | `#E8761A` |
| background | `#F4EFE6` |
| surface | `#FBF8F2` |
| text | `#1A1410` |
| muted | `#6E5F52` |
| border | `#D8CDBC` |
| error | `#B23A2E` |
| success | `#2F7D52` |
| warning | `#B5781A` |
| info | `#345C8A` |
| strip | `#231012` |
| strip_ink | `#F2E4D0` |
| amber_soft | `#F6B16A` |
| on_accent | `#231012` |

## Typography

- **Headline-Lg**: Fraunces, 2.075rem, weight 700, line-height 1.1.
- **Headline-Md**: Fraunces, 1.66rem, weight 600, line-height 1.15.
- **Body-Md**: Inter Tight, 17px, weight 400, line-height 1.55.
- **Label-Md**: Space 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`

### Grid

A 12-column desktop grid with a dominant horizontal reel and asymmetric supporting spans; a two-column tablet reduction; a single-column mobile stack that keeps the leader band and corner ticks wherever possible.

### Whitespace

Deliberate and editorial: generous outer margins, compact internal cell padding, and larger inter-section gaps that pace the page like reels.

### Density

dense

### Responsive

Renders from ~390px mobile to 2560px+ ultra-wide; mobile stacks to one column, hides non-essential nav links and table columns, and drops the side perforation rails; the full-bleed hero spans 100vw while contained content caps and centres.

### Breakpoints

- **Mobile**: 390px
- **Tablet**: 768px
- **Desktop**: 1440px
- **Ultrawide**: 1700px

## Elevation & Depth

### Shadows

- **Sm**: 0 1px 0 rgba(122,27,34,.06), 0 8px 20px rgba(35,16,18,.07)
- **Md**: 0 1px 0 rgba(122,27,34,.07), 0 14px 36px rgba(35,16,18,.10)
- **Lg**: 0 1px 0 rgba(122,27,34,.10), 0 24px 60px rgba(35,16,18,.14)

## Shapes

### Rounded

- **None**: `0px`
- **Sm**: `0px`
- **Md**: `0px`
- **Lg**: `0px`
- **Full**: `9999px`

### Surfaces

- **Treatment**: scanline
- **Card Style**: Lit film cells on a warm bone ground, mounted on a dark sprocket-perforated leader band; an oxblood corner registration tick replaces any border; glow and scanlines stay faint overlays, never glassy.
- **Bg Pattern**: instrument-grid

### Borders

- **Default Width**: 1px
- **Accent Width**: 2px
- **Style**: solid
- **Character**: No boxed borders: structure comes from the dark film-leader band, hairline rules, generous space, and oxblood corner registration ticks; never a heavy or single-accent card edge.

## Components

### Composition

Build pages as a film reel: a dominant captioned strip of cells sequenced left to right on a sprocket-perforated leader, framed by perforation rails at the margins, with a literary serif lede setting the scene above.

### Hierarchy

Lead with an optical Fraunces serif headline, descend into Inter Tight summaries, Space Mono cues and tabular figures, and caption-scale annotations so information feels authored and sequenced rather than dumped.

### Density

High density controlled by the reel: every cluster of figures is a captioned cell with whitespace and mono labels, advanced on one shared sprocket that preserves reading order.

### Signature

Data rides a horizontal sprocket-perforated film strip of registration-ticked cells; charts sit over an instrument-grid and scanline scaffold with an amber playhead; controls reveal through ink fill and a measured amber ring, never soft fills.

## 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-019ef8a5-edcc-7773-9eb9-8c37c3c64da0/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 Pair the serif narration with the mono cue track so figures never lose context.
- Do Mount data as captioned cells on the reel; caption where it happens.
- Do Keep the amber a single projector-beam signal; let the dark leader and space do the separating.
- Don't Do not drift to a dark control-room ground; the daylight bone is the identity.
- Don't Do not box cells in borders or stack identical tiles; the reel sequences them.
- Don't Do not use neon or more than the three accents, or round the square frames.

### Accessibility

Body 17px+, table rows 14.5px+; ink on bone and strip-ink on leader both clear AA. The hero overlay uses a directional ink veil, not a lazy scrim, to keep the headline legible. Status uses labelled chips (colour AND text). Motion respects prefers-reduced-motion; the settled page renders with no JavaScript.

## Imagery Direction

### Pairs With

scanline-bureau

### Summary

Instrumented telemetry captures rendered on a warm bone-parchment daylight ground rather than dark — projection-booth subjects (projectors, reels, the gate) dressed with a faint instrument grid, scanline texture, and a single electric amber halation as the projector beam.

### Subjects

- film projector and mounted reel
- the gate and sprocket mechanism
- a contact sheet / light table of frames
- a projection beam in a daylit booth

### Usage

One full-bleed landing hero composed wide with the projector body left-of-centre and the amber beam exiting the right edge, leaving a darker left zone for the overlay headline; keep the subject full-frame so the instrument grid reads as an overlay, not surrounding apparatus.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "sprocket",
  "type": "registry:theme",
  "title": "Sprocket shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F4EFE6",
      "foreground": "#1A1410",
      "card": "#FBF8F2",
      "card-foreground": "#1A1410",
      "popover": "#FBF8F2",
      "popover-foreground": "#1A1410",
      "primary": "#7A1B22",
      "primary-foreground": "#ffffff",
      "secondary": "#E8761A",
      "secondary-foreground": "#ffffff",
      "muted": "#6E5F52",
      "muted-foreground": "#1A1410",
      "accent": "#E8761A",
      "accent-foreground": "#ffffff",
      "destructive": "#B23A2E",
      "border": "#D8CDBC",
      "input": "#D8CDBC",
      "ring": "#E8761A",
      "chart-1": "#7A1B22",
      "chart-2": "#E8761A",
      "chart-3": "#E8761A",
      "chart-4": "#2F7D52",
      "chart-5": "#B5781A",
      "sidebar": "#FBF8F2",
      "sidebar-foreground": "#1A1410",
      "sidebar-primary": "#7A1B22",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#345C8A",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#D8CDBC",
      "sidebar-ring": "#E8761A",
      "radius": "0"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#7A1B22",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#E8761A",
      "accent-foreground": "#ffffff",
      "destructive": "#B23A2E",
      "border": "#303642",
      "input": "#303642",
      "ring": "#E8761A",
      "chart-1": "#7A1B22",
      "chart-2": "#E8761A",
      "chart-3": "#E8761A",
      "chart-4": "#2F7D52",
      "chart-5": "#B5781A",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#7A1B22",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#E8761A",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#E8761A",
      "radius": "0"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ef8a5-edcc-7773-9eb9-8c37c3c64da0",
    "slug": "sprocket",
    "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": {
      "colors": [
        "accent",
        "amber_soft",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "on_accent",
        "primary",
        "secondary",
        "strip",
        "strip_ink",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "heading_transform",
        "heading_weight",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ]
    }
  }
}
```
in the wild

embodiments

bespoke marketing landingopen full page ↗
landing · sprocket
DESIGN.md

at a glance

Typography

headline-lgFraunces · 33px · 700

The quick brown fox jumps

headline-mdFraunces · 27px · 600

The quick brown fox jumps

body-mdInter Tight · 17px · 400

The quick brown fox jumps

label-mdSpace Mono · 12px · 600

The quick brown fox jumps

shadcn/ui

implementation kit

built with

Agent-generated

remix lane

try a remix

Keep Sprocketand swap a palette and an art style onto it — the landing & dashboard recolor live. The Studio does the same with all three lanes free.

UI language · fixed
Sprocket
Palette
Art style
Landing Page
live preview · recolored + filled
lineage

Family

Evolved from
related

More like this