/*
 * @canonical/styles-typography — Baseline Grid Engine
 *
 * The package composed: the typography tokens, the element rules that read
 * them, and the default engine.
 *
 * Available engines:
 *   - baseline-cap.css      — Uses the CSS `cap` unit (no extraction needed) [default]
 *   - baseline-metrics.css  — Uses extracted font metrics (ascender/descender/unitsPerEm)
 *   - baseline-trim.css     — Uses text-box-trim + cap unit hybrid
 *
 * The grid unit, --baseline-height, is optional. Its default is declared once,
 * in tokens.css, at zero weight: `:where(:root) { --baseline-height: 0.25rem }`.
 * Import this file and text snaps to a 4px grid with nothing declared, and any
 * length the consumer does declare, in rem or px, replaces it — a zero-weight
 * declaration loses to every real one, wherever it sits.
 *
 * An engine linked without tokens.css is the one case with no default: the
 * engines import nothing at all, so a stylesheet taking one of them alone
 * declares the unit itself, or imports `./tokens.css` beside it.
 *
 * Entry points:
 *   this file is the package composed — the typography tokens, the element
 *   rules that read them, and the default engine — which is what an ordinary
 *   page wants.
 *
 *   `./tokens.css` is the values and nothing that styles an element.
 *   `./elements.css` is the rules that read them. `./baseline-cap.css` and its
 *   two siblings are the engines. Each is an entry point of its own, and none of
 *   them imports another file of this package — only tokens.css reaches outside
 *   it, for the design tokens' typographic scale that it shims — so a stylesheet
 *   that wants a different arrangement composes what it needs.
 */
/* The values, then the rules that read them, then the engine that computes
 * their nudges. Each of the three is a file a stylesheet can take on its own. */
@import url("./tokens.css");
@import url("./elements.css");
@import url("./baseline-cap.css");
