back to gallery

Oxide

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
Oxide treats software like a computer club's shared floppies: the library is a crate of disks filed on edge, every volume stood on its spine, checked out by name, written back, and logged. The machine's memory is something you borrow and return — a room object maintained together, never an abstract dashboard. The ground is the dark interior of the disk box, the one saturated channel is ferric-oxide amber: the magnetic coating that is the stored memory.
values
Make the machine's social memory the whole interface: who has a volume, what was left, what is still out on loan.Scan across spines, not down a page — the catalog is a crate browsed by edge, notch, and index code.Hierarchy comes from spine scale, ink weight, status LEDs, and a Western catalog type voice, not decorative spectacle.Restraint as warmth: a dark toner ground, pale label ink, one oxide-amber highlighter, and red only for a quiet overdue tick.Favor shared-machine rituals and low-stakes club computing — check out, verify, write back, shelve — over lone-genius hacker theatre.Let circulation ephemera structure the interface: lending cards, write-protect notches, hole-punches, tape backups, and one-line terminal whispers.
anti-values
×No cream manga-panel diagram sheet; Oxide is the dark disk-box, the spine shelf, the circulation card — not a notebook page restyled.×No green matrix rain, neon cyberpunk, military HUDs, chrome, glassmorphism, or synthetic hacker dashboards.×No SaaS card grids, evenly repeated feature tiles, nested cards, or a nav trapped in a pill bar.×No colour beyond the three accents and a small semantic set; status LEDs and badges must mean something, never decoration.
visual character
Dark warm-graphite toner ground (a reversed photocopy of a club notebook) with pale label-cream ink and a faint blue-gray magnetic grid.Disk-spine cards filed on edge with a real write-protect notch cut by clip-path, an index code, a hole-punch dot, a vertical Oswald label, and a status LED.Status LEDs as small squares: phosphor mint shelved, oxide amber held, red overdue — the whole circulating state legible across a shelf.Lending-card date tables in the pocket and one-line phosphor terminal commands carry circulation; the featured disk shows the oxide-amber magnetic stripe.Open masthead nav across the header, surfaces separated by space and inset rings rather than borders, geometry limited to radii of 0 / 16px / 9999px.
tokens
colors14 items
bg
#1B1A24
surface
#26242F
surface_2
#302D3A
text
#EDE6D6
muted
#9A93A0
border
#3E3A48
accent
#E8915C
on_accent
#1B1A24
accent_2
#79C7A8
accent_3
#6E8BB5
success
#79C7A8
warning
#E8B85C
error
#D9594C
info
#6E8BB5
typography11 items
base size
17px
body font
IBM Plex Sans
heading font
Oswald
mono font
IBM Plex Mono
heading weight
600
heading transform
uppercase
letter spacing
-0.01em
display letter spacing
-0.01em
line height
1.55
scale ratio
1.25
google fonts url
https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap
radii3 items
none
0
lg
16px
full
9999px
shadows3 items
sm
0 1px 0 rgba(0,0,0,0.3)
md
0 6px 18px rgba(0,0,0,0.35)
ring
inset 0 0 0 2px var(--border)
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64, 88, 112
surfaces3 items
bg pattern
Dark warm-graphite toner ground with a faint blue-gray magnetic grid at 120px and light toner speckle; the reversed-photocopy interior of a disk box.
card style
Flat matte panels on the toner ground, radius 16px, no border, separated by space and an optional inset 2px ring; never nested.
treatment
Dark ABS disk-shell surfaces and pale label ink; spine cards carry a clip-path write-protect notch, a hole-punch, and a status LED.
borders4 items
default width
0
accent width
2px
style
no decorative borders; hierarchy from surface and space; hairline 1px var(--border) only for data rules, 2px var(--text) for a masthead rule
character
Borderless surfaces; structure comes from ground separation and inset rings; never a single coloured accent edge on a card.
motion3 items
duration
180ms
easing
steps(2, end)
philosophy
Motion reads like a disk seating into a drive or an LED flicking on — a short step, never glossy or cinematic. The fully-rendered settled state is the no-JS default; reveals layer on top and respect prefers-reduced-motion.
rules
composition
A circulating media catalog, not a dashboard: a horizontally-scanning shelf of upright disk-spine cards anchors the page; below it an index drawer on the left pairs with a wide reading pane on the right; a lending-card date table and one-line phosphor terminal lines carry circulation. The masthead nav sits openly across the header. Never three equal cards, never nested cards.
hierarchy
Hierarchy comes from spine scale, ink weight, status-LED state, and type roles: Oswald condensed uppercase for identity and headings, IBM Plex Sans for body, IBM Plex Mono for index codes and terminal lines. Red stays a quiet overdue tick only.
density

