:root{color-scheme:light dark;--paper:#faf9f6;--text:#302e2b;--muted:#76716a;--line:#e0ddd6;--accent:#95513b;--accent-soft:#f1e6df;--panel:#f2f0eb;--code:#eeeae3;--reading-width:44rem;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--paper:#1c1d1b;--text:#e5e2dc;--muted:#aaa69d;--line:#393b36;--accent:#dfa78e;--accent-soft:#382b24;--panel:#252722;--code:#2d2f29}}*{box-sizing:border-box}html{background:var(--paper);scroll-padding-top:2rem}body{color:var(--text);flex-direction:column;min-height:100svh;margin:0;font-size:17px;line-height:1.65;display:flex}main{flex:1;min-width:0}main:focus{outline:none}a{color:var(--accent);text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{text-decoration:underline}button,input{font:inherit}button{cursor:pointer}button,input,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:2px}::selection{background:var(--accent-soft);color:var(--text)}img,svg{max-width:100%}h1,h2,h3{text-wrap:balance;font-weight:600;line-height:1.25}h1{letter-spacing:-.045em;margin:0;font-size:clamp(1.9rem,5vw,2.3rem)}p{margin:0 0 1.25rem}.reading-width{width:min(var(--reading-width), calc(100% - 3rem));margin-inline:auto}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.7rem;font-weight:600}.skip-link{z-index:10;background:var(--paper);padding:.6rem 1rem;position:fixed;top:.75rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.preview-notice{background:var(--accent-soft);text-align:center;padding:.5rem 1rem;font-size:.8rem}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:3.5rem;padding-block:3.2rem 1.5rem;display:flex}.wordmark{color:var(--text);letter-spacing:-.06em;font-size:1.4rem;font-weight:650;text-decoration:none}.wordmark span{color:var(--accent)}.site-header nav{flex-wrap:wrap;gap:1.45rem;font-size:.83rem;display:flex}.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-color:var(--accent);text-underline-offset:.55em}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;margin-top:5.5rem;padding-block:1.3rem 2.5rem;font-size:.74rem;display:flex}.site-footer a{color:inherit;text-decoration:none}.home-intro .eyebrow{margin-bottom:1.25rem}.home-intro h1{margin-bottom:1.4rem}.intro-lead{margin-bottom:.4rem;font-size:1.08rem}.intro-detail{color:var(--muted);font-size:.95rem}.latest-posts{margin-top:4.2rem}.section-heading{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.subtle-link{color:var(--muted);font-size:.75rem;text-decoration:none}.post-list{margin:0;padding:0;list-style:none}.post-row{grid-template-columns:7.75rem minmax(0,1fr);gap:.7rem;padding-block:.3rem 1.9rem;display:grid}.post-row time{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:.15rem;font-size:.77rem}.post-title{color:var(--text);letter-spacing:-.015em;font-size:1.08rem;font-weight:500;line-height:1.45;text-decoration:none}.post-title:hover{color:var(--accent)}.post-context{color:var(--muted);flex-wrap:wrap;gap:.75rem;margin:.35rem 0 0;font-size:.73rem;display:flex}.interactive-label{color:var(--accent)}.interactive-label>span{padding-right:.25rem}.draft-label{color:var(--accent);font-size:.73rem}.all-posts-link{color:var(--text);margin:.7rem 0 0 8.45rem;font-size:.87rem;text-decoration:none;display:inline-block}.page-header{margin-bottom:2.3rem}.page-header h1{margin-bottom:1rem}.page-header p:not(.eyebrow){color:var(--muted)}.page-header .eyebrow{margin-bottom:1rem}.tag-navigation{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.65rem 1.25rem;padding-block:0 1.6rem;font-size:.8rem;display:flex}.tag-navigation a{color:var(--muted);text-decoration:none}.tag-navigation a[aria-current]{color:var(--text)}.archive-year{margin-top:2rem}.archive-year h2{font-variant-numeric:tabular-nums;margin:0 0 1.5rem;font-size:.93rem}.topic-list{margin:0;padding:0;list-style:none}.topic-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-block:1rem;display:flex}.topic-list a{color:var(--text);text-decoration:none}.topic-list span{color:var(--muted);font-size:.8rem}.empty-state{color:var(--muted);padding-block:1rem}.back-link{color:var(--muted);margin-bottom:1.8rem;font-size:.8rem;text-decoration:none;display:inline-block}.article-eyebrow{color:var(--accent);margin-bottom:.8rem}.article-header h1{margin-bottom:1.1rem}.article-description{color:var(--muted);margin-bottom:1.7rem;font-size:1.1rem;line-height:1.6}.article-meta{color:var(--muted);flex-wrap:wrap;gap:.5rem 1rem;font-size:.74rem;display:flex}.article-tags{flex-wrap:wrap;gap:.65rem 1rem;margin:.7rem 0 0;padding:0;font-size:.73rem;list-style:none;display:flex}.article-tags a{color:var(--muted);text-decoration:none}.article-tags a:hover{color:var(--accent)}.article-header{margin-bottom:3rem}.prose{overflow-wrap:anywhere;font-size:1.04rem;line-height:1.85}.prose>:first-child{margin-top:0}.prose h2{letter-spacing:-.025em;margin:2.5rem 0 1rem;font-size:1.35rem}.prose h3{margin:2rem 0 .75rem;font-size:1.1rem}.prose p,.prose ul,.prose ol{margin-block:0 1.45rem}.prose li{margin-block:.35rem;padding-left:.25rem}.prose ul,.prose ol{padding-left:1.3rem}.prose blockquote{border-left:2px solid var(--accent);color:var(--muted);margin:2rem 0;padding:.1rem 0 .1rem 1.2rem}.prose blockquote p:last-child{margin:0}.prose code{background:var(--code);border-radius:3px;padding:.15em .35em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82em}.prose pre{border:1px solid var(--line);overflow-wrap:normal;border-radius:5px;margin:1.7rem 0;padding:1.25rem;line-height:1.7;overflow-x:auto}.prose pre code{background:0 0;padding:0;font-size:.78rem}.prose .katex{font-size:1.08em}.prose .katex-display{overflow-wrap:normal;margin:1.7rem 0;padding-block:.35rem;overflow:auto hidden}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}.prose table{border-collapse:collapse;max-width:100%;font-size:.9rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:.65rem 1rem .65rem 0}.article-end{justify-content:space-between;align-items:center;margin-top:3rem;display:flex}.article-end a{color:var(--muted);font-size:.8rem;text-decoration:none}.end-mark{color:var(--accent);letter-spacing:.04em;user-select:none;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem}.not-found{padding-block:2rem 4rem}.not-found h1{margin-block:1rem}.not-found p:not(.eyebrow){color:var(--muted)}@media (prefers-color-scheme:dark){.astro-code,.astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}@media (width<=560px){.site-header{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:2.5rem;padding-top:2rem}.site-header nav{gap:1.4rem}.site-header nav a{padding-block:.4rem}.home-intro h1{max-width:18rem}.intro-lead{font-size:1rem}.intro-detail{font-size:.88rem}.latest-posts{margin-top:3rem}.post-row{grid-template-columns:minmax(0,1fr);gap:.35rem;padding-bottom:1.9rem}.post-title{font-size:1.08rem}.all-posts-link{margin-left:0}.site-footer{margin-top:4rem;font-size:.7rem}.article-description,.prose{font-size:1rem}.article-header{margin-bottom:2.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}
