The system behind the system.
Every color, type style, spacing value, motion, and radius on this site comes from Parsimony, a design system I maintain to keep every River Romney property consistent. Primitives feed the semantic layer. UI code never touches hex.
The architecture takes a cue from Unix’s small, sharp tools philosophy. Primitives hold values, semantics name roles, and components render decisions. Each layer does one thing well, and the next composes from it.
Color every hex earns its way in
--color-background-default#0A0D0A--color-background-alt#1E241E--color-background-action#4ADE6E--color-background-action-hover#3EBA5C--color-background-action-active#349B4D--color-background-disabled#1E241E--color-foreground-default#C8CFC4--color-foreground-alt#A0A89A--color-foreground-muted#8B9683--color-foreground-disabled#1E241E--color-foreground-action#4ADE6E--color-foreground-on-action#0A0D0A--color-border-default#5C685A--color-border-alt#1E241E--color-border-elevated#2E3A2E--color-border-hover#8B9683--color-border-active#A0A89A--color-border-action#4ADE6E--color-border-focus#4ADE6E--color-border-disabled#0A0D0A--color-border-muted#0F2016--color-background-success#4ADE6E--color-background-success-alt#0F2016--color-foreground-success#4ADE6E--color-foreground-on-success#0A0D0A--color-background-warning#FCD34D--color-background-warning-alt#221B08--color-foreground-warning#FCD34D--color-foreground-on-warning#0A0D0A--color-background-danger#C8002E--color-background-danger-alt#2A0A0A--color-foreground-danger#F87171--color-foreground-on-danger#FFFFFF--color-background-info#2456E4--color-background-info-alt#0D1830--color-foreground-info#93C5FD--color-foreground-on-info#FFFFFF--color-background-accent-green#0F2016--color-background-accent-blue#0D1830--color-background-accent-violet#18102E--color-background-accent-amber#221B08--color-background-accent-indigo-bold#4338CA--color-background-accent-sky-bold#0369A1--color-background-accent-green-bold#047857--color-background-accent-amber-bold#B45309--color-foreground-accent-green#4ADE6E--color-foreground-accent-blue#93C5FD--color-foreground-accent-violet#C4B5FD--color-foreground-accent-amber#FCD34D--color-foreground-accent-on-green#0A0D0A--color-foreground-accent-on-blue#0A0D0A--color-foreground-accent-on-violet#0A0D0A--color-foreground-accent-on-amber#0A0D0A--color-foreground-accent-on-indigo#FFFFFF--color-foreground-accent-on-sky#FFFFFF--color-foreground-accent-on-amber-bold#FFFFFF--color-foreground-accent-on-green-bold#FFFFFFTypography three voices, one system
--letter-spacing-display-0.01em--letter-spacing-title-0.025em--letter-spacing-body0em--letter-spacing-label0.03em--letter-spacing-all-caps0.1emSpacing 8-point base scale
4px8px12px16px24px32px48px64px80px128pxRadius
--radius-none0--radius-sm4px--radius-default8px--radius-lg12px--radius-xl16px--radius-full9999pxMotion duration + easing
--motion-duration-instant120ms--motion-duration-standard200ms--motion-duration-emphasized350ms--motion-easing-entercubic-bezier(0, 0, 0.58, 1)--motion-easing-exitcubic-bezier(0.42, 0, 1, 1)--motion-easing-movecubic-bezier(0.42, 0, 0.58, 1)--motion-easing-defaultcubic-bezier(0.25, 0.1, 0.25, 1)--motion-transition-micro120ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms--motion-transition-standard200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms--motion-transition-emphasized350ms cubic-bezier(0.42, 0, 0.58, 1) 0ms--motion-transition-move200ms cubic-bezier(0.42, 0, 0.58, 1) 0msShadow elevation, used sparingly
--shadow-none0 0 0 0 rgba(0,0,0,0)--shadow-raised0 1px 3px 0 rgba(0,0,0,0.08)--shadow-overlay0 6px 20px 0 rgba(0,0,0,0.16)--shadow-dialog0 12px 40px 0 rgba(0,0,0,0.24)Icon size under construction
Provisional — the icon system isn't finalized yet, so these sizes are placeholders and may change.
--icon-size-compact16px--icon-size-default20px--icon-size-large24px--icon-size-xl32pxEvery token above is generated at build time from Parsimony, so this page can’t drift from the source. Component-scoped tokens (badge, button, input, and so on) aren’t listed here, they live in each component’s own contract. This portfolio is the system eating its own dog food.
Back to the index or selected work.