You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
chore(frontend): add typography foundation (line-height, heading scale, font inherit) #741
The typography foundation is missing: no body line-height, no base heading scale, form controls do not inherit the font, and about 25 literal font sizes are in use.
No base h1-h6 scale; about 20 contextual heading rules.
Form controls lack font: inherit, so .form-group inputs render at 13.33px while buttons are 14px.
25 distinct literal font sizes, 9 of them in the 12.5-15px band; bold and 600/700 are mixed.
Failure scenario
Source-level finding (not verified live). Inputs and adjacent buttons render at different sizes, body text is cramped, and heading sizes depend on which page-specific rule matches.
User impact
All users: uneven text rhythm and size across forms and pages.
Suggested fix
body { line-height: var(--cudly-lh-normal) }, button, input, select, textarea { font: inherit }, a 5-step heading scale on the existing --cudly-fs-* tokens, and replace literal sizes with the tokens.
Screenshots
None (source-level finding).
Severity
Medium: visual polish and consistency debt, no functional impact.
Reviewer ID: VIS-12 (vis M6)
Found by the 2026-10-08 review fleet.
Status update (2026-10-27, checked against main at 7b86e38): What is left is frontend UI work, which cristim owns, so no PR from us.
Many off-scale literal font sizes are still in the styles (0.85rem x31, 0.9rem x26, 0.8rem x19, plus others), and heading weights are not unified. Mapping them onto the --cudly-fs-* scale is a design call.
Checked against main 514c797: three of the four asks are on main via bb564dd (#1378): body line-height token, form controls with font: inherit pinned to --cudly-fs-sm, and a zero-specificity :where(h1..h6) scale. Remaining: about 127 literal font-size values under frontend/src/styles (0.85rem x30, 0.9rem x24, 0.8rem x18, 0.85em x14, plus a long tail). Mapping them to --cudly-fs-* tokens shifts sizes by up to 0.05rem visibly, so it needs the overflow and screenshot specs reviewed and an owner call on the scale; leaving the issue open for that. The foundation rules also have no CSS source test. Releasing my claim (claude-platform-2).
Checked on origin/main 447a98b. Partly met, leaving open.
Met:
Body line-height: frontend/src/styles/base.css:145 (--cudly-lh-normal).
Form controls inherit the font: base.css:159 (font: inherit).
Heading scale on the --cudly-fs-* tokens: base.css:174-178.
Landed in bb564dd (chore(frontend): add typography foundation).
Still open: "replace literal sizes with the tokens". The stylesheets under frontend/src/styles still hold about 125 literal font-size declarations in 22 distinct values (0.85rem x30, 0.9rem x24, 0.8rem x18, 0.85em x14, 0.78rem x6 ...), mostly in components.css (55), modals.css (24), settings.css (22).
Status on main (claude-platform): body line-height, font: inherit and the heading scale are in base.css (bb564dd). Open: about 127 literal font sizes under frontend/src/styles. The dominant off-scale values are 0.85rem (x30), 0.9rem (x24), 0.8rem (x18) and 0.78rem (x6); none equals a token (xs 0.75rem, sm 0.875rem, md 1rem). Swapping them to tokens changes rendered sizes by up to 0.05rem, which needs a design decision and a screenshot review; logged as an owner choice in owner-decisions.md. Left open.
Activity
IAmJSD commentedon Oct 24, 2026
Claiming: working on this
fix(frontend): tokenize the font size and weight main added after the…
fix(frontend): use typography tokens in the ladder timeline rules mai…
style(frontend): size icon buttons with the --cudly-fs-md token
chore(frontend): add typography foundation for text, headings, contro…
chore(frontend): replace mixed Unicode glyphs with one SVG icon set (#…
IAmJSD commentedon Oct 27, 2026
Status update (2026-10-27, checked against main at 7b86e38): What is left is frontend UI work, which cristim owns, so no PR from us.
Many off-scale literal font sizes are still in the styles (0.85rem x31, 0.9rem x26, 0.8rem x19, plus others), and heading weights are not unified. Mapping them onto the --cudly-fs-* scale is a design call.
Left / blocked on: Frontend typography (cristim).
cristim commentedon Nov 11, 2026
Claimed by claude-platform-2.
cristim commentedon Nov 11, 2026
Checked against main 514c797: three of the four asks are on main via bb564dd (#1378): body line-height token, form controls with font: inherit pinned to --cudly-fs-sm, and a zero-specificity :where(h1..h6) scale. Remaining: about 127 literal font-size values under frontend/src/styles (0.85rem x30, 0.9rem x24, 0.8rem x18, 0.85em x14, plus a long tail). Mapping them to --cudly-fs-* tokens shifts sizes by up to 0.05rem visibly, so it needs the overflow and screenshot specs reviewed and an owner call on the scale; leaving the issue open for that. The foundation rules also have no CSS source test. Releasing my claim (claude-platform-2).
cristim commentedon Nov 12, 2026
Checked on origin/main 447a98b. Partly met, leaving open.
Met:
Still open: "replace literal sizes with the tokens". The stylesheets under frontend/src/styles still hold about 125 literal font-size declarations in 22 distinct values (0.85rem x30, 0.9rem x24, 0.8rem x18, 0.85em x14, 0.78rem x6 ...), mostly in components.css (55), modals.css (24), settings.css (22).
cristim commentedon Nov 13, 2026
Claimed by claude-platform (coordinator priority list, 2026-11-13). Working this in a worktree; will post the landed commit or a blocker here.
cristim commentedon Nov 13, 2026
Status on main (claude-platform): body line-height, font: inherit and the heading scale are in base.css (bb564dd). Open: about 127 literal font sizes under frontend/src/styles. The dominant off-scale values are 0.85rem (x30), 0.9rem (x24), 0.8rem (x18) and 0.78rem (x6); none equals a token (xs 0.75rem, sm 0.875rem, md 1rem). Swapping them to tokens changes rendered sizes by up to 0.05rem, which needs a design decision and a screenshot review; logged as an owner choice in owner-decisions.md. Left open.