back to gallery

Reticle

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 — tokens plus the paired art style. Agents must generate real images.

the spec

specification

philosophy
summary
Reticle reimagines bitmap-as-luxury-registration as a dark press-proof bench: one luminous press-amber ink on press-blanket charcoal, a measuring data-spine that runs the whole layout, and a concentric register gauge that proves each value is locked before it ships. The pixel mark stops being a tiny seal and becomes the structure — a verification gauge, a tick-spine, a registration grid — so the interface reads as a machined press proof rather than a retro game skin.
values
One amber ink doing all the work on a dark press-blanket groundThe verification mark as structure, not decoration: a gauge, a spine, a gridDense modular gang-sheet rhythm against generous charcoal groundMachined, packaging-grade hierarchy: register stops, batch codes, drift readouts
anti-values
×Warm-paper editorial calm or a quiet serif headline (that is the refinement, not this)×Neon arcade nostalgia, full-screen sprites, or playful pixel frames×A second saturated hue competing with amber×Gradients, glow, friendly rounded app bubbles, or browser-default controls
tokens
colors18 items
bg
#14161C
surface
#1B1E27
surface_2
#22262F
sunk
#0F1116
text
#F2EEE6
muted
#9AA0AC
faint
#5A616E
border
#2C313C
rule
#363C49
accent
#F5933C
accent_2
#E07A23
on_accent
#15110A
primary
#F5933C
secondary
#22262F
info
#5FB8C9
success
#7FC58A
warning
#E9B45A
error
#E5705F
typography10 items
base size
17px
body font
Archivo Narrow
heading font
Archivo
mono font
Space Mono
heading weight
800
heading transform
uppercase
letter spacing
-0.02em
line height
1.6
scale ratio
1.25
google fonts url
https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=Archivo+Narrow:wght@500;600;700&family=Space+Mono:wght@400;700&display=swap
radii4 items
none
0
sm
2px
lg
16px
full
9999px
shadows3 items
sm
0 1px 0 rgba(0,0,0,.4)
md
0 14px 38px rgba(0,0,0,.35)
lg
0 30px 80px rgba(0,0,0,.5)
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64, 96
surfaces3 items
bg pattern
press-blanket charcoal field underlaid by a faint 96px amber registration grid
card style
flat charcoal carton panels: hairline rule, 2px radius, one ticked amber corner pair, sparse 4px dither tone, oversized gutters
treatment
dark uncoated press blanket; tone built from a 4px ordered dither dot-matrix, never gradients
borders4 items
default width
1px
accent width
2px
style
solid
character
hairline charcoal rules interrupted by 2px amber ticked corner pairs (top-left + bottom-right) that read as die-cut register marks
motion3 items
duration
160ms
easing
steps(2, end)
philosophy
interactions snap in two register increments like print registration aligning — never bounce or float; the landing reveal is gated on top of a fully settled no-JS state and respects prefers-reduced-motion
rules
composition
Compose like a press-proof bench: a full-viewport register-target hero, then a dense modular contact-sheet gang grid of equal cells, with the reticle gauge and data-spine as recurring structure on a dark ground.
hierarchy
Dramatic scale: a heavy uppercase Archivo headline, tiny Space Mono register metadata, compact controls grouped as printed label blocks. One button is clearly primary (solid amber + reticle); the rest are ghost with a hairline ring.
density

Generous charcoal ground between blocks (64-96px) with dense 4px dither and label internals (4-8px) only at gauges, corners, and status strips.

signature
The register gauge: a concentric reticle that seats when a value is verified, plus a measuring tick-spine and stepped corner ticks — recolouring on palette swap and reappearing as the gauge widget, the contact-sheet corner ticks, and the dither tone fields.
layout
grid
A 96px registration grid underlays the page. The landing leads with a full-bleed register-target hero; below it a dense contact-sheet gang grid of equal cells. The dashboard uses an open batch-code rail plus a content sheet. Mobile stacks to single-column slips.
whitespace

Charcoal ground is the signature material: 64-96px fields between content, while label internals compress to 4px and 8px increments.

density

compact

responsive
Renders from ~390px mobile to 2560px+ ultra-wide: single-column stack with nav links and table columns dropped on mobile; contained content capped and centred on ultra-wide while only the hero spans 100vw; minmax(0,1fr) columns so grids never blow out.
breakpoints
mobile
390px
tablet
768px
desktop
1200px
wide
2560px
guidance
do
  • Verify focal blocks with a concentric reticle mark and one ticked corner pair.
  • Keep amber as the only voice on press-blanket charcoal; let cyan whisper on liners and info.
  • Build tone from a 4px dither matrix; set lot codes, drift, and labels in Space Mono.
  • Use generous charcoal ground so the small amber marks feel valuable.
