feat: introduce mathematical type scale with single-source-of-truth typography tokens

Define a major-third (1.25) type scale as CSS custom properties in the tokens
layer (--text-2xs through --text-5xl), along with line-height (--leading-*),
font-weight (--font-*), and letter-spacing (--tracking-*) tokens. Migrate all
28 core CSS files from ad-hoc values to token references with clamp()-based
responsive scaling for headings. Add TypographyTokenContractTest to enforce
token-only usage via grep-based assertions.

Task run: UI-TYPOGRAPHY-SCALE-001

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-22 15:47:55 +01:00
parent cf8c59d3f8
commit e145b7d089
30 changed files with 390 additions and 146 deletions

View File

@@ -1,7 +1,7 @@
@layer components {
/* Form element enhancements — validation hints, color inputs, checkbox/radio labels, disabled states. */
.form-hint {
font-size: small;
font-size: var(--text-sm);
}
ul.form-hint-list {
@@ -25,19 +25,19 @@
content: "\F26B";
font-family: "Bootstrap-icons";
margin-left: 4px;
font-size: 10px;
font-size: 10px; /* icon-font metric — intentional px */
}
ul.form-hint-list li.is-invalid:after {
content: "\F33A";
font-family: "Bootstrap-icons";
margin-left: 4px;
font-size: 10px;
font-size: 10px; /* icon-font metric — intentional px */
}
label:has([type="checkbox"], [type="radio"]) {
display: flex;
line-height: 1;
line-height: var(--leading-none);
align-items: center;
}