Design System
Design Tokens
The visual language of go_2040. Source of truth is the vendored
shared/theme-tokens.css (design-templates semantic tokens — one-place dark flip via --sem-*)
plus the runtime static/tokens.css, surfaced as Tailwind utilities through
input.css.
Brand colours
Per-website runtime vars (--brand-primary, …); the theme exposes them as utilities bg-primary / text-primary.
bg-primary · --brand-primarybg-primary-strong · --brand-primary-strongbg-surface-warm · --surface-warmSemantic surfaces & text
Role-based tokens that flip in ONE place (--sem-* under [data-theme="dark"]) — use these instead of per-element dark: variants for surfaces, text and borders. go_2040's navy text-secondary headings flip via the theme's own --secondary token.
bg-surface · page backgroundbg-surface-raised · cards, panels, dropdownsbg-surface-muted · wells, alt sections, hoverstext-heading · headings, emphasistext-ink · body texttext-ink-muted · meta, secondaryborder-edge · default borders, dividers (also divide-edge, bg-edge)border-edge-strong · emphasised borders, inputs (also divide-edge-strong)border-edge-raised · raised-surface outline (dark-only hairline)Neutral scale
The raw grey scale behind the semantic tokens above. Prefer the semantic utilities for surfaces/text/borders; reach for a raw neutral-* only where both modes intentionally share the value.
bg-neutral-50bg-neutral-100bg-neutral-200bg-neutral-300bg-neutral-400bg-neutral-500bg-neutral-600bg-neutral-700bg-neutral-800bg-neutral-900bg-neutral-950Status colours
Danger + success roles with soft alert fills — semantic light/dark tokens (v1.14.0). One class per role, no dark: variants: toggle the theme switcher and watch them flip live.
text-danger / bg-danger · errors, destructivetext-success / bg-success · confirmationsbg-danger-soft border-danger/40 text-danger · alertsbg-success-soft border-success/40 text-success · alertsTypography
Family --font-sans = Roboto, Arial, sans-serif (body); --font-display = Plus Jakarta Sans (headings).
text-xsThe quick brown fox — 0.75remtext-smThe quick brown fox — 0.875remtext-baseThe quick brown fox — 1remtext-lgThe quick brown fox — 1.125remtext-xlThe quick brown fox — 1.25remtext-2xlThe quick brown fox — 1.5remtext-3xlThe quick brown fox — 1.875remtext-4xlThe quick brown fox — 2.25remtext-5xlBrown fox — 3remWeights
font-light · 300font-normal · 400font-medium · 500font-semibold · 600font-bold · 700Border radius
rounded-smroundedrounded-mdrounded-lgrounded-xlrounded-2xlrounded-fullSignature corners
Oversized brand radii for hero / feature cards (page-builder content). Per-corner arbitrary values, e.g. rounded-tl-[96px].
rounded-tl-[64px]rounded-tl-[96px]rounded-tl-[128px]Shadows
shadow-smshadowshadow-mdshadow-lgshadow-xlshadow-2xlLayout tokens
--header-height | 80px | sticky header height / hero pull-up & sticky offsets |
--color-primary | var(--brand-primary) | brand accent (per website) |
data-theme | light · dark · system | colour mode; flips the --sem-* semantic tokens in one place (and any legacy dark: utility) |
Looking for ready-made content blocks? See the section library →