Tight 4-12px clusters inside a spine or card against broad 48-112px air between major areas — a packed crate with calm space around it.

signature
Disk-spine cards filed on edge with a clip-path write-protect notch, hole-punch dot, vertical Oswald label, index code, and a status LED (mint shelved / amber held / red overdue); a lending-card date table in the pocket; one-line phosphor terminal commands; the featured disk's oxide-amber magnetic stripe; a horizontally-scanning shelf you browse by edge.
layout
grid
Scan across, not down: the primary plane is a horizontal shelf of equal-width spines using minmax(0,1fr)/min-width:0; below it a 260px index drawer pairs with a fluid reading pane. Dashboard uses a 240px spine-drawer sidebar plus a fluid main with a 4-up KPI row.
whitespace

Broad outer rhythm of 48-112px between major areas with tight 4-12px clusters inside spines and cards.

density

Medium-high information density held legible by quiet toner air, so codes, LEDs, and terminal fragments feel filed rather than crammed.

responsive
Keep the spine shelf first; it scrolls horizontally on every width. Stack to one column on mobile, hide non-essential nav links and section notes, and never overflow horizontally; only the full-bleed hero spans 100vw on ultra-wide.
breakpoints
mobile
<= 640px
tablet
641px - 1000px
desktop
>= 1001px
guidance
do
  • Browse the catalog as a crate of disks on edge: each spine carries an index code, a hole-punch, a write-protect notch, and a status LED.
  • Use oxide amber as the one highlighter for the primary action and the held state; phosphor mint for active/verified; disk-shell blue for index and info.
  • Carry circulation in lending-card date tables and one-line terminal whispers; keep red to a quiet overdue tick.
  • Separate surfaces with space and inset rings, not borders; keep the nav open across the header.
  • Hold geometry to radii of 0 / 16px / 9999px and body text to 17px+ on the dark toner ground.
avoid
  • Don't restyle a cream manga-panel notebook page — Oxide is the dark disk-box and the spine shelf.
  • Don't add colour beyond the three accents and the small semantic set, or let LEDs and badges become decoration without state.
  • Don't nest cards, box the nav in a pill, or hang a single coloured accent edge on a card.
  • Don't turn the terminal into a code waterfall or use neon, matrix, HUD, or chrome theatrics.
imagery
pairs with

toner-press

summary
Photocopied ink-and-screentone printed as a reversed negative: pale cream linework and halftone on a dark warm-graphite toner ground, with the single saturated channel held for the ferric-oxide amber magnetic coating. Subjects are shared-machine media filed and catalogued.
subjects
a crate of floppy disks filed upright on edgean open-reel tape with exposed oxide coatinga lending-card pocket and date stampa disk drive seating a 3.5-inch floppya labelled storage box of catalogued volumes
usage
One full-bleed hero of a crate of disks on edge; feature vignettes of single volumes with a circled index and one oxide-amber detail; keep cream margins only where a real shelf would breathe.
katagami spec
# Oxide

## Philosophy

Oxide treats software like a computer club's shared floppies: the library is a crate of disks filed on edge, every volume stood on its spine, checked out by name, written back, and logged. The machine's memory is something you borrow and return — a room object maintained together, never an abstract dashboard. The ground is the dark interior of the disk box, the one saturated channel is ferric-oxide amber: the magnetic coating that is the stored memory.

