back to gallery
design language·hardpress

Hardpress

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
Hardpress is the refined neo-brutalist poster interface: every surface is a hand-pulled plate, outlined in keyline black, filled flat with one loud spot ink, and pinned to a warm paper ground with a hard zero-blur offset shadow slightly off the register. It keeps the source's exposed construction and acid-bright colour while bringing it up to standard with a maker's-mark name, a breathing layout, a full-viewport image hero, and a no-JS settled render. Nothing floats, nothing fades; the user always knows what is grab-able because every element declares itself with graphic force.
values
Structural honesty through visible keylines, dividers, and offset shadows instead of hidden chrome.Confrontational clarity where actions are obvious before the user reads supporting copy.Graphic energy built from poster-scale type, flat spot inks, and deliberate misregistration.A settled, fully-rendered page first; motion is added on top, never required to read it.
anti-values
×Soft luxury minimalism with dissolved boundaries.×Glass, blur, gradient, and translucency polish.×Understated controls that disappear into a neutral white layout.×Muddied or pastel washes that drain the inks of their voice.
tokens
colors14 items
bg
#FFF7E8
surface
#FFFFFF
surface_2
#FBEFD7
text
#141210
muted
#5C5346
border
#141210
accent
#FFD400
accent_2
#FF4F8B
accent_3
#1769FF
on_accent
#141210
success
#16A34A
warning
#F59E0B
error
#FF5A36
info
#1769FF
typography10 items
base size
17px
body font
Space Grotesk
heading font
Archivo Black
mono font
IBM Plex Mono
heading weight
400
heading transform
uppercase
letter spacing
-0.02em
scale ratio
1.25
line height
1.5
google fonts url
https://fonts.googleapis.com/css2?family=Archivo+Black&family=IBM+Plex+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap
radii2 items
none
0px
tag
9999px
shadows3 items
sm
3px 3px 0 0 #141210
md
6px 6px 0 0 #141210
lg
9px 9px 0 0 #141210
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
treatment
screenprint
card style
flat ink slabs and white plates with hard zero-blur offset shadows
bg pattern
ruled-grid
borders4 items
default width
3px
accent width
4px
style
solid
character
hard keyline-black outlines on every interactive and structural surface
motion3 items
duration
150ms
easing
cubic-bezier(0.15,0.85,0.3,1)
philosophy
snappy, physical, plate-press
rules
composition
Poster-like modules on an honest grid: one oversized hero plate, blunt utility plates, and sticker elements that cross container edges. Cards never nest; navigation breathes as part of the page rather than a floating pill bar.
hierarchy
Order comes from scale, keyline weight, and ink fill. The primary action takes the dominant ink and the largest shadow; supporting surfaces reset to white or paper with the same outline language.
density

Moderately dense but never cramped; many plates coexist while each keeps visible padding and margin so it reads as its own printed tile.

signature
Every meaningful surface is a pulled plate (3-4px keyline + zero-blur offset shadow); pressed controls slam down and collapse the shadow; tape-tags carry tracked mono micro-labels; one rotated sticker pins each hero; colour is flat slabs, one dominant ink per region; the printer's registration crosshair is the through-line mark.
layout
grid
Desktop uses an uneven poster grid with broad hero spans and narrow utility plates; tablet collapses toward two-up; mobile stacks to one loud column with occasional two-up metric rows.
whitespace
16-24px gaps between neighbouring plates, 32px around hero blocks, generous outer margins and always padding above titles so loud plates breathe like placards pinned to a wall.
density

Substantial but legible — many real plates, never a thin gallery.

responsive
Renders ~390px to 2560px+. Mobile stacks single-column, hides non-essential nav links and table columns, and never overflows; grids use minmax(0,1fr) + min-width:0 so children shrink. Ultra-wide caps and centres the contained column; only the full-bleed hero spans 100vw.
breakpoints
mobile
0-599px
tablet
600-899px
desktop
900-1439px
wide
1440px+
guidance
do
  • Give every meaningful surface a keyline and an offset shadow so it reads as a pulled plate.
  • Use one dominant ink per region and let neighbouring plates reset to white or paper.
  • Keep focus, hover, pressed, and disabled states explicit with movement, outline, and fill.
  • Pair aggressive display headlines with concise body copy so it stays legible despite the loud voice.
