Intent

Canonical design tokens for every EdgeBits surface: the marketing site (website/), Edge UI (edge/ui/), Edge Manager UI (edge-manager/ui/), and the docs site (docs/). One typography system, one primary color, one neutral scale. Product surfaces differ only in a secondary complement used sparingly (top rule, icon tint) — the 90% of every page is shared.

Stance: Industrial, editorial, not AI-template. No glassmorphism, no mouse-follow gradients, no emoji, no section-tag pills.

Logo

The mark is Σθ — capital sigma and lowercase theta, typeset in Roboto Mono 500 at tight tracking (-0.04em). Mono, not proportional — reads as "terminal-rendered" and reinforces the code-centric industrial brand. Uses the same mono stack already loaded for code, so no extra font dependency. Wordmark and body stay on Plus Jakarta Sans.

Meaning: Σ is the aggregate operator — an edge node sums sensor readings. θ is a parameter, a bit of state. Together: aggregate of parameters — literally what the product does. Color is always --brand-primary via currentColor, so it auto-swaps light/dark with no separate asset.

Σθ Canonical mark

Size variants

Scales via font-size — no raster assets, no DPI thresholds. Live text, pixel-perfect at every size because it's the typeface doing the work.

Σθ14px — nav
Σθ20px — UI
Σθ28px — header
Σθ48px — section
Σθ72px — hero

Lockups

Mark only
Mark + wordmark
Mark + wordmark + product suffix

Product suffixes

Suffix sits after a thin divider in Roboto Mono 12/400, muted. Names are sentence-cased, not uppercase.

On surface tints

Mark color swaps with theme automatically. In dark mode, the mark shifts to teal-400 for AA contrast — no separate asset needed.

--bg
--bg-subtle
--bg-card

Color

Primary deep teal shared across all products. Each product adds a complement used only for a 3px top rule, icon accent, or chart highlights — never as dominant UI color.

Brand primary

Primary
#0f766e
--brand-primary
Primary hover
#115e59
--brand-primary-hover
Primary soft
rgba(.., 0.08)
--brand-primary-soft

Product complements

Industrial material references — not AI-template colors. Used sparingly as a 3px top rule, icon tint, or chart highlight. Never as dominant UI color. 90%+ of every product surface remains shared (teal + neutral). The complement is a 5-second signal to tell you which product you're in.

Edge Node
#475569 — slate-600 (steel)

On-prem, shop floor, machine-adjacent. Graphite/steel feel.

Edge Manager
#0e7490 — cyan-700 (deep water)

Supervisory, fleet oversight. Same hue family as teal primary — cooler, deeper.

Analytics
#9a3412 — orange-800 (sienna/rust)

Insights, reports. Warm industrial — kiln, rust, earth. Not amber, not neon.

Neutral scale

Bg
#fafaf8
--bg
Bg subtle
#f2f1ee
--bg-subtle
Bg card
#ffffff
--bg-card
Border
#e5e3de
--border
Text
#1a1a1a
--text
Text secondary
#5c5c5c
--text-secondary
Text muted
#8a8a8a
--text-muted

Semantic

OK / healthy
#2d8659
--ok
Warn
#b45309
--warn
Error
#c53030
--err

Typography

Plus Jakarta Sans for everything UI (400 / 500 / 600 / 700 / 800). Roboto Mono for code, CLI output, and numeric data (400 / 500). No third font.

display-h1 · 48/700 · -0.04em
Connect your factory floor to SAP.
display-h2 · 32/700 · -0.03em
Ingest. Transform. Egress.
display-h3 · 22/600 · -0.02em
Rules & alerts
body · 16/400 · 1.6
Connectors publish to the Unified Namespace. Pipelines subscribe, transform, and fan out to egresses.
small · 13/400
Monitored every 30 seconds · last sync 2m ago
mono · Roboto Mono 400
edgebits-edge pipeline list --output json

Components

Minimal component vocabulary. Borders over shadows. Radius 6px for controls, 10px for cards.

Buttons

Tags

default primary healthy degraded offline

Tokens (copy-paste into :root)

Light mode defaults. Dark mode overrides live under [data-theme="dark"] — see the <style> block at the top of this file for both.

/* Brand primary (shared across all products) */
--brand-primary:       #0f766e;  /* teal-700 */
--brand-primary-hover: #115e59;  /* teal-800 */
--brand-primary-soft:  rgba(15, 118, 110, 0.08);

/* Product complements (industrial materials — sparingly: 3px top rule, icon tint, chart highlight) */
--brand-edge:           #475569;  /* slate-600 — steel */
--brand-manager:        #0e7490;  /* cyan-700 — deep water (teal family) */
--brand-analytics:      #9a3412;  /* orange-800 — sienna/rust (not amber) */

/* Neutral (warm) */
--bg:              #fafaf8;
--bg-subtle:       #f2f1ee;
--bg-card:         #ffffff;
--border:          #e5e3de;
--text:            #1a1a1a;
--text-secondary:  #5c5c5c;
--text-muted:      #8a8a8a;

/* Typography */
--font-sans: 'Plus Jakarta Sans', system-ui, sans-serif;
--font-mono: 'Roboto Mono', 'SF Mono', monospace;

/* Radius */
--radius-sm: 4px;
--radius:    6px;
--radius-lg: 10px;