### Values

- Make the machine's social memory the whole interface: who has a volume, what was left, what is still out on loan.
- Scan across spines, not down a page — the catalog is a crate browsed by edge, notch, and index code.
- Hierarchy comes from spine scale, ink weight, status LEDs, and a Western catalog type voice, not decorative spectacle.
- Restraint as warmth: a dark toner ground, pale label ink, one oxide-amber highlighter, and red only for a quiet overdue tick.
- Favor shared-machine rituals and low-stakes club computing — check out, verify, write back, shelve — over lone-genius hacker theatre.
- Let circulation ephemera structure the interface: lending cards, write-protect notches, hole-punches, tape backups, and one-line terminal whispers.

### Anti-Values

- No cream manga-panel diagram sheet; Oxide is the dark disk-box, the spine shelf, the circulation card — not a notebook page restyled.
- No green matrix rain, neon cyberpunk, military HUDs, chrome, glassmorphism, or synthetic hacker dashboards.
- No SaaS card grids, evenly repeated feature tiles, nested cards, or a nav trapped in a pill bar.
- No colour beyond the three accents and a small semantic set; status LEDs and badges must mean something, never decoration.

### Visual Character

- Dark warm-graphite toner ground (a reversed photocopy of a club notebook) with pale label-cream ink and a faint blue-gray magnetic grid.
- Disk-spine cards filed on edge with a real write-protect notch cut by clip-path, an index code, a hole-punch dot, a vertical Oswald label, and a status LED.
- Status LEDs as small squares: phosphor mint shelved, oxide amber held, red overdue — the whole circulating state legible across a shelf.
- Lending-card date tables in the pocket and one-line phosphor terminal commands carry circulation; the featured disk shows the oxide-amber magnetic stripe.
- Open masthead nav across the header, surfaces separated by space and inset rings rather than borders, geometry limited to radii of 0 / 16px / 9999px.

## Tokens

### Colors

| Name | Value |
|------|-------|
| bg | `#1B1A24` |
| surface | `#26242F` |
| surface_2 | `#302D3A` |
| text | `#EDE6D6` |
| muted | `#9A93A0` |
| border | `#3E3A48` |
| accent | `#E8915C` |
| on_accent | `#1B1A24` |
| accent_2 | `#79C7A8` |
| accent_3 | `#6E8BB5` |
| success | `#79C7A8` |
| warning | `#E8B85C` |
| error | `#D9594C` |
| info | `#6E8BB5` |

### Typography

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

### Radii

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

### Shadows

- **Sm**: 0 1px 0 rgba(0,0,0,0.3)
- **Md**: 0 6px 18px rgba(0,0,0,0.35)
- **Ring**: inset 0 0 0 2px var(--border)

### Spacing

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

### Surfaces

- **Bg Pattern**: Dark warm-graphite toner ground with a faint blue-gray magnetic grid at 120px and light toner speckle; the reversed-photocopy interior of a disk box.
- **Card Style**: Flat matte panels on the toner ground, radius 16px, no border, separated by space and an optional inset 2px ring; never nested.
- **Treatment**: Dark ABS disk-shell surfaces and pale label ink; spine cards carry a clip-path write-protect notch, a hole-punch, and a status LED.

### Borders

- **Default Width**: 0
- **Accent Width**: 2px
- **Style**: no decorative borders; hierarchy from surface and space; hairline 1px var(--border) only for data rules, 2px var(--text) for a masthead rule
- **Character**: Borderless surfaces; structure comes from ground separation and inset rings; never a single coloured accent edge on a card.

### Motion

- **Duration**: 180ms
- **Easing**: steps(2, end)
- **Philosophy**: Motion reads like a disk seating into a drive or an LED flicking on — a short step, never glossy or cinematic. The fully-rendered settled state is the no-JS default; reveals layer on top and respect prefers-reduced-motion.

