@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/geist-mono-latin-5.3.0.woff2)format("woff2")}:root{--hb-hair:color-mix(in srgb, var(--tf-border) 60%, var(--tf-elevated));--hb-leaf:#7fa37a66;--hb-red:#c8372d;--hb-violet:#3d3aa8;--hb-green:#188038;--hb-ochre:#d9a21b;--hb-kraft:#8a6a4a;--blog-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--blog-rule:1px solid var(--tf-border);--blog-dash:1px dashed var(--tf-border);--blog-gutter:clamp(1rem, 3.4vw, 3rem);--blog-max:1440px;--blog-inline:max(var(--blog-gutter), calc((100% - var(--blog-max)) / 2 + var(--blog-gutter)))}:root.dark{--hb-leaf:#6f9a6a55;--hb-violet:#8f8cf0}[data-dye]{--dye:var(--tf-text);--on-dye:var(--tf-elevated)}[data-dye=product-news]{--dye:var(--hb-red);--on-dye:#fff}[data-dye=engineering]{--dye:var(--hb-violet);--on-dye:#fff}[data-dye=agents]{--dye:var(--hb-ochre);--on-dye:#202326}[data-dye=self-hosting]{--dye:var(--hb-green);--on-dye:#fff}[data-dye=company]{--dye:var(--hb-kraft);--on-dye:#fff}:root.dark [data-dye=engineering]{--on-dye:#202326}html{scrollbar-color:var(--tf-border) var(--tf-background);scroll-padding-top:5rem}body{background:var(--tf-background);flex-direction:column;min-height:100vh;display:flex}main{width:100%;max-width:var(--blog-max);border-inline:var(--blog-dash);flex:1;margin-inline:auto;padding-bottom:4.5rem}img{max-width:100%;height:auto}.blog-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.blog-mono{font-family:var(--blog-mono);color:var(--tf-muted);margin:0;font-size:.8125rem;line-height:1.5}.blog-caption{color:var(--tf-muted);margin:0;font-size:.875rem;font-weight:600;line-height:1.5}.blog-header{z-index:10;min-height:64px;padding:.5rem var(--blog-inline);border-bottom:var(--blog-rule);background:var(--tf-background);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.5rem;display:grid;position:sticky;top:0}.blog-home{letter-spacing:-.01em;align-items:center;gap:.55rem;min-height:44px;font-size:1rem;font-weight:650;text-decoration:none;display:inline-flex}.blog-home-section{border-left:var(--blog-rule);color:var(--tf-muted);padding-left:.55rem;font-weight:500}.blog-tools{align-items:center;gap:.25rem;display:flex}.blog-tabs ul{justify-content:center}.blog-cta{margin-left:.5rem}.blog-footer{padding:1.75rem var(--blog-inline) 2rem;border-top:var(--blog-rule);background:var(--tf-background);color:var(--tf-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;font-size:.875rem;display:flex}.blog-footer p{margin:0}.blog-footer a{color:var(--tf-text);text-underline-offset:.2em}.blog-pills,.blog-social-links{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.blog-byline{align-items:center;gap:.6rem;font-size:.9375rem;display:flex}.blog-byline a{font-weight:600;text-decoration:none}.blog-byline a:hover{text-decoration:underline}.blog-avatars{display:inline-flex}.blog-avatars img{border:2px solid var(--tf-elevated);background:var(--tf-surface);border-radius:50%;width:32px;height:32px}.blog-avatars img+img{margin-left:-10px}.blog-draft-label{color:var(--tf-accent);font-weight:600}.blog-meta{color:var(--tf-muted);font-family:var(--blog-mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;margin:0;font-size:.75rem;line-height:1.5;display:flex}.blog-meta>span{white-space:nowrap}.blog-meta>span:not(:last-child):after{content:"·" / "";margin-inline:.5rem}.blog-meta .blog-draft-label{color:var(--tf-text)}.blog-meta a{color:var(--tf-accent);font-weight:600;text-decoration:none}.blog-meta a:hover{text-underline-offset:.2em;text-decoration:underline}.blog-specimen{fill:none;width:100%;height:auto;stroke:var(--tf-text);stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;display:block;overflow:visible}.blog-specimen-leaf{fill:var(--hb-leaf)}.blog-specimen-bloom{fill:var(--dye)}.blog-specimen-vein{stroke:color-mix(in srgb, var(--tf-text) 55%, var(--dye));stroke-width:.8px}.blog-specimen-root{stroke-width:.8px}.blog-list-header{padding:3rem var(--blog-gutter) 2.5rem;border-bottom:var(--blog-dash)}.blog-list-header h1{letter-spacing:-.03em;margin:0;font-size:clamp(2.25rem,4vw,3rem);font-weight:650;line-height:1.1}.blog-dek{max-width:62ch;color:var(--tf-muted);margin:.75rem 0 0;font-size:1.125rem;line-height:1.55}.blog-dek a,.blog-empty a{color:var(--tf-text);text-decoration-color:var(--tf-accent);text-underline-offset:.22em;text-decoration-thickness:2px}.blog-tag-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.blog-count{font-family:var(--blog-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--tf-muted);margin:1rem 0 0;font-size:.75rem}.blog-rss-pill{font-size:.875rem}.blog-author-header{align-items:flex-start;gap:1.25rem;display:flex}.blog-author-header img{background:var(--tf-surface);border-radius:50%;flex:none;width:80px;height:80px}.blog-author-header .blog-caption{margin-top:.4rem}.blog-author-header .blog-dek{margin-bottom:1rem}.blog-empty{padding:2rem var(--blog-gutter);color:var(--tf-muted);margin:0;font-size:1.125rem}.blog-card{min-width:0}.blog-card-title{letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:650;line-height:1.2}.blog-card-title a{text-decoration:none}.blog-card-title a:hover{text-decoration:underline;text-decoration-color:var(--tf-accent);text-underline-offset:.18em;text-decoration-thickness:2px}.blog-card-dek{color:var(--tf-muted);margin:0;line-height:1.6}.blog-lead{border-bottom:var(--blog-dash);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);display:grid}.blog-lead-text{padding:clamp(2rem, 4vw, 4rem) var(--blog-gutter);align-content:center;gap:1.25rem;display:grid}.blog-lead .blog-card-title{letter-spacing:-.035em;font-size:clamp(2rem,3.6vw,3.25rem);line-height:1.05}.blog-lead .blog-card-dek{max-width:48ch;font-size:1.125rem}.blog-lead-art{aspect-ratio:1200/630;margin:clamp(1.5rem, 3vw, 3rem) var(--blog-gutter) clamp(1.5rem, 3vw, 3rem) 0;background:var(--tf-surface);align-self:center;place-items:center;display:grid;overflow:hidden}.blog-lead-art img{object-fit:cover;width:100%;height:100%;display:block}.blog-lead-art .blog-specimen{width:25%}.blog-grid{display:grid}.blog-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.blog-entry{padding:2.25rem var(--blog-gutter) 2.5rem;border-bottom:var(--blog-dash);align-content:start;gap:.85rem;display:grid}.blog-grid-2>.blog-entry:nth-child(odd),.blog-grid-3>.blog-entry:not(:nth-child(3n)){border-right:var(--blog-dash)}.blog-entry .blog-card-title{font-size:1.5rem}.blog-entry .blog-card-dek{max-width:60ch}.blog-grid-3 .blog-card-title{font-size:1.25rem}.blog-entry .blog-byline{margin-top:.35rem;font-size:.875rem}.blog-entry .blog-avatars img{width:26px;height:26px}.blog-pagination{padding:2rem var(--blog-gutter);font-family:var(--blog-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.8125rem}.blog-pagination ul{justify-content:space-between;gap:1rem;width:100%}.blog-more{border-top:var(--blog-dash);margin-top:3.5rem}.blog-more-title{padding:2rem var(--blog-gutter) .5rem;letter-spacing:-.02em;margin:0;font-size:1.375rem;font-weight:650}.blog-post-grid{grid-template-columns:200px minmax(0,860px) 220px;justify-content:space-between;padding-top:2rem;display:grid}.blog-post-main{min-width:0;padding:1rem 0 4rem}.blog-post-main>*{max-width:46rem;margin-inline:auto}.blog-post-header{border-bottom:var(--blog-dash);gap:1.5rem;padding:1.5rem 0 2.5rem;display:grid}.blog-post-title{gap:1.25rem;display:grid}.blog-post-header h1{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(2.25rem,4.4vw,3.5rem);font-weight:650;line-height:1.08}.blog-draft-banner{background:var(--tf-accent-soft);color:var(--tf-text);border-radius:999px;justify-self:start;margin:0;padding:.4rem .9rem;font-size:.875rem;font-weight:600}.blog-post-meta{flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;display:flex}.blog-cover{background:var(--tf-surface);margin:.5rem 0 0;overflow:hidden}.blog-cover img{width:100%;display:block}.blog-share>ul{flex-wrap:wrap;gap:.6rem;margin:.8rem 0 0;padding:0;list-style:none;display:flex}.blog-post-share-rail{flex-direction:column;justify-content:flex-end;padding:2rem 1.25rem;display:flex}.blog-share-rail{position:sticky;bottom:2rem}.blog-share-row{display:none}.blog-post-toc-rail{padding:1rem 1.25rem 2rem 1.75rem}.blog-toc-rail{max-height:calc(100vh - 8rem);position:sticky;top:6rem;overflow-y:auto}.blog-toc-list{margin:1rem 0 0;padding:0;font-size:.875rem;line-height:1.4;list-style:none}.blog-toc-list li[data-depth="3"]{padding-left:.5rem}.blog-toc-list a{border-left:2px solid var(--tf-border);color:var(--tf-muted);padding:.4rem 0 .4rem .9rem;text-decoration:none;display:block}.blog-toc-list a:hover{color:var(--tf-text)}.blog-toc-list a[aria-current]{border-left-color:var(--tf-accent);color:var(--tf-text);font-weight:500}.blog-toc-fold{border:var(--blog-rule);border-radius:var(--tf-radius-control);margin-top:1.5rem;padding:.25rem 1rem;display:none}.blog-toc-fold summary{cursor:pointer;min-height:44px;padding-block:.7rem}.blog-toc-fold .blog-toc-list{margin:0 0 .75rem}.blog-toc-fold .blog-toc-list a{padding-block:.65rem}.blog-prose{font-size:1.125rem;line-height:1.7}.blog-prose>:first-child{margin-top:1.75rem}.blog-prose p,.blog-prose ul,.blog-prose ol,.blog-prose blockquote{margin:1.25rem 0}.blog-prose ul,.blog-prose ol{padding-left:1.4rem}.blog-prose li+li,.blog-prose li>ul,.blog-prose li>ol{margin-top:.4rem}.blog-prose li::marker{color:var(--tf-muted)}.blog-prose h2,.blog-prose h3{letter-spacing:-.02em;scroll-margin-top:5rem;font-weight:640}.blog-prose h2{margin:3rem 0 1rem;font-size:1.625rem;line-height:1.25}.blog-prose h3{margin:2.25rem 0 .75rem;font-size:1.25rem;line-height:1.35}.blog-prose a{color:var(--tf-accent);text-underline-offset:.2em;text-decoration-thickness:1px}.blog-prose a:hover{color:var(--tf-accent-hover)}.blog-prose blockquote{border-left:1px solid var(--tf-text);color:var(--tf-muted);padding:.25rem 0 .25rem 1.25rem}.blog-prose blockquote>:first-child{margin-top:0}.blog-prose blockquote>:last-child{margin-bottom:0}.blog-prose hr{border:0;border-top:var(--blog-rule);margin:2.5rem 0}.blog-prose :not(pre)>code{background:var(--tf-surface);font-family:var(--blog-mono);border-radius:6px;padding:.12em .35em;font-size:.9em}.blog-figure{margin:2rem 0}.blog-figure img{border:var(--blog-rule);border-radius:var(--tf-radius-control);margin-inline:auto;display:block}.blog-figure figcaption{color:var(--tf-muted);text-align:center;margin-top:.75rem;font-size:.875rem}.blog-code{margin:1.75rem 0}.blog-table{margin:1.75rem 0;overflow-x:auto}.blog-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:1rem}.blog-table th,.blog-table td{border-bottom:1px solid var(--hb-hair);text-align:left;padding:.6rem .9rem}.blog-table th{border-bottom-color:var(--tf-text);font-weight:600}.blog-post-end{border-top:var(--blog-dash);gap:2.5rem;margin-top:3.5rem;padding-top:2.5rem;display:grid}.blog-post-end section>h2{margin-bottom:1rem}.blog-author-cards{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.blog-author-card{gap:1rem;padding:1.25rem 0;display:flex}.blog-author-card img{background:var(--tf-elevated);border-radius:50%;flex:none;width:56px;height:56px}.blog-author-card p{margin:0 0 .4rem}.blog-author-card .blog-social-links{margin-top:.75rem}.blog-author-card-name{font-size:1.0625rem;font-weight:600}.blog-author-card-name a{text-decoration:none}.blog-author-card-name a:hover{text-decoration:underline}@media (width<=1199px){.blog-post-grid{padding-right:var(--blog-gutter);grid-template-columns:140px minmax(0,1fr)}.blog-post-toc-rail{display:none}.blog-toc-fold{display:block}.blog-lead{grid-template-columns:minmax(0,1fr)}.blog-lead-art{margin:var(--blog-gutter) var(--blog-gutter) 0;order:-1}.blog-lead-text{padding-top:1.75rem}.blog-header{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"home tools""tabs tabs";row-gap:.25rem;padding-bottom:0;position:static}.blog-home{grid-area:home}.blog-tools{grid-area:tools;justify-self:end}.blog-tabs{min-width:0;margin-inline:calc(-1 * var(--blog-gutter));grid-area:tabs}.blog-tabs ul{padding:.25rem var(--blog-gutter) .5rem;scrollbar-width:none;justify-content:flex-start;overflow-x:auto;mask-image:linear-gradient(90deg,#000 calc(100% - 3rem),#0000)}html{scroll-padding-top:2rem}}@media (width<=899px){.blog-post-grid{grid-template-columns:minmax(0,1fr);padding:0}.blog-post-share-rail{display:none}.blog-post-main{padding:.5rem var(--blog-gutter) 3rem}.blog-share-row{display:block}.blog-grid-2,.blog-grid-3{grid-template-columns:minmax(0,1fr)}.blog-grid>.blog-entry{border-right:0}}@media (width<=639px){.blog-prose{font-size:1.0625rem}.blog-tools .blog-rss-link{display:none}main{border-inline:0}.blog-lead .blog-card-title{font-size:2rem}.blog-entry .blog-card-title{font-size:1.3125rem}.blog-post-header h1{font-size:2rem}.blog-author-header{flex-direction:column}}
