design(tokens): civiccore-ui/tokens/tokens.css — the suite token authority (AA-validated) - #66
Merged
Merged
Conversation
… token authority (AA-validated)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Establishes
civiccore-ui/tokens/tokens.cssas the suite's single token source of truth, dropping into the empty slot the repo already reserved (civiccore-ui/tokens/,components/,shell/were.gitkeep-only). Produced by the design collaboration; extracted from the canonical prototype (docs/design/ui-ux-prototype/styles.cssin the umbrella repo), which remains authoritative for the component layer.What's here
tokens.css— color neutrals + ink ramp, civic brand (navy/gold), status palette, type families, density metrics, radii, as documented CSS custom properties with contrast noted per token.tokens-reference.html— live palette/type/density/status reference with the contrast ledger rendered.Values are verbatim from the prototype except three documented WCAG-AA corrections
Independently re-verified every contrast ratio in the file (own WCAG 2.x computation, not the designer's numbers):
--gold#b08a2e--goldis now accent/border/large-text only--gold-2#8a6a1f--gold-strong#785b16 on--gold-soft(NEW)gold-2there is only 4.32:1)--ink-4#9aa0ab on--paperAll status pairs (ok/warn/err/info on their soft surfaces) verified AA on their own background.
Transparency notes (per the review guardrails)
.btn.goldin the prototype stub — never instantiated on the live landing page. I'll strip the dead.btn.goldrule from the landing/prototype CSS in the umbrella design PR.--err/--err-softand--neutral-softstatus tokens and the--row-h/--pad/--gapdensity metrics. These change no existing value (still "verbatim" for everything the prototype defined) and nothing consumes them yet — they round out the system for the component layer.tokens-reference.html: CivicSuite makes no outbound calls, so a design reference that phones a CDN is off-posture. It now renders in the token stack's local/fallback faces. Revert if the exact webfaces must render in the reference.Consumption (next, not in this PR)
Offline binaries can't
@importat runtime, so consumers (desktopstyles.css, the prototype) will vendor a generated copy pinned to a civiccore version, with a CI--checkdrift gate — same idiom as thesource_commitpins and the generated topology block. The umbrella PR carries the design-control amendment naming this file the token authority and the patterns doc.🤖 Generated with Claude Code