.blog-shell{color:#eeeae2;--blog-muted:#a7a49b;background:#08090b;min-height:100vh}.blog-shell a,.blog-shell button,.blog-shell summary{-webkit-tap-highlight-color:transparent}.blog-shell :focus-visible{outline-offset:5px;outline:2px solid #e8a020}.blog-skip{z-index:200;color:#08090b;background:#e8a020;padding:12px 20px;position:fixed;top:-100px;left:20px}.blog-skip:focus{top:10px}.blog-index,.blog-article-page{max-width:1160px;margin:auto;padding:0 40px 80px}.blog-eyebrow{color:#c6b991;font:10px/1.6 var(--font-mono);letter-spacing:.13em;text-transform:uppercase;display:block}.blog-index-header{padding:82px 0 62px}.blog-index-header .blog-eyebrow{align-items:center;gap:10px;display:flex}.blog-dot{background:#e8a020;border-radius:50%;width:6px;height:6px;box-shadow:0 0 12px #e8a02066}.blog-index h1{font:700 clamp(38px, 4.8vw, 64px)/1.1 var(--font-display);letter-spacing:-.045em;margin:25px 0 24px}.blog-index h1 em{color:#e8a020;font-style:normal}.blog-index-header p{color:var(--blog-muted);font-size:16px;line-height:1.8}.blog-index-topics{color:#89877f;font:10px var(--font-mono);flex-wrap:wrap;gap:22px;margin-top:28px;display:flex}.blog-index-topics span+span:before{content:"/";color:#49463d;margin-right:22px}.blog-section-label{font:10px var(--font-mono);letter-spacing:.12em;color:#969188;border-top:1px solid #292720;justify-content:space-between;padding:22px 0;display:flex}.blog-section-label h2{font:inherit}.blog-section-label>span{color:#77736b}.blog-featured{background:#11110f;border:1px solid #302b22;border-radius:12px;grid-template-columns:1fr 1fr;text-decoration:none;transition:border-color .2s;display:grid;overflow:hidden}.blog-featured:hover{border-color:#a77624}.blog-featured-copy{padding:38px}.blog-featured-copy>.blog-eyebrow{align-items:center;gap:16px;display:flex}.blog-featured-badge{color:#e8a020;background:#e8a02015;border:1px solid #e8a02035;border-radius:3px;padding:2px 6px;font-size:8px}.blog-featured h2{font:700 30px/1.22 var(--font-display);letter-spacing:-.025em;margin:20px 0 14px}.blog-featured p,.blog-post-grid p{color:var(--blog-muted);font-size:14px;line-height:1.8}.blog-card-meta{color:#969188;font:10px var(--font-mono);gap:10px;margin-top:24px;display:flex}.blog-read-link{color:#e8a020;border-top:1px solid #302b22;justify-content:space-between;margin-top:28px;padding-top:20px;font-size:12px;display:flex}.blog-cover{background-color:#10100e;background-image:radial-gradient(#67604a40 .7px,#0000 .7px);background-size:18px 18px;flex-direction:column;justify-content:space-between;gap:28px;min-width:0;padding:28px 30px;display:flex;overflow:hidden}.blog-cover-top,.blog-cover-bottom{color:#898574;font:8px/1.5 var(--font-mono);letter-spacing:.1em;justify-content:space-between;gap:12px;display:flex}.blog-cover-bottom{border-top:1px solid #373123;padding-top:18px}.blog-cover-halves{text-align:center;grid-template-columns:1fr 32px 1fr;align-items:center;gap:12px;padding:12px 0;display:grid}.blog-cover-title{font:700 clamp(38px, 4vw, 62px)/1 var(--font-display);color:#e8a020;letter-spacing:-.05em;margin-bottom:24px;display:block}.blog-cover-halves>div:last-child .blog-cover-title{color:#a8b9a6}.blog-cover-vs{color:#8d8674;border:1px solid #4c4430;border-radius:50%;place-items:center;height:32px;font:italic 18px Georgia,serif;display:grid}.blog-cover-system{flex-direction:column;align-items:center;display:flex}.blog-cover-system span{font:8px var(--font-mono);color:#d9c598;background:#1a170f;border:1px solid #716037;border-radius:4px;padding:10px 12px}.blog-cover-system i{background:#716037;width:1px;height:16px}.blog-cover-system>div{gap:8px;display:flex}.blog-cover-class{text-align:left;font:9px/1.6 var(--font-mono);color:#b2c3a8;background:#111b16;border:1px solid #53654f;border-radius:5px}.blog-cover-class strong{border-bottom:1px solid #53654f;padding:12px 10px;font-weight:500;display:block}.blog-cover-class code{white-space:nowrap;padding:6px 10px;display:block}.blog-practice{border-top:1px solid #302b22;border-bottom:1px solid #302b22;justify-content:space-between;align-items:center;gap:24px;margin-top:64px;padding:32px 0;display:flex}.blog-practice h2{font:600 26px/1.3 var(--font-display);letter-spacing:-.025em;margin:12px 0 8px}.blog-practice p{color:var(--blog-muted);font-size:13px;line-height:1.7}.blog-button{color:#120f07;white-space:nowrap;font:600 11px var(--font-mono);background:#e8a020;border-radius:5px;padding:13px 18px}.blog-button:hover{background:#f2b847}.blog-more{margin-top:56px}.blog-post-grid{grid-template-columns:repeat(2,1fr);gap:24px;margin-top:24px;display:grid}.blog-post-grid>a{border:1px solid #302b22;border-radius:8px;padding:28px}.blog-post-grid h3{font:600 24px var(--font-display);margin:14px 0}.blog-breadcrumb{color:#8e8b81;font:10px var(--font-mono);align-items:center;gap:14px;padding:34px 0 40px;display:flex}.blog-breadcrumb a:hover,.blog-back:hover{color:#e8a020}.blog-article-header{max-width:780px;margin:0 auto}.blog-tags{flex-wrap:wrap;gap:8px;display:flex}.blog-tags span{color:#d3b77d;font:9px var(--font-mono);background:#e8a0200a;border:1px solid #e8a02028;border-radius:4px;padding:5px 9px}.blog-article-header h1{font:700 clamp(34px, 4.5vw, 54px)/1.1 var(--font-display);letter-spacing:-.04em;text-wrap:balance;margin:23px 0 20px}.blog-deck{color:#aaa79f;max-width:690px;font-size:17px;line-height:1.8}.blog-article-meta{align-items:center;gap:12px;margin:26px 0 34px;display:flex}.blog-avatar{color:#e8a020;width:34px;height:34px;font:700 17px var(--font-display);background:#241c0d;border:1px solid #665024;border-radius:50%;place-items:center;display:grid}.blog-article-meta strong{margin-bottom:5px;font-size:11px;font-weight:500;display:block}.blog-article-meta>div>span{color:#969188;font:9px var(--font-mono);display:block}.blog-share{color:#beb8a9;font:10px var(--font-mono);cursor:pointer;background:0 0;border:1px solid #39352b;border-radius:5px;padding:8px 11px}.blog-article-meta .blog-share{margin-left:auto}.blog-share:hover{color:#e8a020;border-color:#8a6629}.blog-article-header .blog-cover{border:1px solid #373123;border-radius:10px;padding:26px 42px}.blog-article-header .blog-cover-halves{gap:30px;width:100%;max-width:540px;margin:auto}.blog-reading-layout{grid-template-columns:210px minmax(0,720px);gap:50px;margin:50px auto 0;display:grid}.blog-toc{align-self:start;max-height:calc(100vh - 120px);position:sticky;top:90px;overflow-y:auto}.blog-toc ol,.blog-mobile-toc ol{margin:20px 0 0;padding:0;list-style:none}.blog-toc li{margin:0}.blog-toc a{color:#969188;border-left:1px solid #302b22;padding:7px 0 7px 12px;font-size:11px;line-height:1.5;display:block}.blog-toc a[aria-current]{color:#e8a020;border-color:#e8a020}.blog-toc a:hover{color:#eeeae2}.blog-toc .blog-toc-sub a{padding-left:24px;font-size:10px}.blog-toc-note{color:#969188;border-top:1px solid #302b22;margin-top:28px;padding-top:22px;font-size:10px;line-height:1.8}.blog-toc-note a{color:#e8a020;border:0;padding:10px 0}.blog-mobile-toc{display:none}.blog-progress{z-index:110;background:#252219;height:2px;position:fixed;top:56px;left:0;right:0}.blog-progress>span{transform-origin:0;background:#e8a020;height:100%;display:block}.blog-prose{color:#bbb8af;overflow-wrap:break-word;min-width:0;font-size:16px;line-height:1.85}.blog-prose>p:first-child{color:#d8d3c8;font-size:18px}.blog-prose p{margin:0 0 22px}.blog-prose h2{font:600 28px/1.25 var(--font-display);letter-spacing:-.025em;color:#f0ebe0;border-top:1px solid #302b22;margin:52px 0 22px;padding-top:32px;scroll-margin-top:100px}.blog-prose h3{font:600 20px/1.4 var(--font-display);letter-spacing:-.015em;color:#e6e0d5;margin:30px 0 16px;scroll-margin-top:100px}.blog-prose strong{color:#f0ebe0;font-weight:600}.blog-prose a{color:#e8a020;text-underline-offset:4px;text-decoration:underline}.blog-prose ul,.blog-prose ol{margin:0 0 24px;padding-left:24px}.blog-prose ul{list-style:outside}.blog-prose ol{list-style:decimal}.blog-prose li{margin:8px 0;padding-left:5px}.blog-prose li::marker{color:#c58d30}.blog-prose blockquote{color:#d5cbb5;border-left:2px solid #e8a020;margin:28px 0;padding:8px 0 8px 24px;font-style:italic}.blog-prose blockquote p:last-child{margin:0}.blog-prose code{color:#edc77f;font:.81em/1.8 var(--font-mono);background:#e8a0200b;border:1px solid #e8a02024;border-radius:4px;padding:2px 5px}.blog-prose pre{margin:0;padding:22px;overflow-x:auto;background:#10110f!important}.blog-prose pre code{background:0 0;border:0;padding:0;font-size:12px}.blog-prose pre code>[data-line]{display:block}.blog-code{border:1px solid #39352b;border-radius:8px;margin:26px 0;overflow:hidden}.blog-code-toolbar{color:#918a79;font:9px var(--font-mono);background:#161610;border-bottom:1px solid #302b22;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.blog-code-toolbar button{cursor:pointer;color:#d7b774;padding:4px}.blog-prose [data-rehype-pretty-code-figure]{margin:0}.blog-table-scroll{border:1px solid #39352b;border-radius:8px;width:100%;margin:26px 0;overflow-x:auto}.blog-prose table{border-collapse:collapse;width:100%;min-width:570px;font-size:13px;line-height:1.7}.blog-prose th{text-align:left;color:#e8d4a5;background:#1c1a13;padding:14px 18px;font-weight:500}.blog-prose td{vertical-align:top;border-top:1px solid #302b22;padding:16px 18px}.blog-prose tr:nth-child(2n) td{background:#ffffff02}.blog-prose td:first-child{color:#e1dbce;font-weight:500}.blog-callout{background:#e8a02007;border:1px solid #62502b;border-left:3px solid #e8a020;border-radius:0 8px 8px 0;margin:30px 0;padding:24px}.blog-callout .blog-eyebrow{color:#e8a020;margin-bottom:12px}.blog-callout p:last-child{margin-bottom:0}.blog-callout-tip{background:#9cb99508;border-color:#3e573b #3e573b #3e573b #9cb995}.blog-callout-tip .blog-eyebrow{color:#9cb995}.blog-callout-warning{border-left-color:#e6a077}.blog-prose .docs-diagram-shell{background:#11120f;border-color:#39352b;border-radius:8px;padding:24px 12px}.blog-prose .docs-diagram-shell>svg{height:auto;margin:auto;display:block}.blog-prose .katex-display{padding:12px 0;overflow:auto hidden}.blog-prose img{border-radius:8px;max-width:100%;height:auto}.blog-prose hr{border:0;border-top:1px solid #302b22;margin:36px 0}.blog-accordion{border:1px solid #39352b;border-radius:6px;margin:12px 0}.blog-accordion summary{color:#e6e0d5;cursor:pointer;padding:17px 20px;font-size:14px}.blog-accordion>div{padding:0 20px 10px;font-size:14px}.blog-steps{counter-reset:step}.blog-step{counter-increment:step;padding-left:48px;position:relative}.blog-step:before{content:counter(step, decimal-leading-zero);color:#e8a020;font:12px/2 var(--font-mono);position:absolute;top:0;left:0}.blog-pros-cons{grid-template-columns:1fr 1fr;gap:20px;display:grid}.blog-pros-cons>div{border:1px solid #39352b;border-radius:6px;padding:20px}.blog-pros-cons h3{margin-top:0;font-size:17px}.blog-article-footer{max-width:720px;font:9px/1.8 var(--font-mono);color:#969188;border-top:1px solid #302b22;justify-content:space-between;align-items:center;gap:20px;margin:48px 0 0 auto;padding:24px 0;display:flex}.blog-back{color:#a7a49b;font:11px var(--font-mono);margin-top:34px;display:inline-block}@media (max-width:1050px){.blog-reading-layout{grid-template-columns:180px minmax(0,1fr);gap:32px}.blog-featured-copy{padding:28px}.blog-featured h2{font-size:25px}.blog-cover{padding:22px}}@media (max-width:800px){.blog-index,.blog-article-page{padding:0 24px 56px}.blog-index-header{padding:56px 0 42px}.blog-featured{grid-template-columns:1fr}.blog-featured>.blog-cover{min-height:350px}.blog-cover-halves{width:100%;max-width:450px;margin:auto}.blog-reading-layout{flex-direction:column;gap:24px;margin-top:28px;display:flex}.blog-toc{display:none}.blog-mobile-toc{color:#bcb5a5;border:1px solid #39352b;border-radius:6px;padding:16px 20px;font-size:12px;display:block}.blog-mobile-toc summary{cursor:pointer}.blog-mobile-toc a{padding:6px 0;display:block}.blog-mobile-toc a[aria-current]{color:#e8a020}.blog-mobile-toc .blog-toc-sub{padding-left:16px}.blog-practice{flex-direction:column;align-items:flex-start;margin-top:40px}.blog-article-header .blog-cover{padding:22px}.blog-breadcrumb{padding-bottom:30px}}@media (max-width:480px){.blog-index,.blog-article-page{padding-left:18px;padding-right:18px}.blog-index h1{font-size:37px}.blog-index-header p,.blog-deck{font-size:15px}.blog-index-topics{gap:10px;font-size:8px}.blog-index-topics span+span:before{margin-right:10px}.blog-desktop-break{display:none}.blog-featured-copy{padding:24px}.blog-cover-top,.blog-cover-bottom{font-size:6px}.blog-cover{padding:20px 14px}.blog-cover-halves,.blog-article-header .blog-cover-halves{grid-template-columns:1fr 26px 1fr;gap:8px}.blog-cover-vs{height:26px;font-size:14px}.blog-cover-system span{padding:9px 7px;font-size:6px}.blog-cover-class{font-size:7px}.blog-cover-class code,.blog-cover-class strong{padding-left:7px;padding-right:7px}.blog-article-header .blog-cover{padding:18px 12px}.blog-prose{font-size:15px}.blog-prose h2{font-size:25px}.blog-prose>p:first-child{font-size:17px}.blog-callout{padding:20px}.blog-post-grid,.blog-pros-cons{grid-template-columns:1fr}.blog-article-footer{flex-direction:column;align-items:flex-start}.blog-section-label{font-size:8px}}@media print{.home-nav,.home-footer,.blog-toc,.blog-progress,.blog-share,.blog-mobile-toc,.blog-practice,.blog-code-toolbar{display:none!important}.blog-reading-layout{display:block}.blog-shell,.blog-prose{color:#222;background:#fff}.blog-prose h2,.blog-prose h3,.blog-prose strong,.blog-article-header h1{color:#111}}.blog-diagram{margin:28px 0}.blog-diagram figcaption{color:#a7a49b;font:10px/1.7 var(--font-mono);display:none}.blog-prose .docs-diagram-shell .nodeLabel,.blog-prose .docs-diagram-shell .edgeLabel{color:#e4d9c1!important}.blog-prose .docs-diagram-shell text{fill:#e4d9c1!important}.blog-prose .docs-diagram-shell .node rect,.blog-prose .docs-diagram-shell .node polygon,.blog-prose .docs-diagram-shell .node path{fill:#211b10!important;stroke:#a18042!important}.blog-prose .docs-diagram-shell .edgeLabel p{margin:0;background:#211b10!important}@media (max-width:800px){.blog-diagram .docs-diagram-shell>svg{min-width:560px}.blog-diagram figcaption{display:block}}.blog-cover-generic{min-height:330px}.blog-cover-generic strong{font:600 36px/1.2 var(--font-display);letter-spacing:-.03em;color:#e8a020}.blog-topic-cover{color:var(--cover-accent);background-image:radial-gradient(color-mix(in srgb, var(--cover-accent) 22%, transparent) .7px, transparent .7px)}.blog-topic-cover .blog-cover-top,.blog-topic-cover .blog-cover-bottom{color:var(--cover-accent);opacity:.8}.blog-topic-cover .blog-cover-bottom{border-color:color-mix(in srgb, var(--cover-accent) 25%, transparent)}.blog-topic-art{width:100%;height:auto;display:block;overflow:visible}.blog-topic-art .art-title{fill:currentColor;font:600 39px var(--font-display);letter-spacing:-1.4px}.blog-topic-art .art-code{fill:currentColor;font:500 37px var(--font-mono)}.blog-topic-art .art-label{fill:#e6e0d5;font:500 14px var(--font-mono)}.blog-topic-art .art-muted{fill:#a8a69c;font:13px var(--font-mono)}.blog-topic-art .art-small{fill:#aaa69c;font:10px var(--font-mono);letter-spacing:.4px}.blog-topic-art .art-panel{fill:currentColor;fill-opacity:.055;stroke:currentColor;stroke-opacity:.5}.blog-topic-art .art-stroke{stroke:currentColor;stroke-width:1.6px}.blog-topic-art .art-wire{stroke:currentColor;stroke-opacity:.35;stroke-width:1.3px}.blog-post-grid>.blog-post-card{background:#10110e;flex-direction:column;padding:0;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}.blog-post-card:hover{border-color:#85704a;transform:translateY(-3px)}.blog-post-card>.blog-cover{border-bottom:1px solid #302b22;border-radius:0;gap:12px;height:295px;padding:22px 26px}.blog-post-card>.blog-cover .blog-cover-title{margin-bottom:12px;font-size:42px}.blog-post-card>.blog-cover .blog-cover-halves{padding:0}.blog-post-card>.blog-cover .blog-cover-bottom{padding-top:12px;font-size:7px}.blog-post-card-body{flex-direction:column;flex:1;padding:28px;display:flex}.blog-post-card-body p{flex:1}.blog-post-card-body .blog-read-link{margin-top:20px}.blog-more>h2{font:600 29px var(--font-display);letter-spacing:-.025em}.blog-article-page .blog-post-grid{margin-top:0}.blog-metric-grid{background:#e8a02006;border:1px solid #49402c;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin:30px 0;display:grid;overflow:hidden}.blog-metric-grid>div{flex-direction:column;padding:23px 18px;display:flex}.blog-metric-grid>div+div{border-left:1px solid #393123}.blog-metric-grid dt{font:10px/1.6 var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:#bbb19a}.blog-metric-value{font:600 clamp(23px, 2.4vw, 32px)/1.2 var(--font-display);letter-spacing:-.04em;color:#edbb63;order:-1;margin-bottom:12px}.blog-metric-detail{color:#a39d8e;margin-top:10px;font-size:11px;line-height:1.7}.blog-prose .katex{font-size:1.05em}.blog-prose .katex-display{background:#10110f;border:1px solid #39352b;border-radius:6px;margin:26px 0;padding:20px 12px}@media (max-width:800px){.blog-featured>.blog-topic-cover{min-height:300px}.blog-post-card>.blog-cover{height:230px;padding:16px}.blog-post-card-body{padding:22px}.blog-post-grid h3{font-size:22px}}@media (max-width:620px){.blog-post-grid{grid-template-columns:1fr}.blog-post-card>.blog-cover{height:auto;min-height:260px}.blog-metric-grid{grid-template-columns:1fr}.blog-metric-grid>div{grid-template-columns:110px 1fr;align-items:center;gap:5px 14px;padding:19px;display:grid}.blog-metric-grid>div+div{border-top:1px solid #393123;border-left:0}.blog-metric-value{grid-area:1/1/3;margin:0;font-size:26px}.blog-metric-grid dt,.blog-metric-detail{grid-column:2;margin:0}.blog-topic-cover .blog-cover-top{font-size:7px}}@media (prefers-reduced-motion:reduce){.blog-post-card:hover{transform:none}}.blog-post-card .blog-topic-art{flex:1;min-height:0}