Migrated from Claude Design

This commit is contained in:
Zachary Levy
2026-07-29 13:49:23 -07:00
parent be12d33fde
commit 96fc643cb7
37 changed files with 3888 additions and 2 deletions
+225
View File
@@ -0,0 +1,225 @@
# Cybersteel Design System
## Overview
**Cybersteel** is a retrofuturist design system built in direct opposition to modern "fluffy, bloated, web slop" software. It channels the excitement and optimism of early computing — the era when a computer felt like a portal to the future, not a distraction machine.
The system is grounded in three technical principles:
- **Rock-solid reliability** — nothing crashes, flickers, or stutters
- **High performance** — things load instantly, no layout shifts, no spinner theatre
- **Radical directness** — do not waste the user's time; get the job done and get out of the way
The visual language is a direct expression of these values. It is not decoration for its own sake — every visual choice maps to a technical or philosophical intent.
**Retrofuturist inspirations:**
- Art Deco (1920s40s): geometric precision, gold ornament, symmetry, angular forms
- Gruvbox color theme: warm dark backgrounds, muted earth tones, vivid accent colors
- Fallout game series: amber CRT glow, terminal aesthetics, atomic-age optimism
**Sources provided:** None (this design system was created from description only). No Figma links, codebases, or existing assets were supplied.
---
## CONTENT FUNDAMENTALS
### Voice & Tone
- **Direct, imperative, technical.** Address the user as a capable adult. No hand-holding.
- **Second person ("you"), present tense.** "Your build failed." Not "It looks like there may have been an issue with your build."
- **No filler words, no exclamation points, no emoji.** Cybersteel copy never says "Great job!" or "Looks like something went wrong 😬"
- **Sparse.** Every word must earn its place. Delete the adjectives. Delete "currently." Delete "simply."
- **Confident.** No hedging ("might," "perhaps," "it seems"). State facts.
- **Technical vocabulary is welcomed**, not dumbed down. Users are professionals.
### Casing
- UI labels: **Title Case** for navigation, **Sentence case** for body, **ALL CAPS** for status indicators and section headers
- Headings: Title Case preferred at H1/H2, sentence case for H3+
- Buttons: ALL CAPS or Title Case, never mixed
### Examples of Good Cybersteel Copy
- `BUILD COMPLETE — 1.4s` ✓ vs. `Your build finished successfully!`
- `No results.` ✓ vs. `Hmm, we couldn't find anything matching that query 🔍`
- `Access denied.` ✓ vs. `Oops! It looks like you don't have permission to view this.`
- `47 errors. Fix them.` ✓ vs. `There are some issues we need to address together 😅`
### What Cybersteel Never Says
- "Oops", "Whoops", "Uh oh", "Hmm"
- "We're working on it", "Bear with us"
- "Looks like...", "It seems like..."
- "Please don't hesitate to..."
- Emoji of any kind in product UI
---
## VISUAL FOUNDATIONS
### Color
Based on the Gruvbox palette — warm, dark, earthy. Not cool blue-grey like modern dark modes. The warmth evokes old paper, amber screens, and aged metal.
- **Backgrounds:** Very dark warm browns/blacks. Not pure `#000000` — always warm.
- **Foreground:** Warm cream/ivory, never pure white
- **Accent — Gold:** The signature color. Art Deco gold, amber terminal glow. Used sparingly: borders, highlights, interactive states.
- **Accent — Red:** Danger, errors, critical alerts
- **Accent — Green:** Success, safe, complete
- **Accent — Blue/Teal:** Info, links, cool technical elements
- **Accent — Orange:** Warnings, in-progress, hot paths
- **All accent colors** have a dim (bg-facing) and bright (fg-facing) variant
See `styles.css` for all tokens.
### Typography
**Primary brand typeface: IBM Plex Sans.** Used for display, body, and condensed roles by default. Self-hosted from `/fonts` (woff2). Weights available: 300, 400, 500, 600, 700 (plus 300/400/500 italic). SIL OFL — free for commercial and embedded use.
**Primary monospace: IBM Plex Mono.** Used for `--font-mono` — code, terminal output, data values, timestamps, and any tabular or log-like content where character alignment matters. Same designer, same skeletal proportions, so it sits cleanly next to Plex Sans on the same screen. Same weights, same license, same self-hosting.
Three semantic roles:
- **Display (`--font-display`):** Titles, hero text, section headers. → Plex Sans, 600700 weight, ALL CAPS with wide tracking at H1/H2.
- **Body (`--font-body`, also `--font-condensed`):** UI text, labels, descriptions, prose. → Plex Sans, 400500.
- **Mono (`--font-mono`):** Code, terminal output, data values, timestamps. → Plex Mono.
#### Mono mode (opt-in)
For surfaces where the terminal aesthetic IS the point — consoles, status dashboards, IDE-like internal tools, hardware-grade hero moments — flip the whole surface into Plex Mono with the `.mono-mode` class. Display, body, and condensed all resolve to Plex Mono; structural CSS is unchanged.
```html
<body class="mono-mode"></body>
```
Or scope it manually:
```css
:root { --font-display: var(--font-mono); --font-body: var(--font-mono); --font-condensed: var(--font-mono); }
```
Do not introduce Orbitron, Barlow, Share Tech Mono, or any other family. If something looks like it needs a different typeface, the answer is weight, size, tracking, casing — or a deliberate switch to Mono mode for the whole surface.
Type scale is based on a 1.25 modular ratio. Minimum body size: 14px (web), 12pt (print).
### Spacing
8px base grid. All spacing tokens are multiples of 4px, with the main scale in multiples of 8px.
### Backgrounds
- Default: dark warm bg, no images
- Feature sections: translucent gradient overlays (warm amber/gold tints at low opacity, ~512%)
- Cards: slightly lighter bg than page, with a 1px warm border
- NO full-bleed photography unless explicitly specified
- Subtle geometric Art Deco texture possible via CSS (repeating-linear-gradient patterns)
- Scan line overlays at very low opacity (~35%) acceptable for terminal-style elements
### Gradients
- Simple, translucent, warm-toned
- Direction: top-to-bottom or diagonal (135deg)
- Used as overlays, not solid fills
- Colors: gold/amber → transparent, or bg-dark → bg-darker
- Never rainbow, never cool-toned, never noisy
### Borders
- **1px solid** is the standard — always visible, always crisp
- Color: `--border` (warm mid-grey) for structural, `--gold-dim` for decorative/Art Deco accents
- **Hairline Art Deco ornament:** thin double-line borders (`border-bottom: 1px + offset`) for headings
- Corner radius: **04px** max. Sharp corners preferred. Cybersteel does not round its corners like a toy.
### Cards
- `background: --bg-active` (one step lighter than page)
- `border: 1px solid --border`
- `border-radius: 2px`
- Subtle inner shadow on hover: `inset 0 0 0 1px --gold-dim`
- No drop shadows — flat, structural, mechanical
### Animation & Motion
- **Fast and purposeful.** No decorative animations.
- Transitions: `150ms ease-out` (UI state changes), `80ms linear` (cursor/immediate)
- No bounce, no spring, no elastic
- No enter/exit animations on simple UI elements
- Allowed: fade-in on modals/overlays (`200ms ease`), scanline flicker on terminal elements
- Hover: color shift only — no scale, no float, no glow explosion
### Hover & Press States
- **Hover:** text/icon brightens (fg2 → fg1 → fg0 progression), border lightens
- **Press/Active:** slight background darken (`bg1 → bg0`), border becomes gold
- **Focus:** 1px gold outline, 2px offset — crisp, not blurry
- No `box-shadow: 0 0 20px gold` glow effects
### Iconography
- Geometric, minimal, monochromatic
- Stroke-based (not filled)
- Lucide Icons (CDN) as primary icon set — closest to the aesthetic
- No emoji in UI; unicode geometric characters (▶ ■ ◆ ▲) acceptable as decorative elements
- See ICONOGRAPHY section below
### Imagery
- Minimal imagery in UI
- When used: high contrast, desaturated or warm-toned, grain optional
- No stock photo cheerfulness
- Amber/sepia toning preferred
### Transparency & Blur
- `backdrop-filter: blur()` used sparingly — overlays/modals only
- Translucent surfaces: `background: rgba(var(--bg-surface-rgb), 0.85)`
- Never used purely decoratively
### Layout
- Fixed sidebar widths (e.g. 240px, 280px)
- 8-column or 12-column grid for content areas
- Generous whitespace within dense information — breathe between groups, not within them
- Fixed header/nav is acceptable; sticky sidebars acceptable
- No carousels, no infinite scroll decorativeness
---
## ICONOGRAPHY
**Primary set:** Lucide Icons (`https://unpkg.com/lucide@latest/dist/umd/lucide.min.js`)
- Stroke-based, 24px grid, 1.5px stroke weight by default
- Matches the precise, geometric character of the design system
- Scale to 16px (compact), 20px (default), 24px (prominent)
- Color: inherit from text context — no separate icon colors unless semantic (red for error, etc.)
**Substitution flag:** No custom icon font was provided. Lucide is used as the nearest available match. If Cybersteel has a proprietary icon set, replace Lucide references in `ui_kits/` and update this section.
**Supplementary unicode glyphs (Art Deco ornament):**
- `◆` `◇` — diamond separator
- `▸` `▾` — directional indicators
- `■` `□` — toggle/status squares
- `═` `║` `╔` `╗` `╚` `╝` — box-drawing for terminal chrome
- `·` — interpunct as list separator
**Never use emoji in product UI.**
---
## FILE INDEX
```
README.md ← This file
SKILL.md ← Agent skill definition
styles.css ← All CSS custom properties (colors, type, spacing, effects)
assets/
texture-scanline.svg ← Scanline texture overlay
preview/
colors-base.html ← Base background/foreground palette
colors-accents.html ← Accent color swatches
colors-semantic.html ← Semantic color roles
type-display.html ← Display typeface specimen (Plex Sans)
type-body.html ← Body type scale (Plex Sans)
type-mono.html ← Monospace / terminal specimen (Plex Mono)
type-sans.html ← Sans vs. Mono mode comparison
spacing-tokens.html ← Spacing scale
borders-radius.html ← Border styles and radius tokens
shadows-elevation.html ← Shadow system
components-buttons.html ← Button variants and states
components-inputs.html ← Form input states
components-cards.html ← Card components
components-badges.html ← Badges and status indicators
components-nav.html ← Navigation patterns
ui_kits/
app/
README.md ← UI kit notes and component list
index.html ← Interactive app prototype
Layout.jsx ← Shell: sidebar + topbar + content area
Terminal.jsx ← Terminal/console component
DataTable.jsx ← Dense data table
StatusBar.jsx ← Bottom status bar
CommandPalette.jsx ← Keyboard-driven command palette
```