.prose-breadcrumb{margin-bottom:2rem}.prose-eyebrow{display:inline-block;margin-bottom:1.25rem}.prose-title{font-family:var(--font-sans);font-size:clamp(2rem,4.2vw,2.8rem);font-weight:700;letter-spacing:-.025em;line-height:1.1;color:var(--ink);margin:0 0 1.25rem;max-width:24ch}.prose-meta{display:flex;align-items:center;gap:.65rem;font-family:var(--font-mono);font-size:var(--fs-meta-sm);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-dim)}.prose-meta-sep{color:var(--ink-faint)}.cs-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:2.5rem;border:1px solid var(--ink-faint);background:var(--bg)}.cs-meta-item{display:flex;flex-direction:column;gap:.3rem;padding:1.1rem 1.25rem;border-right:1px solid var(--ink-faint)}.cs-meta-item:last-child{border-right:none}.cs-meta-label{font-family:var(--font-mono);font-size:var(--fs-meta-sm);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-dim)}.cs-meta-value{font-family:var(--font-sans);font-size:var(--fs-body);color:var(--ink);line-height:1.4}@media(max-width:960px){.cs-meta-grid{grid-template-columns:repeat(2,1fr)}.cs-meta-item:nth-child(2){border-right:none}.cs-meta-item:nth-child(1),.cs-meta-item:nth-child(2){border-bottom:1px solid var(--ink-faint)}}@media(max-width:560px){.cs-meta-grid{grid-template-columns:1fr}.cs-meta-item{border-right:none;border-bottom:1px solid var(--ink-faint)}.cs-meta-item:last-child{border-bottom:none}}.blog-tldr{max-width:var(--prose-w);margin:0 auto 2.5rem;padding:1.25rem 1.5rem;border:1px solid var(--ink-faint);background:var(--bg-warm)}.blog-tldr-label{display:block;font-family:var(--font-mono);font-size:var(--fs-meta-sm);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-dim);margin-bottom:.5rem;font-weight:500}.blog-tldr p{margin:0;font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink)}.prose-body{font-family:var(--font-sans);font-size:1.059rem;line-height:1.75;color:var(--ink)}.prose-body>*:first-child{margin-top:0}.prose-body h2{font-size:1.55rem;font-weight:700;letter-spacing:-.015em;margin:3.5rem 0 1.25rem;color:var(--ink);scroll-margin-top:calc(var(--nav-h) + 1.5rem);text-wrap:balance}.prose-body h3{font-size:1.2rem;font-weight:700;margin:2.5rem 0 .75rem;color:var(--ink);text-wrap:balance}.prose-body h4{font-size:1.05rem;font-weight:700;margin:2rem 0 .5rem;color:var(--ink)}.prose-body p{margin-bottom:1.25rem;color:var(--ink)}.prose-body a{color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1.5px;text-underline-offset:.2em;transition:text-decoration-color .18s ease,color .18s ease}.prose-body a:hover{color:#b07010;text-decoration-color:#b07010}.prose-body ul,.prose-body ol{margin-bottom:1.25rem;padding-left:1.5rem;list-style:revert}.prose-body li{margin-bottom:.4rem;color:var(--ink)}.prose-body strong{color:var(--ink);font-weight:600}.prose-body blockquote{border-left:2px solid var(--ink);padding:.25rem 0 .25rem 1.25rem;margin:2rem 0;color:var(--ink-dim);font-style:italic}.prose-body hr{border:none;border-top:1px solid var(--ink-faint);margin:2.5rem 0}.prose-body code{font-family:var(--font-mono);font-size:.85em;background:var(--bg-warm);padding:.1em .4em;border:1px solid var(--ink-faint);border-radius:0}.prose-body pre{background:var(--bg-warm);border:1px solid var(--ink-faint);padding:1.25rem;overflow-x:auto;margin:1.75rem 0;font-size:.85rem;line-height:1.55;border-radius:0}.prose-body pre code{background:none;padding:0;border:none;font-size:inherit}.prose-body img{display:block;width:100%;max-width:100%;max-height:560px;height:auto;object-fit:contain;margin:2rem auto;background:var(--bg-warm);border:1px solid var(--ink-faint);padding:1.25rem;box-sizing:border-box;border-radius:0}.prose-body table,.prose-body .compare-table{width:100%;border-collapse:separate;border-spacing:0;margin:2rem 0 2.5rem;font-size:.9rem;table-layout:auto;border:1px solid var(--ink-faint);border-radius:0}.prose-body th,.prose-body .compare-table th{text-align:left;padding:.7rem .9rem;background:var(--ink-bg);color:#fff;font-family:var(--font-mono);font-size:var(--fs-meta-sm);text-transform:uppercase;letter-spacing:.1em;font-weight:500;white-space:nowrap;border:none}.prose-body td,.prose-body .compare-table td{padding:.7rem .9rem;border-top:1px solid var(--ink-faint);color:var(--ink);vertical-align:top;line-height:1.5}.prose-body td:first-child{font-weight:500;color:var(--ink)}.prose-body tbody tr:first-child td{border-top:none}.prose-body .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:2rem 0 2.5rem}.prose-body .table-scroll table,.prose-body .table-scroll .compare-table{margin:0;min-width:640px;width:100%}@media(max-width:560px){.prose-body td:first-child{white-space:normal}.prose-body th,.prose-body td{padding:.6rem .7rem}.prose-body table:not(.table-scroll table){display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}}.prose-body .callout{border:1px solid var(--ink-faint);border-left:3px solid var(--ink);padding:1.1rem 1.4rem;margin:2rem 0;background:var(--bg-warm);font-size:.96rem;line-height:1.6}.prose-body .callout p{margin-bottom:0}.prose-body .callout p+p{margin-top:.75rem}.prose-body .stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;margin:2rem 0;background:var(--ink-faint);border:1px solid var(--ink-faint)}.prose-body .stat{padding:1.25rem 1rem;background:var(--bg);text-align:left}.prose-body .stat-number{display:block;font-family:var(--font-sans);font-size:1.55rem;font-weight:600;color:var(--ink);letter-spacing:-.02em;line-height:1;margin-bottom:.5rem;font-variant-numeric:tabular-nums}.prose-body .stat-label{display:block;font-family:var(--font-mono);font-size:var(--fs-meta-sm);color:var(--ink-dim);text-transform:uppercase;letter-spacing:.1em;line-height:1.4}.prose-body .flow{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:2.25rem 0;flex-wrap:wrap;row-gap:.75rem;font-family:var(--font-mono);font-size:.78rem;color:var(--ink)}.prose-body .flow-node{padding:.55rem .95rem;border:1px solid var(--ink-faint);background:var(--bg);white-space:nowrap;line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis}.prose-body .flow-arrow{color:var(--ink-dim);font-size:.9rem;line-height:1}@media(max-width:560px){.prose-body .flow-node{white-space:normal;text-align:center;line-height:1.3}}.prose-body .section-divider{display:flex;align-items:center;gap:1rem;margin:3.5rem 0 2rem;font-family:var(--font-mono);font-size:var(--fs-meta-sm);color:var(--ink-dim);text-transform:uppercase;letter-spacing:.14em;font-weight:500}.prose-body .section-divider:after{content:"";flex:1;height:1px;background:var(--ink-faint)}.read-progress{position:fixed;top:0;left:0;height:2px;width:0%;background:var(--ink);z-index:1000;transition:opacity .3s ease;pointer-events:none}.s-prose-hero{background:var(--bg-warm);padding-top:5rem;padding-bottom:3.5rem}.s-prose-hero .s-inner{max-width:var(--prose-w)}.s-prose-body{background:var(--bg);padding-top:2.5rem;padding-bottom:7rem}.prose-body-layout{position:relative}.blog-tldr{margin:0 0 2.5rem}.toc-sidebar{display:none}@media(min-width:1360px){.toc-sidebar{display:block;position:absolute;top:0;right:0;width:200px;height:100%;pointer-events:none}.toc-sticky{position:sticky;top:calc(var(--nav-h) + 3rem);pointer-events:auto}.toc-sidebar .toc-label{font-family:var(--font-mono);font-size:var(--fs-meta-sm);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-dim);margin-bottom:.75rem;margin-left:13px;font-weight:500}.toc-sidebar ul{list-style:none;padding:0;margin:0;border-left:1px solid var(--ink-faint)}.toc-sidebar li{margin:0}.toc-sidebar a{display:-webkit-box;padding:.45rem 0 .45rem .75rem;margin-left:-1px;font-family:var(--font-sans);font-size:.82rem;color:var(--ink-dim);text-decoration:none;border-left:2px solid transparent;line-height:1.4;transition:color .15s ease,border-color .15s ease;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.toc-sidebar a:hover{color:var(--ink)}.toc-sidebar a.active{color:var(--ink);border-left-color:var(--ink)}}.toc-fab{display:flex;align-items:center;gap:.5rem;position:fixed;bottom:1.5rem;right:1.5rem;z-index:900;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:.55rem .9rem;font-family:var(--font-mono);font-size:var(--fs-meta-sm);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .15s ease;border-radius:0}.toc-fab:active{transform:scale(.97)}.toc-fab svg{width:16px;height:16px;stroke-width:1.75}@media(min-width:1360px){.toc-fab{display:none!important}}.toc-overlay{position:fixed;inset:0;background:#14141366;z-index:950;opacity:0;pointer-events:none;transition:opacity .25s ease}.toc-overlay.visible{opacity:1;pointer-events:auto}.toc-drawer{position:fixed;bottom:0;left:0;right:0;z-index:960;background:var(--bg);border-top:1px solid var(--ink-faint);padding:0 1.25rem 2rem;max-height:60vh;overflow-y:auto;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1)}.toc-drawer.visible{transform:translateY(0)}.toc-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 0 .75rem;position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--ink-faint);margin-bottom:.75rem}.toc-drawer-title{font-family:var(--font-mono);font-size:var(--fs-meta-sm);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-dim);font-weight:500}.toc-drawer-close{background:transparent;border:1px solid var(--ink-faint);color:var(--ink);cursor:pointer;width:32px;height:32px;display:grid;place-items:center;border-radius:0}.toc-drawer-close svg{width:16px;height:16px;stroke-width:1.75}.toc-drawer ul{list-style:none;padding:0;margin:0}.toc-drawer li{border-bottom:1px solid var(--ink-faint)}.toc-drawer li:last-child{border-bottom:none}.toc-drawer a{display:block;padding:.9rem 0 .9rem 1rem;font-family:var(--font-sans);font-size:.94rem;color:var(--ink-dim);text-decoration:none;border-left:2px solid transparent;transition:color .15s ease,border-color .15s ease}.toc-drawer a.active{color:var(--ink);border-left-color:var(--ink);font-weight:500}@media(min-width:1360px){.toc-overlay,.toc-drawer{display:none!important}}
