:root{--bg: #fbfaf7;--text: #1c1b19;--muted: #6b6760;--rule: #e4e0d8;--accent: #9a3b1f;--code-bg: #f1eee8;--serif: "Newsreader", "Iowan Old Style", Georgia, serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--measure: 640px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #161513;--text: #e8e4dc;--muted: #9a958c;--rule: #2e2c28;--accent: #e0896b;--code-bg: #211f1c}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--serif);font-size:1.1875rem;line-height:1.65;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.wrap{max-width:calc(var(--measure) + 32px);margin:0 auto;padding:0 16px}.skip{position:absolute;left:16px;top:-100px;padding:.4rem .75rem;background:var(--bg);color:var(--accent);font-size:1rem;z-index:10}.skip:focus{top:1rem}.site-header{padding:2.5rem 0 3rem}.site-header nav{font-size:1rem;color:var(--muted)}.site-header nav a{color:var(--muted);text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--text)}.site-header nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}.site-header .sep{margin:0 .45em;color:var(--rule)}main{min-height:60vh}h1,h2,h3,h4{font-weight:500;line-height:1.3;letter-spacing:-.005em;margin:2.25em 0 .6em}h1{font-size:1.75rem;margin-top:0}h2{font-size:1.45rem}h3{font-size:1.25rem}h4{font-size:1.1875rem;font-style:italic}p{margin:0 0 1.1em}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.label,time,.mono{font-family:var(--mono);font-size:.8rem;letter-spacing:.01em;color:var(--muted)}.section-title{font-family:var(--mono);font-size:.8rem;font-weight:400;text-transform:lowercase;color:var(--muted);margin:3.25rem 0 1rem}.lede{font-size:1.3rem;line-height:1.5;color:var(--text)}.muted{color:var(--muted)}.list{list-style:none;padding:0;margin:0}.list li{margin:0 0 1.1rem}.list .title{display:block}.list .desc{display:block;color:var(--muted);font-size:1.02rem;line-height:1.5}.post-list li{display:grid;grid-template-columns:6.5rem 1fr;column-gap:1rem;align-items:baseline}.post-list time{white-space:nowrap}@media(max-width:480px){.post-list li{grid-template-columns:1fr}}.more{font-size:1rem}.entry{margin:0 0 3rem}.entry h2,.entry h3{margin:0 0 .15rem}.entry .role{color:var(--muted);font-size:1.02rem;margin:0 0 .9rem}.prose img{max-width:100%;height:auto;display:block;margin:1.75rem auto}.prose figure{margin:1.75rem 0}.prose figcaption{font-size:.9rem;color:var(--muted);text-align:center}.prose blockquote{margin:1.5rem 0;padding:0 0 0 1.1rem;border-left:2px solid var(--rule);color:var(--muted);font-style:italic}.prose blockquote p:last-child{margin-bottom:0}.prose ul,.prose ol{padding-left:1.3rem;margin:0 0 1.1em}.prose li{margin:.3em 0}.prose li>ul,.prose li>ol{margin:.3em 0 0}.prose li::marker{color:var(--muted)}.prose hr{border:0;text-align:center;margin:2.5rem 0}.prose hr:after{content:"· · ·";color:var(--muted);letter-spacing:.5em}.prose code{font-family:var(--mono);font-size:.85em;background:var(--code-bg);padding:.1em .3em;border-radius:3px}.prose pre{font-family:var(--mono);font-size:.85rem;line-height:1.55;background:var(--code-bg)!important;padding:1rem 1.1rem;border-radius:4px;overflow-x:auto;margin:1.5rem 0}.prose pre code{background:none;padding:0;font-size:inherit}.prose table{width:100%;border-collapse:collapse;font-size:1rem;margin:1.5rem 0;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;padding:.4rem .75rem .4rem 0;border-bottom:1px solid var(--rule)}@media(prefers-color-scheme:dark){.astro-code,.astro-code span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important}}.post-header{margin-bottom:2.25rem}.post-header h1{margin-bottom:.35rem}.back{margin-top:3.5rem;font-size:1rem}.site-footer{margin-top:5rem;padding:1.5rem 0 3rem;border-top:1px solid var(--rule);font-size:.95rem;color:var(--muted)}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--text)}.site-footer .footer-links{display:flex;flex-wrap:wrap}.site-footer .item{white-space:nowrap}.site-footer .sep{margin:0 .45em;color:var(--rule)}main,.site-footer{overflow-wrap:break-word}
