Loxihart SignalSignal Design System

LOXIHART SIGNAL · DESIGN SYSTEM v1.2

Restrained chrome. Theatrical stage.

Three-tier design tokens, tree-shakeable CVA primitives, bespoke 1.55px effect glyphs, and automated contrast and bundle governance for Loxihart Signal Studio, Share, Connect, and 3D Lab.

WCAG 2.2 AA Semantic Contrast Matrix

Computed directly from src/design-system/tokens.json during npm run tokens:build.

Min 4.5:1
Aa · 01:60fps18.78:1
Primary text on Canvas#f4f8fb on #06080bAAA PASS
Aa · 01:60fps18.00:1
Primary text on Surface#f4f8fb on #0b0f14AAA PASS
Aa · 01:60fps10.74:1
Secondary text on Surface#b7c3d0 on #0b0f14AAA PASS
Aa · 01:60fps6.61:1
Muted text on Surface#8a99aa on #0b0f14AA PASS
Aa · 01:60fps6.74:1
Muted text on Quiet well#8a99aa on #080c11AA PASS
Aa · 01:60fps17.89:1
Primary action Ink on Cyan surface#071016 on #e9faffAAA PASS
Aa · 01:60fps11.58:1
Brand Cyan signal on Surface#61d8f5 on #0b0f14AAA PASS
Aa · 01:60fps12.86:1
Online Emerald on Quiet chip#6ee7b7 on #080c11AAA PASS
Aa · 01:60fps13.09:1
Danger Coral text on Error banner#fecaca on #1a0d10AAA PASS

Three-Tier Token Registry (96)

Primitive palette values feed semantic roles, which feed component-scoped tokens.

