:root{color-scheme:light dark;--bg:#faf9f6;--ink:#242923;--muted:#62685f;--line:#dcded5;--accent:#36593c;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.7;background:var(--bg);color:var(--ink)}
*{box-sizing:border-box}
body{max-width:780px;margin:auto;padding:0 26px}
a{color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:2px}
.site-header,.site-footer,.section-heading,.project-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.site-header{padding:38px 0 28px;border-bottom:1px solid var(--line);margin-bottom:56px}
.wordmark{font-weight:650;color:var(--ink);text-decoration:none;letter-spacing:-.025em}
.wordmark span{display:block;font-size:.8rem;letter-spacing:0;color:var(--muted);font-weight:400}
nav,.links{display:flex;gap:22px;flex-wrap:wrap}
.site-header nav{font-size:.9rem}
[aria-current=page]{color:var(--ink);text-decoration-thickness:2px}
h1,h2,h3{line-height:1.25;letter-spacing:-.035em;font-weight:600;text-wrap:balance}
h1{font-size:clamp(2rem,6vw,3rem);margin:12px 0 24px}
h2{font-size:1.4rem}
h3{font-size:1.12rem;margin:0}
p{margin:0 0 18px}
.eyebrow{color:var(--muted);font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;margin:0}
.intro{margin-bottom:64px}
.lead{font-size:1.1rem;line-height:1.8;max-width:64ch}
.section-heading{border-bottom:1px solid var(--line);padding-bottom:12px;margin-top:48px}
.section-heading h2{margin:0}
.section-heading>a{font-size:.85rem}
.project{padding:26px 0;border-bottom:1px solid var(--line)}
.project-heading{margin-bottom:12px;flex-wrap:wrap;gap:4px 16px}
.meta,.tech{font-size:.8rem;color:var(--muted)}
.tech{margin-bottom:12px}
.links{font-size:.85rem;gap:12px 22px}
.writing-list{list-style:none;padding:0;margin:0}
.writing-list li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}
.writing-list .meta{white-space:nowrap}
.post-list article{padding:26px 0;border-bottom:1px solid var(--line)}
.post-list h2{margin:5px 0 14px}
.post-list .meta{margin:0}
.prose h2,.prose h3{margin:36px 0 16px}
.prose header{margin-bottom:36px}
.prose header>a{font-size:.85rem}
.prose ul{padding-left:24px}
.prose li{margin-bottom:10px}
.prose li>ul{margin-top:10px}
.prose{overflow-wrap:break-word}
.author{border-top:1px solid var(--line);margin-top:40px;padding-top:24px;color:var(--muted);font-size:.9rem}
.post-nav{border-top:1px solid var(--line);padding-top:24px;margin-top:28px;font-size:.9rem;justify-content:space-between}
.site-footer{margin-top:64px;padding:24px 0 32px;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.skip{position:absolute;top:8px;left:16px;padding:8px 16px;background:var(--bg);transform:translateY(-200%)}
.skip:focus{transform:none}
@media(max-width:540px){body{padding:0 20px}.site-header{padding-top:28px;flex-direction:column;gap:18px;margin-bottom:40px}.writing-list li{flex-direction:column;gap:4px}.section-heading>.meta{display:none}.intro{margin-bottom:44px}}
@media(prefers-color-scheme:dark){:root{--bg:#191c19;--ink:#eceee6;--muted:#a5aea1;--line:#383f36;--accent:#bbd6ac}}
