:root{
  --void:#15191b; --charcoal:#1c2124; --paper:#eee9dd; --ink:#eae5d8;
  --ink-dim:#a9a49a; --rule:#33393c; --ember:#c1602c; --moss:#6d8873;
  --serif:'Fraunces',Georgia,serif; --sans:'IBM Plex Sans',Arial,sans-serif; --mono:'IBM Plex Mono',monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--void);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:720px;margin:0 auto;padding:0 32px}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px}

header{border-bottom:1px solid var(--rule)}
.navrow{display:flex;align-items:center;justify-content:space-between;padding:18px 0;max-width:1180px;margin:0 auto;padding-left:32px;padding-right:32px}
.mark{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:19px;font-weight:600;text-decoration:none}
.back-link{font-size:14px;color:var(--ink-dim);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:2px}
.back-link:hover{color:var(--ink);border-color:var(--ink-dim)}

article{padding:64px 0 100px}
.post-meta{font-family:var(--mono);font-size:12.5px;color:var(--ink-dim);margin-bottom:18px;display:flex;gap:14px;flex-wrap:wrap}
.post-meta .tag{color:var(--ember)}
h1{font-family:var(--serif);font-weight:500;font-size:clamp(32px,5vw,50px);line-height:1.08;margin:0 0 28px}
article p{font-size:17px;margin:0 0 22px;color:var(--ink)}
article p.lede{font-size:19px;color:var(--ink-dim)}
article h2{font-family:var(--serif);font-weight:500;font-size:26px;margin:44px 0 16px}
article ul{padding-left:22px;margin:0 0 22px}
article li{margin-bottom:10px;font-size:17px}
blockquote{margin:32px 0;padding:4px 0 4px 22px;border-left:2px solid var(--ember);font-family:var(--serif);font-size:21px;line-height:1.5;color:var(--ink)}
code{font-family:var(--mono);font-size:14px;background:var(--charcoal);padding:2px 6px;border-radius:3px}
.byline{margin-top:56px;padding-top:24px;border-top:1px solid var(--rule);font-size:14px;color:var(--ink-dim)}
.byline a{color:var(--ember);text-decoration:none}

footer{border-top:1px solid var(--rule);padding:36px 0}
footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
footer p{margin:0;font-size:13.5px;color:var(--ink-dim)}
