*{box-sizing:border-box;margin:0;padding:0}:root{--paper:#fff;--ink:#222;--meta:#8a8a8a;--chrome:#ddd;--chrome-hover:#555;--accent:#a34a30;--rule:#eee}html,body{overflow-x:hidden}body{font-optical-sizing:auto;max-width:40rem;min-height:100vh;color:var(--ink);background:var(--paper);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;flex-direction:column;margin:0 auto;padding:0 1.5rem 4rem;font-family:"Source Serif 4",georgia,times new roman,serif;font-size:1.05rem;line-height:1.5;display:flex}body.index{max-width:64rem}a{color:var(--accent);text-underline-offset:.15em;text-decoration-thickness:1px}a:hover{color:var(--chrome-hover)}.site-header{text-align:center;padding:3.5rem 0 1.25rem}.site-title-link{text-decoration:none;display:inline-block}.site-wordmark{width:180px;height:auto}.site-tagline{color:var(--meta);margin-top:.35rem;font-size:.85rem;font-style:italic}main{flex:1}.post-grid{grid-template-columns:repeat(3,1fr);gap:2.5rem 2rem;margin:2.5rem 0;display:grid}@media (width<=880px){.post-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.post-grid{grid-template-columns:1fr;gap:2.25rem}}.post-card{color:inherit;text-decoration:none;display:block}.post-card img{aspect-ratio:4/3;object-fit:cover;width:100%}.post-card-title{color:var(--ink);margin-top:.75rem;font-size:1.05rem;font-weight:500;line-height:1.3}.post-card:hover .post-card-title{color:var(--accent)}.post-card-date{color:var(--meta);margin-top:.2rem;font-size:.85rem;font-style:italic}.post-nav{margin:1.75rem 0;font-size:.9rem}.post-nav a{color:var(--chrome-hover);text-decoration:none}.post-nav a:hover{color:var(--accent)}article.post h1{letter-spacing:-.005em;margin:1.5rem 0 1.75rem;font-size:1.85rem;font-weight:600;line-height:1.25}.post-date{color:var(--meta);font-size:.9rem;font-style:italic}.post-body h2{margin:2rem 0 .75rem;font-size:1.15rem;font-weight:600}.hero-image,.gallery img{width:100%;height:auto;display:block}.hero-image{width:100vw;max-width:68rem;margin-top:1.25rem;position:relative;left:50%;transform:translate(-50%)}.gallery{flex-direction:column;gap:1.25rem;margin:2rem 0;display:flex}.post-body p{margin-bottom:1.3rem}.post-body ul,.post-body ol{margin:0 0 1.3rem 1.4em}.post-body li{margin-bottom:.3rem}.post-divider{text-align:center;color:var(--chrome);letter-spacing:.3em;margin:2.5rem 0}.post-body sup{line-height:0}.post-body sup a{color:var(--accent);font-size:.75em;text-decoration:none}article.post .footnotes{border-top:1px solid var(--rule);color:var(--chrome-hover);margin-top:3rem;padding-top:1.5rem;font-size:.95rem;line-height:1.5}article.post .footnotes ol{margin-left:0;padding-left:1.4em;list-style-position:outside}article.post .footnotes li{margin-bottom:.7em}article.post .footnotes li p{margin-bottom:.4em}article.post .footnotes a{text-decoration:none}.post-pdf{border:1px solid var(--ink);color:var(--ink);margin:2rem 0;padding:.6rem 1.1rem;font-size:.9rem;text-decoration:none;display:inline-block}.post-pdf:hover{background:var(--ink);color:var(--paper)}.post-history{color:var(--meta);margin-top:2.5rem;font-size:.9rem;font-style:italic}.site-footer{border-top:1px solid var(--rule);text-align:center;color:var(--meta);margin-top:4rem;padding-top:1.75rem;font-size:.85rem}.site-footer a{color:var(--meta)}.site-footer a:hover{color:var(--accent)}article.post p{margin-bottom:1.1rem}.heart-button{cursor:pointer;color:var(--accent);opacity:.55;background:0 0;border:none;padding:.5rem 0;font-size:1.5rem;line-height:1;transition:opacity .2s,transform .15s}.heart-button:hover{opacity:.85}.heart-button.hearted{opacity:1;transform:scale(1.12)}.comments{margin-top:4rem}.comments h2{margin-bottom:1.25rem;font-size:1.2rem;font-weight:600}.comment{border-top:1px solid var(--rule);padding:1.1rem 0}.comment-author{font-size:1rem;font-weight:600}.comment-date{color:var(--meta);margin-left:.5rem;font-size:.8rem;font-style:italic}.comment-body{margin-top:.4rem}.comment-form{margin-top:1.75rem}.comment-form input,.comment-form textarea{border:none;border-bottom:1px solid var(--chrome);background:0 0;border-radius:0;width:100%;margin-bottom:1rem;padding:.6rem .1rem;font-family:inherit;font-size:1rem}.comment-form input:focus,.comment-form textarea:focus{border-bottom-color:var(--accent);outline:none}.comment-form textarea{resize:vertical;min-height:6rem}.comment-form button{background:var(--ink);color:var(--paper);cursor:pointer;letter-spacing:.02em;border:none;padding:.65rem 1.4rem;font-family:inherit;font-size:.9rem}.comment-form button:hover{background:var(--accent)}.comment-form-note{color:var(--meta);margin-top:.6rem;font-size:.82rem;font-style:italic}
