:root{--bg:#0a0a0b;--bg-elev:#111113;--fg:#ecebe8;--fg-soft:#c4c3bf;--muted:#8a8a90;--faint:#55555b;--line:#1d1d21;--line-strong:#2b2b30;--accent:#d4b78a;--accent-soft:hsla(36,46%,69%,.12);--selection:hsla(36,46%,69%,.28);--serif:"Playfair Display",Georgia,"Times New Roman",serif;--mono:"Roboto Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--code:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--nav:"Overpass Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--wrap:68rem;--gutter:1.25rem;color-scheme:dark}:root[data-theme=light]{--bg:#fff;--bg-elev:#f7f7f6;--fg:#111;--fg-soft:#333;--muted:#66666c;--faint:#a3a3a8;--line:#ebebeb;--line-strong:#dadada;--accent:#8a6424;--accent-soft:rgba(138,100,36,.08);--selection:rgba(138,100,36,.18);color-scheme:light}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body,html{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--mono);font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{transition:background-color .2s ease,color .2s ease}::selection{background:var(--selection)}h1,h2,h3{margin:0;font-weight:700;line-height:1.15;letter-spacing:-.01em}h1{font-family:var(--serif);font-size:clamp(2.4rem,6vw,3.6rem)}h2{font-size:clamp(1.35rem,2.8vw,1.75rem);letter-spacing:-.02em}h2,h3{font-family:var(--code)}h3{font-size:1rem}p{margin:0 0 1rem;color:var(--fg-soft)}b,strong{font-weight:700}a,b,strong{color:var(--fg)}a{text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:.2em;text-decoration-thickness:1px;transition:color .15s ease,-webkit-text-decoration-color .15s ease;transition:color .15s ease,text-decoration-color .15s ease;transition:color .15s ease,text-decoration-color .15s ease,-webkit-text-decoration-color .15s ease}a:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}:focus-visible{outline:1px solid var(--accent);outline-offset:3px;border-radius:2px}hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}img{max-width:100%}.mono{font-family:var(--code)}.serif{font-family:var(--serif)}.muted{color:var(--muted)}.accent{color:var(--accent)}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}.site{min-height:100vh;display:flex;flex-direction:column}.site main{flex:1 1;padding-top:3.5rem;padding-bottom:6rem}.narrow{max-width:42rem}.label{display:inline-flex;align-items:baseline;gap:.6rem;font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:lowercase;color:var(--muted);margin-bottom:.9rem}.label .accent{font-weight:700}.section{padding:4.5rem 0 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2rem}.section-head h2{max-width:34rem}.lead{font-size:1.02rem;color:var(--fg-soft);max-width:40rem}.tag{display:inline-block;font-size:.72rem;line-height:1;padding:.35rem .5rem;border:1px solid var(--line-strong);border-radius:999px;color:var(--muted);white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:.4rem}.arrow-link{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;text-decoration:none;color:var(--fg)}.arrow-link span{transition:transform .2s ease}.arrow-link:hover span{transform:translateX(3px)}.button{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.85rem;padding:.6rem 1rem;border:1px solid var(--line-strong);border-radius:6px;background:transparent;color:var(--fg);text-decoration:none;cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.button:hover{border-color:var(--accent);color:var(--accent)}.button.primary{background:var(--fg);border-color:var(--fg);color:var(--bg)}.button.primary:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}.animate{opacity:0;animation:fadein .8s cubic-bezier(.2,.7,.2,1) forwards}@keyframes fadein{0%{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}.cursor{display:inline-block;width:.55ch;margin-left:.08em;border-bottom:.09em solid var(--accent);animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.animate{opacity:1}.animate,.cursor{animation:none}}.prose{color:var(--fg-soft)}.prose h2{margin:2.5rem 0 1rem;font-size:1.4rem}.prose h3{margin:2rem 0 .75rem}.prose ol,.prose ul{padding-left:1.25rem;margin:0 0 1rem}.prose li{margin-bottom:.35rem}.prose blockquote{margin:1.5rem 0;padding-left:1rem;border-left:2px solid var(--accent);color:var(--muted);font-style:italic}.prose code{font-family:var(--mono);font-size:.88em;background:var(--bg-elev);border:1px solid var(--line);border-radius:4px;padding:.1em .35em}.prose pre{font-size:.85rem;border:1px solid var(--line);border-radius:8px;padding:1rem 1.15rem;overflow-x:auto}.prose pre code{background:none;border:0;padding:0}.prose img{border-radius:8px;border:1px solid var(--line)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.Navbar_bar__dtjsV{font-family:var(--nav);position:-webkit-sticky;position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s ease}.Navbar_scrolled__N9DJM{border-bottom-color:var(--line)}.Navbar_inner__Cumf_{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:4rem}.Navbar_brand__JWn4W{font-family:var(--nav);font-weight:700;font-size:1rem;text-decoration:none;color:var(--fg)}.Navbar_brand__JWn4W:hover{color:var(--fg)}.Navbar_links__puXTb{display:flex;align-items:center;gap:1.4rem}.Navbar_link__Ssa7S{position:relative;font-size:.85rem;color:var(--muted);text-decoration:none}.Navbar_active__qyFWv,.Navbar_link__Ssa7S:hover{color:var(--fg)}.Navbar_active__qyFWv:after{content:"";position:absolute;left:0;right:0;bottom:-.3rem;height:1px;background:var(--accent)}.Navbar_ext__T3z6k{font-size:.7em;margin-left:.15em;vertical-align:.2em}.Navbar_toggle__Nk7Ds{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;transition:color .15s ease,border-color .15s ease,transform .3s ease}.Navbar_toggle__Nk7Ds:hover{color:var(--accent);border-color:var(--accent);transform:rotate(-20deg)}@media (max-width:520px){.Navbar_links__puXTb{gap:.95rem}.Navbar_link__Ssa7S{font-size:.8rem}}.Footer_footer__pQtti{font-family:var(--nav);border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}.Footer_inner__vtL_T{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;padding-top:1.6rem;padding-bottom:1.6rem}.Footer_version__o7EYt{margin-left:.9rem;color:var(--faint)}.Footer_links__cFiYr{display:flex;gap:1.25rem}.Footer_links__cFiYr a{color:var(--muted);text-decoration:none}.Footer_links__cFiYr a:hover{color:var(--accent)}