/* Article content layer — sits on top of navigation.css (which owns tokens,
   chrome, links, lightbox). Loaded on generated article + listing pages.
   Everything flows through navigation.css tokens, so dark mode is automatic. */

/* ----- Post meta / byline (mono micro-label) ----------------------------- */
.page-body .post-meta {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.09em;
	color: var(--muted);
	margin: 0 0 0.25rem;
}
.page-body .post-meta time { color: var(--muted); }
.reading-time { color: var(--muted); }
.reading-time::before { content: "·"; margin: 0 0.4rem; }

/* ----- Headings within articles ------------------------------------------ */
.page-body h1, .page-body h2, .page-body h3 {
	font-family: var(--font-sans);
	font-weight: 680;
	letter-spacing: -0.02em;
	line-height: 1.15;
}
.page-body h1 { font-size: 1.75rem; margin: 2.5rem 0 0.75rem; }
.page-body h2 { font-size: 1.4rem;  margin: 2.25rem 0 0.6rem; }
.page-body h3 { font-size: 1.12rem; margin: 1.75rem 0 0.5rem; }

.page-body p { margin: 0 0 1.15rem; }
.page-body strong { font-weight: 660; }

/* ----- Lists (article prose only — classless lists; the landing/books
   component lists .sitelinks/.interests/.booklist keep their own styling) --- */
.page-body ul:not([class]) { list-style: disc; padding-left: 1.5em; margin: 1.15rem 0; }
.page-body ol:not([class]) { list-style: decimal; padding-left: 1.6em; margin: 1.15rem 0; }
.page-body ul:not([class]) li,
.page-body ol:not([class]) li { margin: 0.4rem 0; padding-left: 0.1em; }
.page-body ul:not([class]) li::marker,
.page-body ol:not([class]) li::marker { color: var(--muted); }

/* ----- Rules ------------------------------------------------------------- */
.page-body hr {
	border: none;
	border-top: 1px solid var(--line);
	margin: 2.75rem 0;
}

/* ----- Figures / images -------------------------------------------------- */
.page-body img { max-width: 100%; height: auto; }
.page-body figure.image { margin: 2rem 0; text-align: center; }
.page-body figure.image img { border-radius: 2px; }
.page-body figcaption {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	line-height: 1.5;
	letter-spacing: 0.02em;
	color: var(--muted);
	margin-top: 0.7em;
	text-align: center;
}

/* ----- Blockquote (defensive; markdown may emit it) ---------------------- */
.page-body blockquote {
	margin: 1.5rem 0;
	padding-left: 1.1rem;
	border-left: 2px solid var(--accent);
	color: var(--muted);
}

/* ----- Embeds ------------------------------------------------------------ */
.page-body iframe { width: 100%; border: 0; margin: 1.5rem 0; }