avoid
  • Do not add blur, translucency, or gradient polish that softens the exposed construction.
  • Do not round everything into friendly pills; the firmness and square corners are the point.
  • Do not make every plate equally saturated or oversized, or hierarchy collapses into noise.
  • Do not mute the inks into pastel washes or muddy tones.
imagery
pairs with

misprint

summary
Hand-pulled screenprint imagery: heavy black keylines around every form, misregistered acid-yellow / fluoro-pink / federal-blue separations, coarse halftone fields over a warm paper ground, hard zero-blur offset shadows. Bold cropped still lifes and object cutouts pinned into loud graphic frames, never atmospheric or glossy.
subjects
printing presses and type casesink rollers and drumspaper stacks and proofsstudio objects and toolsbold object still lifes
usage
Use as the full-bleed landing hero and as feature/empty-state spots. Generate via the Misprint art style; keep one colour dominant per image and push the plate misregistration explicitly.
katagami spec
# Hardpress

## Philosophy

Hardpress is the refined neo-brutalist poster interface: every surface is a hand-pulled plate, outlined in keyline black, filled flat with one loud spot ink, and pinned to a warm paper ground with a hard zero-blur offset shadow slightly off the register. It keeps the source's exposed construction and acid-bright colour while bringing it up to standard with a maker's-mark name, a breathing layout, a full-viewport image hero, and a no-JS settled render. Nothing floats, nothing fades; the user always knows what is grab-able because every element declares itself with graphic force.

### Values

- Structural honesty through visible keylines, dividers, and offset shadows instead of hidden chrome.
- Confrontational clarity where actions are obvious before the user reads supporting copy.
- Graphic energy built from poster-scale type, flat spot inks, and deliberate misregistration.
- A settled, fully-rendered page first; motion is added on top, never required to read it.

### Anti-Values

- Soft luxury minimalism with dissolved boundaries.
- Glass, blur, gradient, and translucency polish.
- Understated controls that disappear into a neutral white layout.
- Muddied or pastel washes that drain the inks of their voice.

## Tokens

### Colors

| Name | Value |
|------|-------|
| bg | `#FFF7E8` |
| surface | `#FFFFFF` |
| surface_2 | `#FBEFD7` |
| text | `#141210` |
| muted | `#5C5346` |
| border | `#141210` |
| accent | `#FFD400` |
| accent_2 | `#FF4F8B` |
| accent_3 | `#1769FF` |
| on_accent | `#141210` |
| success | `#16A34A` |
| warning | `#F59E0B` |
| error | `#FF5A36` |
| info | `#1769FF` |

### Typography

- **Base Size**: 17px
- **Body Font**: Space Grotesk
- **Heading Font**: Archivo Black
- **Mono Font**: IBM Plex Mono
- **Heading Weight**: 400
- **Heading Transform**: uppercase
- **Letter Spacing**: -0.02em
- **Scale Ratio**: 1.25
- **Line Height**: 1.5
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Archivo+Black&family=IBM+Plex+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap

### Radii

- **None**: 0px
- **Tag**: 9999px

### Shadows

- **Sm**: 3px 3px 0 0 #141210
- **Md**: 6px 6px 0 0 #141210
- **Lg**: 9px 9px 0 0 #141210

### Spacing

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

### Surfaces

- **Treatment**: screenprint
- **Card Style**: flat ink slabs and white plates with hard zero-blur offset shadows
- **Bg Pattern**: ruled-grid

### Borders

- **Default Width**: 3px
- **Accent Width**: 4px
- **Style**: solid
- **Character**: hard keyline-black outlines on every interactive and structural surface

### Motion

- **Duration**: 150ms
- **Easing**: cubic-bezier(0.15,0.85,0.3,1)
- **Philosophy**: snappy, physical, plate-press

## Rules

### Composition

Poster-like modules on an honest grid: one oversized hero plate, blunt utility plates, and sticker elements that cross container edges. Cards never nest; navigation breathes as part of the page rather than a floating pill bar.

### Hierarchy

Order comes from scale, keyline weight, and ink fill. The primary action takes the dominant ink and the largest shadow; supporting surfaces reset to white or paper with the same outline language.

### Density

Moderately dense but never cramped; many plates coexist while each keeps visible padding and margin so it reads as its own printed tile.

### Signature

Every meaningful surface is a pulled plate (3-4px keyline + zero-blur offset shadow); pressed controls slam down and collapse the shadow; tape-tags carry tracked mono micro-labels; one rotated sticker pins each hero; colour is flat slabs, one dominant ink per region; the printer's registration crosshair is the through-line mark.

