:root{
  --ink:#080605;--fg:#f3ead9;--dim:#96897a;--faint:#57503f;--hair:#221c15;
  --accent:#ffa028;--ember:#ff5330;--spark:#ffd76a;--accent-dim:#ffa02824;--sel:#ff53303a;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --mono:ui-monospace,"SF Mono",Menlo,"Cascadia Mono",Consolas,monospace;
}
@media(prefers-color-scheme:light){:root{
  --ink:#f6eedd;--fg:#26190d;--dim:#7a6a52;--faint:#b3a483;--hair:#e2d5ba;
  --accent:#c25e00;--ember:#c22c12;--spark:#a04d00;--accent-dim:#c25e001a;--sel:#c22c122e;
}}
*{box-sizing:border-box;}
::selection{background:var(--sel);}
body{margin:0;background:var(--ink);color:var(--fg);font-family:var(--serif);
  line-height:1.65;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(90% 55% at 85% -10%,var(--accent-dim),transparent 65%);
  background-repeat:no-repeat;}
a{color:inherit;text-decoration:none;}
a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;}
.page{max-width:44rem;margin:0 auto;padding:clamp(1.5rem,4vw,2.6rem) clamp(1.4rem,5vw,2.4rem) 3rem;}
.mast{display:flex;justify-content:space-between;align-items:baseline;gap:1rem 2rem;
  flex-wrap:wrap;padding-bottom:1.2rem;border-bottom:1px solid var(--hair);}
.mast .name{font-weight:700;font-size:clamp(1.2rem,3vw,1.6rem);letter-spacing:-.015em;}
.mast .name .mark{color:var(--accent);}
.mast nav{display:flex;gap:1.2rem;flex-wrap:wrap;font-family:var(--mono);
  font-size:.72rem;letter-spacing:.1em;align-self:center;}
.mast nav a{color:var(--dim);border-bottom:1px solid transparent;padding-bottom:2px;
  transition:color .18s,border-color .18s;}
.mast nav a[aria-current]{color:var(--accent);}
.mast nav a:hover{color:var(--accent);border-color:var(--accent);}
h1{font-weight:500;letter-spacing:-.02em;font-size:clamp(2rem,5.5vw,3.1rem);
  line-height:1.08;margin:2.6rem 0 .5rem;text-wrap:balance;}
.lede{color:var(--dim);font-size:clamp(1.05rem,2.2vw,1.2rem);margin:0 0 2.4rem;max-width:44ch;}
.lede a{color:var(--accent);border-bottom:1px solid var(--accent-dim);}
/* writing index */
.posts{list-style:none;padding:0;margin:0;border-top:1px solid var(--hair);}
.posts li{padding:1.6rem 0;border-bottom:1px solid var(--hair);}
.posts .when{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;color:var(--faint);}
.posts h2{font-size:clamp(1.3rem,3vw,1.7rem);font-weight:600;margin:.4rem 0 .45rem;
  color:var(--fg);transition:color .18s;}
.posts a.post:hover h2{color:var(--accent);}
.posts p{margin:0;color:var(--dim);}
/* coming-soon hook */
.soon{border-top:1px solid var(--hair);padding-top:2.4rem;max-width:44ch;}
.soon-lead{font-size:clamp(1.5rem,3.6vw,2.1rem);color:var(--fg);font-weight:500;
  letter-spacing:-.015em;margin:0 0 1rem;line-height:1.15;text-wrap:balance;}
.soon p{color:var(--dim);font-size:clamp(1.02rem,2vw,1.15rem);margin:0 0 .6rem;}
.cta{display:inline-block;margin-top:1.3rem;font-family:var(--mono);font-size:.78rem;
  letter-spacing:.08em;color:var(--accent);border:1px solid var(--accent-dim);
  border-radius:6px;padding:.75rem 1.15rem;transition:border-color .18s,background .18s;}
.cta:hover{border-color:var(--accent);background:var(--accent-dim);}
/* article */
.meta{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;color:var(--faint);margin:0 0 2.4rem;}
article p{font-size:clamp(1.05rem,2.1vw,1.18rem);margin:0 0 1.25rem;color:var(--fg);}
article strong{color:var(--fg);font-weight:600;}
.formula{font-family:var(--mono);background:var(--accent-dim);border-left:2px solid var(--accent);
  padding:1rem 1.2rem;margin:1.7rem 0;font-size:1.02rem;color:var(--fg);overflow-x:auto;line-height:2;}
.formula sub{font-size:.68em;color:var(--dim);}
blockquote{margin:2rem 0;padding-left:1.3rem;border-left:2px solid var(--accent);
  font-style:italic;color:var(--accent);font-size:clamp(1.15rem,2.6vw,1.4rem);line-height:1.4;}
article a{color:var(--accent);border-bottom:1px solid var(--accent-dim);padding-bottom:1px;}
article a:hover{border-color:var(--accent);}
pre{background:var(--accent-dim);border-radius:6px;padding:1rem;overflow-x:auto;
  font-family:var(--mono);font-size:.92rem;line-height:1.5;}
code{font-family:var(--mono);font-size:.92em;}
img{max-width:100%;border-radius:6px;margin:1.5rem 0;}
footer{margin-top:3.5rem;padding-top:1.2rem;border-top:1px solid var(--hair);
  font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;color:var(--faint);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
footer a{color:var(--accent);}