avoid
  • Do not give a card a full accent edge, nest cards, or box the nav into a floating pill.
  • Do not round components into friendly app bubbles, or use gradients and glow.
  • Do not introduce a second saturated hue to compete with amber.
  • Do not leave any control on browser defaults, or use arcade pixel frames.
imagery
pairs with

mill-proof

summary
Single-ink amber bitmap reductions on dark press stock: registration instruments, dielines, carton proofs, and gauges rendered dominant in frame, all tone from a 4px dither matrix, with registration crosshairs and stepped corner ticks in the margins.
subjects
press-registration targetdie-cutting control panelcarton dieline proofmeasuring gauge / tick-railfolding-carton samplebarcode data strip
usage
Use for the full-viewport hero and feature plates; keep the subject dominant in frame, single amber ink only, marks confined to the margins. End prompts with 'NO text, NO letters, NO logos.'
katagami spec
# Reticle

## Philosophy

Reticle reimagines bitmap-as-luxury-registration as a dark press-proof bench: one luminous press-amber ink on press-blanket charcoal, a measuring data-spine that runs the whole layout, and a concentric register gauge that proves each value is locked before it ships. The pixel mark stops being a tiny seal and becomes the structure — a verification gauge, a tick-spine, a registration grid — so the interface reads as a machined press proof rather than a retro game skin.

### Values

- One amber ink doing all the work on a dark press-blanket ground
- The verification mark as structure, not decoration: a gauge, a spine, a grid
- Dense modular gang-sheet rhythm against generous charcoal ground
- Machined, packaging-grade hierarchy: register stops, batch codes, drift readouts

### Anti-Values

- Warm-paper editorial calm or a quiet serif headline (that is the refinement, not this)
- Neon arcade nostalgia, full-screen sprites, or playful pixel frames
- A second saturated hue competing with amber
- Gradients, glow, friendly rounded app bubbles, or browser-default controls

## Tokens

### Colors

| Name | Value |
|------|-------|
| bg | `#14161C` |
| surface | `#1B1E27` |
| surface_2 | `#22262F` |
| sunk | `#0F1116` |
| text | `#F2EEE6` |
| muted | `#9AA0AC` |
| faint | `#5A616E` |
| border | `#2C313C` |
| rule | `#363C49` |
| accent | `#F5933C` |
| accent_2 | `#E07A23` |
| on_accent | `#15110A` |
| primary | `#F5933C` |
| secondary | `#22262F` |
| info | `#5FB8C9` |
| success | `#7FC58A` |
| warning | `#E9B45A` |
| error | `#E5705F` |

### Typography

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

### Radii

- **None**: 0
- **Sm**: 2px
- **Lg**: 16px
- **Full**: 9999px

### Shadows

- **Sm**: 0 1px 0 rgba(0,0,0,.4)
- **Md**: 0 14px 38px rgba(0,0,0,.35)
- **Lg**: 0 30px 80px rgba(0,0,0,.5)

### Spacing

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

### Surfaces

- **Bg Pattern**: press-blanket charcoal field underlaid by a faint 96px amber registration grid
- **Card Style**: flat charcoal carton panels: hairline rule, 2px radius, one ticked amber corner pair, sparse 4px dither tone, oversized gutters
- **Treatment**: dark uncoated press blanket; tone built from a 4px ordered dither dot-matrix, never gradients

### Borders

- **Default Width**: 1px
- **Accent Width**: 2px
- **Style**: solid
- **Character**: hairline charcoal rules interrupted by 2px amber ticked corner pairs (top-left + bottom-right) that read as die-cut register marks

### Motion

- **Duration**: 160ms
- **Easing**: steps(2, end)
- **Philosophy**: interactions snap in two register increments like print registration aligning — never bounce or float; the landing reveal is gated on top of a fully settled no-JS state and respects prefers-reduced-motion

## Rules

### Composition

Compose like a press-proof bench: a full-viewport register-target hero, then a dense modular contact-sheet gang grid of equal cells, with the reticle gauge and data-spine as recurring structure on a dark ground.

### Hierarchy

Dramatic scale: a heavy uppercase Archivo headline, tiny Space Mono register metadata, compact controls grouped as printed label blocks. One button is clearly primary (solid amber + reticle); the rest are ghost with a hairline ring.

### Density

Generous charcoal ground between blocks (64-96px) with dense 4px dither and label internals (4-8px) only at gauges, corners, and status strips.

### Signature