## Layout

### Grid

Desktop uses an uneven poster grid with broad hero spans and narrow utility plates; tablet collapses toward two-up; mobile stacks to one loud column with occasional two-up metric rows.

### Whitespace

16-24px gaps between neighbouring plates, 32px around hero blocks, generous outer margins and always padding above titles so loud plates breathe like placards pinned to a wall.

### Density

Substantial but legible — many real plates, never a thin gallery.

### Responsive

Renders ~390px to 2560px+. Mobile stacks single-column, hides non-essential nav links and table columns, and never overflows; grids use minmax(0,1fr) + min-width:0 so children shrink. Ultra-wide caps and centres the contained column; only the full-bleed hero spans 100vw.

### Breakpoints

- **Mobile**: 0-599px
- **Tablet**: 600-899px
- **Desktop**: 900-1439px
- **Wide**: 1440px+

## Guidance

### Do

- Give every meaningful surface a keyline and an offset shadow so it reads as a pulled plate.
- Use one dominant ink per region and let neighbouring plates reset to white or paper.
- Keep focus, hover, pressed, and disabled states explicit with movement, outline, and fill.
- Pair aggressive display headlines with concise body copy so it stays legible despite the loud voice.

### Don't

- Do not add blur, translucency, or gradient polish that softens the exposed construction.
- Do not round everything into friendly pills; the firmness and square corners are the point.
- Do not make every plate equally saturated or oversized, or hierarchy collapses into noise.
- Do not mute the inks into pastel washes or muddy tones.

### Accessibility

Body text 17px+, table rows 14.5px+, high contrast on warm paper (keyline-black ink, white type only over the saturated ink slabs). Settled state renders with no JavaScript; motion is gated and respects prefers-reduced-motion. Controls are explicitly styled with no browser defaults; no emoji or symbol glyphs in copy or alt text.

## Imagery Direction

### Pairs With

misprint

### Summary

Hand-pulled screenprint imagery: heavy black keylines around every form, misregistered acid-yellow / fluoro-pink / federal-blue separations, coarse halftone fields over a warm paper ground, hard zero-blur offset shadows. Bold cropped still lifes and object cutouts pinned into loud graphic frames, never atmospheric or glossy.

### Subjects

- printing presses and type cases
- ink rollers and drums
- paper stacks and proofs
- studio objects and tools
- bold object still lifes

### Usage

Use as the full-bleed landing hero and as feature/empty-state spots. Generate via the Misprint art style; keep one colour dominant per image and push the plate misregistration explicitly.
DESIGN.md
---
version: "alpha"
name: "Hardpress"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  bg: "#FFF7E8"
  surface: "#FFFFFF"
  surface_2: "#FBEFD7"
  text: "#141210"
  muted: "#5C5346"
  border: "#141210"
  accent: "#FFD400"
  accent_2: "#FF4F8B"
  accent_3: "#1769FF"
  on_accent: "#141210"
  success: "#16A34A"
  warning: "#F59E0B"
  error: "#FF5A36"
  info: "#1769FF"
typography:
  headline-lg:
    fontFamily: "Archivo Black"
    fontSize: "2.075rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.02em"
  headline-md:
    fontFamily: "Archivo Black"
    fontSize: "1.66rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.02em"
  body-md:
    fontFamily: "Space Grotesk"
    fontSize: "17px"
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: "-0.02em"
  label-md:
    fontFamily: "IBM Plex Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  none: "0px"
  tag: "9999px"
spacing:
  base: "8px"
  xs: "4px"
  sm: "8px"
  md: "12px"
  lg: "16px"
  xl: "24px"
  2xl: "32px"
  3xl: "48px"
  4xl: "64px"
components:
  color-reference-bg:
    backgroundColor: "{colors.bg}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-surface_2:
    backgroundColor: "{colors.surface_2}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-border:
    backgroundColor: "{colors.border}"
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-accent_2:
    backgroundColor: "{colors.accent_2}"
  color-reference-accent_3:
    backgroundColor: "{colors.accent_3}"
  color-reference-on_accent:
    backgroundColor: "{colors.on_accent}"
  color-reference-success:
    backgroundColor: "{colors.success}"
  color-reference-warning:
    backgroundColor: "{colors.warning}"
  color-reference-error:
    backgroundColor: "{colors.error}"
  color-reference-info:
    backgroundColor: "{colors.info}"
  button-primary:
    backgroundColor: "{colors.accent}"
    textColor: "#000000"
    typography: "{typography.label-md}"
    rounded: "{rounded.none}"
    padding: "{spacing.md}"
  card-surface:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.none}"
    padding: "{spacing.md}"
  input-default:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.none}"
    height: "44px"
