:root{--paper:#efeeea;--ink:#1b1918;--body:#3a3735;--dim:#85807a;--link-line:#1b191847;--red:#b22222;--rule:#1b19181f;--code-bg:#1b19180f;--terminal:#110b0c;--ease:cubic-bezier(.2, .7, .2, 1);color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--paper)}html,body{overflow-x:clip}body{background:var(--paper);color:var(--body);font:400 18px/1.8 var(--font-open-sans);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--red);color:#fff}a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--link-line);text-underline-offset:3px;transition:color .2s var(--ease), text-decoration-color .2s var(--ease);text-decoration-thickness:1px}a:hover{color:var(--red);text-decoration-color:var(--red)}a:focus-visible{outline:1px solid var(--red);outline-offset:3px}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.015em;font-weight:700;line-height:1.12}h1{margin:0 0 .9rem;font-size:3.1rem}h2{letter-spacing:-.01em;margin:3rem 0 1rem;font-size:1.5rem}h3{margin:2rem 0 .75rem;font-size:1.15rem}.caret{background:var(--red);vertical-align:-.1em;width:.42em;height:.92em;margin-left:.06em;display:inline-block}.kicker{color:var(--red);margin:0 0 2.5rem;font-size:1rem;font-weight:700;line-height:1.5}.site-header,main,.site-footer{max-width:720px;margin:0 auto;padding-left:24px;padding-right:24px}.site-header{z-index:10;background:var(--paper);box-shadow:0 0 0 100vmax var(--paper);clip-path:inset(0 -100vmax);transition:transform .35s var(--ease);justify-content:space-between;align-items:baseline;gap:16px;padding-top:22px;padding-bottom:22px;display:flex;position:sticky;top:0}.site-header.away:not(:focus-within){transform:translateY(-100%)}.site-header .brand{color:var(--ink);font-size:1.5rem;font-weight:700;line-height:1;text-decoration:none}.site-header nav{gap:22px;font-size:15px;display:flex}.site-header nav a{color:var(--dim);margin:-10px 0;padding:10px 0;text-decoration:none;display:inline-block}.site-header nav a:hover,.site-header nav a.active{color:var(--ink)}main{padding-top:48px;padding-bottom:110px}.site-footer{border-top:1px solid var(--rule);color:var(--dim);font:400 13px/1.8 var(--font-fira-mono);padding-top:28px;padding-bottom:56px}.site-footer a{color:var(--dim);text-decoration:none}.site-footer a:hover{color:var(--ink)}.muted{color:var(--dim)}.meta{color:var(--dim);font:400 13px/1.6 var(--font-fira-mono);letter-spacing:.01em}.photo{filter:grayscale()contrast(1.12);background:#d9d7d2;width:100%;height:auto;display:block}.post-list,.archive-list,.plain{margin:0;padding:0;list-style:none}.post-list li{margin-bottom:4.5rem}.post-list a{color:inherit;text-decoration:none;display:block}.post-list .photo{aspect-ratio:3/2;object-fit:cover;width:min(1120px,100vw);max-width:none;margin:0 0 1.5rem 50%;transform:translate(-50%)}.post-list .cover .photo{aspect-ratio:auto;width:100vw;height:min(82vh,56vw)}.post-list .cover .title{font-size:2.6rem}.post-list .title{color:var(--ink);letter-spacing:-.015em;transition:color .2s var(--ease);margin:.35rem 0 .4rem;font-size:1.9rem;font-weight:700;line-height:1.15;display:block}.post-list .title .caret{opacity:0;transition:opacity .15s var(--ease)}.post-list a:hover .title{color:var(--ink)}.post-list a:hover .caret,.post-list a:focus-visible .caret{opacity:1}.post-list .about{color:var(--dim);margin:0;font-size:1.05rem;line-height:1.6}.archive-year h2{color:var(--red);margin-top:2.75rem;font-size:1rem}.archive-list li{border-bottom:1px solid var(--rule);align-items:baseline;gap:22px;padding:7px 0;display:flex}.archive-list .meta{min-width:6.5em}.archive-list a{text-decoration:none}.plain li{padding:4px 0}.contact-email{font-size:1.6rem;font-weight:700}.contact-email a{text-decoration:none}.post .hero{object-fit:cover;width:100vw;max-width:none;height:88vh;margin:-48px calc(50% - 50vw) 3.25rem}.post-head h1{font-size:3.4rem}.post-head .kicker{margin-bottom:1.6rem;font-size:1.15rem}.byline{color:var(--dim);align-items:center;gap:12px;margin:0 0 3rem;font-size:15px;line-height:1.4;display:flex}.byline strong{color:var(--ink)}.byline .avatar{object-fit:cover;object-position:50% 30%;filter:grayscale()contrast(1.1);border-radius:50%;width:36px;height:36px}.progress{z-index:20;background:var(--red);transform-origin:0;width:100%;height:2px;position:fixed;top:0;left:0;transform:scaleX(0)}.prose p,.prose ul,.prose ol{margin:0 0 1.5rem}.prose li{margin-bottom:.45rem}.prose strong{color:var(--ink)}.prose img{filter:grayscale()contrast(1.12);width:min(1200px,100vw);max-width:none;height:auto;margin:3.5rem 0 3.5rem 50%;display:block;transform:translate(-50%)}.prose img[title=full]{width:100vw}.prose p:has(>img){margin:0}.prose p:has(>img)+p:has(>em:only-child){color:var(--dim);font:400 13px/1.6 var(--font-fira-mono);margin:-2.4rem 0 3rem}.prose p:has(>img)+p>em:only-child{font-style:normal}.prose blockquote{color:var(--ink);letter-spacing:-.01em;margin:2.75rem 0;font-size:1.45rem;line-height:1.45}.prose blockquote p{margin:0}.prose hr{border:0;border-top:2px solid var(--red);width:48px;margin:3.5rem 0}.more{border-top:1px solid var(--rule);margin-top:5rem;padding-top:2.5rem}.more h2{color:var(--red);margin:0 0 1.75rem;font-size:1rem}.more ul{grid-template-columns:1fr 1fr;gap:32px;margin:0;padding:0;list-style:none;display:grid}.more a{color:inherit;text-decoration:none;display:block}.more .photo{aspect-ratio:3/2;object-fit:cover;margin-bottom:.9rem}.more .title{color:var(--ink);margin-top:.2rem;font-size:1.15rem;font-weight:700;line-height:1.25;display:block}.more a:hover .title{color:var(--red)}code{font:400 .84em var(--font-fira-mono);background:var(--code-bg);color:var(--ink);border-radius:3px;padding:.12em .35em}pre{border-radius:4px;margin:2rem 0;padding:1.2rem 1.3rem;font-size:.8rem;line-height:1.65;overflow-x:auto;background:var(--terminal)!important}pre>code{color:#f1ede4;background:0 0;padding:0}@media (width<=576px){body{font-size:18px;line-height:1.7}.site-header,main,.site-footer{padding-left:22px;padding-right:22px}h1,.post-head h1{font-size:2.15rem;line-height:1.1}h2{margin-top:2.5rem;font-size:1.35rem}.site-header{padding-top:16px;padding-bottom:16px}.site-header nav{gap:18px}main{padding-top:28px}.post .hero{aspect-ratio:4/5;height:auto;margin-top:-28px;margin-bottom:2.25rem}.post-head .kicker{font-size:1.05rem}.byline{margin-bottom:2.25rem}.post-list li{margin-bottom:3.25rem}.post-list .photo{width:100vw}.post-list .cover .photo{aspect-ratio:4/5;height:auto}.post-list .title,.post-list .cover .title{font-size:1.6rem}.prose img{width:100vw;margin:2.5rem 0 2.5rem 50%}.prose p:has(>img)+p:has(>em:only-child){margin:-1.6rem 0 2.25rem}.prose blockquote{font-size:1.3rem}pre{border-radius:0;margin-left:-22px;margin-right:-22px}.more ul{grid-template-columns:1fr;gap:28px}.archive-list li{flex-direction:column;gap:0}}