The register gauge: a concentric reticle that seats when a value is verified, plus a measuring tick-spine and stepped corner ticks — recolouring on palette swap and reappearing as the gauge widget, the contact-sheet corner ticks, and the dither tone fields.

## Layout

### Grid

A 96px registration grid underlays the page. The landing leads with a full-bleed register-target hero; below it a dense contact-sheet gang grid of equal cells. The dashboard uses an open batch-code rail plus a content sheet. Mobile stacks to single-column slips.

### Whitespace

Charcoal ground is the signature material: 64-96px fields between content, while label internals compress to 4px and 8px increments.

### Density

compact

### Responsive

Renders from ~390px mobile to 2560px+ ultra-wide: single-column stack with nav links and table columns dropped on mobile; contained content capped and centred on ultra-wide while only the hero spans 100vw; minmax(0,1fr) columns so grids never blow out.

### Breakpoints

- **Mobile**: 390px
- **Tablet**: 768px
- **Desktop**: 1200px
- **Wide**: 2560px

## Guidance

### Do

- Verify focal blocks with a concentric reticle mark and one ticked corner pair.
- Keep amber as the only voice on press-blanket charcoal; let cyan whisper on liners and info.
- Build tone from a 4px dither matrix; set lot codes, drift, and labels in Space Mono.
- Use generous charcoal ground so the small amber marks feel valuable.

### Don't

- Do not give a card a full accent edge, nest cards, or box the nav into a floating pill.
- Do not round components into friendly app bubbles, or use gradients and glow.
- Do not introduce a second saturated hue to compete with amber.
- Do not leave any control on browser defaults, or use arcade pixel frames.

### Accessibility

High contrast throughout: proof-white text #F2EEE6 and amber #F5933C on charcoal #14161C clear AA for body and large text; near-black on-accent #15110A on amber is high contrast. Focus is a visible amber ring plus a faint amber glow. Body 17px+, table rows 14.5px+. Marks carry text labels; pixel/dither ornament is decorative CSS with aria-hidden; motion respects prefers-reduced-motion and the settled state renders with no JS. No symbol glyphs in copy.

## Imagery Direction

### Pairs With

mill-proof

### Summary

Single-ink amber bitmap reductions on dark press stock: registration instruments, dielines, carton proofs, and gauges rendered dominant in frame, all tone from a 4px dither matrix, with registration crosshairs and stepped corner ticks in the margins.

### Subjects

- press-registration target
- die-cutting control panel
- carton dieline proof
- measuring gauge / tick-rail
- folding-carton sample
- barcode data strip

### Usage

Use for the full-viewport hero and feature plates; keep the subject dominant in frame, single amber ink only, marks confined to the margins. End prompts with 'NO text, NO letters, NO logos.'
DESIGN.md
---
version: "alpha"
name: "Reticle"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  bg: "#14161C"
  surface: "#1B1E27"
  surface_2: "#22262F"
  sunk: "#0F1116"
  text: "#F2EEE6"
  muted: "#9AA0AC"
  faint: "#5A616E"
  border: "#2C313C"
  rule: "#363C49"
  accent: "#F5933C"
  accent_2: "#E07A23"
  on_accent: "#15110A"
  primary: "#F5933C"
  secondary: "#22262F"
  info: "#5FB8C9"
  success: "#7FC58A"
  warning: "#E9B45A"
  error: "#E5705F"
typography:
  headline-lg:
    fontFamily: "Archivo"
    fontSize: "2.075rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.02em"
  headline-md:
    fontFamily: "Archivo"
    fontSize: "1.66rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.02em"
  body-md:
    fontFamily: "Archivo Narrow"
    fontSize: "17px"
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: "-0.02em"
  label-md:
    fontFamily: "Space Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  none: "0px"
  sm: "2px"
  lg: "16px"
  full: "9999px"
spacing:
  base: "8px"
  xs: "4px"
  sm: "8px"
  md: "12px"
  lg: "16px"
  xl: "24px"
  2xl: "32px"
  3xl: "48px"
  4xl: "64px"
  step-8: "96px"
