Bubbletea TUI
A terminal-native design system: rounded Lip Gloss borders, monospace type, and ANSI neon on blue-black. Every value below is a CSS custom property, so the navbar theme toggle repaints the whole page without a single component knowing which theme it is in.
Colour
Deep blue-black surfaces carrying neon foreground. Purple and hot pink anchor the brand; cyan and mint supply the Tron edge; gold and coral cover warning and danger.
Brand
--charm-purple--charm-pink--charm-fuchsia--neon-lilacNeon / status
--neon-cyan--neon-mint--neon-gold--neon-coralSurfaces
--bg-void--bg-terminal--bg-surface--bg-surface-2Text
--text-bright--text-body--text-muted--text-dimType
Monospace throughout — that is the brand, not a code-block choice. JetBrains Mono is the workhorse, Space Mono the display voice, Silkscreen the pixel accent. Hierarchy comes from weight, size and colour, never from switching to a proportional face.
--text-3xlDisplay--text-xlTitle--text-mdHeading--text-baseBody copy--text-smUI label--text-xsHint text--font-pixel// PIXEL EYEBROWBadges
The chip recipe is the same everywhere: a low-alpha wash of the hue, the hue itself as text, and a hairline border at partial alpha — mixed with color-mix so one definition tracks the base colour through a theme flip.
Status
Severity
Priority
RFC 2119 level / domain / date
RFC 2119 keywords
Highlighted in place inside spec prose, so obligation is visible while scanning rather than only when reading. Coral for the absolute, gold for the strong default, cyan for the genuinely optional.
The daemon MUST reject an unauthenticated attach, SHOULD log the attempt with its source address, and MAY rate-limit repeat offenders.
Metadata strip and requirements
FieldGroup is the readout strip at the top of every ADR. RequirementBox is a Lip Gloss rounded panel that turns cyan and glows when you link straight to it — the :target state below is what a shared anchor lands on.
Cross-references
Bare ADR-0001 / SPEC-0001 mentions in prose become chips automatically, with the artifact's emoji. Text already inside a link or inline code is left alone, so nothing gets double-linked.
Supersedes 📝 ADR-0001 and implements SPEC-0001.
Consequence keywords
MADR consequence bullets are colour-coded by their leading word, so the shape of a decision's trade-offs is legible before you read any of them.
- Good, because one language end-to-end means the wire contract is defined once.
- Neutral, because the browser stack is community packages rather than core.
- Bad, because the ecosystem is small and the tooling is thin.