## Rules

### Composition

A circulating media catalog, not a dashboard: a horizontally-scanning shelf of upright disk-spine cards anchors the page; below it an index drawer on the left pairs with a wide reading pane on the right; a lending-card date table and one-line phosphor terminal lines carry circulation. The masthead nav sits openly across the header. Never three equal cards, never nested cards.

### Hierarchy

Hierarchy comes from spine scale, ink weight, status-LED state, and type roles: Oswald condensed uppercase for identity and headings, IBM Plex Sans for body, IBM Plex Mono for index codes and terminal lines. Red stays a quiet overdue tick only.

### Density

Tight 4-12px clusters inside a spine or card against broad 48-112px air between major areas — a packed crate with calm space around it.

### Signature

Disk-spine cards filed on edge with a clip-path write-protect notch, hole-punch dot, vertical Oswald label, index code, and a status LED (mint shelved / amber held / red overdue); a lending-card date table in the pocket; one-line phosphor terminal commands; the featured disk's oxide-amber magnetic stripe; a horizontally-scanning shelf you browse by edge.

## Layout

### Grid

Scan across, not down: the primary plane is a horizontal shelf of equal-width spines using minmax(0,1fr)/min-width:0; below it a 260px index drawer pairs with a fluid reading pane. Dashboard uses a 240px spine-drawer sidebar plus a fluid main with a 4-up KPI row.

### Whitespace

Broad outer rhythm of 48-112px between major areas with tight 4-12px clusters inside spines and cards.

### Density

Medium-high information density held legible by quiet toner air, so codes, LEDs, and terminal fragments feel filed rather than crammed.

### Responsive

Keep the spine shelf first; it scrolls horizontally on every width. Stack to one column on mobile, hide non-essential nav links and section notes, and never overflow horizontally; only the full-bleed hero spans 100vw on ultra-wide.

### Breakpoints

- **Mobile**: <= 640px
- **Tablet**: 641px - 1000px
- **Desktop**: >= 1001px

## Guidance

### Do

- Browse the catalog as a crate of disks on edge: each spine carries an index code, a hole-punch, a write-protect notch, and a status LED.
- Use oxide amber as the one highlighter for the primary action and the held state; phosphor mint for active/verified; disk-shell blue for index and info.
- Carry circulation in lending-card date tables and one-line terminal whispers; keep red to a quiet overdue tick.
- Separate surfaces with space and inset rings, not borders; keep the nav open across the header.
- Hold geometry to radii of 0 / 16px / 9999px and body text to 17px+ on the dark toner ground.

### Don't

- Don't restyle a cream manga-panel notebook page — Oxide is the dark disk-box and the spine shelf.
- Don't add colour beyond the three accents and the small semantic set, or let LEDs and badges become decoration without state.
- Don't nest cards, box the nav in a pill, or hang a single coloured accent edge on a card.
- Don't turn the terminal into a code waterfall or use neon, matrix, HUD, or chrome theatrics.

### Accessibility

Maintain WCAG AA contrast for all core text on the dark toner ground (pale label ink on graphite), never rely on LED colour alone for state — pair it with a text badge — keep body text at 17px+, and preserve visible oxide-amber focus rings on every control.

## Imagery Direction

### Pairs With

toner-press

### Summary

Photocopied ink-and-screentone printed as a reversed negative: pale cream linework and halftone on a dark warm-graphite toner ground, with the single saturated channel held for the ferric-oxide amber magnetic coating. Subjects are shared-machine media filed and catalogued.

### Subjects

- a crate of floppy disks filed upright on edge
- an open-reel tape with exposed oxide coating
- a lending-card pocket and date stamp
- a disk drive seating a 3.5-inch floppy
- a labelled storage box of catalogued volumes

### Usage

