See Typography for the decided part of this page.
Known issues
Divergences are where code and design intent disagree; open decisions are where nothing
has been decided yet. Neither is resolvable by inference.
Gaps in the current rules
button is the one variant not on the shared metrics. It uses 0.875rem and a
unitless line height of 1.75, while every other variant is set in explicit px.
Whether that is deliberate or an unfinished migration is not recorded. It is the one
variant whose rendered line height changes with the root font size.
subtitle1/body1 and subtitle2/body2 are metrically identical, and moot for
what to build today since only body1 (as base) is reachable. If the scale’s
unreachable steps are ever exposed, no rule yet says which of each pair to prefer.
- No responsive type scale exists. Sizes are fixed across all breakpoints. Whether a
24px
h1 is intended for a 1536px viewport is undecided.
- Weight non-monotonicity is undocumented upstream.
h3 at 700 sitting between h2
at 400 and h4 at 600 is either a considered emphasis decision or an accident. This
page describes the behavior; the intent is not recorded anywhere.
Constraints Titan should enforce
These are real, currently-true rules. Nothing in code stops a builder from violating them today — each is a placeholder for a guardrail Titan hasn’t built, not a decision still being made.
Last modified on September 2, 2026