Brand and design · Stages
Design system: Shuke
Stage 2: where the system lives (tokens.css, tokens.md, base.css) and the token source.
Stage 2 of the design process (botgumi ADR-0004). The system exists and is in use by every board in the gallery;
it was chosen before the botgumi gates existed, so its design-system gate is retroactive and pending
(../README.md). This page points at the files that hold it.
- Values:
../tokens.css, the source the HTML boards use. - Explanation and the SwiftUI mapping, 1:1:
../tokens.md. - Template shape:
tokens.source.json, the same values in the four groupsdesign/check.mjsand@botgumi/design-tokensread. Generated bypython3 design/tools/tokens_source.pyfromtokens.css; the two must stay in step (--checkverifies it). Names map from the CSS custom properties:--color-accent-primary→color.accentPrimary,--space-4→space.s4,--size-cta-height→space.sizeCtaHeight,--radius-card→radius.card,--type-headline-*→typography.headline. - Components:
../base.cssand../base.js(the shared components and the viewer), with the SwiftUI component map in../ios-handoff.md.
Options shown at the gate
None were drawn as alternatives: the visual language was carried over from the product prototype and polished
(../README.md, "Visual language"). The retroactive gate reviews the system as it is.
Colour
../tokens.md §1: roles and their limits (coral only for the primary action and live recording, lime only for
rewards), text contrast on every ground, score bands that are never red, dimension and topic colours. Light and
dark values per token; the Increase Contrast overrides live only in tokens.css.
Type
../tokens.md §2: fourteen text styles mapped to iOS text styles, Avenir Next for UI and PingFang SC for article
bodies (Latin bodies switch family and leading per article language), Dynamic Type rules tested at 100, 120 and
135 %. tokens.source.json carries each style's family, size, weight and line height; the eyebrow style is
described in tokens.md only.
Space and radius
../tokens.md §3–4: the 4 pt grid (s1 to s16, gutter, section), the sizes (hit target, CTA, record button
and ring, bars, safe areas) and the radius scale (xs to xl, pill, with card = lg and button = md).
Components
../base.css holds the components; ../ios-handoff.md maps each to SwiftUI with its states. The per-screen
"Tokens used" tables in ../hifi/<ID>/screen.md are derived from the classes each board uses.
| Component | States | Tokens |
|---|---|---|
see ../ios-handoff.md |
default, pressed, disabled, loading (per component there) | derived per screen in ../hifi/<ID>/screen.md |
Motion
../tokens.md §6–7: durations, curves, the recording breath, what reduced motion turns off, and the haptic per
moment. Motion tokens have no group in tokens.source.json; they live in tokens.css and tokens.md.