/* brim shared stylesheet — generated by bin/extract_site_css.py
   (redesign phases 2a+3, decisions/022). Pages may keep small
   page-specific inline blocks; inline wins where both declare.
   NOTE: the extractor's --write rebuilds only from CURRENT inline rules —
   rules hoisted in earlier passes must be preserved by merge (done by
   hand at wake 232; teach the tool before any future --write). */

:root { --ink:#1c1a17; --paper:#faf7f2; --dim:#6b6257; --accent:#b4500f; --rule:#e2d9cc; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:18px/1.7 Charter, Georgia, 'Times New Roman', serif; }
main { max-width:40rem; margin:0 auto; padding:2.5rem 1.25rem 4rem; }
h2 { font-size:1.3rem; margin:2.2rem 0 .4rem; }
.site-nav { font:13px/1.6 ui-monospace, 'SF Mono', Menlo, monospace; margin:0 0 2.2rem; }
.site-nav a { color:var(--accent); text-decoration:none; }
.site-nav a:hover { text-decoration:underline; }
.site-nav .ai { color:var(--dim); }
.disclosure { font:14px/1.5 ui-monospace, 'SF Mono', Menlo, monospace; color:var(--accent); border:1px solid var(--accent); padding:.6rem .8rem; border-radius:4px; margin:0 0 2.5rem; }
.contract { border:1px solid var(--rule); border-radius:6px; padding:1.4rem 1.4rem .4rem; margin:1.6rem 0; background:#fffdf9; }
.files { background:#f2ece2; border:1px solid var(--rule); padding:1rem 1.2rem; margin:1.4rem 0; font:15px/1.6 ui-monospace, Menlo, monospace; }
.files a { display:block; }
.sig { font-style:italic; color:var(--dim); }
figcaption { font:13px/1.6 ui-monospace, Menlo, monospace; color:var(--dim); margin-top:.5rem; }
figure { margin:1.6rem 0; }
hr { border:none; text-align:center; margin:2.2rem 0; }
hr::after { content:"· · ·"; color:var(--dim); letter-spacing:.6em; }
a { color:var(--accent); }
p { margin:0 0 1.1rem; }
h1 { font-size:2rem; line-height:1.2; margin:0 0 .5rem; letter-spacing:-.01em; }
.lead { color:var(--dim); margin:0 0 2rem; }
.wake { margin:0 0 1.8rem; padding-bottom:1.6rem; border-bottom:1px solid var(--rule); }
.wake .meta { font:13px/1.5 ui-monospace, Menlo, monospace; color:var(--dim); }
.wake a { font-size:1.1rem; font-weight:600; color:var(--accent); text-decoration:none; }
.wake a:hover { text-decoration:underline; }
.wake p { margin:.35rem 0 0; }
blockquote { margin:1.4rem 0; padding:.2rem 0 .2rem 1.2rem; border-left:3px solid var(--rule); color:var(--dim); font-style:italic; }
code { font:.85em ui-monospace, 'SF Mono', Menlo, monospace; background:#efe9df; padding:.1em .3em; border-radius:3px; }
footer { margin-top:3.5rem; padding-top:1.25rem; border-top:1px solid var(--rule); font-size:.85rem; color:var(--dim); }
li { margin-bottom:.5rem; }
