For the agent-readable index of this site, see /llms.txt.
Discord
Discord's identity since the platform's 2015 founding has been built around the canonical Blurple and the friendly-community chassis discipline of a brand whose chrome has to host millions of voice-chat servers without feeling corporate. The chassis stays warm — rounded radii, gg-sans rhythm, blurple reserved for interactive signals — so the wordmark can carry the playful identity across both daylight marketing and dark-mode workspace registers.
Dark Edition
The voice-chat dark-mode register: the documented Discord dark canvas (a warm-tinted near-black, not pure-black), Blurple lifted to clear AA against the dark surface, the same gg-sans and rounded chrome carried verbatim from the light sibling. The atmosphere stages the canvas Discord power users inhabit for hours — same blurple identity, same chrome posture, canvas inverted. A study in how a community-chat brand carries identity across modes by holding chrome and lifting only canvas.
Install at runtime
Run this snippet in any browser console where Void Energy is loaded (or paste it into your app's bootstrap). The atmosphere registers with the engine and renders immediately as a temporary preview — it persists in the visitor's preferences only if they Apply it site-wide.
Physics: flat
Mode: dark
Live preview
Two surfaces rendered against the active atmosphere. The hero shows how the brand speaks — display type, conversion chrome, texture. The workspace below shows how it feels in the hand — focus rings, controls, toggle glide, dialog motion. The markup is identical on every brand; the atmosphere's tokens carry every difference.
Built in minutes. True to Discord.
Plain Void Energy markup, zero custom CSS — the headline's display weight and tracking, the CTA's comet and pill, and every control below are this brand's tokens doing the talking.
Workspace settings
Welcome back
Configure how you collaborate, then jump back into the channels you were active in.
Search by name or email — Combobox with descriptions.
Recent channels
Typography
Headings, body, and signal text rendered against the active atmosphere.
Typefaces
The active heading and body families — brand override first, atmosphere default second.
Heading · --font-heading
Manrope
Body · --font-body
Manrope
Heading scale
Six levels, each picking up the brand's weight, tracking, and transform tokens.
h1 — Discord
h2 — Dark Edition
h3 — Subsection
h4 — Section header
h5 — Subheading
h6 — Minor subheading
Body & secondary text
Standard reading copy and supporting metadata.
Paragraph — body typography, dim color. Standard readable text for descriptions and content.
Small — small typography, mute color. Used for captions and metadata.Caption — caption level utility class.
Brand overrides
Beyond the typeface, brand profiles can tune weight, tracking, and text-transform per
role. Display covers h1/h2, Heading covers h3/h4, Body covers paragraphs and small
text, Button covers all .btn-* labels. Anything not declared
inherits from the atmosphere's defaults.
Supported overrides & this brand's values
A brand profile can override 4 weights, 4 trackings, and 3 transforms (Body has no transform — prose never gets uppercased).
- Display weight (h1, h2) ·
--weight-display… - Display tracking (h1, h2) ·
--tracking-display… - Display transform (h1, h2) ·
--text-transform-display… - Heading weight (h3, h4) ·
--weight-heading700 - Heading tracking (h3, h4) ·
--tracking-heading… - Heading transform (h3, h4) ·
--text-transform-heading… - Body weight (p, small) ·
--weight-body… - Body tracking (p, small) ·
--tracking-body… - Button weight (.btn-*) ·
--weight-button600 - Button tracking (.btn-*) ·
--tracking-button… - Button transform (.btn-*) ·
--text-transform-button…
Palette & shape
The color palette, corner geometry, and motion curves under the active atmosphere. Atmospheres change the values; the architecture never moves.
Energy — Brand axis
The two colors that change most per atmosphere. Primary drives CTAs, focus rings, and active states. Secondary sweeps through the CTA's comet border alongside primary, tints button hover and press feedback, and — in dark mode — paints the resting toggle thumbs in the preview.
energy-primaryenergy-secondarySurfaces
Background layers from the depth model. Canvas is
the floor — sunk and spotlight are its recess and ambient variants. Surface is where floating elements live. Every tile carries --border-color at var(--physics-border-width), so the border tier is
visible on each outline.
bg-canvasbg-sunkbg-spotlightbg-surfaceSignal — Text hierarchy
Three emphasis levels for information hierarchy.
Color extensions
Two additional palettes layered on top of the five-layer system. Semantic colors hold steady by design; the data palette derives from primary, so it re-hues with every brand.
Semantic — four signal colors whose meaning never moves: success is green and error is red on every brand, so users learn them once. Premium (also the warning tier) and system (the feature accent) are the deliberately tunable pair — roughly 40 catalog atmospheres re-tune premium and 15 re-tune system when their energy hues would clash, while none move success or error.
Positive outcome
Destructive, failure
Attention, cost
Informational
Data — 8 categorical slots hue-rotated 45° per step
from --energy-primary in OKLCH, so the strip below
re-hues with every brand: cool atmospheres yield cool-leaning
palettes, warm yield warm-leaning. Use for chart series, chips,
tags, kanban columns, avatar fallbacks, and calendar categories —
anywhere unrelated-by-severity data needs distinct identity. Not for severity (data-3 means "third slot," not "success").
Auto-contrast handles text color on any bg-data-* tile.
data-1data-2data-3data-4data-5data-6data-7data-8Radii — corner geometry
All five radius levels, rendered with the active atmosphere's tokens. Brand-overridden values are emphasized.
--radius-sm 4px--radius-md 8px--radius-lg 12px--radius-xl 16px--radius-full …Motion
Brand profiles can also override the system's speeds and easing
curves. The square below uses --speed-slow and --ease-spring-snappy — both carried by the brand axis
when set, otherwise inherited from the active physics preset. Hover the demo to play.
Supported overrides & this brand's values
A brand profile can override 3 speed levels and 4 easing curves. Anything not declared inherits
from the active physics preset (glass / flat / retro). Cascade
delays (--delay-cascade, --delay-sequence) are physics-only and not part of
the brand axis.
- Fast ·
--speed-fast… - Base ·
--speed-base… - Slow ·
--speed-slow… - Flow ·
--ease-flow… - Spring (gentle) ·
--ease-spring-gentle… - Spring (snappy) ·
--ease-spring-snappycubic-bezier(0.34, 1.56, 0.64, 1) - Spring (bounce) ·
--ease-spring-bounce…