Parvez Kose/Design System / Colors

Parvez Kose · Design System

Palette — wines, earth, ivory, black
01 · Accent system — V2 dark variant

White / warm-white carries 70% of text on dark. These five tokens handle the remaining 30%. Each has a specific job — never swap roles.

#E2725B
Terracotta
Primary signal
--accent-primary

Signal color. Active states, hover lines, selected nav indicators, CTA borders, thin accent rules above headings. The loudest color in the system.

#C4A000
Golden
Highlight · 1 per view
--accent-golden

Microscopic highlights only. Terminal cursor, “new” badge, one underline per screen max. Reserved to avoid the red+gold “luxury hotel” problem.

#C8AD8F
Latte
Muted · glue
--accent-muted

The glue. Metadata text (dates, captions, read times), card borders at 15% opacity, section divider lines. Warm neutral that replaces every cold gray.

#A9333C
Crimson
Medium wine
--accent-crimson

Medium wine. Overlay card borders, protection gradients over the shader, pullquote side-rules. Visible against dark where burgundy disappears, but not as loud as terracotta.

#800020
Burgundy
Structural only
--accent-structural

Spatial warmth only. Hover fill backgrounds, thick gradient dividers, bullet dots. Never for text or thin lines — too low contrast. Creates depth, not signal.

Proportion in a typical view
Base · 3×
Terra · 1×
Gold .5×
Latte .8×
Crimson .6×
Burgundy .7×
Contrast ladder · against #0A0A0A
TokenSampleRatioStatus
Terracotta
The quick brown fox
4.5 : 1
✓ Text-safe
Golden
The quick brown fox
4.1 : 1
✓ Text-safe
Latte
The quick brown fox
5.2 : 1
✓ Text-safe
Crimson
The quick brown fox
3.2 : 1
Structural only
Burgundy
The quick brown fox
2.1 : 1
Structural only
02 · Wines · the red spine

Derived from the volcanic shader's valleys and peaks. The wines drive atmosphere; they are rarely used as fills. Expect them in the shader, in the `oxblood → port → noir` gradient behind hero cards, and in editorial underlines.

Crimson
Garnet
Wine
Burgundy
Claret
Cabernet
Oxblood
Port
Noir
Abyss
#DC143C
Crimson
--wine-crimson
#B21E35
Garnet
--wine-garnet
#9B111E
Ruby
--wine-ruby
#722F37
Wine
--wine-wine
#800020
Burgundy
--wine-burgundy
#6F2232
Claret
--wine-claret
#5E1224
Cabernet
--wine-cabernet
#7B3F52
Merlot
--wine-merlot
#4E0707
Oxblood
--wine-oxblood
#3C0014
Port
--wine-port
#2C0010
Noir
--wine-noir
#1A0005
Abyss
--wine-abyss
03 · Warm earth · accent swatches

White / warm-white carries 70% of text on dark. These handle the remaining 30% — tags, rules, hover states, CTA borders. Terracotta is primary. Golden is reserved (one per screen). Never fill pills solid.

#E2725B
Terracotta
--accent-terracotta
#B7410E
Rust
--accent-rust
#9F381D
Cognac
--accent-cognac
#C04000
Chili
--accent-chili
#C4A000
Golden
--accent-golden
#C54B6C
Mulberry
--accent-mulberry
04 · Wood tones
#4C3024
Mahogany
--wood-mahogany
#5C4033
Walnut
--wood-walnut
#6F4E37
Coffee
--wood-coffee
#685542
Grizzly
--wood-grizzly
05 · Neutrals · the ivory/linen terrain

Warm, paper-like. Replaces cool gray. Latte is the secondary muted color on dark (metadata, card borders at 15%). Ivory/linen/cream appear as hero-card fills and blog body tint.

#FFFFF0
Ivory
--neutral-ivory
#FFFDD0
Cream
--neutral-cream
#FAF0E6
Linen
--neutral-linen
#F5F5DC
Beige
--neutral-beige
#F7E7CE
Champagne
--neutral-champagne
#EFDECD
Almond
--neutral-almond
#C3B091
Khaki
--neutral-khaki
#C8AD8F
Latte
--neutral-latte
06 · Anchor
#000000 · --neutral-black
Black is the structural anchor. Immersive page body sits on --im-bg (#0a0a0a) — not pure black — so the shader can dip into truer black in its valleys. Borders use --im-border (#2a2520), warm-tinted, not cool gray.
07 · Accents in use
Section header · Terracotta rule
Selected works
A short terracotta bar above a heading signals sections without needing color-heavy backgrounds.
Tags — 12% fill + same-color text
React WebGL Design systems
Low-opacity fills. Never solid pills on dark.
Overlay card on shader
Generative UI prototype
2025 — Design engineering
Terracotta hairline + latte metadata add warmth. Never a solid-black pill.
Single-use golden underline
Poetry in the shell, rigor in the stack.
One golden underline per screen, max.
08 · Color tokens from shader background

A second, complementary naming layer — material-indexed tokens that describe the terrain itself. Used at the stylesheet layer; the Accent system above drives UI.

SwatchTokenValueRole
--bgbasalt-950Page background
--surfaceobsidian-900Cards, panels
--bordercharcoal-800Dividers, card borders
--fg-stronglinen-100H1 / display
--fglinen-200Primary prose
--fg-mutedlinen-300Secondary
--fg-metaash-400Meta, captions
--accentcrimson-600One per view
--focus-ringcrimson-500Focus / hover accent
09 · Rules of engagement