:root{--bg:#ffffff;--text:#18181b;--secondary:#52525b;--muted:#63636b;--rule:#e4e4e7;--surface:#f4f4f5;--sans:"Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;padding:0 24px;background:var(--bg);color:var(--text);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,p,figure{margin:0}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:hover{color:var(--muted)}.u,.prose a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.wide{max-width:1040px;margin-inline:auto}.text{max-width:620px;margin-inline:auto}main{padding-bottom:clamp(64px,10vw,112px)}.site-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;padding-top:32px;font-size:15px}.site-name{font-weight:600}.site-nav{display:flex;flex-wrap:wrap;gap:8px 24px}.site-nav a{color:var(--muted)}.site-nav a.current{color:var(--text)}.site-nav a:hover{color:var(--muted)}.intro{margin-top:clamp(72px,14vw,136px);max-width:17ch;font-size:clamp(40px,8vw,64px);font-weight:600;line-height:1.02;letter-spacing:-.04em;overflow-wrap:break-word}.latest{display:block;margin-top:clamp(56px,10vw,96px);padding-top:28px;border-top:1px solid var(--text)}.latest-label{font-size:15px;color:var(--muted)}.latest-title{margin-top:12px;font-size:clamp(30px,6vw,44px);font-weight:600;line-height:1.05;letter-spacing:-.035em}.latest-summary{margin-top:16px;max-width:600px;font-size:19px;line-height:1.5;color:var(--secondary)}.archive{margin-top:clamp(56px,8vw,80px);border-top:1px solid var(--rule)}.latest+.archive{margin-top:80px}.row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 32px;padding:26px 0;border-bottom:1px solid var(--rule)}.row-date{flex:0 0 180px;font-size:15px;color:var(--muted)}.row-title{flex:1 1 280px;font-size:clamp(21px,4vw,26px);font-weight:500;line-height:1.2;letter-spacing:-.02em}.row-summary{flex:0 1 340px;max-width:340px;font-size:15px;color:var(--muted)}.tagbar{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:clamp(40px,6vw,64px);font-size:15px}.tagbar a{color:var(--muted)}.tagbar a.current{color:var(--text)}.tagbar+.archive{margin-top:32px}.back{margin-top:clamp(32px,6vw,48px);font-size:19px}.post-title{margin-top:clamp(72px,14vw,136px);max-width:11ch;font-size:clamp(44px,11vw,88px);font-weight:600;line-height:.98;letter-spacing:-.045em;overflow-wrap:break-word}.post-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px 32px;margin-top:clamp(32px,6vw,48px);padding-bottom:28px;border-bottom:1px solid var(--rule)}.post-summary{max-width:560px;font-size:clamp(18px,3vw,21px);line-height:1.45;color:var(--secondary)}.post-date{font-size:15px;color:var(--muted)}.cover{margin-top:clamp(32px,6vw,56px)}.cover img,.figure img{width:100%;border-radius:6px;background:var(--surface)}figcaption{margin-top:12px;font-size:14px;line-height:1.5;color:var(--muted)}.prose{margin-top:clamp(48px,8vw,72px);font-size:18px;line-height:1.7;overflow-wrap:break-word}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre{margin:0 0 1.3em}.prose ul,.prose ol{padding-left:1.3em}.prose h2{margin:2em 0 .6em;font-size:24px;font-weight:600;line-height:1.25;letter-spacing:-.02em}.prose h3{margin:1.8em 0 .5em;font-size:19px;font-weight:600;line-height:1.3}.prose blockquote{padding-left:20px;border-left:2px solid var(--rule);color:var(--secondary)}.prose hr{margin:2.5em 0;border:0;border-top:1px solid var(--rule)}.prose figure{margin:2em 0}.prose code{font-family:var(--mono);font-size:.875em;padding:.15em .35em;border-radius:4px;background:var(--surface)}.prose pre{overflow-x:auto;padding:18px 22px;border-radius:6px;background:var(--surface);font:14px/1.75 var(--mono)}.prose pre code{font-size:inherit;padding:0;border-radius:0;background:0 0}a.zoom{display:block;cursor:zoom-in}.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:0 0}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox:focus{outline:none}.lightbox::backdrop{background:rgba(24,24,27,.7)}.lightbox img{width:auto;height:auto;max-width:80vw;max-height:80vh;border-radius:6px}.lightbox-close{position:fixed;top:16px;right:16px;width:32px;height:32px;padding:0;border:1px solid var(--rule);border-radius:50%;background:var(--bg);color:var(--text);font:20px/1 var(--sans);cursor:pointer}.lightbox-close:hover{color:var(--muted)}html:has(.lightbox[open]){overflow:hidden}.post-tags{margin-top:clamp(40px,6vw,56px);padding-top:24px;border-top:1px solid var(--rule)}.post-tags nav{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:15px}.more{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:32px;margin-top:clamp(72px,12vw,112px);padding-top:32px;border-top:1px solid var(--rule)}.more-date{display:block;font-size:14px;color:var(--muted)}.more-title{display:block;margin-top:8px;font-size:22px;font-weight:500;line-height:1.25;letter-spacing:-.015em}