---

# Hardpress

## Overview

Hardpress is the refined neo-brutalist poster interface: every surface is a hand-pulled plate, outlined in keyline black, filled flat with one loud spot ink, and pinned to a warm paper ground with a hard zero-blur offset shadow slightly off the register. It keeps the source's exposed construction and acid-bright colour while bringing it up to standard with a maker's-mark name, a breathing layout, a full-viewport image hero, and a no-JS settled render. Nothing floats, nothing fades; the user always knows what is grab-able because every element declares itself with graphic force.

### Values

- Structural honesty through visible keylines, dividers, and offset shadows instead of hidden chrome.
- Confrontational clarity where actions are obvious before the user reads supporting copy.
- Graphic energy built from poster-scale type, flat spot inks, and deliberate misregistration.
- A settled, fully-rendered page first; motion is added on top, never required to read it.

### Anti-Values

- Soft luxury minimalism with dissolved boundaries.
- Glass, blur, gradient, and translucency polish.
- Understated controls that disappear into a neutral white layout.
- Muddied or pastel washes that drain the inks of their voice.

## Colors

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

| Token | Value |
|-------|-------|
| bg | `#FFF7E8` |
| surface | `#FFFFFF` |
| surface_2 | `#FBEFD7` |
| text | `#141210` |
| muted | `#5C5346` |
| border | `#141210` |
| accent | `#FFD400` |
| accent_2 | `#FF4F8B` |
| accent_3 | `#1769FF` |
| on_accent | `#141210` |
| success | `#16A34A` |
| warning | `#F59E0B` |
| error | `#FF5A36` |
| info | `#1769FF` |

## Typography

