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

@@ -67,14 +67,14 @@
border-radius: 10px;
background: var(--tile-icon-bg);
color: var(--tile-icon-color);
font-size: 1.1rem;
font-size: var(--text-lg);
}
.app-tile-count {
position: absolute;
top: calc(var(--app-spacing) * 1);
right: calc(var(--app-spacing) * 1);
font-weight: 700;
font-weight: var(--font-bold);
color: var(--tile-count-color);
}
@@ -93,7 +93,7 @@
right: calc(var(--app-spacing) * 1);
bottom: calc(var(--app-spacing) * 1);
color: var(--tile-link-color);
font-size: 0.9rem;
font-size: var(--text-sm);
}
.app-tile.is-small {
@@ -106,7 +106,7 @@
width: 25px;
height: 25px;
border-radius: 6px;
font-size: 12px;
font-size: 12px; /* icon-font metric — intentional px */
margin-right: 10px;
}
@@ -121,14 +121,14 @@
}
.app-tile.is-small .app-tile-label {
margin-top: 0;
font-weight: 400;
font-weight: var(--font-regular);
}
.app-stats-table-header {
border-bottom: 1px solid var(--app-border);
padding: 4px 10px 4px 10px;
text-transform: uppercase;
font-size: 13px;
font-size: var(--text-sm);
letter-spacing: 0.4px;
background: var(--app-blockquote-background-color);
}