Skip to main content

Branding

Relay Button uses the Le-Space brand system (Le-Space Brand Style Guide V1.0). The product name shown in UI, docs, and demos is Relay Button; the npm scope stays @le-space/* (renaming published packages would be a breaking change).

The lockup combines the Le-Space mark ("Der erste Knoten" — the filled Signal Coral node is your device, the hollow rings are peers) with a "Relay Button" wordmark set in JetBrains Mono Bold, converted to paths. The trailing underscore cursor in Signal Coral is the terminal motif that replaces the Le-Space hyphen accent.

Assets in docs/docusaurus/static/img/:

FileUse
relay-button-logo-horizontal-{dark,light}.svgPrimary lockup (headers, docs)
relay-button-mark-{dark,light}.svgMark solo (navbar, avatars, > 20 px)
favicon.svgSimplified favicon variant (node + one peer)

static/favicon.ico and static/apple-touch-icon.png come from the brand favicon set.

Palette​

Core (dark is the default appearance):

TokenHexUse
Deep Space#0B0E15Background
Nebula#141926Cards, panels, code blocks
Horizon#232B3DBorders, dividers
Starlight#EDF1F8Headings, primary text
Stardust#A8B3C7Body text
Comet Grey#6B7690Meta text, labels
Signal Coral#FF6B5BPrimary action — one per view
Sync Cyan#58C7F3Links, peers, sync status

Semantic: success #3EDC97, warning #FFC24B, error #FF4D6A (deliberately cooler than Signal Coral), info #58C7F3.

Light mode per style guide: background #FFFFFF, text Ink #141B2E, Coral #E8503F, Cyan #0E86C4. The widget's light-mode semantic tones (success #0F9D6A, warning #A8690A, error #D5365A) are darkened derivatives chosen for AA contrast on white; they are not defined in the style guide.

Typography​

  • JetBrains Mono — wordmark, eyebrows/labels, status badges, code, hashes.
  • Inter — headings, body text, buttons, forms.

The docs site self-hosts both via @fontsource (no CDN). The embeddable widget intentionally does not bundle font files; it declares the families with system fallbacks (ui-monospace, -apple-system, …) so host pages that load the brand fonts get the full look and everyone else gets a clean fallback.

Compact widget type scale​

The style guide's web scale (16 px body, 28 px H2) is sized for pages. The Relay Button is an embedded widget, so it uses a compact scale — a deliberate, documented deviation from the style guide:

RoleStyle guide (web)Widget
Panel title (H2)Inter Bold 28 pxInter Bold 18 px
Section (H3)Inter SemiBold 20 pxInter SemiBold 15 px
BodyInter 16 px / 1.6Inter 13 px / 1.5
Eyebrow / labelJB Mono Bold 13 px capsJB Mono Bold 10.5 px caps
Code / hashesJB Mono 14 pxJB Mono 12 px

Radii follow the guide: 10 px cards/panels, 8 px buttons and fields, 1 px Horizon borders.

Theming the widget​

Dark ("Deep Space") is the default. Light mode activates automatically below any ancestor that sets data-theme="light" (Docusaurus convention) or data-relay-theme="light".

  • Svelte: tokens live in packages/ui/src/svelte/styles/theme.css (--relay-* custom properties).
  • React: tokens are injected by the component (--rb-*); the pre-existing --le-space-sponsor-relay-* custom properties remain supported as host-page overrides.