One full-bleed hero of a crate of disks on edge; feature vignettes of single volumes with a circled index and one oxide-amber detail; keep cream margins only where a real shelf would breathe.
DESIGN.md
---
version: "alpha"
name: "Oxide"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  bg: "#1B1A24"
  surface: "#26242F"
  surface_2: "#302D3A"
  text: "#EDE6D6"
  muted: "#9A93A0"
  border: "#3E3A48"
  accent: "#E8915C"
  on_accent: "#1B1A24"
  accent_2: "#79C7A8"
  accent_3: "#6E8BB5"
  success: "#79C7A8"
  warning: "#E8B85C"
  error: "#D9594C"
  info: "#6E8BB5"
typography:
  headline-lg:
    fontFamily: "Oswald"
    fontSize: "2.075rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.01em"
  headline-md:
    fontFamily: "Oswald"
    fontSize: "1.66rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.01em"
  body-md:
    fontFamily: "IBM Plex Sans"
    fontSize: "17px"
    fontWeight: 400
    lineHeight: 1.55
    letterSpacing: "-0.01em"
  label-md:
    fontFamily: "IBM Plex Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  none: "0px"
  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: "88px"
  step-9: "112px"
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-on_accent:
    backgroundColor: "{colors.on_accent}"
  color-reference-accent_2:
    backgroundColor: "{colors.accent_2}"
  color-reference-accent_3:
    backgroundColor: "{colors.accent_3}"
  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.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"
---

# Oxide

## Overview

Oxide treats software like a computer club's shared floppies: the library is a crate of disks filed on edge, every volume stood on its spine, checked out by name, written back, and logged. The machine's memory is something you borrow and return — a room object maintained together, never an abstract dashboard. The ground is the dark interior of the disk box, the one saturated channel is ferric-oxide amber: the magnetic coating that is the stored memory.

### Values

- Make the machine's social memory the whole interface: who has a volume, what was left, what is still out on loan.
- Scan across spines, not down a page — the catalog is a crate browsed by edge, notch, and index code.
- Hierarchy comes from spine scale, ink weight, status LEDs, and a Western catalog type voice, not decorative spectacle.
- Restraint as warmth: a dark toner ground, pale label ink, one oxide-amber highlighter, and red only for a quiet overdue tick.
- Favor shared-machine rituals and low-stakes club computing — check out, verify, write back, shelve — over lone-genius hacker theatre.
- Let circulation ephemera structure the interface: lending cards, write-protect notches, hole-punches, tape backups, and one-line terminal whispers.

### Anti-Values

- No cream manga-panel diagram sheet; Oxide is the dark disk-box, the spine shelf, the circulation card — not a notebook page restyled.
- No green matrix rain, neon cyberpunk, military HUDs, chrome, glassmorphism, or synthetic hacker dashboards.
- No SaaS card grids, evenly repeated feature tiles, nested cards, or a nav trapped in a pill bar.
- No colour beyond the three accents and a small semantic set; status LEDs and badges must mean something, never decoration.

### Visual Character

- Dark warm-graphite toner ground (a reversed photocopy of a club notebook) with pale label-cream ink and a faint blue-gray magnetic grid.
- Disk-spine cards filed on edge with a real write-protect notch cut by clip-path, an index code, a hole-punch dot, a vertical Oswald label, and a status LED.
- Status LEDs as small squares: phosphor mint shelved, oxide amber held, red overdue — the whole circulating state legible across a shelf.
- Lending-card date tables in the pocket and one-line phosphor terminal commands carry circulation; the featured disk shows the oxide-amber magnetic stripe.
- Open masthead nav across the header, surfaces separated by space and inset rings rather than borders, geometry limited to radii of 0 / 16px / 9999px.

## 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 | `#1B1A24` |
| surface | `#26242F` |
| surface_2 | `#302D3A` |
| text | `#EDE6D6` |
| muted | `#9A93A0` |
| border | `#3E3A48` |
| accent | `#E8915C` |
| on_accent | `#1B1A24` |
| accent_2 | `#79C7A8` |
| accent_3 | `#6E8BB5` |
| success | `#79C7A8` |
| warning | `#E8B85C` |
| error | `#D9594C` |
| info | `#6E8BB5` |

