.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}.blog-hero{position:relative;overflow:hidden;padding:var(--sp-20) 0 var(--sp-10)}.blog-hero:before{content:"";position:absolute;inset:0;background:var(--grad-stage);pointer-events:none}.blog-hero>.site-wrap{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-6)}.blog-lede{font-size:var(--fs-body-l);line-height:var(--lh-body);color:var(--text-body);max-width:62ch}.blog-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin:0;padding:0;list-style:none;font:var(--text-eyebrow);letter-spacing:var(--ls-caps);text-transform:uppercase}.blog-breadcrumb li+li:before{content:"/";margin-right:var(--sp-2);color:var(--text-faint)}.blog-breadcrumb a{color:var(--text-muted)}.blog-breadcrumb a:hover{color:var(--text-strong)}.blog-byline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3) var(--sp-4);font-size:var(--fs-body-s);color:var(--text-muted)}.blog-byline a{color:var(--text-strong);font-weight:var(--fw-semibold)}.blog-byline a:hover{color:var(--text-link-hover)}.blog-byline__who{display:inline-flex;align-items:center;gap:var(--sp-2-5)}.blog-byline__when{font:var(--text-data);color:var(--text-faint)}.blog-section{padding-top:var(--sp-16)}.blog-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4) var(--sp-8);flex-wrap:wrap;margin-bottom:var(--sp-8)}.blog-section-head p{margin-top:var(--sp-3);max-width:60ch;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-muted)}.blog-more{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-body-s);font-weight:var(--fw-semibold);white-space:nowrap}.blog-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:0;padding:0;list-style:none}.blog-chips a{display:inline-flex;border-radius:var(--r-sm)}.blog-chip-count{font:var(--text-data);font-size:var(--fs-micro);color:var(--text-faint)}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:var(--sp-6);margin:0;padding:0;list-style:none}.blog-card{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden}.blog-card__media{aspect-ratio:1200 / 630;background:var(--ink-900);border-bottom:1px solid var(--border-hairline)}.blog-card__media img{display:block;width:100%;height:100%;object-fit:cover}.blog-card__body{flex:1;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-5)}.blog-card__title{font-size:var(--fs-title-s);line-height:var(--lh-tight)}.blog-card__title a{color:var(--text-strong)}.blog-card__title a:after{content:"";position:absolute;inset:0;border-radius:inherit}.blog-card__title a:focus-visible{box-shadow:none}.blog-card__title a:focus-visible:after{box-shadow:var(--ring-focus)}.blog-card__excerpt{font-size:var(--fs-body-s);line-height:var(--lh-body);color:var(--text-muted)}.blog-card__meta{margin-top:auto;padding-top:var(--sp-2);font:var(--text-data);color:var(--text-faint)}.blog-feature .blog-card__body{gap:var(--sp-4);padding:var(--sp-6) var(--sp-8) var(--sp-8)}.blog-feature .blog-card__title{font-size:var(--fs-title-l)}.blog-feature .blog-card__excerpt{font-size:var(--fs-body)}.blog-start{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--sp-6);align-items:stretch}.blog-start-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.blog-start-list li{position:relative;display:flex;gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid var(--border-hairline)}.blog-start-list li:first-child{padding-top:0}.blog-start-list li:last-child{border-bottom:0}.blog-start-list .fg-mono{color:var(--volt-500);padding-top:2px}.blog-start-list a{color:var(--text-strong);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.blog-start-list a:hover{color:var(--text-link-hover)}.blog-start-list span.blog-card__excerpt{display:block;margin-top:var(--sp-1)}.blog-cover{overflow:hidden;aspect-ratio:1200 / 630;background:var(--ink-900);border:1px solid var(--border-hairline);border-radius:var(--r-media);box-shadow:var(--shadow-lg)}.blog-cover img{display:block;width:100%;height:100%;object-fit:cover}.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:var(--sp-16);align-items:start;padding-top:var(--sp-12)}.blog-aside{position:sticky;top:calc(68px + var(--sp-8));display:flex;flex-direction:column;gap:var(--sp-6)}.blog-toc ol{display:flex;flex-direction:column;gap:var(--sp-1);margin:var(--sp-3) 0 0;padding:0;list-style:none;border-left:1px solid var(--border-hairline)}.blog-toc a{display:block;margin-left:-1px;padding:var(--sp-1-5) var(--sp-3);border-left:1px solid transparent;font-size:var(--fs-body-s);line-height:var(--lh-tight);color:var(--text-muted)}.blog-toc a:hover{color:var(--text-strong);border-left-color:var(--border-strong)}.blog-prose{max-width:720px;font-size:var(--fs-body-l);line-height:1.7;color:var(--text-body)}.blog-prose>*+*{margin-top:var(--sp-5)}.blog-prose h2{margin-top:var(--sp-16);font-size:clamp(28px,4vw,var(--fs-display-s));scroll-margin-top:96px}.blog-prose h3{margin-top:var(--sp-10);font-size:var(--fs-title-m);scroll-margin-top:96px}.blog-prose h4{margin-top:var(--sp-8);font-size:var(--fs-title-s)}.blog-prose>:first-child{margin-top:0}.blog-prose h2+*,.blog-prose h3+*,.blog-prose h4+*{margin-top:var(--sp-4)}.blog-prose strong{color:var(--text-strong);font-weight:var(--fw-semibold)}.blog-prose a{color:var(--text-link);text-decoration:underline;text-decoration-color:#c6f53266;text-decoration-thickness:1px;text-underline-offset:3px}.blog-prose a:hover{color:var(--text-link-hover);text-decoration-color:currentColor}.blog-prose ul,.blog-prose ol{display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:0;padding:0;list-style:none}.blog-prose li>ul,.blog-prose li>ol{margin-top:var(--sp-3)}.blog-prose ul>li{position:relative;padding-left:28px}.blog-prose ul>li:before{content:"→";position:absolute;left:0;color:var(--volt-500);font-weight:var(--fw-bold)}.blog-prose ol{counter-reset:blog-item}.blog-prose ol>li{position:relative;min-height:28px;padding-left:44px;counter-increment:blog-item}.blog-prose ol>li:before{content:counter(blog-item);position:absolute;left:0;top:1px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-subtle);border-radius:var(--r-pill);background:var(--ink-800);color:var(--text-muted);font:var(--text-data)}.blog-prose code{padding:2px 6px;border-radius:var(--r-xs);background:var(--surface-inset);font:var(--text-data);color:var(--text-strong)}.blog-prose pre{overflow-x:auto;padding:var(--sp-4) var(--sp-5);border:1px solid var(--border-hairline);border-radius:var(--r-md);background:var(--surface-inset)}.blog-prose pre code{padding:0;background:none}.blog-prose hr{margin:var(--sp-12) 0;border:0;border-top:1px solid var(--border-hairline)}.blog-prose img{display:block;max-width:100%;height:auto;border-radius:var(--r-lg);border:1px solid var(--border-hairline)}.blog-note{padding-left:var(--sp-4);border-left:2px solid var(--border-subtle);font-size:var(--fs-body-s);line-height:var(--lh-body);color:var(--text-muted)}.blog-callout{display:flex;gap:var(--sp-4);align-items:flex-start}.blog-callout>div>*+*{margin-top:var(--sp-3)}.blog-prose .blog-callout{margin-top:var(--sp-8)}.blog-table-scroll{overflow-x:auto}.blog-table{width:100%;min-width:560px;border-collapse:collapse;font-size:var(--fs-body-s);line-height:var(--lh-body)}.blog-table th{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-hairline);text-align:left;vertical-align:bottom;font:var(--text-eyebrow);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted)}.blog-table th.is-fangate{font-family:var(--font-display);font-size:20px;font-weight:400;letter-spacing:0;line-height:1;color:var(--volt-500)}.blog-table td{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-hairline);vertical-align:top;color:var(--text-body)}.blog-table td:first-child{font-weight:var(--fw-medium);color:var(--text-strong)}.blog-table td.is-fangate{color:var(--text-strong)}.blog-table tbody tr:nth-child(2n){background:var(--surface-inset)}.blog-table tbody tr:last-child td{border-bottom:0}.blog-yesno{display:inline-flex;align-items:center;gap:var(--sp-2)}.blog-author{display:flex;gap:var(--sp-5);align-items:flex-start}.blog-author p{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body)}@media(max-width:1000px){.blog-layout{grid-template-columns:minmax(0,1fr);gap:0}.blog-aside{display:none}.blog-start{grid-template-columns:1fr}}@media(max-width:760px){.blog-hero{padding-top:var(--sp-12)}.blog-feature .blog-card__body{padding:var(--sp-5)}.blog-feature .blog-card__title{font-size:var(--fs-title-m)}.blog-prose{font-size:var(--fs-body)}.blog-author{flex-direction:column}.blog-cover{border-radius:var(--r-lg)}}