components:
  color-reference-bg:
    backgroundColor: "{colors.bg}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-surface_2:
    backgroundColor: "{colors.surface_2}"
  color-reference-sunk:
    backgroundColor: "{colors.sunk}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-faint:
    backgroundColor: "{colors.faint}"
  color-reference-border:
    backgroundColor: "{colors.border}"
  color-reference-rule:
    backgroundColor: "{colors.rule}"
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-accent_2:
    backgroundColor: "{colors.accent_2}"
  color-reference-on_accent:
    backgroundColor: "{colors.on_accent}"
  color-reference-primary:
    backgroundColor: "{colors.primary}"
  color-reference-secondary:
    backgroundColor: "{colors.secondary}"
  color-reference-info:
    backgroundColor: "{colors.info}"
  color-reference-success:
    backgroundColor: "{colors.success}"
  color-reference-warning:
    backgroundColor: "{colors.warning}"
  color-reference-error:
    backgroundColor: "{colors.error}"
  button-primary:
    backgroundColor: "{colors.primary}"
    textColor: "#000000"
    typography: "{typography.label-md}"
    rounded: "{rounded.lg}"
    padding: "{spacing.md}"
  card-surface:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.lg}"
    padding: "{spacing.md}"
  input-default:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.lg}"
    height: "44px"
---

# Reticle

## Overview

Reticle reimagines bitmap-as-luxury-registration as a dark press-proof bench: one luminous press-amber ink on press-blanket charcoal, a measuring data-spine that runs the whole layout, and a concentric register gauge that proves each value is locked before it ships. The pixel mark stops being a tiny seal and becomes the structure — a verification gauge, a tick-spine, a registration grid — so the interface reads as a machined press proof rather than a retro game skin.

### Values

- One amber ink doing all the work on a dark press-blanket ground
- The verification mark as structure, not decoration: a gauge, a spine, a grid
- Dense modular gang-sheet rhythm against generous charcoal ground
- Machined, packaging-grade hierarchy: register stops, batch codes, drift readouts

### Anti-Values

- Warm-paper editorial calm or a quiet serif headline (that is the refinement, not this)
- Neon arcade nostalgia, full-screen sprites, or playful pixel frames
- A second saturated hue competing with amber
- Gradients, glow, friendly rounded app bubbles, or browser-default controls

## 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 | `#14161C` |
| surface | `#1B1E27` |
| surface_2 | `#22262F` |
| sunk | `#0F1116` |
| text | `#F2EEE6` |
| muted | `#9AA0AC` |
| faint | `#5A616E` |
| border | `#2C313C` |
| rule | `#363C49` |
| accent | `#F5933C` |
| accent_2 | `#E07A23` |
| on_accent | `#15110A` |
| primary | `#F5933C` |
| secondary | `#22262F` |
| info | `#5FB8C9` |
| success | `#7FC58A` |
| warning | `#E9B45A` |
| error | `#E5705F` |

## Typography

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

### Grid

A 96px registration grid underlays the page. The landing leads with a full-bleed register-target hero; below it a dense contact-sheet gang grid of equal cells. The dashboard uses an open batch-code rail plus a content sheet. Mobile stacks to single-column slips.

### Whitespace

Charcoal ground is the signature material: 64-96px fields between content, while label internals compress to 4px and 8px increments.

### Density

compact

### Responsive

Renders from ~390px mobile to 2560px+ ultra-wide: single-column stack with nav links and table columns dropped on mobile; contained content capped and centred on ultra-wide while only the hero spans 100vw; minmax(0,1fr) columns so grids never blow out.

### Breakpoints

- **Mobile**: 390px
- **Tablet**: 768px
- **Desktop**: 1200px
- **Wide**: 2560px

## Elevation & Depth

### Shadows

- **Sm**: 0 1px 0 rgba(0,0,0,.4)
- **Md**: 0 14px 38px rgba(0,0,0,.35)
- **Lg**: 0 30px 80px rgba(0,0,0,.5)

## Shapes

### Rounded

- **None**: `0px`
- **Sm**: `2px`
- **Lg**: `16px`
- **Full**: `9999px`

### Surfaces

- **Bg Pattern**: press-blanket charcoal field underlaid by a faint 96px amber registration grid
- **Card Style**: flat charcoal carton panels: hairline rule, 2px radius, one ticked amber corner pair, sparse 4px dither tone, oversized gutters
- **Treatment**: dark uncoated press blanket; tone built from a 4px ordered dither dot-matrix, never gradients

### Borders

- **Default Width**: 1px
- **Accent Width**: 2px
- **Style**: solid
- **Character**: hairline charcoal rules interrupted by 2px amber ticked corner pairs (top-left + bottom-right) that read as die-cut register marks

## Components

### Composition

Compose like a press-proof bench: a full-viewport register-target hero, then a dense modular contact-sheet gang grid of equal cells, with the reticle gauge and data-spine as recurring structure on a dark ground.

### Hierarchy

Dramatic scale: a heavy uppercase Archivo headline, tiny Space Mono register metadata, compact controls grouped as printed label blocks. One button is clearly primary (solid amber + reticle); the rest are ghost with a hairline ring.

### Density

Generous charcoal ground between blocks (64-96px) with dense 4px dither and label internals (4-8px) only at gauges, corners, and status strips.

