A sample post, sized to the measure
· Acme Team
Good writing, like good code, earns every word it keeps. This post is a placeholder — a shaped space where real content will live — but it follows the same rules as anything else: 50–75 characters per line, two to four sentences per paragraph, nothing that doesn't pull its weight.
The measure is not an arbitrary constraint. It sits at the outer edge of
what the eye can track comfortably in a single sweep. Push past it and
readers lose their place at the line return; fall short and the rhythm
feels choppy. The token --container-measure sets it once,
and every Prose block inherits the value automatically.
Why tokens matter
A design token is a decision with a name. When color, spacing, and type size live in variables rather than hardcoded values, a single change propagates everywhere without a find-and-replace hunt across a dozen files. The scaffold ships with a small, coherent token set — start there and expand only when a new decision genuinely needs a name.
Tokens also make theming tractable. Light and dark mode are two sets of
values for the same names, toggled at the :root level. No
component needs to know which mode is active; it reads the token and
trusts the cascade to supply the right value at the right moment.
The fluid type scale
Each text-step-* utility maps to a clamp()
expression that interpolates smoothly between a minimum and maximum
viewport width. There are no breakpoint jumps — the heading simply grows
as the viewport grows, staying proportional at every size in between.
-
text-step-3is the page-level h1, large enough to anchor the hierarchy without shouting. -
text-step-1suits lede paragraphs — readable at a glance, subordinate to the heading. -
text-step-0is body copy, calibrated for sustained reading at the measure width.
Constraints are not limitations — they are the shape of a decision already made well. Work inside them, and the hard choices get easier.
The About page goes into more detail about the philosophy behind these defaults. If you are adapting this scaffold for a real project, start there before reaching for overrides — most of what you need is already present, waiting to be pointed at the right content.