:root{--ink:#000;--paper:#fff;--rule:#000;--light-rule:#ccc;--code-bg:#f2f2f2;--serif:Charter,"Iowan Old Style",Georgia,"Times New Roman",serif;--mono:ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box}::selection{background:var(--ink);color:var(--paper)}body{max-width:60rem;margin:0 auto;padding:2rem 1.5rem;background:var(--paper);font-family:var(--serif);font-size:1.125rem;line-height:1.65}a,body{color:var(--ink)}a{text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}h1,h2,h3{font-weight:700;line-height:1.2}h1{font-size:2.5rem;letter-spacing:-.015em}h2{font-size:1.4rem;margin-top:2.5rem}img{max-width:100%;height:auto}code,pre{font-family:var(--mono);font-size:.85em;background:var(--code-bg)}code{padding:.1em .3em}pre{padding:1rem;overflow-x:auto;border:1px solid var(--light-rule)}pre code{padding:0}blockquote{margin:1.5rem 0;padding-left:1.25rem;border-left:3px solid var(--rule);font-style:italic}hr{border:none;border-top:1px solid var(--rule);margin:2.5rem 0}.site-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;padding-bottom:.75rem;margin-bottom:2.5rem;border-bottom:4px double var(--rule)}.site-name{font-size:1.6rem;font-weight:700;letter-spacing:-.01em;color:var(--ink);text-decoration:none}.site-header nav{display:flex;gap:1.5rem;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}.site-header nav a{text-decoration:none}.site-header nav a:hover{text-decoration:underline}.tagline{margin:0;font-size:1.75rem;font-style:italic;line-height:1.35}main>h2{margin-top:3rem;padding-bottom:.35rem;border-bottom:1px solid var(--rule);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}article h1{margin-bottom:.25rem}.dateline{margin-top:0;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:4rem;padding-top:.75rem;border-top:4px double var(--rule);font-size:.875rem}.post-list{list-style:none;margin:0;padding:0}.post-list li{padding:1rem 0;border-bottom:1px solid var(--light-rule)}.post-list li>a{font-size:1.4rem;font-weight:700;text-decoration:none}.post-list li>a:hover{text-decoration:underline}.post-list time{display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}.post-list p{margin:.25rem 0 0;font-style:italic}.project-list{display:grid;gap:0 2.5rem;list-style:none;margin:0;padding:0}@media (min-width:700px){.project-list{grid-template-columns:1fr 1fr}}.project-list li{padding:.85rem 0;border-bottom:1px solid var(--light-rule)}.project-list a{font-weight:700;text-decoration:none}.project-list a:hover{text-decoration:underline}.project-list span{display:block;font-size:1rem;font-style:italic}