/* ═══════════════════════════════════════════════════════════════════
   NOVABERG — document pages (papers, architecture)
   Shared components for every long-form document: title page, abstract,
   author note, part opener, chapter head, pull quote, epigraph, data
   table, margin note, code figure, references, colophon.
   Load AFTER novaberg.css. Page-specific rules go in a <style> block
   after this link — if a rule would help a second document, it belongs here.
   ═══════════════════════════════════════════════════════════════════ */
li{margin-bottom:0.45em;color:var(--ink-2);font-size:1.02rem;line-height:1.65}
.mast-links span.lang-toggle.disabled{color:var(--ink-dim);cursor:default}
@media (max-width:720px){.mast-links a:not(:last-child):not(:nth-last-child(2)){display:none}}
section.chapter.title-page{padding-block:72px 56px;border-top:none !important}
.pub-block{display:flex;flex-wrap:wrap;gap:32px 56px;margin-bottom:48px;font-family:var(--font-sans);font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-muted)}
.pub-block .pub-item{display:flex;flex-direction:column;gap:6px}
.pub-block .pub-item span:first-child{color:var(--ink-dim);font-weight:400;font-size:10px}
.pub-block .pub-item span:last-child{color:var(--ink);font-weight:500;text-transform:none;letter-spacing:0;font-size:13px;font-family:var(--font-serif);font-style:italic}
.series-tag{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-sans);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:24px;font-weight:500}
.series-tag::before{content:'';display:inline-block;width:26px;height:2px;background:var(--accent)}
.title-page h1{margin-bottom:36px;max-width:20ch;text-wrap:balance}
.title-page h1 em{color:var(--accent)}
.title-page .subtitle{font-family:var(--font-serif);font-style:italic;font-size:1.25rem;color:var(--ink-muted);margin-bottom:44px;max-width:38em;line-height:1.4}
.byline{font-family:var(--font-serif);font-size:1.04rem;color:var(--ink-2);font-style:italic;padding-top:28px;border-top:1px solid var(--rule)}
.abstract h2{font-size:13px;font-family:var(--font-sans);letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-muted);font-weight:500;margin-bottom:28px}
.abstract p.lead::first-letter{font-family:var(--font-serif);font-size:3.8em;font-weight:500;float:left;line-height:0.88;margin:0.1em 0.1em 0 -0.02em;color:var(--accent);font-style:normal}
.author-note{margin:56px auto 0;max-width:640px;padding:28px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-family:var(--font-serif);font-style:italic}
.author-note .author-note-kicker{font-family:var(--font-sans);font-size:10.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--accent);font-weight:600;font-style:normal;margin-bottom:14px;display:block}
.author-note p{font-size:0.95rem;color:var(--ink-muted);font-style:italic;line-height:1.62;margin-bottom:0.9em}
.author-note p:last-child{margin-bottom:0}
.author-note p strong{color:var(--ink-2)}
.part-open{padding:64px 0 0;border-top:1px solid var(--rule)}
.part-open .part-num{font-family:var(--font-sans);font-size:11px;letter-spacing:0.24em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:14px}
.part-open h2{font-size:clamp(1.5rem,2.4vw,1.9rem);max-width:26em;margin-bottom:14px}
.part-open p{max-width:34em;font-style:italic;color:var(--ink-muted)}
section.chapter.no-rule{border-top:none}
.chapter-head{margin-bottom:40px;display:grid;grid-template-columns:80px 1fr;gap:24px;align-items:baseline}
.chapter-num{font-family:var(--font-mono);font-size:0.82rem;letter-spacing:0.1em;color:var(--accent);padding-top:14px;border-top:2px solid var(--accent);display:inline-block}
.chapter-kicker{font-family:var(--font-sans);font-size:11.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:10px;font-weight:500}
.pull{margin:44px 0;padding:0 0 0 32px;border-left:3px solid var(--accent);font-family:var(--font-serif);font-size:1.26rem;font-style:italic;line-height:1.42;color:var(--ink);max-width:30em;letter-spacing:-0.005em}
.pull cite{display:block;margin-top:14px;font-family:var(--font-sans);font-style:normal;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-muted);font-weight:500}
.epigraph{margin:8px 0 40px;padding:0 0 0 28px;border-left:1px solid var(--rule);font-family:var(--font-serif);font-style:italic;font-size:1.05rem;line-height:1.6;color:var(--ink-2);max-width:36em}
.epigraph p{margin:0.35em 0;font-style:italic;color:var(--ink-2)}
.epigraph .speaker{font-style:normal;font-weight:500;color:var(--ink);font-family:var(--font-sans);font-size:0.92rem;margin-right:0.5em}
.epigraph cite{display:block;margin-top:16px;font-style:normal;font-family:var(--font-sans);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-muted);font-weight:500}
table.data{width:100%;border-collapse:collapse;margin:32px 0 40px;font-family:var(--font-serif);font-size:0.96rem}
table.data caption{font-family:var(--font-sans);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-muted);text-align:left;margin-bottom:14px;font-weight:500}
table.data th,table.data td{padding:12px 14px 12px 0;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
table.data th{font-family:var(--font-sans);font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-muted);font-weight:500}
table.data td.mono,table.data td .mono{font-family:var(--font-mono);font-size:0.82rem;color:var(--ink-2)}
table.data td em{font-family:var(--font-serif);font-style:italic;color:var(--accent);font-weight:500}
table.data tr:last-child th,table.data tr:last-child td{border-bottom:none}
table.data.compact{font-size:0.9rem}
table.data.compact th,table.data.compact td{padding:9px 12px 9px 0}
table.data td.ev{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.06em;color:var(--ink-dim);text-transform:uppercase;white-space:nowrap}
aside.margin-note{float:right;clear:right;width:240px;margin:0 -300px 2rem 1.5rem;font-family:var(--font-sans);hyphens:none}
aside.margin-note > header{display:flex;align-items:baseline;gap:0.6rem;border-bottom:1px solid var(--rule);padding-bottom:0.45rem;margin-bottom:0.85rem}
aside.margin-note .note-num{font-size:11px;font-weight:600;color:var(--accent);letter-spacing:0.08em;text-transform:uppercase}
aside.margin-note .note-topic{font-size:10px;color:var(--ink-muted);letter-spacing:0.12em;text-transform:uppercase}
aside.margin-note p{font-family:var(--font-sans);font-size:12px;line-height:1.55;color:var(--ink-2);font-weight:400;font-style:normal;margin:0 0 0.6rem 0}
aside.margin-note p:last-child{margin-bottom:0}
@media (max-width:900px){aside.margin-note{float:none;width:100%;margin:1.75rem 0;padding:1rem 0 1rem 1.25rem;border-left:2px solid var(--rule-soft)}}
.references{font-family:var(--font-serif);list-style:none;padding:0;margin:0;columns:2;column-gap:40px}
.references li{break-inside:avoid;padding-left:1.5em;text-indent:-1.5em;margin-bottom:0.85em;font-size:0.92rem;line-height:1.55;color:var(--ink-2)}
.references li em{color:var(--ink)}
@media (max-width:720px){.references{columns:1}}
.manuscript-note{margin:56px 0 0;padding:32px 0 0;border-top:1px solid var(--rule);font-family:var(--font-serif);font-style:italic}
.manuscript-note p{font-size:0.92rem;color:var(--ink-muted);font-style:italic;margin-bottom:0.9em}
footer.colophon{padding:72px 0 56px;border-top:1px solid var(--rule)}
.colo-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}
.colo-grid h5{font-family:var(--font-sans);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-muted);font-weight:500;margin-bottom:16px}
.colo-grid p,.colo-grid a,.colo-grid li{font-family:var(--font-serif);font-size:0.95rem;color:var(--ink-2);line-height:1.65}
.colo-grid ul{list-style:none;padding:0}
.colo-grid li{padding:3px 0}
.colo-end{margin-top:48px;padding-top:20px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:var(--font-sans);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-dim)}
@media (max-width:720px){.colo-grid{grid-template-columns:1fr;gap:28px}.sheet{padding:0 24px}section.chapter{padding-block:60px}.chapter-head{grid-template-columns:1fr;gap:6px}.chapter-num{padding-top:8px}}
