feat(design-system): retune oklch tokens to cozy-pebble palette (#709)

Apply design audit section 13's proposed chroma/lightness values to
frontend/src/index.css. Dark-theme accents now match the audit swatches
exactly: brand 0.78 0.11 195, success 0.78 0.16 155, warning 0.82 0.14
75, destructive 0.72 0.18 20. Surface hierarchy shifts to a warm pebble
cast (hue 80, chroma 0.003 to 0.01); card anchors to the audit's
0.14 0.005 80 surface swatch; popover bumps to 0.16 to preserve the 4
percent lightness gap against card. Light theme mirrors symmetrically.

NetworkTopologyView keeps the react-flow inline-style escape hatch but
hoists the brand literal into a BRAND_COLOR constant so MiniMap and
EDGE_COLORS share one source of truth.

Also normalize em-dash comment separators to colons across index.css
and drop a duplicated dark-background literal in favor of
var(--background).
This commit is contained in:
Anso
2026-04-20 12:19:25 -04:00
committed by GitHub
parent c7dfde4b79
commit 2b499cb2c9
2 changed files with 81 additions and 80 deletions
@@ -130,8 +130,9 @@ const nodeTypes: NodeTypes = {
// React Flow's inline style objects cannot resolve CSS custom properties,
// so raw oklch values are used here as a necessary escape hatch.
const BRAND_COLOR = 'oklch(0.78 0.11 195)';
const EDGE_COLORS = [
'oklch(0.75 0.08 192)', // brand teal
BRAND_COLOR,
'oklch(0.70 0.10 150)', // green
'oklch(0.70 0.10 280)', // purple
'oklch(0.70 0.10 30)', // orange
@@ -339,7 +340,7 @@ export default function NetworkTopologyView({ onContainerClick }: NetworkTopolog
<MiniMap
className="!bg-card !border-card-border !shadow-card-bevel"
nodeColor={(node) => {
if (node.type === 'network') return 'oklch(0.75 0.08 192)';
if (node.type === 'network') return BRAND_COLOR;
return 'oklch(0.50 0 0)';
}}
maskColor="oklch(0 0 0 / 0.2)"