Composition recipe
Owned semantic typography CSS for documentation, long-form reading, and streamed content.
Copy both CSS files from Source, import the canonical stylesheet before the local presets, then place typeset on the semantic content boundary.
@import "./typeset.css";
@import "./typeset-presets.css";<article className="typeset typeset-docs">
<h1>Release notes</h1>
<p>Write semantic HTML and let the content boundary own rhythm.</p>
</article>--typeset-font-body, --typeset-font-heading, and --typeset-font-mono select font roles.--typeset-size controls the base size.--typeset-leading controls line height.--typeset-flow controls vertical rhythm between blocks.The bundled presets are typeset-docs, typeset-reading, typeset-chat, typeset-compact, and typeset-large.
Separators live on table cells and flow spacing belongs to each block, so appending content does not depend on a last-child selector. Wrap wide tables in typeset-scroll to preserve real table semantics while allowing horizontal overflow.
<div className="typeset-scroll">
<table>{/* wide columns */}</table>
</div>Use not-typeset or data-not-typeset around application UI nested inside rich content. The stylesheet consumes semantic foreground, muted, border, primary, ring, radius, and font tokens, so light, dark, and forced-color themes remain aligned.