@font-face{font-family:inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/inter-latin-v20.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:martian mono;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/martian-mono-700-latin-v6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#000000;--surface:#0d0d0d;--border:#1f1f1f;--text:#c9c9c9;--text-strong:#ffffff;--text-muted:#8a8a8a;--accent:#a78bfa;--accent-dim:#7c5cf0;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;--font-mono:"Martian Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo,
    Consolas, "Liberation Mono", monospace;--font-code:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
    "Liberation Mono", monospace;--step--1:0.875rem;--step-0:1.25rem;--step-1:1.375rem;--step-2:clamp(1.5rem, 1.2rem + 1.2vw, 1.9rem);--step-3:clamp(1.75rem, 1.3rem + 2vw, 2.4rem);--step-4:clamp(2.1rem, 1.2rem + 4.2vw, 3.6rem);--space-1:0.25rem;--space-2:0.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.5rem;--space-6:4rem;--space-7:6.5rem;--radius:10px;--measure:1100px}*,*::before,*::after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--step-0);line-height:1.65;font-synthesis-weight:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,video,svg{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}::selection{background:var(--accent-dim);color:#fff}.container{width:100%;max-width:calc(var(--measure) + var(--space-6) * 2);margin-inline:auto;padding-inline:clamp(var(--space-3),5vw,var(--space-6));min-height:100vh;display:flex;flex-direction:column}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:var(--space-3);top:var(--space-3);z-index:100;background:var(--surface);color:var(--text-strong);padding:var(--space-2)var(--space-3);border-radius:var(--radius)}.site-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-4);margin-bottom:var(--space-6)}.site-logo{font-family:var(--font-mono);font-weight:700;font-size:1.0625rem;letter-spacing:-.02em;color:var(--text-strong)}main{flex:1}.post-header{margin-bottom:var(--space-7)}.post-header--page{margin-bottom:var(--space-6)}.post-meta{font-size:var(--step--1);color:var(--text-muted);margin-bottom:var(--space-4)}.page-lede{margin-top:var(--space-4);color:var(--text-muted);max-width:60ch}.series-badge{display:inline-block;margin-top:var(--space-4);font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:.3em .85em}.post-title{font-family:var(--font-mono);font-size:var(--step-4);font-weight:700;line-height:1.12;letter-spacing:-.03em;color:var(--text-strong);text-wrap:balance}.byline{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-5)}.byline__label{font-size:var(--step--1);color:var(--text-muted)}.byline__avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0}.byline__name{font-size:1rem;font-weight:600;color:var(--text-strong);line-height:1.3}.byline__role{font-size:1rem;color:var(--text-muted);line-height:1.3}.prose>*+*{margin-top:var(--space-4)}.prose>:first-child{margin-top:0}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-family:var(--font-mono);font-weight:700;color:var(--text-strong);letter-spacing:-.02em;line-height:1.25;margin-top:var(--space-6);text-wrap:balance;scroll-margin-top:var(--space-4)}.prose h5,.prose h6{font-size:1rem;margin-top:var(--space-5)}.prose .heading-anchor{margin-left:.4em;color:var(--text-muted);text-decoration:none;opacity:0;transition:opacity .15s ease,color .15s ease}.prose :is(h1,h2,h3,h4,h5,h6):hover .heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}.prose .heading-anchor:hover{color:var(--accent)}.prose h2{font-size:var(--step-3)}.prose h3{font-size:var(--step-2)}.prose h4{font-size:var(--step-1)}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);transition:text-decoration-color .15s ease}.prose a:hover{text-decoration-color:var(--accent)}.prose strong{color:var(--text-strong);font-weight:600}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:var(--space-2)}.prose li:has(>input[type=checkbox],>p:first-child>input[type=checkbox]){list-style:none}.prose li>input[type=checkbox],.prose li>p:first-child>input[type=checkbox]{margin:0 .5em 0 0;accent-color:var(--accent)}.prose blockquote{border-left:2px solid var(--border);padding-left:var(--space-4);color:var(--text-muted)}.callout{--callout:var(--accent);border-left:2px solid var(--callout);background:color-mix(in srgb,var(--callout) 7%,transparent);border-radius:0 var(--radius)var(--radius)0;padding:var(--space-3)var(--space-4)}.callout>*+*{margin-top:var(--space-2)}.callout__title{font-family:var(--font-mono);font-size:.8rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--callout)}.callout--note{--callout:#58a6ff}.callout--tip{--callout:#3fb950}.callout--important{--callout:var(--accent)}.callout--warning{--callout:#d29922}.callout--caution{--callout:#f85149}.prose hr{border:0;border-top:1px solid var(--border);margin-block:var(--space-6)}.prose code{font-family:var(--font-code);font-size:.8em;background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:.15em .4em}.prose pre{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);overflow-x:auto;font-size:.85rem;line-height:1.6}.prose pre code{background:0 0;border:0;padding:0;font-size:inherit}.code{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#0d1117}.code__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:2.5rem;padding:0 var(--space-2)0 var(--space-4);border-bottom:1px solid var(--border);font-family:var(--font-code);font-size:.8rem;color:var(--text-muted)}.code__copy{font:inherit;color:var(--text-muted);background:0 0;border:1px solid transparent;border-radius:6px;padding:.25em .6em;cursor:pointer;transition:color .15s ease,border-color .15s ease}.code__copy:hover{color:var(--text-strong);border-color:var(--border)}.code pre{border:0;border-radius:0;margin:0}.code pre span[style*="background-color:#6e7681"]{background-color:color-mix(in srgb,var(--accent) 16%,transparent)!important}.prose table{width:100%;border-collapse:collapse;font-size:var(--step--1);display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);padding:var(--space-2)var(--space-3);text-align:left}.prose th{color:var(--text-strong);font-weight:600;background:var(--surface)}.md-img__a{display:flex;justify-content:center;margin-block:var(--space-5)}.md-img{width:100%;max-width:850px;border-radius:var(--radius);border:1px solid var(--border)}.diagram{display:flex;flex-direction:column;align-items:center;margin-block:var(--space-5)}.diagram img{max-width:100%;max-height:520px;width:auto;border-radius:var(--radius)}.diagram figcaption{margin-top:var(--space-2);font-size:var(--step--1);color:var(--text-muted)}.goat{margin-block:var(--space-5);color:var(--text)}.goat svg{width:var(--goat-width,100%);max-width:100%;margin-inline:auto;font-family:var(--font-code)}.toc__title{font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted)}.toc ul{list-style:none;padding:0;margin:0}.toc ul ul{padding-left:var(--space-3)}.toc li{margin-top:var(--space-2)}.toc a{display:block;font-size:.875rem;line-height:1.4;color:var(--text-muted);transition:color .15s ease}.toc a:hover,.toc a.is-active{color:var(--text-strong)}.toc--inline{margin-bottom:var(--space-5);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3)var(--space-4)}.toc--inline summary{cursor:pointer}.toc--inline[open] summary{margin-bottom:var(--space-2)}.toc--aside{display:none}@media(min-width:1200px){.post-body--toc{display:grid;grid-template-columns:minmax(0,1fr)220px;gap:var(--space-6);align-items:start}.post-body--toc .post-main{grid-column:1;grid-row:1}.toc--aside{display:block;grid-column:2;grid-row:1;position:sticky;top:var(--space-5);max-height:calc(100vh - var(--space-5) * 2);overflow-y:auto}.toc--inline{display:none}}.series{margin-top:var(--space-6);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4)}.series__title{font-family:var(--font-mono);font-size:.875rem;font-weight:700;color:var(--text-strong)}.series__list{margin:var(--space-3)0 0;padding-left:1.4em;font-size:1rem;color:var(--text-muted)}.series__item+.series__item{margin-top:var(--space-1)}.series__link{color:var(--text-muted);transition:color .15s ease}a.series__link:hover{color:var(--accent)}.series__link--current{color:var(--text-strong);font-weight:600}.post-year{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.post-year+.post-year{margin-top:var(--space-6)}.post-year__label{font-family:var(--font-mono);font-size:var(--step-1);font-weight:700;color:var(--text-muted);line-height:1.3;align-self:start;position:sticky;top:var(--space-4)}.post-list__item+.post-list__item{margin-top:var(--space-5)}.post-list__item{display:grid;grid-template-columns:minmax(0,1fr)200px;gap:var(--space-4);align-items:start}.post-list__item:not(:has(.post-list__thumb)){grid-template-columns:minmax(0,1fr)}.post-list__thumb{display:block;overflow:hidden;border-radius:8px;border:1px solid var(--border);background:var(--surface)}.post-list__thumb img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform .3s ease}.post-list__thumb--wide img{object-fit:contain}.post-list__thumb--logo img{object-fit:contain;padding:12%}.post-list__item:hover .post-list__thumb img{transform:scale(1.03)}.post-list__title{font-family:var(--font-mono);font-size:var(--step-1);font-weight:700;letter-spacing:-.02em;line-height:1.3;text-wrap:balance}.post-list__title a{color:var(--text-strong);transition:color .15s ease}.post-list__title a:hover{color:var(--accent)}.post-list__desc{margin-top:var(--space-2);color:var(--text);font-size:1.0625rem;line-height:1.6}.post-list__meta{display:flex;flex-wrap:wrap;gap:var(--space-1)var(--space-4);margin-top:var(--space-2);font-size:var(--step--1);color:var(--text-muted)}.intro{margin-bottom:var(--space-6)}.intro__avatar{width:64px;height:64px;border-radius:50%;margin-bottom:var(--space-4)}.intro__name{font-family:var(--font-mono);font-size:var(--step-3);font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--text-strong)}.intro__role{margin-top:var(--space-1);color:var(--accent);font-size:var(--step--1)}.intro__bio{margin-top:var(--space-3);font-size:1rem;line-height:1.65;color:var(--text-muted);text-wrap:pretty}.page-intro{margin-bottom:var(--space-6)}.page-intro__title{font-family:var(--font-mono);font-size:var(--step-3);font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--text-strong)}.page-intro__desc{margin-top:var(--space-3);color:var(--text-muted);max-width:60ch}.pagination{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0;margin-block:var(--space-6);font-size:var(--step--1);font-family:var(--font-mono)}.page-item{border:1px solid var(--border);border-radius:7px;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center}.page-item a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding-inline:var(--space-2)}.page-item.active{background:var(--text-strong);border-color:var(--text-strong);color:var(--bg)}.page-item.disabled{opacity:.35;cursor:not-allowed}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--border)}.post-nav__link{display:flex;flex-direction:column;gap:var(--space-1)}.post-nav__link--next{text-align:right;grid-column:2}.post-nav__label{font-size:var(--step--1);color:var(--text-muted)}.post-nav__title{font-weight:600;color:var(--text-strong);font-size:1rem;line-height:1.35;transition:color .15s ease}.post-nav__link:hover .post-nav__title{color:var(--accent)}.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-7);padding-block:var(--space-4);border-top:1px solid var(--border);font-size:var(--step--1);color:var(--text-muted)}.site-footer a{transition:color .15s ease}.site-footer a:hover{color:var(--text-strong)}.footer-links{display:flex;gap:var(--space-4)}.footer-social{display:flex;gap:var(--space-3)}.footer-social a{display:flex}.footer-social svg{width:18px;height:18px;fill:currentColor}.notfound{padding-block:var(--space-7)}.notfound__code{font-family:var(--font-mono);font-size:var(--step-4);font-weight:700;color:var(--text-strong);letter-spacing:-.03em}.notfound__text{margin-top:var(--space-3);color:var(--text-muted)}.notfound__link{display:inline-block;margin-top:var(--space-4);color:var(--accent);text-decoration:underline;text-underline-offset:3px}@media(max-width:640px){:root{--step-0:1.125rem;--step-1:1.1875rem}.post-year{grid-template-columns:1fr;gap:var(--space-3)}.post-year__label{position:static}.post-list__item{grid-template-columns:minmax(0,1fr)96px;gap:var(--space-3)}.post-nav{grid-template-columns:1fr}.post-nav__link--next{grid-column:1;text-align:left}.site-footer{justify-content:center;text-align:center}}#lightbox{width:100%;height:100%;position:fixed;top:0;left:0;background:rgba(0,0,0,.85);z-index:9999999;line-height:0;cursor:pointer;display:none}#lightbox .img{position:relative;top:50%;left:50%;-ms-transform:translateX(-50%)translateY(-50%);-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);max-width:100%;max-height:100%}#lightbox .img img{opacity:0;pointer-events:none;width:auto}@media screen and (min-width:1200px){#lightbox .img{max-width:1200px}}@media screen and (min-height:1200px){#lightbox .img{max-height:1200px}}#lightbox span{display:block;position:fixed;bottom:13px;height:1.5em;line-height:1.4em;width:100%;text-align:center;color:#fff;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}#lightbox span{display:none}#lightbox .videoWrapperContainer{position:relative;top:50%;left:50%;-ms-transform:translateX(-50%)translateY(-50%);-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);max-width:900px;max-height:100%}#lightbox .videoWrapperContainer .videoWrapper{height:0;line-height:0;margin:0;padding:0;position:relative;padding-bottom:56.333%;background:#000}#lightbox .videoWrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;display:block}#lightbox #prev,#lightbox #next{height:50px;line-height:36px;display:none;margin-top:-25px;position:fixed;top:50%;padding:0 15px;cursor:pointer;text-decoration:none;z-index:99;color:#fff;font-size:60px}#lightbox.gallery #prev,#lightbox.gallery #next{display:block}#lightbox #prev{left:0}#lightbox #next{right:0}#lightbox #close{height:50px;width:50px;position:fixed;cursor:pointer;text-decoration:none;z-index:99;right:0;top:0}#lightbox #close:after,#lightbox #close:before{position:absolute;margin-top:22px;margin-left:14px;content:"";height:3px;background:#fff;width:23px;-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;-o-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg)}#lightbox #close:after{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg)}#lightbox,#lightbox *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#lightbox button{appearance:none;background:0 0;border:0;padding:0;font-family:inherit}#lightbox button:focus-visible{outline:2px solid #a78bfa;outline-offset:-4px}