:root{--bg:#fcfaf6;--surface:#fff;--ink:#221811;--muted:#72665e;--line:#e2ddd7;--primary:#076;--on-primary:#fcfcfc;--primary-soft:#e3f2ee;--display:"Bricolage Grotesque", "Manrope", system-ui, sans-serif;--body:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--measure:66ch;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#140e09;--surface:#201914;--ink:#efebe4;--muted:#9e978f;--line:#39312b;--primary:#59ceba;--on-primary:#011612;--primary-soft:#0f2a25;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--body);word-break:keep-all;margin:0;font-size:1.0625rem;line-height:1.65}a{color:var(--primary);text-underline-offset:.15em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:2px}img{max-width:100%;height:auto}h1,h2,h3{font-family:var(--display);letter-spacing:-.015em;margin:0;line-height:1.15}h1{font-size:clamp(2rem,5.5vw,3.25rem);font-weight:700}h2{font-size:clamp(1.4rem,3vw,1.85rem);font-weight:600}h3{font-size:1.2rem;font-weight:600}p{margin:0}.muted{color:var(--muted)}.small{font-size:.9rem}.wrap{width:min(100% - 2.5rem,62rem);margin-inline:auto}.measure{max-width:var(--measure)}.site-header{padding-block:1.25rem}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.wordmark{font-family:var(--display);color:var(--ink);align-items:center;gap:.55rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:inline-flex}.wordmark svg{width:1.35rem;height:1.35rem}.site-nav{flex-wrap:wrap;gap:1.25rem;display:flex}.site-nav a{color:var(--ink);border-bottom:2px solid #0000;padding-block:.25rem;text-decoration:none}.site-nav a[aria-current=page]{border-bottom-color:var(--primary)}.site-nav a:hover{border-bottom-color:var(--line)}main{padding-block:clamp(2rem,6vw,4.5rem) clamp(3rem,8vw,6rem)}.stack>*+*{margin-top:var(--gap,1rem)}.section+.section{margin-top:clamp(3rem,7vw,5rem)}.hero h1{max-width:20ch}.hero .lede{color:var(--muted);max-width:44ch;margin-top:1.25rem;font-size:clamp(1.1rem,2vw,1.3rem)}.hero .mark{width:clamp(3rem,7vw,4.5rem);height:auto;margin-bottom:1.75rem;display:block}.entries{margin:0;padding:0;list-style:none}.entries li{border-top:1px solid var(--line);grid-template-columns:1fr;gap:.3rem;padding-block:1.1rem;display:grid}.entries li:last-child{border-bottom:1px solid var(--line)}@media (width>=640px){.entries li{grid-template-columns:9.5rem 1fr;gap:1.5rem}}.entries time{color:var(--muted);font-family:var(--display);font-variant-numeric:tabular-nums;font-weight:600}.entries a.title{color:var(--ink);font-weight:600;text-decoration:none}.entries a.title:hover{color:var(--primary)}.button{background:var(--primary);color:var(--on-primary);border-radius:999px;padding:.7rem 1.15rem;font-weight:600;text-decoration:none;display:inline-block}.button.quiet{background:var(--primary-soft);color:var(--primary)}.note{background:var(--primary-soft);color:var(--ink);border-radius:.75rem;padding:1rem 1.15rem}.prose{max-width:var(--measure)}.prose>*+*{margin-top:1.1em}.prose h2{margin-top:2.2em}.prose h3{margin-top:1.6em}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.35em}.prose blockquote{border-left:3px solid var(--line);color:var(--muted);margin:0;padding-left:1em}.prose code{background:var(--surface);border:1px solid var(--line);border-radius:.3em;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.prose pre{background:var(--surface);border:1px solid var(--line);border-radius:.6rem;padding:1rem;overflow-x:auto}.prose pre code{background:0 0;border:0;padding:0}.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.5rem .75rem}.prose img{border-radius:.6rem}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding-block:1.75rem 2.5rem;font-size:.92rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.site-footer nav{flex-wrap:wrap;gap:1.25rem;display:flex}.site-footer a{color:var(--muted)}@media (prefers-reduced-motion:no-preference){.site-nav a,.button,a{transition:color .12s,border-color .12s,background-color .12s}}
