Foundations
The design tokens every component reads — brand, color, type, spacing, elevation, motion. The true cross-platform layer: these values emit CSS today and a Dart ThemeData for Flutter later.
color: var(--sg-brand);CSS custom properties in tokens/, imported raw by both submodule consumers.
Theme.of(context).extension<StoaTokens>()!.brandThe same token values emit a Dart ThemeData / ThemeExtension via a Style Dictionary transform (ADR-0008). One source, two outputs.
Brand
Stoa Games is a product in the Stoa family on the EPM Labs foundation. The accent is jade; the neutrals are a warm ivory family. Brass (the former orange) survives as a secondary accent.
Logo sizes
Color
Brand + semantic + surface tokens. Toggle the theme to see the light-mode set (AA-tuned).
Brand
Semantic
Surfaces & text (current theme)
Typography
Clash Display for headings, Inter for body, Instrument Serif for accents, JetBrains Mono for code. Major-third scale.
--sg-font-glyph · game-piece symbols only, 22 codepoints and no ASCII (#12)Spacing & radius
8px base grid. Radii from 4px to 24px plus full.
Radius
Elevation
Four elevation shadows plus a brand glow for primary surfaces.
Motion
150–500ms durations, default + spring easings. Respects prefers-reduced-motion.