TierCSS Custom PropertyResolved ValueSource / AliasCopy
primitive--ds-primitive-color-obsidian-600#15252bliteral
primitive--ds-primitive-color-obsidian-650#111111literal
primitive--ds-primitive-color-obsidian-700#10161dliteral
primitive--ds-primitive-color-obsidian-750#0e1720literal
primitive--ds-primitive-color-obsidian-800#0b0f14literal
primitive--ds-primitive-color-obsidian-825#091017literal
primitive--ds-primitive-color-obsidian-850#080c11literal
primitive--ds-primitive-color-obsidian-900#06080bliteral
primitive--ds-primitive-color-obsidian-925#05090eliteral
primitive--ds-primitive-color-obsidian-950#030509literal
primitive--ds-primitive-color-slate-50#f4f8fbliteral
primitive--ds-primitive-color-slate-200#b7c3d0literal
primitive--ds-primitive-color-slate-300#a2b3bbliteral
primitive--ds-primitive-color-slate-400#8a99aaliteral
primitive--ds-primitive-color-slate-500#6f7b8bliteral
primitive--ds-primitive-color-slate-700#3a4a5bliteral
primitive--ds-primitive-color-slate-750#263744literal
primitive--ds-primitive-color-slate-800#26313eliteral
primitive--ds-primitive-color-cyan-50#e9faffliteral
primitive--ds-primitive-color-cyan-200#b9eef4literal
primitive--ds-primitive-color-cyan-400#61d8f5literal
primitive--ds-primitive-color-cyan-950#071016literal
primitive--ds-primitive-color-emerald-300#6ee7b7literal
primitive--ds-primitive-color-coral-200#fecacaliteral
primitive--ds-primitive-color-coral-300#fca5a5literal
primitive--ds-primitive-color-coral-950#1a0d10literal
primitive--ds-primitive-color-brass-300#d5c29eliteral
primitive--ds-primitive-font-sans'Manrope', ui-sans-serif, system-ui, sans-serifliteral
primitive--ds-primitive-font-mono'IBM Plex Mono', ui-monospace, monospaceliteral
primitive--ds-primitive-radius-xs8pxliteral
primitive--ds-primitive-radius-sm10pxliteral
primitive--ds-primitive-radius-md14pxliteral
primitive--ds-primitive-radius-lg16pxliteral
primitive--ds-primitive-radius-pill999pxliteral
primitive--ds-primitive-space-14pxliteral
primitive--ds-primitive-space-28pxliteral
primitive--ds-primitive-space-312pxliteral
primitive--ds-primitive-space-416pxliteral
primitive--ds-primitive-space-520pxliteral
primitive--ds-primitive-space-624pxliteral
primitive--ds-primitive-space-728pxliteral
primitive--ds-primitive-space-832pxliteral
primitive--ds-primitive-size-touch-min44pxliteral
primitive--ds-primitive-size-action-md48pxliteral
primitive--ds-primitive-size-action-lg52pxliteral
primitive--ds-primitive-motion-fast150msliteral
primitive--ds-primitive-motion-base165msliteral
primitive--ds-primitive-motion-ease-standardcubic-bezier(0.2, 0, 0, 1)literal
semantic--ds-semantic-bg-canvas#06080bprimitive.color.obsidian.900
semantic--ds-semantic-bg-stage#030509primitive.color.obsidian.950
semantic--ds-semantic-bg-hybrid#05090eprimitive.color.obsidian.925
semantic--ds-semantic-surface-default#0b0f14primitive.color.obsidian.800
semantic--ds-semantic-surface-raised#10161dprimitive.color.obsidian.700
semantic--ds-semantic-surface-quiet#080c11primitive.color.obsidian.850
semantic--ds-semantic-surface-band#111111primitive.color.obsidian.650
semantic--ds-semantic-surface-hybrid#091017primitive.color.obsidian.825
semantic--ds-semantic-border-subtle#26313eprimitive.color.slate.800
semantic--ds-semantic-border-strong#3a4a5bprimitive.color.slate.700
semantic--ds-semantic-border-accent#61d8f5primitive.color.cyan.400
semantic--ds-semantic-border-hybrid#263744primitive.color.slate.750
semantic--ds-semantic-text-primary#f4f8fbprimitive.color.slate.50
semantic--ds-semantic-text-secondary#b7c3d0primitive.color.slate.200
semantic--ds-semantic-text-muted#8a99aaprimitive.color.slate.400
semantic--ds-semantic-text-inverse#071016primitive.color.cyan.950
semantic--ds-semantic-accent-surface#e9faffprimitive.color.cyan.50
semantic--ds-semantic-accent-signal#61d8f5primitive.color.cyan.400
semantic--ds-semantic-accent-brass#d5c29eprimitive.color.brass.300
semantic--ds-semantic-status-online#6ee7b7primitive.color.emerald.300
semantic--ds-semantic-status-danger#fca5a5primitive.color.coral.300
semantic--ds-semantic-status-danger-text#fecacaprimitive.color.coral.200
semantic--ds-semantic-status-danger-bg#1a0d10primitive.color.coral.950
component--ds-comp-button-primary-bg#e9faffsemantic.accent.surface
component--ds-comp-button-primary-text#071016semantic.text.inverse
component--ds-comp-button-primary-border#61d8f5semantic.border.accent
component--ds-comp-button-secondary-bg#080c11semantic.surface.quiet
component--ds-comp-button-secondary-text#f4f8fbsemantic.text.primary
component--ds-comp-button-secondary-border#3a4a5bsemantic.border.strong
component--ds-comp-button-min-height48pxprimitive.size.actionMd
component--ds-comp-button-radius14pxprimitive.radius.md
component--ds-comp-panel-bg#0b0f14semantic.surface.default
component--ds-comp-panel-border#26313esemantic.border.subtle
component--ds-comp-panel-radius16pxprimitive.radius.lg
component--ds-comp-tile-bg#080c11semantic.surface.quiet
component--ds-comp-tile-active-bg#10161dsemantic.surface.raised
component--ds-comp-tile-border#26313esemantic.border.subtle
component--ds-comp-tile-active-border#61d8f5semantic.border.accent
component--ds-comp-tile-radius14pxprimitive.radius.md
component--ds-comp-chip-bg#080c11semantic.surface.quiet
component--ds-comp-chip-active-bg#e9faffsemantic.accent.surface
component--ds-comp-chip-active-text#071016semantic.text.inverse
component--ds-comp-chip-radius999pxprimitive.radius.pill
component--ds-comp-badge-height44pxprimitive.size.touchMin
component--ds-comp-badge-radius999pxprimitive.radius.pill
component--ds-comp-hybrid-option-bg#0e1720primitive.color.obsidian.750
component--ds-comp-hybrid-option-active-bg#15252bprimitive.color.obsidian.600
component--ds-comp-hybrid-muted-text#a2b3bbprimitive.color.slate.300