## Typography

- **Headline-Lg**: Oswald, 2.075rem, weight 700, line-height 1.1.
- **Headline-Md**: Oswald, 1.66rem, weight 600, line-height 1.15.
- **Body-Md**: IBM Plex Sans, 17px, weight 400, line-height 1.55.
- **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`
- **Step-8**: `88px`
- **Step-9**: `112px`

### Grid

Scan across, not down: the primary plane is a horizontal shelf of equal-width spines using minmax(0,1fr)/min-width:0; below it a 260px index drawer pairs with a fluid reading pane. Dashboard uses a 240px spine-drawer sidebar plus a fluid main with a 4-up KPI row.

### Whitespace

Broad outer rhythm of 48-112px between major areas with tight 4-12px clusters inside spines and cards.

### Density

Medium-high information density held legible by quiet toner air, so codes, LEDs, and terminal fragments feel filed rather than crammed.

### Responsive

Keep the spine shelf first; it scrolls horizontally on every width. Stack to one column on mobile, hide non-essential nav links and section notes, and never overflow horizontally; only the full-bleed hero spans 100vw on ultra-wide.

### Breakpoints

- **Mobile**: <= 640px
- **Tablet**: 641px - 1000px
- **Desktop**: >= 1001px

## Elevation & Depth

### Shadows

- **Sm**: 0 1px 0 rgba(0,0,0,0.3)
- **Md**: 0 6px 18px rgba(0,0,0,0.35)
- **Ring**: inset 0 0 0 2px var(--border)

## Shapes

### Rounded

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

### Surfaces

- **Bg Pattern**: Dark warm-graphite toner ground with a faint blue-gray magnetic grid at 120px and light toner speckle; the reversed-photocopy interior of a disk box.
- **Card Style**: Flat matte panels on the toner ground, radius 16px, no border, separated by space and an optional inset 2px ring; never nested.
- **Treatment**: Dark ABS disk-shell surfaces and pale label ink; spine cards carry a clip-path write-protect notch, a hole-punch, and a status LED.

### Borders

- **Default Width**: 0
- **Accent Width**: 2px
- **Style**: no decorative borders; hierarchy from surface and space; hairline 1px var(--border) only for data rules, 2px var(--text) for a masthead rule
- **Character**: Borderless surfaces; structure comes from ground separation and inset rings; never a single coloured accent edge on a card.

## Components

### Composition

A circulating media catalog, not a dashboard: a horizontally-scanning shelf of upright disk-spine cards anchors the page; below it an index drawer on the left pairs with a wide reading pane on the right; a lending-card date table and one-line phosphor terminal lines carry circulation. The masthead nav sits openly across the header. Never three equal cards, never nested cards.

### Hierarchy

Hierarchy comes from spine scale, ink weight, status-LED state, and type roles: Oswald condensed uppercase for identity and headings, IBM Plex Sans for body, IBM Plex Mono for index codes and terminal lines. Red stays a quiet overdue tick only.

### Density

Tight 4-12px clusters inside a spine or card against broad 48-112px air between major areas — a packed crate with calm space around it.

### Signature

Disk-spine cards filed on edge with a clip-path write-protect notch, hole-punch dot, vertical Oswald label, index code, and a status LED (mint shelved / amber held / red overdue); a lending-card date table in the pocket; one-line phosphor terminal commands; the featured disk's oxide-amber magnetic stripe; a horizontally-scanning shelf you browse by edge.

## 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-019ef8c7-da2e-7a21-9561-83956611e887/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 Browse the catalog as a crate of disks on edge: each spine carries an index code, a hole-punch, a write-protect notch, and a status LED.
- Do Use oxide amber as the one highlighter for the primary action and the held state; phosphor mint for active/verified; disk-shell blue for index and info.
- Do Carry circulation in lending-card date tables and one-line terminal whispers; keep red to a quiet overdue tick.
- Do Separate surfaces with space and inset rings, not borders; keep the nav open across the header.
- Do Hold geometry to radii of 0 / 16px / 9999px and body text to 17px+ on the dark toner ground.
- Don't Don't restyle a cream manga-panel notebook page — Oxide is the dark disk-box and the spine shelf.
- Don't Don't add colour beyond the three accents and the small semantic set, or let LEDs and badges become decoration without state.
- Don't Don't nest cards, box the nav in a pill, or hang a single coloured accent edge on a card.
- Don't Don't turn the terminal into a code waterfall or use neon, matrix, HUD, or chrome theatrics.

### Accessibility

Maintain WCAG AA contrast for all core text on the dark toner ground (pale label ink on graphite), never rely on LED colour alone for state — pair it with a text badge — keep body text at 17px+, and preserve visible oxide-amber focus rings on every control.

## Imagery Direction

### Pairs With

toner-press

### Summary

Photocopied ink-and-screentone printed as a reversed negative: pale cream linework and halftone on a dark warm-graphite toner ground, with the single saturated channel held for the ferric-oxide amber magnetic coating. Subjects are shared-machine media filed and catalogued.

### Subjects

- a crate of floppy disks filed upright on edge
- an open-reel tape with exposed oxide coating
- a lending-card pocket and date stamp
- a disk drive seating a 3.5-inch floppy
- a labelled storage box of catalogued volumes

### Usage

One full-bleed hero of a crate of disks on edge; feature vignettes of single volumes with a circled index and one oxide-amber detail; keep cream margins only where a real shelf would breathe.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "oxide",
  "type": "registry:theme",
  "title": "Oxide shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#1B1A24",
      "foreground": "#EDE6D6",
      "card": "#26242F",
      "card-foreground": "#EDE6D6",
      "popover": "#26242F",
      "popover-foreground": "#EDE6D6",
      "primary": "#EDE6D6",
      "primary-foreground": "#111111",
      "secondary": "#f4f4f5",
      "secondary-foreground": "#111111",
      "muted": "#9A93A0",
      "muted-foreground": "#EDE6D6",
      "accent": "#E8915C",
      "accent-foreground": "#ffffff",
      "destructive": "#D9594C",
      "border": "#3E3A48",
      "input": "#3E3A48",
      "ring": "#E8915C",
      "chart-1": "#EDE6D6",
      "chart-2": "#f4f4f5",
      "chart-3": "#E8915C",
      "chart-4": "#79C7A8",
      "chart-5": "#E8B85C",
      "sidebar": "#26242F",
      "sidebar-foreground": "#EDE6D6",
      "sidebar-primary": "#EDE6D6",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#6E8BB5",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#3E3A48",
      "sidebar-ring": "#E8915C",
      "radius": "16px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#EDE6D6",
      "primary-foreground": "#111111",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#E8915C",
      "accent-foreground": "#ffffff",
      "destructive": "#D9594C",
      "border": "#303642",
      "input": "#303642",
      "ring": "#E8915C",
      "chart-1": "#EDE6D6",
      "chart-2": "#f4f4f5",
      "chart-3": "#E8915C",
      "chart-4": "#79C7A8",
      "chart-5": "#E8B85C",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#EDE6D6",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#E8915C",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#E8915C",
      "radius": "16px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ef8c7-da2e-7a21-9561-83956611e887",
    "slug": "oxide",
    "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",
        "display_letter_spacing",
        "google_fonts_url",
        "heading_font",
        "heading_transform",
        "heading_weight",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ],
      "radii": [
        "full",
        "lg",
        "none"
      ],
      "shadows": [
        "md",
        "ring",
        "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-lgOswald · 33px · 700

The quick brown fox jumps

headline-mdOswald · 27px · 600

The quick brown fox jumps

body-mdIBM Plex Sans · 17px · 400

The quick brown fox jumps

label-mdIBM Plex Mono · 12px · 600

The quick brown fox jumps

shadcn/ui

implementation kit

built with
remix lane

try a remix

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

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

Family

related

More like this