@property --color-bg{syntax:"<color>";inherits:true;initial-value:#faf7f2}@property --color-surface{syntax:"<color>";inherits:true;initial-value:#fff}@property --color-ink{syntax:"<color>";inherits:true;initial-value:#211c17}@property --color-ink-2{syntax:"<color>";inherits:true;initial-value:#4a443c}@property --color-muted{syntax:"<color>";inherits:true;initial-value:#6f675e}@property --color-rule{syntax:"<color>";inherits:true;initial-value:#e7e0d6}@property --color-field-border{syntax:"<color>";inherits:true;initial-value:#8a8176}@property --color-accent{syntax:"<color>";inherits:true;initial-value:#b15a2b}@property --color-accent-hover{syntax:"<color>";inherits:true;initial-value:#8c4319}@property --color-accent-ink{syntax:"<color>";inherits:true;initial-value:#fff}@property --color-focus{syntax:"<color>";inherits:true;initial-value:#b15a2b}@property --color-dark{syntax:"<color>";inherits:true;initial-value:#2a2620}@property --color-on-dark{syntax:"<color>";inherits:true;initial-value:#f3ece2}@property --fs-xs{syntax:"<length>";inherits:true;initial-value:12px}@property --fs-sm{syntax:"<length>";inherits:true;initial-value:14px}@property --fs-md{syntax:"<length>";inherits:true;initial-value:16px}@property --fs-lg{syntax:"<length>";inherits:true;initial-value:18px}@property --fs-xl{syntax:"<length>";inherits:true;initial-value:20px}@property --fs-2xl{syntax:"<length>";inherits:true;initial-value:24px}@property --fs-3xl{syntax:"<length>";inherits:true;initial-value:28px}@property --fs-4xl{syntax:"<length>";inherits:true;initial-value:36px}@property --fs-5xl{syntax:"<length>";inherits:true;initial-value:48px}@property --lh-tight{syntax:"<number>";inherits:true;initial-value:1.1}@property --lh-snug{syntax:"<number>";inherits:true;initial-value:1.25}@property --lh-body{syntax:"<number>";inherits:true;initial-value:1.6}@property --lh-long{syntax:"<number>";inherits:true;initial-value:1.7}@property --fw-medium{syntax:"<number>";inherits:true;initial-value:500}@property --fw-semibold{syntax:"<number>";inherits:true;initial-value:600}@property --fw-bold{syntax:"<number>";inherits:true;initial-value:700}@property --space-1{syntax:"<length>";inherits:true;initial-value:4px}@property --space-2{syntax:"<length>";inherits:true;initial-value:8px}@property --space-3{syntax:"<length>";inherits:true;initial-value:12px}@property --space-4{syntax:"<length>";inherits:true;initial-value:16px}@property --space-5{syntax:"<length>";inherits:true;initial-value:20px}@property --space-6{syntax:"<length>";inherits:true;initial-value:24px}@property --space-8{syntax:"<length>";inherits:true;initial-value:32px}@property --space-10{syntax:"<length>";inherits:true;initial-value:40px}@property --space-12{syntax:"<length>";inherits:true;initial-value:48px}@property --space-16{syntax:"<length>";inherits:true;initial-value:64px}@property --space-24{syntax:"<length>";inherits:true;initial-value:96px}@property --radius-sm{syntax:"<length>";inherits:true;initial-value:6px}@property --radius-md{syntax:"<length>";inherits:true;initial-value:12px}@property --radius-pill{syntax:"<length>";inherits:true;initial-value:999px}@property --radius-button{syntax:"<length>";inherits:true;initial-value:10px}@property --measure{syntax:"*";inherits:true;initial-value:60ch}@property --tap{syntax:"<length>";inherits:true;initial-value:44px}@property --font-serif{syntax:"*";inherits:true;initial-value:Georgia, serif}@property --font-mono{syntax:"*";inherits:true;initial-value:ui-monospace, monospace}.blog{--b-bg:var(--color-bg);--b-surface:var(--color-surface);--b-ink:var(--color-ink);--b-ink-2:var(--color-ink-2);--b-muted:var(--color-muted);--b-rule:var(--color-rule);--b-control:var(--color-field-border);--b-rust:var(--color-accent);--b-rust-deep:var(--color-accent-hover);--b-focus:var(--color-focus);--b-accent-soft:color-mix(in srgb, var(--color-accent) 10%, var(--color-surface));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--b-bg);color:var(--b-ink);font-family:var(--font-sans,var(--font-inter,system-ui, sans-serif));min-height:100vh}.blog button,.blog input,.blog select,.blog textarea{font-family:inherit}.blog-wrap{max-width:1040px;padding:var(--space-16) var(--space-5) var(--space-24);margin:0 auto}.blog-header{text-align:center;margin-bottom:var(--space-10)}.blog-title{font-family:var(--font-serif);font-size:clamp(var(--fs-4xl), 6vw, var(--fs-5xl));font-weight:var(--fw-bold);line-height:var(--lh-tight);text-wrap:balance;margin:0 0 var(--space-2)}.blog-header .blog-post-lede{max-width:var(--measure);margin:var(--space-2) auto 0}.blog-header-back{margin:0}.blog-header-back .blog-link{min-height:var(--tap);align-items:center;display:inline-flex}.blog-empty{text-align:center;color:var(--b-muted);padding:var(--space-10) 0}.blog-empty p{margin:0 0 var(--space-4)}.blog-filters{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.blog-field{gap:var(--space-1);flex-direction:column;display:flex}.blog-field-search{flex:1;min-width:200px}.blog-field-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--b-ink-2)}.blog-search,.blog-tagfilter{background:var(--b-surface);border:1px solid var(--b-control);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--fs-md);min-height:var(--tap);color:var(--b-ink)}.blog-search:focus-visible,.blog-tagfilter:focus-visible{outline:2px solid var(--b-focus);outline-offset:2px}.blog-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));margin:0;padding:0;list-style:none;display:grid}.blog-card{background:var(--b-surface);border:1px solid var(--b-rule);border-radius:var(--radius-md);transition:border-color .15s,transform .15s,box-shadow .15s;overflow:hidden}.blog-card:hover{border-color:var(--b-rust);box-shadow:0 8px 24px color-mix(in srgb, var(--color-ink) 8%, transparent);transform:translateY(-2px)}.blog-card-link{height:100%;color:inherit;flex-direction:column;text-decoration:none;display:flex}.blog-card-img{aspect-ratio:16/9;background:var(--b-accent-soft);width:100%;display:block;position:relative}.blog-card-body{gap:var(--space-2);padding:var(--space-4) var(--space-5) var(--space-5);flex-direction:column;flex:1;display:flex}.blog-card-tag{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--b-rust-deep);background:var(--b-accent-soft);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);align-self:flex-start}.blog-card-title{font-family:var(--font-serif);font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:var(--lh-snug);margin:0}.blog-card-desc{font-size:var(--fs-sm);color:var(--b-muted);line-height:var(--lh-body)}.blog-card-meta{font-size:var(--fs-xs);color:var(--b-muted);margin-top:auto}.blog-post-wrap{max-width:1100px;padding:var(--space-12) var(--space-5) var(--space-24);margin:0 auto}@media (min-width:1024px){.blog-post-wrap{gap:var(--space-10);grid-template-columns:240px minmax(0,1fr);display:grid}}.blog-post-aside{display:none}@media (min-width:1024px){.blog-post-aside{display:block}}.blog-article{width:100%;max-width:760px;margin:0 auto}.blog-back{min-height:var(--tap);font-size:var(--fs-sm);color:var(--b-muted);margin-bottom:var(--space-2);align-items:center;text-decoration:none;display:inline-flex}.blog-back:hover{color:var(--b-rust)}.blog-post-header{gap:var(--space-3);flex-direction:column;display:flex}.blog-post-tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.blog-post-tag{min-height:var(--tap);font-size:var(--fs-xs);background:var(--b-accent-soft);color:var(--b-rust-deep);border-radius:var(--radius-pill);padding:0 var(--space-3);align-items:center;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.blog-post-tag:hover{background:var(--b-rust);color:var(--color-accent-ink)}.blog-post-tag-plain{min-height:0;padding:var(--space-1) var(--space-3)}.blog-post-tag-plain:hover{background:var(--b-accent-soft);color:var(--b-rust-deep)}.blog-post-author{color:inherit;text-underline-offset:2px;text-decoration:underline}.blog-post-author:hover{color:var(--b-rust)}.blog-post-title{font-family:var(--font-serif);font-size:clamp(var(--fs-3xl), 5vw, var(--fs-4xl));font-weight:var(--fw-bold);line-height:var(--lh-tight);text-wrap:balance;margin:0}.blog-post-meta{font-size:var(--fs-sm);color:var(--b-muted);margin:0}.blog-post-cats{align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--b-muted);flex-wrap:wrap;display:flex}.blog-post-cat{border:1px solid var(--b-rule);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);align-items:center;display:inline-flex}a.blog-post-cat{min-height:var(--tap);padding-block:0}.blog-post-lede{font-size:var(--fs-lg);color:var(--b-ink-2);line-height:var(--lh-body);margin:var(--space-1) 0 0}.blog-post-hero{border-radius:var(--radius-md);width:100%;height:auto;margin-top:var(--space-6)}.blog-rule{border:0;border-top:1px solid var(--b-rule);margin:var(--space-8) 0}.blog-toc{border:1px solid var(--b-rule);background:var(--b-surface);border-radius:var(--radius-md);padding:var(--space-4)}.blog-toc-sticky{top:var(--space-6);position:sticky}.blog-toc-inline{margin-bottom:var(--space-8)}@media (min-width:1024px){.blog-toc-inline{display:none}}.blog-toc-title{font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--b-muted);margin:0 0 var(--space-2)}.blog-toc-details>summary{text-transform:none;letter-spacing:0;font-size:var(--fs-sm);min-height:var(--tap);cursor:pointer;align-items:center;margin:0;display:flex}.blog-toc-details>summary:focus-visible{outline:2px solid var(--b-focus);outline-offset:2px}.blog-toc-list{font-size:var(--fs-sm);max-height:calc(100vh - 9rem);margin:0;padding:0;list-style:none;overflow-y:auto}.blog-toc-list li{margin:2px 0}.blog-toc-sub{margin-left:var(--space-3)!important}.blog-toc-list a{padding:var(--space-1) 0;color:var(--b-muted);text-decoration:none;transition:color .15s;display:block}@media (max-width:1023.98px){.blog-toc-list a{min-height:var(--tap);align-items:center;display:flex}}.blog-toc-list a:hover{color:var(--b-ink)}.blog-toc-list a.blog-toc-active{color:var(--b-rust);font-weight:var(--fw-semibold)}.blog-fields{border:1px solid var(--b-rule);background:var(--b-surface);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-8)}.blog-fields-title{font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--b-muted);margin:0 0 var(--space-3)}.blog-fields-list{gap:var(--space-2) var(--space-5);font-size:var(--fs-md);line-height:var(--lh-body);grid-template-columns:minmax(0,max-content) minmax(0,1fr);margin:0;display:grid}.blog-fields-label{font-weight:var(--fw-semibold);color:var(--b-ink-2)}.blog-fields-value{overflow-wrap:anywhere;margin:0}.blog-fields-multiline{white-space:pre-line}@media (max-width:600px){.blog-fields-list{grid-template-columns:minmax(0,1fr);row-gap:2px}.blog-fields-value+.blog-fields-label{margin-top:var(--space-3)}}.blog-body{font-size:var(--fs-lg);line-height:var(--lh-long);color:var(--b-ink)}.blog-p{margin:0 0 var(--space-5)}.blog-h1,.blog-h2,.blog-h3,.blog-h4{font-family:var(--font-serif);scroll-margin-top:var(--space-6);line-height:var(--lh-snug)}.blog-h1{font-size:var(--fs-3xl);font-weight:var(--fw-bold);margin:var(--space-10) 0 var(--space-4)}.blog-h2{font-size:var(--fs-2xl);font-weight:var(--fw-bold);margin:var(--space-8) 0 var(--space-3)}.blog-h3{font-size:var(--fs-xl);font-weight:var(--fw-semibold);margin:var(--space-6) 0 var(--space-3)}.blog-h4{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:var(--space-5) 0 var(--space-2)}.blog-quote{margin:var(--space-6) 0;padding:var(--space-1) 0 var(--space-1) var(--space-5);border-left:4px solid var(--b-rust);color:var(--b-muted);font-style:italic}.blog-ul,.blog-ol{margin:0 0 var(--space-5);padding-left:var(--space-6)}.blog-ul{list-style:outside}.blog-ol{list-style:decimal}.blog-li{margin:var(--space-1) 0}.blog-li-placeholder{list-style:none}.blog-link{color:var(--b-rust-deep);text-underline-offset:2px;text-decoration:underline}.blog-link:hover{color:var(--b-rust)}.blog-inline-code{background:var(--b-accent-soft);border-radius:var(--radius-sm);padding:1px var(--space-1);font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.9em}.blog-figure{margin:var(--space-6) 0;flex-direction:column;align-items:center;display:flex}.blog-figure-img{border-radius:var(--radius-md);width:100%;max-width:100%;height:auto}.blog-figcaption{margin-top:var(--space-2);font-size:var(--fs-sm);color:var(--b-muted);text-align:center;font-style:italic}.blog-post-hero-fig{margin:0}.blog-figcredit{font-style:normal}.blog-img-fill{aspect-ratio:16/9;border-radius:var(--radius-md);width:100%;display:block;position:relative;overflow:hidden}.blog-code{margin:var(--space-6) 0;border:1px solid var(--b-rule);border-radius:var(--radius-md);background:var(--color-dark);overflow:hidden}.blog-code-name{border-bottom:1px solid color-mix(in srgb, var(--color-on-dark) 14%, transparent);padding:var(--space-2) var(--space-4);font-family:var(--font-mono);font-size:var(--fs-xs);color:color-mix(in srgb, var(--color-on-dark) 75%, transparent)}.blog-code-pre{padding:var(--space-4);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--color-on-dark);margin:0;overflow-x:auto}.blog-table-block{margin:var(--space-6) 0}.blog-table-hint{margin:0 0 var(--space-2);font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--b-muted)}.blog-reading-time{white-space:nowrap}@media (min-width:700px){.blog-grid-sparse{grid-template-columns:1fr}.blog-grid-sparse .blog-card-link{grid-template-columns:minmax(220px,1fr) minmax(0,2fr);display:grid}.blog-grid-sparse .blog-card-img{aspect-ratio:auto;height:100%;min-height:220px}.blog-grid-sparse .blog-card-body{padding:var(--space-6);gap:var(--space-3)}.blog-grid-sparse .blog-card-body:only-child{grid-column:1/-1}}.blog-table-frame{position:relative}.blog-table-frame:after{content:"";width:var(--space-8);pointer-events:none;background:linear-gradient(to right, transparent, var(--b-bg));opacity:0;transition:opacity .15s;position:absolute;top:0;bottom:0;right:0}.blog-table-frame[data-more]:after{opacity:1}.blog-table-wrap{overscroll-behavior-x:contain;overflow-x:auto}.blog-table-wrap:focus-visible{outline:2px solid var(--b-focus);outline-offset:4px}.blog-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);overflow-wrap:normal;word-break:normal}.blog-table th,.blog-table td{vertical-align:top;min-width:7.5rem}.blog-table th{text-align:left;font-weight:var(--fw-semibold);background:var(--b-accent-soft);border-bottom:2px solid var(--b-rule);padding:var(--space-2) var(--space-3)}.blog-table td{border-bottom:1px solid var(--b-rule);padding:var(--space-2) var(--space-3)}.blog-table th:first-child,.blog-table td:first-child{z-index:1;box-shadow:1px 0 0 var(--b-rule);position:sticky;left:0}.blog-table td:first-child{background:var(--b-bg)}.blog-post-footer{margin-top:var(--space-10);border-top:1px solid var(--b-rule);padding-top:var(--space-5)}.blog-share-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin:0 0 var(--space-2)}.blog-share{gap:var(--space-2);flex-wrap:wrap;display:flex}.blog-share-btn{min-height:var(--tap);border:1px solid var(--b-control);border-radius:var(--radius-sm);background:var(--b-surface);padding:0 var(--space-4);font-size:var(--fs-sm);color:var(--b-ink-2);cursor:pointer;align-items:center;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.blog-share-btn:hover{color:var(--b-ink);border-color:var(--b-rust)}.blog-share-btn:focus-visible{outline:2px solid var(--b-focus);outline-offset:2px}.blog-share-note{font-size:var(--fs-sm);color:var(--b-muted);margin:0}.blog-share-note:not(:empty){margin-top:var(--space-2)}.blog-series{margin-top:var(--space-12);border:1px solid var(--b-rule);border-radius:var(--radius-md);background:var(--b-surface);padding:var(--space-5) var(--space-6)}.blog-series-kicker{font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--b-muted);margin:0 0 var(--space-1)}.blog-series-title{font-family:var(--font-serif);font-size:var(--fs-xl);font-weight:var(--fw-bold);margin:0 0 var(--space-3)}.blog-series-list{padding-left:var(--space-5);font-size:var(--fs-md);margin:0}.blog-series-item{margin:var(--space-2) 0}.blog-series-link{color:inherit;border-bottom:1px solid var(--b-rule);text-decoration:none;transition:color .15s,border-color .15s}.blog-series-link:hover{color:var(--b-rust);border-color:var(--b-rust)}.blog-series-current{font-weight:var(--fw-semibold);color:var(--b-muted)}.blog-related{margin-top:var(--space-12)}.blog-related-title{font-family:var(--font-serif);font-size:var(--fs-xl);font-weight:var(--fw-bold);margin:0 0 var(--space-4)}.blog-related-list{margin:0;padding:0;list-style:none}.blog-related-link{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--b-rule);color:inherit;text-decoration:none;display:flex}.blog-related-link:hover .blog-related-name{color:var(--b-rust)}.blog-related-name{font-weight:var(--fw-medium);transition:color .15s}.blog-related-meta{font-size:var(--fs-sm);color:var(--b-muted);white-space:nowrap}.blog-cta{margin-top:var(--space-12);border:1px solid var(--b-rule);border-radius:var(--radius-md);background:var(--b-accent-soft);padding:var(--space-5) var(--space-6)}.blog-cta-lead{font-family:var(--font-serif);font-size:var(--fs-xl);font-weight:var(--fw-bold);margin:0 0 var(--space-3)}.blog-cta-actions{align-items:center;gap:var(--space-4);flex-wrap:wrap;margin:0;display:flex}.blog-cta-btn{min-height:var(--tap);background:var(--b-rust);color:var(--color-accent-ink);border-radius:var(--radius-button);padding:0 var(--space-5);font-size:var(--fs-sm);font-weight:var(--fw-semibold);align-items:center;text-decoration:none;transition:background .15s;display:inline-flex}.blog-cta-btn:hover{background:var(--b-rust-deep)}.blog-cta-btn:focus-visible,.blog-cta-link:focus-visible{outline:2px solid var(--b-focus);outline-offset:2px}.blog-cta-link{min-height:var(--tap);color:var(--b-ink);font-weight:var(--fw-medium);align-items:center;display:inline-flex}.blog-progress{inset-inline:0;z-index:60;background:0 0;height:3px;position:fixed;top:0}.blog-progress-bar{background:var(--b-rust);height:100%;transition:width .15s ease-out}.blog-archive-kicker{font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--b-rust-deep);margin:0 0 var(--space-2)}.blog-loadmore{margin-top:var(--space-8);justify-content:center;display:flex}.blog-loadmore-btn{border:1px solid var(--b-control);background:var(--b-surface);color:var(--b-ink);border-radius:var(--radius-sm);min-height:var(--tap);padding:0 var(--space-5);font-size:var(--fs-md);cursor:pointer;transition:border-color .15s,color .15s}.blog-loadmore-btn:hover{border-color:var(--b-rust);color:var(--b-rust)}.blog-loadmore-btn:focus-visible{outline:2px solid var(--b-focus);outline-offset:2px}@media (max-width:600px){.blog-wrap{padding-top:var(--space-10)}.blog-field{flex:100%}.blog-search,.blog-tagfilter{width:100%;min-width:0}}.blog-card-link:focus-visible{outline:none}.blog-card:has(.blog-card-link:focus-visible){outline:3px solid var(--b-focus);outline-offset:2px}.blog-result-status{margin:calc(var(--space-3) * -1) 0 var(--space-6);color:var(--b-muted);font-size:var(--fs-sm)}.blog-card-img{flex-shrink:0}.blog-article{min-width:0}.blog-title,.blog-post-title,.blog-body{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){.blog *,.blog :before,.blog :after{scroll-behavior:auto!important;transition:none!important}.blog-card:hover{transform:none}}