/* The blog. Tokens and components copied from about.html so the two read as one
   site; --text-faint is the AA value the app ships (#877353), not the documented
   #9C8768. A file rather than a <style> block because these pages run a CSP with
   no inline styles. */
:root{
  --bg:#F5EFDD; --bg-raise:#ECE2C4; --bg-card:#FFFFFF;
  --line:rgba(42,17,8,.10); --line-strong:rgba(42,17,8,.22);
  --text:#241108; --text-dim:#6B5842; --text-faint:#877353;
  --gold:#7C591C; --gold-fill:#C9A84C; --gold-ink:#241108;

  --font-display:'Bricolage Grotesque',system-ui,sans-serif;
  --font-body:'Instrument Sans',system-ui,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;
  --font-serif:'Fraunces',Georgia,serif;

  --r-inner:12px; --r-card:20px; --r-pill:999px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:720px;margin-inline:auto;padding:0 1.25rem}
a{color:var(--gold)}

.topbar{padding:1.5rem 0;border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.logo{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);
  font-weight:700;font-size:1.05rem;color:var(--text);text-decoration:none}
.top-link{font-size:.9rem;font-weight:500;color:var(--text-dim);text-decoration:none}
.top-link:hover{color:var(--text)}

h1{font-family:var(--font-display);font-size:clamp(1.9rem,5vw,2.6rem);line-height:1.1;
  letter-spacing:-.02em;margin:3rem 0 1rem}
.post-meta,.post-empty{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--text-faint);margin:0}
.post-empty{margin-top:1.6rem}

.post-list{list-style:none;margin:2rem 0 0;padding:0}
.post-list li{padding:1.2rem 0;border-top:1px solid var(--line)}
.post-list a{display:block;font-family:var(--font-display);font-weight:600;font-size:1.15rem;
  line-height:1.3;color:var(--text);text-decoration:none;margin-bottom:.35rem}
.post-list a:hover{color:var(--gold)}

.post-hero{display:block;width:100%;margin-top:1.6rem;border:1px solid var(--line);border-radius:var(--r-inner)}
.post-body{margin-top:2rem;color:var(--text-dim)}
.post-body h2,.post-body h3,.post-body h4,.post-body h5,.post-body h6{font-family:var(--font-display);color:var(--text)}
.post-body h2{font-size:1.15rem;margin:2.6rem 0 .6rem;scroll-margin-top:1.5rem}
.post-body h3{font-size:1rem;margin:1.8rem 0 .4rem}
.post-body h4,.post-body h5,.post-body h6{font-size:.95rem;margin:1.4rem 0 .4rem}
.post-body p,.post-body ul,.post-body ol{max-width:62ch;margin:0 0 1rem}
.post-body ul,.post-body ol{padding-inline-start:1.3rem}
.post-body li{margin-bottom:.35rem}
.post-body strong,.post-body b{color:var(--text);font-weight:600}
.post-body blockquote{margin:2rem 0;padding:1.3rem 1.5rem;background:var(--bg-card);
  border:1px solid var(--line);border-inline-start:3px solid var(--gold-fill);
  border-radius:var(--r-inner);font-family:var(--font-serif);font-style:italic;
  font-size:1.1rem;color:var(--text)}
.post-body blockquote p{margin:0}
.post-body code{font-family:var(--font-mono);font-size:.88em;color:var(--text)}
.post-body pre{margin:0 0 1rem;padding:1rem;overflow-x:auto;background:var(--bg-card);
  border:1px solid var(--line);border-radius:var(--r-inner)}
.post-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:0 0 1rem}
.post-body th,.post-body td{padding:.5rem .75rem;border:1px solid var(--line-strong);text-align:start}
.post-body th{background:var(--bg-raise);color:var(--text);font-weight:600}

.toc{margin:1.6rem 0 2rem;padding:1.1rem 1.4rem;background:var(--bg-card);
  border:1px solid var(--line);border-radius:var(--r-inner)}
.post-body .toc h2{margin:0 0 .6rem;font-family:var(--font-mono);font-weight:500;font-size:.7rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}
.post-body .toc ol{margin:0}

footer{margin-top:4rem;padding:2rem 0 3rem;border-top:1px solid var(--line)}
footer .wrap{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:center;
  font-size:.85rem;color:var(--text-faint)}
.foot-mark{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase}