- **Headline-Lg**: Archivo Black, 2.075rem, weight 700, line-height 1.1.
- **Headline-Md**: Archivo Black, 1.66rem, weight 600, line-height 1.15.
- **Body-Md**: Space Grotesk, 17px, weight 400, line-height 1.5.
- **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`

### Grid

Desktop uses an uneven poster grid with broad hero spans and narrow utility plates; tablet collapses toward two-up; mobile stacks to one loud column with occasional two-up metric rows.

### Whitespace

16-24px gaps between neighbouring plates, 32px around hero blocks, generous outer margins and always padding above titles so loud plates breathe like placards pinned to a wall.

### Density

Substantial but legible — many real plates, never a thin gallery.

### Responsive

Renders ~390px to 2560px+. Mobile stacks single-column, hides non-essential nav links and table columns, and never overflows; grids use minmax(0,1fr) + min-width:0 so children shrink. Ultra-wide caps and centres the contained column; only the full-bleed hero spans 100vw.

### Breakpoints

- **Mobile**: 0-599px
- **Tablet**: 600-899px
- **Desktop**: 900-1439px
- **Wide**: 1440px+

## Elevation & Depth

### Shadows

- **Sm**: 3px 3px 0 0 #141210
- **Md**: 6px 6px 0 0 #141210
- **Lg**: 9px 9px 0 0 #141210

## Shapes

### Rounded

- **None**: `0px`
- **Tag**: `9999px`

### Surfaces

- **Treatment**: screenprint
- **Card Style**: flat ink slabs and white plates with hard zero-blur offset shadows
- **Bg Pattern**: ruled-grid

### Borders

- **Default Width**: 3px
- **Accent Width**: 4px
- **Style**: solid
- **Character**: hard keyline-black outlines on every interactive and structural surface

## Components

### Composition

Poster-like modules on an honest grid: one oversized hero plate, blunt utility plates, and sticker elements that cross container edges. Cards never nest; navigation breathes as part of the page rather than a floating pill bar.

### Hierarchy

Order comes from scale, keyline weight, and ink fill. The primary action takes the dominant ink and the largest shadow; supporting surfaces reset to white or paper with the same outline language.

### Density

Moderately dense but never cramped; many plates coexist while each keeps visible padding and margin so it reads as its own printed tile.

### Signature

Every meaningful surface is a pulled plate (3-4px keyline + zero-blur offset shadow); pressed controls slam down and collapse the shadow; tape-tags carry tracked mono micro-labels; one rotated sticker pins each hero; colour is flat slabs, one dominant ink per region; the printer's registration crosshair is the through-line mark.

## 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-019efa1a-bbee-75c0-8aae-6e63544ab52d/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 Give every meaningful surface a keyline and an offset shadow so it reads as a pulled plate.
- Do Use one dominant ink per region and let neighbouring plates reset to white or paper.
- Do Keep focus, hover, pressed, and disabled states explicit with movement, outline, and fill.
- Do Pair aggressive display headlines with concise body copy so it stays legible despite the loud voice.
- Don't Do not add blur, translucency, or gradient polish that softens the exposed construction.
- Don't Do not round everything into friendly pills; the firmness and square corners are the point.
- Don't Do not make every plate equally saturated or oversized, or hierarchy collapses into noise.
- Don't Do not mute the inks into pastel washes or muddy tones.

### Accessibility

Body text 17px+, table rows 14.5px+, high contrast on warm paper (keyline-black ink, white type only over the saturated ink slabs). Settled state renders with no JavaScript; motion is gated and respects prefers-reduced-motion. Controls are explicitly styled with no browser defaults; no emoji or symbol glyphs in copy or alt text.

## Imagery Direction

### Pairs With

misprint

### Summary

Hand-pulled screenprint imagery: heavy black keylines around every form, misregistered acid-yellow / fluoro-pink / federal-blue separations, coarse halftone fields over a warm paper ground, hard zero-blur offset shadows. Bold cropped still lifes and object cutouts pinned into loud graphic frames, never atmospheric or glossy.

### Subjects

- printing presses and type cases
- ink rollers and drums
- paper stacks and proofs
- studio objects and tools
- bold object still lifes

### Usage

Use as the full-bleed landing hero and as feature/empty-state spots. Generate via the Misprint art style; keep one colour dominant per image and push the plate misregistration explicitly.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "hardpress",
  "type": "registry:theme",
  "title": "Hardpress shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#FFF7E8",
      "foreground": "#141210",
      "card": "#FFFFFF",
      "card-foreground": "#141210",
      "popover": "#FFFFFF",
      "popover-foreground": "#141210",
      "primary": "#141210",
      "primary-foreground": "#ffffff",
      "secondary": "#f4f4f5",
      "secondary-foreground": "#111111",
      "muted": "#5C5346",
      "muted-foreground": "#141210",
      "accent": "#FFD400",
      "accent-foreground": "#111111",
      "destructive": "#FF5A36",
      "border": "#141210",
      "input": "#141210",
      "ring": "#FFD400",
      "chart-1": "#141210",
      "chart-2": "#f4f4f5",
      "chart-3": "#FFD400",
      "chart-4": "#16A34A",
      "chart-5": "#F59E0B",
      "sidebar": "#FFFFFF",
      "sidebar-foreground": "#141210",
      "sidebar-primary": "#141210",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#1769FF",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#141210",
      "sidebar-ring": "#FFD400",
      "radius": "0.625rem"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#141210",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#FFD400",
      "accent-foreground": "#111111",
      "destructive": "#FF5A36",
      "border": "#303642",
      "input": "#303642",
      "ring": "#FFD400",
      "chart-1": "#141210",
      "chart-2": "#f4f4f5",
      "chart-3": "#FFD400",
      "chart-4": "#16A34A",
      "chart-5": "#F59E0B",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#141210",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#FFD400",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#303642",
      "sidebar-ring": "#FFD400",
      "radius": "0.625rem"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019efa1a-bbee-75c0-8aae-6e63544ab52d",
    "slug": "hardpress",
    "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",
        "accent_2",
        "accent_3",
        "bg",
        "border",
        "error",
        "info",
        "muted",
        "on_accent",
        "success",
        "surface",
        "surface_2",
        "text",
        "warning"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "heading_transform",
        "heading_weight",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ],
      "radii": [
        "none",
        "tag"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "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 · hardpress
DESIGN.md

at a glance

Typography

headline-lgArchivo Black · 33px · 700

The quick brown fox jumps

headline-mdArchivo Black · 27px · 600

The quick brown fox jumps

body-mdSpace Grotesk · 17px · 400

The quick brown fox jumps

label-mdIBM Plex Mono · 12px · 600

The quick brown fox jumps

shadcn/ui

implementation kit

built with

Agent-generated

remix lane

try a remix

Keep Hardpressand 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
Hardpress
Palette
Art style
Landing Page
live preview · recolored + filled
lineage

Family

1 descendant
related

More like this