.blog-section-title{font-family:var(--font-display);font-size:var(--text-title-lg);font-stretch:calc(var(--wdth-display) * 1%);font-weight:var(--weight-medium);line-height:var(--leading-title-lg);letter-spacing:var(--tracking-title-lg);color:var(--text);margin:0}.blog-meta{align-items:center;gap:6px var(--space-2);font-family:var(--font-mono);font-size:var(--text-micro);line-height:var(--leading-micro);color:var(--faint);font-variant-numeric:tabular-nums;flex-wrap:wrap;margin:0;display:flex}.blog-meta__topic{color:var(--muted)}.blog-thumb{aspect-ratio:16/9;border-radius:var(--radius-lg);background:var(--surface-2);display:block;position:relative;overflow:hidden}.blog-thumb img{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-rm) var(--ease-rm), filter var(--dur-rm) var(--ease-rm);display:block}.blog-chip,.post-tags a{min-height:32px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--fill);color:var(--text-soft);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border:0;align-items:center;gap:6px;line-height:1;text-decoration:none;display:inline-flex}.blog-chip:hover,.post-tags a:hover{background:var(--fill-hover);color:var(--text)}.blog-chip[aria-current=true]{background:var(--surface-inverse);color:var(--text-inverse)}.blog-chip:focus-visible,.post-tags a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.blog-chip__n{font-family:var(--font-mono);font-size:var(--text-micro);font-variant-numeric:tabular-nums;opacity:.6}.blog-hero{padding-top:var(--hero-top)}.blog-hero__row{align-items:end;gap:var(--space-12);grid-template-columns:minmax(0,1fr) minmax(0,400px);display:grid}.blog-hero__title{margin:var(--space-4) 0 0;font-family:var(--font-display);font-size:var(--text-display-xl);font-stretch:calc(var(--wdth-display) * 1%);font-weight:var(--weight-medium);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);color:var(--text);text-wrap:balance}.blog-hero__lead{max-width:560px;margin:var(--space-5) 0 0;font-size:var(--text-lead);line-height:var(--leading-lead);color:var(--muted);text-wrap:pretty}.blog-hero__rss{margin-left:var(--space-1);font-family:var(--font-mono);font-size:var(--text-micro);color:var(--muted);vertical-align:2px;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.blog-hero__rss:hover{color:var(--text)}.blog-hero__rss:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-xs)}.blog-search{border-radius:var(--radius-pill);background:var(--field);height:48px;box-shadow:inset 0 0 0 1px var(--border);transition:box-shadow var(--dur-fast) var(--ease);align-items:center;display:flex;position:relative}.blog-search:hover,.blog-search:focus-within{box-shadow:inset 0 0 0 1px var(--border-strong)}.blog-search:has(:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.blog-search__icon{color:var(--muted);pointer-events:none;position:absolute;left:18px}.blog-search__input{min-width:0;height:100%;padding:0 var(--space-12) 0 46px;border-radius:inherit;color:var(--text);font:inherit;font-size:var(--text-sm);background:0 0;border:0;outline:none;flex:1}.blog-search__input::placeholder{color:var(--faint)}.blog-search__input::-webkit-search-cancel-button{appearance:none}.blog-search__kbd{pointer-events:none;position:absolute;right:16px}.blog-search__clear{border-radius:var(--radius-pill);width:32px;height:32px;color:var(--muted);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;place-items:center;display:grid;position:absolute;right:8px}.blog-search__clear:hover{background:var(--fill);color:var(--text)}.blog-search__clear:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.blog-topics{margin-top:var(--space-8)}.blog-topics ul{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.blog-results{padding-block:var(--space-12) var(--section-lg)}.blog-results__head{align-items:baseline;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.blog-results__head:not(:first-child){margin-top:var(--space-20)}.blog-results__title{font-family:var(--font-display);font-size:var(--text-title-lg);font-stretch:calc(var(--wdth-display) * 1%);font-weight:var(--weight-medium);line-height:var(--leading-title-lg);letter-spacing:var(--tracking-title-lg);color:var(--text);margin:0}.blog-results__count{font-family:var(--font-mono);font-size:var(--text-micro);color:var(--faint);font-variant-numeric:tabular-nums;margin:0}.blog-results__reset{color:var(--muted);font:inherit;font-size:var(--text-sm);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;background:0 0;border:0;margin-left:auto;padding:6px 0}.blog-results__reset:hover{color:var(--text)}.blog-results__reset:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-xs)}.blog-feature{align-items:center;column-gap:var(--space-10);border-radius:var(--radius-2xl);background:var(--shell-top);box-shadow:0 0 0 1px var(--rim-hi), var(--shadow-card);grid-template-columns:minmax(0,7fr) minmax(0,5fr);padding:10px;display:grid;position:relative}.blog-feature .blog-thumb{border-radius:18px}.blog-feature__text{justify-items:start;gap:var(--space-4);padding:var(--space-6) var(--space-8) var(--space-6) 0;display:grid}.blog-feature__label{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.blog-feature__new{height:22px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--surface-inverse);color:var(--text-inverse);font-family:var(--font-mono);font-size:var(--text-label);font-weight:var(--weight-label);letter-spacing:var(--tracking-label);text-transform:uppercase;align-items:center;display:inline-flex}.blog-feature__title{font-family:var(--font-display);font-size:var(--text-display);font-stretch:calc(var(--wdth-display) * 1%);font-weight:var(--weight-medium);line-height:var(--leading-snug);letter-spacing:var(--tracking-display);color:var(--text);text-wrap:balance;margin:0}.blog-feature__desc{max-width:46ch;font-size:var(--text-base);line-height:var(--leading-base);color:var(--muted);text-wrap:pretty;transition:color var(--dur-fast) var(--ease);margin:0}.blog-feature__tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.blog-feature__tags li{border-radius:var(--radius-pill);background:var(--fill);height:24px;color:var(--muted);font-size:var(--text-micro);align-items:center;padding:0 10px;display:inline-flex}.blog-feature__go{margin-top:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text);align-items:center;gap:6px;display:inline-flex}.blog-feature__go svg{transition:transform var(--dur-hover) var(--ease-rm)}.blog-series{margin-top:var(--space-20)}.blog-series__head{align-items:baseline;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.blog-series__lead{font-size:var(--text-sm);color:var(--muted);margin:0}.blog-series__grid{gap:var(--space-8) var(--space-6);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.blog-series__path{padding-top:var(--space-5);border-top:1px solid var(--border);align-content:start;display:grid}.blog-series__n{margin:0 0 var(--space-3);font-family:var(--font-mono);font-size:var(--text-label);font-weight:var(--weight-label);letter-spacing:var(--tracking-label);color:var(--faint)}.blog-series__title{font-family:var(--font-display);font-size:var(--text-title);font-stretch:calc(var(--wdth-display) * 1%);font-weight:var(--weight-medium);line-height:var(--leading-title);letter-spacing:var(--tracking-title);color:var(--text);margin:0}.blog-series__blurb{margin:var(--space-1) 0 var(--space-4);font-size:var(--text-sm);line-height:var(--leading-body);color:var(--muted)}.blog-series__posts{counter-reset:path;margin:0;padding:0;list-style:none}.blog-series__posts li{border-top:1px solid var(--border-subtle);counter-increment:path}.blog-series__link{align-items:baseline;gap:var(--space-2);color:var(--text-soft);font-size:var(--text-sm);transition:color var(--dur-fast) var(--ease), opacity var(--dur-hover) var(--ease-rm);grid-template-columns:20px minmax(0,1fr) auto;padding:10px 0;line-height:1.4;text-decoration:none;display:grid}.blog-series__link:before{content:counter(path);font-family:var(--font-mono);font-size:var(--text-micro);color:var(--faint);font-variant-numeric:tabular-nums}.blog-series__min{font-family:var(--font-mono);font-size:var(--text-micro);color:var(--faint);white-space:nowrap}.blog-series__link:hover{color:var(--text)}.blog-series__link:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-xs)}.blog-grid{gap:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.blog-grid>li:not([hidden]){display:grid}.blog-card{padding:var(--space-2);border-radius:var(--radius-xl);background:var(--shell-top);box-shadow:0 0 0 1px var(--rim-hi), var(--shadow-card);transition:opacity var(--dur-hover) var(--ease-rm), box-shadow var(--dur-hover) var(--ease-rm);grid-template-rows:auto 1fr;display:grid;position:relative}.blog-card .blog-thumb{border-radius:14px}.blog-card__body{align-content:start;gap:var(--space-2);padding:var(--space-4) var(--space-3) var(--space-3);display:grid}.blog-card__title{font-family:var(--font-display);font-size:var(--text-title);font-stretch:calc(var(--wdth-display) * 1%);font-weight:var(--weight-medium);line-height:var(--leading-title);letter-spacing:var(--tracking-title);color:var(--text);text-wrap:balance;margin:0}.blog-card__desc{padding-right:var(--space-8);font-size:var(--text-sm);line-height:var(--leading-body);color:var(--muted);-webkit-line-clamp:2;line-clamp:2;transition:color var(--dur-fast) var(--ease);-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.blog-card__go{right:var(--space-4);bottom:var(--space-4);border-radius:var(--radius-pill);background:var(--fill);width:28px;height:28px;color:var(--text);opacity:0;transition:opacity var(--dur-hover) var(--ease-rm);place-items:center;display:grid;position:absolute}.blog-card__link{color:inherit;text-decoration:none}.blog-card__link:after{content:"";z-index:1;border-radius:inherit;position:absolute;inset:0}.blog-card__link:focus-visible{outline:none}:is(.blog-card:has(.blog-card__link:focus-visible),.blog-feature:has(.blog-card__link:focus-visible)){outline:2px solid var(--focus);outline-offset:2px}@media (hover:hover){.blog-card:hover .blog-thumb img,.blog-feature:hover .blog-thumb img{filter:brightness(1.12)saturate(1.06);transform:scale(1.03)}.blog-card:hover .blog-card__desc,.blog-feature:hover .blog-feature__desc{color:var(--text-soft)}.blog-card:hover .blog-card__go{opacity:1}.blog-feature:hover .blog-feature__go svg{transform:translate(3px)}.blog-card:hover{box-shadow:0 0 0 1px var(--rim-hi), var(--shadow-md)}.blog-grid:has(.blog-card:hover) .blog-card:not(:hover){opacity:.55}.blog-series__posts:has(.blog-series__link:hover) .blog-series__link:not(:hover){opacity:.55}}.blog-grid:has(.blog-card__link:focus-visible) .blog-card:not(:has(.blog-card__link:focus-visible)){opacity:.55}.blog-card:has(.blog-card__link:focus-visible) .blog-card__go{opacity:1}.blog-none{justify-items:center;gap:var(--space-3);padding:var(--space-16) var(--space-6);border-radius:var(--radius-xl);background:var(--bg-subtle);box-shadow:inset 0 0 0 1px var(--border-subtle);text-align:center;display:grid}.blog-hero .blog-none{margin-top:var(--space-12);text-align:left;justify-items:start}.blog-none__title{font-family:var(--font-display);font-size:var(--text-title);font-weight:var(--weight-medium);color:var(--text);margin:0}.blog-none__hint{max-width:46ch;margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--muted)}.blog-more{margin-top:var(--space-12);justify-content:center;display:flex}@media (max-width:1199px){.blog-series__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1023px){.blog-hero__row{gap:var(--space-8);grid-template-columns:minmax(0,1fr)}.blog-feature{row-gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.blog-feature__text{padding:var(--space-4) var(--space-4) var(--space-5)}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:809px){.blog-feature__title{font-size:var(--text-title-lg);line-height:var(--leading-title-lg);letter-spacing:var(--tracking-title-lg)}.blog-feature__text{gap:var(--space-3);padding:var(--space-3) var(--space-2) var(--space-3)}.blog-grid{grid-template-columns:minmax(0,1fr)}.blog-series__grid{gap:var(--space-5);margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none;grid-template-columns:none;grid-auto-columns:84%;grid-auto-flow:column;overflow-x:auto}.blog-series__path{scroll-snap-align:start}.blog-series,.blog-results__head:not(:first-child){margin-top:var(--space-16)}.blog-search__kbd{display:none}.blog-topics{margin-inline:calc(-1 * var(--gutter))}.blog-topics ul{padding-inline:var(--gutter);scrollbar-width:none;-webkit-mask-image:linear-gradient(to right, transparent, black var(--gutter), black calc(100% - var(--space-10)), transparent);mask-image:linear-gradient(to right, transparent, black var(--gutter), black calc(100% - var(--space-10)), transparent);flex-wrap:nowrap;overflow-x:auto}.blog-topics li{flex:none}}.post-progress{top:var(--header-h);z-index:var(--z-header);background:var(--text);height:2px;transform:scaleX(var(--progress,0));transform-origin:0;pointer-events:none;position:fixed;left:0;right:0}.post-head{padding-top:var(--space-16)}.post-head__inner{max-width:880px}.post-crumbs ol{flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;display:flex}.post-crumbs li+li:before{content:"/";margin:0 var(--space-2);color:var(--faint)}.post-crumbs a{min-height:32px;font-size:var(--text-sm);color:var(--muted);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.post-crumbs a:hover{color:var(--text)}.post-crumbs a:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-xs)}.post-head__title{max-width:20ch;margin:var(--space-6) 0 0;font-family:var(--font-display);font-size:var(--text-display-xl);font-stretch:calc(var(--wdth-display) * 1%);font-weight:var(--weight-medium);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);color:var(--text);text-wrap:balance}.post-head__lead{max-width:640px;margin:var(--space-5) 0 0;font-size:var(--text-lead);line-height:var(--leading-lead);color:var(--muted);text-wrap:pretty}.post-head__meta{align-items:center;gap:var(--space-5) var(--space-10);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.post-author{align-items:center;gap:var(--space-3);margin:0;display:flex}.post-author__mark{border-radius:var(--radius-pill);background:var(--surface-inverse);width:36px;height:36px;color:var(--text-inverse);font-family:var(--font-mono);font-size:var(--text-micro);font-weight:var(--weight-medium);place-items:center;display:grid}.post-author__name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text);line-height:1.35;display:grid}.post-author__name a{color:inherit;text-decoration:none}.post-author__name a:hover{text-underline-offset:3px;text-decoration:underline}.post-author__role{font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--muted)}.post-facts{gap:var(--space-4) var(--space-8);flex-wrap:wrap;margin:0;display:flex}.post-facts div{gap:4px;display:grid}.post-facts dt{font-family:var(--font-mono);font-size:var(--text-label);font-weight:var(--weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--faint)}.post-facts dd{font-size:var(--text-sm);color:var(--text-soft);font-variant-numeric:tabular-nums;margin:0}.post-head__foot{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.post-tags{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.post-tags a{min-height:28px}.post-share{gap:var(--space-2);display:flex}.post-share__button{min-width:32px;height:32px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--fill);color:var(--text-soft);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border:0;justify-content:center;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.post-share__button[data-icon]{padding:0}.post-share__button:hover{background:var(--fill-hover);color:var(--text)}.post-share__button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.post-cover{margin:var(--space-12) 0 0}.post-cover img{border-radius:var(--radius-2xl);background:var(--surface-2);width:100%;height:auto;box-shadow:0 0 0 1px var(--border-subtle);display:block}.post-body{padding-block:var(--space-16) var(--section-lg)}.post-grid{grid-template-columns:minmax(0,68ch);display:grid}.post-grid[data-toc]{column-gap:var(--space-20);grid-template-columns:220px minmax(0,68ch)}.post-grid[data-toc]>.post-toc{grid-area:1/1}.post-grid[data-toc]>.post-main,.post-grid[data-toc]>.post-cta-wrap{grid-area:1/2}.post-toc{top:calc(var(--header-h) + var(--space-8));max-height:calc(100dvh - var(--header-h) - var(--space-16));overscroll-behavior:contain;scrollbar-width:none;align-self:start;position:sticky;overflow-y:auto}.post-toc__title{margin:0 0 var(--space-3);font-family:var(--font-mono);font-size:var(--text-label);font-weight:var(--weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--faint)}.post-toc ol,.post-toc-phone ol{margin:0;padding:0;list-style:none;display:grid}.post-toc ol{box-shadow:inset 1px 0 0 var(--border)}.post-toc a,.post-toc-phone a{padding:6px 0 6px var(--space-4);font-size:var(--text-sm);color:var(--muted);transition:color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);line-height:1.4;text-decoration:none;display:block}.post-toc a:hover,.post-toc-phone a:hover{color:var(--text)}.post-toc a[aria-current=true],.post-toc-phone a[aria-current=true]{color:var(--text);box-shadow:inset 2px 0 0 var(--text)}.post-toc a:focus-visible,.post-toc-phone a:focus-visible,.post-toc__top:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;border-radius:var(--radius-xs)}.post-toc .post-toc__top{margin-top:var(--space-5);font-family:var(--font-mono);font-size:var(--text-micro);color:var(--faint);align-items:center;gap:6px;padding:4px 0;text-decoration:none;display:inline-flex}.post-toc .post-toc__top:hover{color:var(--text)}.post-toc-phone{top:var(--header-h);z-index:10;margin:0 calc(-1 * var(--gutter)) var(--space-8);background:var(--bg);border-block:1px solid var(--border-subtle);align-self:start;display:none;position:sticky}.post-toc-phone>summary{align-items:center;gap:var(--space-3);min-height:48px;padding:0 var(--gutter);color:var(--text);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;list-style:none;display:grid}.post-toc-phone>summary::-webkit-details-marker{display:none}.post-toc-phone>summary:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.post-toc-phone__label{font-family:var(--font-mono);font-size:var(--text-label);font-weight:var(--weight-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--faint)}.post-toc-phone__current{font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.post-toc-phone>summary svg{color:var(--muted);transition:rotate var(--dur-rm) var(--ease-rm)}.post-toc-phone[open]>summary svg{rotate:180deg}.post-toc-phone nav{overscroll-behavior:contain;max-height:min(60dvh,480px);padding:var(--space-1) var(--gutter) var(--space-4);border-top:1px solid var(--border-subtle);overflow-y:auto}@media (max-width:1023px){.post-grid[data-toc]{grid-template-columns:minmax(0,68ch)}.post-grid[data-toc]>.post-main,.post-grid[data-toc]>.post-cta-wrap{grid-area:auto/1}.post-toc{display:none}.post-toc-phone{display:block}.post-grid[data-toc] .post-prose :is(h2,h3,h4),.post-grid[data-toc] .post-faq__item{scroll-margin-top:calc(var(--header-h) + 48px + var(--space-6))}}.post-main{min-width:0}.post-prose{min-width:0;font-size:var(--text-lead);color:var(--text-soft);overflow-wrap:break-word;line-height:1.7}.post-prose>:first-child{margin-top:0}.post-prose p,.post-prose ul,.post-prose ol,.post-prose blockquote,.post-prose .post-table{margin:0 0 1.25em}.post-prose h2,.post-prose h3,.post-prose h4{scroll-margin-top:calc(var(--header-h) + var(--space-8));color:var(--text);font-family:var(--font-display);font-stretch:calc(var(--wdth-display) * 1%);font-weight:var(--weight-medium);text-wrap:balance}.post-prose h2{font-size:var(--text-title-lg);line-height:var(--leading-title-lg);letter-spacing:var(--tracking-title-lg);margin:2.2em 0 .7em}.post-prose h3{font-size:var(--text-title);line-height:var(--leading-title);letter-spacing:var(--tracking-title);margin:1.8em 0 .5em}.post-prose h4{font-family:var(--font-sans);font-stretch:100%;font-size:var(--text-base);margin:1.6em 0 .4em}.post-prose .post-anchor{width:28px;height:28px;margin-left:var(--space-2);border-radius:var(--radius-md);color:var(--faint);vertical-align:middle;transition:opacity var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);place-items:center;text-decoration:none;display:inline-grid}.post-prose .post-anchor:hover,.post-prose .post-anchor[data-copied]{background:var(--fill);color:var(--text)}@media (hover:hover){.post-prose .post-anchor{opacity:0}.post-prose :is(h2,h3,h4):hover .post-anchor,.post-prose .post-anchor:focus-visible,.post-prose .post-anchor[data-copied]{opacity:1}}.post-prose strong{color:var(--text);font-weight:var(--weight-semibold)}.post-prose a:not(.post-anchor){color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;transition:text-decoration-color var(--dur-fast) var(--ease);text-decoration-thickness:1px}.post-prose a:not(.post-anchor):hover{text-decoration-color:currentColor}.post-prose a:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-xs)}.post-prose ul,.post-prose ol{padding-left:1.3em}.post-prose li{padding-left:.2em}.post-prose li+li{margin-top:.4em}.post-prose li::marker{color:var(--faint)}.post-prose li>ul,.post-prose li>ol{margin:.4em 0 0}.post-prose blockquote{padding:0 0 0 var(--space-5);border-left:2px solid var(--border-strong);color:var(--muted)}.post-prose blockquote>:last-child{margin-bottom:0}.post-prose hr{background:var(--border-subtle);border:0;height:1px;margin:2.5em 0}.post-prose code{border-radius:var(--radius-xs);background:var(--fill);color:var(--text);font-family:var(--font-mono);padding:.12em .35em;font-size:.84em}.post-prose .post-code{border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border-subtle);margin:1.6em 0;overflow:hidden}.post-code__bar{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:40px;padding:4px 6px 4px var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex}.post-code__lang{font-family:var(--font-mono);font-size:var(--text-label);font-weight:var(--weight-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted)}.post-prose pre{padding:var(--space-4) var(--space-5) var(--space-5);font-size:var(--text-sm);scrollbar-width:thin;tab-size:2;margin:0;line-height:1.65;overflow-x:auto}.post-prose pre code{font-size:inherit;color:var(--text-soft);background:0 0;padding:0}.post-prose pre:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.post-prose img{border-radius:var(--radius-lg);max-width:100%;height:auto;display:block}.post-prose .post-table{border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px var(--border-subtle);scrollbar-width:thin;overflow-x:auto}.post-prose table{border-collapse:collapse;width:100%;font-size:var(--text-sm);font-variant-numeric:tabular-nums;line-height:1.5}.post-prose th,.post-prose td{padding:var(--space-3) var(--space-4);text-align:left;vertical-align:top;border-bottom:1px solid var(--border-subtle)}.post-prose tr:last-child>*{border-bottom:0}.post-prose th{font-weight:var(--weight-medium);color:var(--text);background:var(--bg-subtle)}.post-prose td:first-child{color:var(--text)}.post-prose tbody tr:hover>td{background:var(--bg-subtle)}.post-answer{max-width:68ch;margin:0 0 var(--space-10);padding:var(--space-5) var(--space-6);border-radius:var(--radius-lg);background:var(--fill)}.post-answer__label{margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-label);font-weight:var(--weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted)}.post-answer__text{font-size:var(--text-base);line-height:var(--leading-base);color:var(--text-soft);margin:0}.post-prose .post-figure{margin:2em 0}.post-prose .post-figure img{box-shadow:0 0 0 1px var(--border-subtle);margin:0}.post-prose figcaption{max-width:56ch;margin:var(--space-3) auto 0;font-size:var(--text-sm);line-height:var(--leading-body);color:var(--faint);text-align:center;text-wrap:balance}.post-prose .post-callout{gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--fill);font-size:var(--text-base);line-height:var(--leading-base);margin:1.6em 0;display:flex}.post-callout__icon{color:var(--text-soft);flex:none;margin-top:4px}.post-callout[data-tone=tip] .post-callout__icon{color:var(--success)}.post-callout[data-tone=warning] .post-callout__icon{color:var(--warning)}.post-callout__body{min-width:0}.post-prose .post-callout__title{margin:0 0 var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text)}.post-prose .post-callout__body>:last-child,.post-prose .post-faq__a>:last-child{margin-bottom:0}.post-prose .post-faq__list{margin-top:var(--space-4);border-top:1px solid var(--border-subtle);interpolate-size:allow-keywords}.post-faq__item{border-bottom:1px solid var(--border-subtle);scroll-margin-top:calc(var(--header-h) + var(--space-8))}.post-faq__item::details-content{block-size:0;transition:block-size var(--dur-rm) var(--ease-rm), content-visibility var(--dur-rm) allow-discrete;overflow:hidden}.post-faq__item[open]::details-content{block-size:auto}.post-faq__q{align-items:center;gap:var(--space-6);min-height:64px;padding:var(--space-3) 0;border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:minmax(0,1fr) 32px;list-style:none;display:grid}.post-faq__q::-webkit-details-marker{display:none}.post-faq__q:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.post-prose .post-faq__question{font-family:var(--font-sans);font-stretch:100%;font-size:var(--text-lead);font-weight:var(--weight-medium);letter-spacing:var(--tracking-text);color:var(--text-soft);transition:color var(--dur-fast) var(--ease);margin:0;line-height:1.4}.post-faq__toggle{border-radius:var(--radius-pill);width:32px;height:32px;color:var(--muted);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);place-items:center;display:grid}.post-faq__toggle svg{transition:rotate var(--dur-rm) var(--ease-spring)}.post-faq__q:hover .post-faq__question,.post-faq__item[open] .post-faq__question{color:var(--text)}.post-faq__q:hover .post-faq__toggle{background:var(--fill);color:var(--text)}.post-faq__item[open] .post-faq__toggle svg{rotate:45deg}.post-faq__a{padding:0 calc(32px + var(--space-6)) var(--space-5) 0;font-size:var(--text-base);line-height:var(--leading-base);color:var(--muted)}.post-faq__a p{margin-bottom:.8em}.post-foot{gap:var(--space-20);margin-top:var(--space-20);display:grid}.post-cta-wrap{border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg)}.post-cta{gap:var(--space-6);padding:var(--space-10);border-radius:var(--radius-2xl);background:var(--shell-top);color:var(--text);display:grid}.post-cta__title{margin:var(--space-4) 0 0;font-family:var(--font-display);font-size:var(--text-title-lg);font-stretch:calc(var(--wdth-display) * 1%);font-weight:var(--weight-medium);line-height:var(--leading-title-lg);letter-spacing:var(--tracking-title-lg);color:var(--text)}.post-cta__text{max-width:52ch;margin:var(--space-2) 0 0;font-size:var(--text-sm);line-height:var(--leading-body);color:var(--muted)}.post-cta__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.post-related{padding-top:var(--space-12);border-top:1px solid var(--border-subtle)}.post-related__head{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}@media (max-width:809px){.post-head{padding-top:var(--space-8)}.post-head__meta{gap:var(--space-4) var(--space-6)}.post-cover{margin-top:var(--space-8)}.post-cover img{border-radius:var(--radius-xl)}.post-body{padding-top:var(--space-10)}.post-cta{padding:var(--space-6)}.post-prose .post-code{margin-inline:calc(-1 * var(--gutter));box-shadow:inset 0 1px 0 var(--border-subtle), inset 0 -1px 0 var(--border-subtle);border-radius:0}.post-foot{gap:var(--space-16);margin-top:var(--space-16)}}@media (prefers-reduced-motion:reduce){.blog-thumb img,.blog-card,.blog-card__go,.blog-series__link,.blog-feature__go svg,.post-faq__toggle svg,.post-toc-phone>summary svg{transition:none}.post-faq__item::details-content{transition:none}.blog-card:hover .blog-thumb img,.blog-feature:hover .blog-thumb img{transform:none}}.post-preview-badge{z-index:5;padding:var(--space-2) var(--gutter);background:var(--surface-inverse);color:var(--bg);font-family:var(--font-mono);font-size:var(--text-micro);text-align:center;margin:0;position:sticky;top:0}
