:root{--paper:#f8f8f5;--ink:#20262c;--accent:#214274;--muted:color-mix(in srgb, var(--ink) 64%, var(--paper));--serif:Georgia, "Times New Roman", Times, serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-optical-sizing:auto;margin:0;font-size:17px;line-height:1.68}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-shell{width:min(100% - 40px,800px);margin:0 auto}.site-header{justify-content:space-between;align-items:center;gap:24px;min-height:78px;display:flex}.site-name{color:var(--accent);font-family:var(--serif);letter-spacing:-.01em;font-size:1.3rem;font-weight:700}nav{font-family:var(--mono);letter-spacing:.01em;gap:25px;font-size:.72rem;display:flex}nav a:hover{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.intro{max-width:700px;padding:42px 0 38px}.kicker,.project-type,.sidebar-label,.post-meta,.tags{font-family:var(--mono);letter-spacing:.02em;font-size:.7rem}.kicker{color:var(--accent);margin:0 0 14px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:var(--serif)}.standfirst{max-width:680px;color:var(--muted);font-family:var(--serif);margin:0;font-size:1.14rem;line-height:1.62}.content-grid{padding-bottom:56px;display:block}.main-column{min-width:0}.section-heading{padding:0 0 4px}.section-heading h2{letter-spacing:-.018em;margin:0;font-size:1.46rem;font-weight:600;line-height:1.2}.post{padding:17px 0 18px}.post+.post{padding-top:9px}.post-meta{color:var(--muted);flex-wrap:wrap;gap:5px 16px;margin-bottom:8px;line-height:1.45;display:flex}.post-meta time{color:var(--accent)}.post h3{letter-spacing:-.012em;max-width:620px;margin-bottom:7px;font-size:1.22rem;font-weight:500;line-height:1.3}.post h3 a:hover{color:var(--accent)}.post-body>p{max-width:640px;color:var(--muted);margin-bottom:10px;font-size:.92rem;line-height:1.58}.tags{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;display:flex}.tags li:before{content:"#";color:var(--accent)}.tools-section{margin-top:52px}.project{margin-top:0;padding:19px 0 0}.project-type{color:var(--accent);margin-bottom:6px}.project h3{letter-spacing:-.018em;margin:0;font-size:1.64rem;font-weight:500;line-height:1.25}.project-tagline{color:var(--muted);font-family:var(--serif);margin:3px 0 14px;font-size:1.06rem;font-style:italic}.project-summary{max-width:650px;font-family:var(--serif);margin:0;font-size:1.08rem;line-height:1.6}.project-details{max-width:650px;margin-top:16px;padding:0}.project-details>div+div{margin-top:14px}.project-details h4{font-family:var(--mono);text-transform:uppercase;margin-bottom:7px;font-size:.66rem;font-weight:600}.project-details p{color:var(--muted);margin:0;font-size:.88rem}.project-links{flex-wrap:wrap;gap:24px;padding:16px 0 18px;display:flex}.project-links a,.sidebar-links a{color:var(--accent);font-family:var(--mono);font-size:.72rem}.project-links a:hover,.sidebar-links a:hover{text-underline-offset:4px;text-decoration:underline}.about-section{margin-top:52px}.about-grid article{max-width:680px;padding:14px 0 6px}.sidebar-label{color:var(--accent);text-transform:uppercase;margin-bottom:8px;font-weight:600}.about-grid article>p:not(.sidebar-label){color:var(--muted);font-family:var(--serif);margin:0;font-size:.94rem;line-height:1.6}.about-grid ul{color:var(--muted);margin:0;padding-left:18px;font-size:.88rem}.about-grid li+li{margin-top:3px}.sidebar-links{flex-wrap:wrap;gap:10px 24px;display:flex}footer{color:var(--muted);font-family:var(--mono);justify-content:space-between;gap:30px;padding:18px 0 30px;font-size:.68rem;display:flex}@media (max-width:800px){.intro{padding:40px 0 36px}}@media (max-width:560px){.site-shell{width:min(100% - 28px,800px)}.site-header{min-height:72px}nav{gap:14px;font-size:.66rem}.post{padding:17px 0 18px}.post-meta{gap:5px 14px}.post h3{font-size:1.18rem}.project{padding:19px 0 0}.about-grid article{padding:14px 0 6px}footer{flex-direction:column;gap:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
