Purpose: this is a complete, portable style guide for generating and editing the main body of text in a calm, long-form, serif-first layout. It is written so another LLM can follow it without seeing the site.
Scope:
.prose), including headings, paragraphs, lists, quotes, inline emphasis, and inline icons.Do not invent new design tokens:
Target register:
Default voice rules:
This style is built for long-form reading with generous margins.
Recommended, plain-HTML layout model:
max-width: 1280px, padding-inline: 1em.200px for the sidebar and let the main text take the remaining width..prose) that provides internal padding: padding: 2em.Practical implications for writing:
Primary text face (body + headings):
EB Garamond (self-hosted via @font-face), with serif fallbacks.Small caps face:
EB Garamond SC 12 (self-hosted), used for small-caps styling.Monospace:
ui-monospace, Consolas, monospace). Inline code inside the body should be visually small.Assume the site base font size is:
16px.Headings are set globally (overriding theme defaults):
h1: 2em (≈32px), weight 600, line-height 1.2h2: 1.6em (≈25.6px), weight 500, line-height 1.2h3: 1.4em (≈22.4px), weight 400, line-height 1.2h4: 1.25em (≈20px), weight 400, line-height 1.2h5: 1.1em (≈17.6px), weight 400, line-height 1.2h6: 1em (≈16px), weight 400, line-height 1.2Body text inside the main content container (.prose):
p: 0.95em (≈15.2px), weight 450, line-height 1.474margin-bottom: 1.3em (and no top margin by default)Lists inside .prose:
li: 1.1em (≈17.6px), weight 450, line-height 1emmargin-bottom: 0.5emSmall text:
.small / small: 0.75em (≈12px)Use headings to build a clean outline:
## (H2) for major sections.### (H3) for subsections.#### (H4) only when you truly have 3+ subsections and need more structure.H1 usage rule:
This site aims for a comfortable, essay-like rhythm:
margin-bottom ≈ 1.3em).≈ 1.474).Guidelines:
Dividers:
hr is rendered as centered *** (not a line). Use sparingly to signal a true section break.Emphasis:
*italic* for gentle emphasis.**bold** sparingly (names, key terms, warnings). Avoid bolding whole sentences.Quotes:
"..." or the HTML q element when needed; q is configured to render curly quotes.Small caps:
.sc class for small-caps callouts or label-like text..sc uses EB Garamond SC 12, font-variant: small-caps, and is slightly smaller and heavier.Intro/lead paragraph:
.intro-text for an opening paragraph that needs a gentle lead-in (bigger than body).Centered italic:
.center-italic only for rare, deliberate “epigraph” moments.If you’re implementing this in plain CSS, keep link styling minimal: inline links should look like links, but should not visually dominate paragraphs.
figure with figcaption.border-radius: 4px) by the theme.If you’re implementing this in plain CSS, you may keep the same border-radius: 4px for images to match the rest of the system.
Avoid:
Icons are used as inline SVG and styled to behave like text glyphs:
width: 1em; height: 1em; fill: currentColor; display: inline-block;vertical-align: middlevertical-align: text-bottomPractical rule:
When generating new body content, do all of the following:
##) unless the page needs a visible H1 title.prose, sc, intro-text, center-italic, small (and standard HTML elements).The style package includes a convenience stylesheet you can drop into any static HTML page:
main-body.css as your baseline..prose.Minimal HTML skeleton (sidebar optional):
<div class="layout">
<aside class="sidebar">
<!-- navigation / meta -->
</aside>
<main class="content">
<article class="prose">
<h1>Page title (optional)</h1>
<p class="intro-text">Optional lead paragraph.</p>
<h2>Section</h2>
<p>Body paragraph…</p>
</article>
</main>
</div>
Notes:
This folder also includes copies of:
EB Garamond and EB Garamond SC 12See the assets/ subfolder.