@font-face{font-family:mno16;src:url(/fonts/Mno16.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:dm sans;src:url(/fonts/DMSans-VariableFont_opsz,wght.woff2)format("woff2");font-weight:100 1e3;font-style:normal;font-display:swap}@font-face{font-family:dm sans;src:url(/fonts/DMSans-Italic-VariableFont_opsz,wght.woff2)format("woff2");font-weight:100 1e3;font-style:italic;font-display:swap}@font-face{font-family:lora;src:url(/fonts/Lora-VariableFont_wght.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:lora;src:url(/fonts/Lora-Italic-VariableFont_wght.woff2)format("woff2");font-weight:400 700;font-style:italic;font-display:swap}*,*::before,*::after{box-sizing:border-box}html{color-scheme:dark;background-color:#1c1917;color:#e8ddd4;font-family:DM Sans,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:#9a874b;color:#e8ddd4}::-webkit-scrollbar{width:0}body{font-family:DM Sans,system-ui,sans-serif;font-size:clamp(.8rem,4vw + 1rem,1.2rem);font-weight:400;line-height:1.6;color:#e8ddd4;background:#1c1917;max-width:68ch;margin:0 auto;padding:2.5rem 1.25rem 4rem}h1,h2,h3{font-family:Lora,Georgia,serif;line-height:1.18;font-weight:500;text-wrap:balance;margin:2.5rem 0 .75rem}h1{font-size:clamp(1.875rem,4.5vw + 1.3rem,2.875rem)}h2{font-size:clamp(1.5rem,4vw + 1.2rem,1.875rem)}h3{font-size:clamp(1.25rem,4vw + 1rem,1.5rem)}.p-summary{font-style:italic;font-size:1.125rem;font-weight:300}p,ul,ol{margin:0 0 1rem;text-wrap:pretty;max-width:68ch;line-height:1.7;margin-block:1.1em}body>p:first-of-type{color:#9a874b;text-wrap:balance}@property --underline{syntax:"<percentage>";inherits:false;initial-value:0%}a{background-image:linear-gradient(#819b69,#819b69);background-repeat:no-repeat;background-size:var(--underline)1px;background-position:0 100%;color:inherit;transition:all 200ms ease}a:hover{color:#8c857f;--underline:100%}code,pre{font-family:Mno16,monospace;font-size:.9em}pre{background:color-mix(in srgb,#e8ddd4 6%,transparent);padding:1rem;overflow-x:auto;border-radius:2px}:not(pre)>code{background:color-mix(in srgb,#e8ddd4 8%,transparent);padding:.1em .3em;border-radius:2px}blockquote{color:color-mix(in oklch,#e8ddd4 80%,#1c1917 20%);font-style:italic;border-left:2px solid #819b69;padding-left:1em}hr{border:0;border-top:1px solid #403833;margin:2.5rem 0}footer,body>:last-child{color:#8c857f;font-size:.9rem;margin-top:3rem}:focus-visible{outline:2px solid #819b69;outline-offset:2px}details.toc{margin:1.5rem 0;padding:.75rem 1rem;background:color-mix(in srgb,#e8ddd4 4%,transparent);border-radius:2px}details.toc summary{cursor:pointer;color:#8c857f;font-size:.9rem}details.toc nav ul{margin:.5rem 0 0;padding-left:1.25rem;list-style:disc}details.toc nav ul ul{list-style:circle}details.toc nav li{margin:.2rem 0;font-size:.9rem}.post-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;font-size:.9rem;color:#8c857f}.post-nav-newer{margin-left:auto;text-align:right}ul.post-list{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1.5rem}ul.post-list li{display:contents}ul.post-list time{color:#9e8e82;font-variant-numeric:tabular-nums;white-space:nowrap}input{width:60%;padding:1em;gap:1em;border:1px solid #403833;border-radius:2px;background:#1c1917;border-radius:1px}a[href="#main"]{position:absolute;top:-3em;left:1em;padding:.4rem .9rem;font-family:DM Sans;font-size:.618033rem;font-weight:600;border:1px solid #403833;border-radius:1px;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;transition:top .2s ease;background:#1c1917}a[href="#main"]:focus{top:1rem}header nav{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:0 1rem;font-size:1.2rem;font-weight:500}header nav img{height:64px;width:64px;display:block}header nav a:nth-child(2){margin-left:auto}header hr{width:100vw;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);border:none;border-top:1px solid #403833}.tag,button{font-family:dm sans;font-size:.6875rem;letter-spacing:.08em;text-transform:"uppercase";background:#1c1917;border:1px solid #403833;border-radius:2px;padding:.1875rem .5rem;transition:all 150ms ease;text-decoration:none;color:#e8ddd4}.post-date{color:#8c857f}.tag:hover,button:hover{color:#e8ddd4;border:1px solid #9a874b;transition:all 150ms ease}.colophon-line{display:flex;justify-content:flex-end;align-items:baseline;flex-wrap:wrap;gap:1.25rem}.colophon-line svg{align-self:center}.col-item{display:inline-flex;align-items:baseline;gap:.35rem}.syndication-line{font-size:.9rem;color:#8c857f}.syndication-line summary{display:inline;cursor:pointer;list-style:none}.syndication-line summary::-webkit-details-marker{display:none}.syndication-line summary::before{content:"· "}.syndication-line code{display:block;margin-top:.4rem;font-size:.8rem;word-break:break-all}.syndication-line details{display:inline}.logo-mark{display:block;width:64px;height:64px;background-color:currentColor;mask-image:url(/favicon.svg);mask-size:contain;mask-repeat:no-repeat;transition:background-color .6s ease}.logo-mark:hover,.logo-mark:focus-visible{background-color:#9a874b}.featured-post{margin:2.5rem 0 3rem;padding-bottom:2rem;border-bottom:1px solid #403833}.featured-post time{font-size:.85rem;color:#8c857f}.featured-title{font-size:2.25rem;line-height:1.2;margin:.4rem 0 .75rem}.featured-dek{font-style:italic;opacity:.75;margin:0}img,video{border-radius:6px;display:block;max-width:100%;max-height:80vh;width:auto;height:auto;margin:0 auto}figure figcaption{margin-top:.5rem;font-style:italic;opacity:.75;font-size:.95rem}article footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #403833;font-size:.85rem}article footer p{display:inline;margin:0;opacity:.65}article footer p:not(.photo-tags):not(:last-of-type)::after{content:" · ";opacity:.5}article footer p.photo-tags{display:block;margin-top:.75rem}article footer p.photo-tags a{display:inline-block;border:1px solid #403833;border-radius:1px;padding:.15rem .5rem;margin-right:.4rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;text-decoration:none}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:200ms}@supports(animation-timeline:scroll()){.progress circle{animation-name:fill;animation-duration:1ms;animation-timeline:scroll(nearest);animation-fill-mode:both}}.progress{position:fixed;bottom:1rem;left:1rem;transform:rotate(-90deg)}.progress circle{fill:none;stroke:#819b69;stroke-width:2;stroke-linecap:round;stroke-dasharray:113;stroke-dashoffset:113}@keyframes fill{to{stroke-dashoffset:0}}