### Signature

The register gauge: a concentric reticle that seats when a value is verified, plus a measuring tick-spine and stepped corner ticks — recolouring on palette swap and reappearing as the gauge widget, the contact-sheet corner ticks, and the dither tone fields.

## 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-019ef97f-d757-7902-ac8b-45ff2b189d76/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 Verify focal blocks with a concentric reticle mark and one ticked corner pair.
- Do Keep amber as the only voice on press-blanket charcoal; let cyan whisper on liners and info.
- Do Build tone from a 4px dither matrix; set lot codes, drift, and labels in Space Mono.
- Do Use generous charcoal ground so the small amber marks feel valuable.
- Don't Do not give a card a full accent edge, nest cards, or box the nav into a floating pill.
- Don't Do not round components into friendly app bubbles, or use gradients and glow.
- Don't Do not introduce a second saturated hue to compete with amber.
- Don't Do not leave any control on browser defaults, or use arcade pixel frames.

### Accessibility

High contrast throughout: proof-white text #F2EEE6 and amber #F5933C on charcoal #14161C clear AA for body and large text; near-black on-accent #15110A on amber is high contrast. Focus is a visible amber ring plus a faint amber glow. Body 17px+, table rows 14.5px+. Marks carry text labels; pixel/dither ornament is decorative CSS with aria-hidden; motion respects prefers-reduced-motion and the settled state renders with no JS. No symbol glyphs in copy.

## Imagery Direction

### Pairs With

mill-proof

### Summary

Single-ink amber bitmap reductions on dark press stock: registration instruments, dielines, carton proofs, and gauges rendered dominant in frame, all tone from a 4px dither matrix, with registration crosshairs and stepped corner ticks in the margins.

### Subjects

- press-registration target
- die-cutting control panel
- carton dieline proof
- measuring gauge / tick-rail
- folding-carton sample
- barcode data strip

### Usage

Use for the full-viewport hero and feature plates; keep the subject dominant in frame, single amber ink only, marks confined to the margins. End prompts with 'NO text, NO letters, NO logos.'
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "reticle",
  "type": "registry:theme",
  "title": "Reticle shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#14161C",
      "foreground": "#F2EEE6",
      "card": "#1B1E27",
      "card-foreground": "#F2EEE6",
      "popover": "#1B1E27",
      "popover-foreground": "#F2EEE6",
      "primary": "#F5933C",
      "primary-foreground": "#ffffff",
      "secondary": "#22262F",
      "secondary-foreground": "#ffffff",
      "muted": "#9AA0AC",
      "muted-foreground": "#F2EEE6",
      "accent": "#F5933C",
      "accent-foreground": "#ffffff",
      "destructive": "#E5705F",
      "border": "#2C313C",
      "input": "#2C313C",
      "ring": "#F5933C",
      "chart-1": "#F5933C",
      "chart-2": "#22262F",
      "chart-3": "#F5933C",
      "chart-4": "#7FC58A",
      "chart-5": "#E9B45A",
      "sidebar": "#1B1E27",
      "sidebar-foreground": "#F2EEE6",
      "sidebar-primary": "#F5933C",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#5FB8C9",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#2C313C",
      "sidebar-ring": "#F5933C",
      "radius": "16px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#F5933C",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#F5933C",
      "accent-foreground": "#ffffff",
      "destructive": "#E5705F",
      "border": "#303642",
      "input": "#303642",
      "ring": "#F5933C",
      "chart-1": "#F5933C",
      "chart-2": "#22262F",
      "chart-3": "#F5933C",
      "chart-4": "#7FC58A",
      "chart-5": "#E9B45A",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#F5933C",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#F5933C",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#F5933C",
      "radius": "16px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ef97f-d757-7902-ac8b-45ff2b189d76",
    "slug": "reticle",
    "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",
        "bg",
        "border",
        "error",
        "faint",
        "info",
        "muted",
        "on_accent",
        "primary",
        "rule",
        "secondary",
        "success",
        "sunk",
        "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": [
        "full",
        "lg",
        "none",
        "sm"
      ],
      "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

DESIGN.md

at a glance

Typography

headline-lgArchivo · 33px · 700

The quick brown fox jumps

headline-mdArchivo · 27px · 600

The quick brown fox jumps

body-mdArchivo Narrow · 17px · 400

The quick brown fox jumps

label-mdSpace Mono · 12px · 600

The quick brown fox jumps

shadcn/ui

implementation kit

built with
remix lane

try a remix

Keep Reticle and swap a palette and an art style onto it. The landing & dashboard recolor live.

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

Family

related

More like this