.sidebar-toc[data-astro-cid-h3qdvyhq]{position:sticky;top:80px;font-family:var(--mono);font-size:11px}.toc-label[data-astro-cid-h3qdvyhq]{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted);font-size:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:baseline}.toc-progress-text[data-astro-cid-h3qdvyhq]{color:var(--acid)}.toc-list[data-astro-cid-h3qdvyhq]{list-style:none;margin:0;padding:0}.toc-list[data-astro-cid-h3qdvyhq] li[data-astro-cid-h3qdvyhq]{margin:0}.toc-list[data-astro-cid-h3qdvyhq] a[data-astro-cid-h3qdvyhq]{display:flex;align-items:baseline;gap:8px;padding:7px 0;color:var(--ink-muted);border-bottom:1px solid var(--border);transition:color .15s;font-size:11px;letter-spacing:.03em;line-height:1.35}.toc-list[data-astro-cid-h3qdvyhq] a[data-astro-cid-h3qdvyhq]:hover{color:var(--ink)}.toc-list[data-astro-cid-h3qdvyhq] a[data-astro-cid-h3qdvyhq].toc-active{color:var(--acid)}.toc-list[data-astro-cid-h3qdvyhq] a[data-astro-cid-h3qdvyhq] .toc-num[data-astro-cid-h3qdvyhq]{color:var(--ink-faint);font-size:10px;flex-shrink:0;letter-spacing:.05em}.toc-list[data-astro-cid-h3qdvyhq] a[data-astro-cid-h3qdvyhq].toc-active .toc-num[data-astro-cid-h3qdvyhq]{color:var(--acid-dim)}.toc-list[data-astro-cid-h3qdvyhq] .toc-sub[data-astro-cid-h3qdvyhq] a[data-astro-cid-h3qdvyhq]{padding-left:16px;font-size:10.5px;color:var(--ink-faint)}.toc-list[data-astro-cid-h3qdvyhq] .toc-sub[data-astro-cid-h3qdvyhq] a[data-astro-cid-h3qdvyhq]:hover{color:var(--ink-muted)}.toc-list[data-astro-cid-h3qdvyhq] .toc-sub[data-astro-cid-h3qdvyhq] a[data-astro-cid-h3qdvyhq].toc-active{color:var(--acid)}@media(max-width:1100px){.sidebar-toc[data-astro-cid-h3qdvyhq]{display:none}}.blog-prose .blog-lede{font-family:var(--serif);font-size:clamp(18px,2vw,22px);line-height:1.55;color:var(--ink-dim);font-weight:350;font-variation-settings:"opsz" 36,"SOFT" 30;font-style:italic;margin-bottom:36px}.blog-prose .blog-lede strong{color:var(--ink);font-style:normal;font-weight:500}.blog-prose .tldr-box{background:var(--bg-paper);border:1px solid var(--border-bright);border-left:3px solid var(--acid);padding:24px 28px;margin-bottom:40px}.blog-prose .tldr-label{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--acid);margin-bottom:12px}.blog-prose .tldr-box ul{list-style:none;padding:0;margin:0}.blog-prose .tldr-box ul li{font-family:var(--sans);font-size:14px;color:var(--ink-dim);line-height:1.6;padding:4px 0;display:flex;align-items:baseline;gap:8px}.blog-prose .tldr-box ul li:before{content:"--";font-family:var(--mono);font-size:11px;color:var(--acid-dim);flex-shrink:0}.blog-prose p{font-family:var(--sans);font-size:16px;line-height:1.75;color:var(--ink-dim);margin-bottom:24px}.blog-prose p strong{color:var(--ink)}.blog-prose p a{color:var(--ink);border-bottom:1px solid var(--border-bright);transition:border-color .15s}.blog-prose p a:hover{border-color:var(--acid)}.blog-prose h2{font-family:var(--serif);font-size:clamp(24px,3vw,34px);font-weight:400;line-height:1.1;letter-spacing:-.02em;color:var(--ink);font-variation-settings:"opsz" 60,"SOFT" 30;margin:52px 0 20px;padding-top:8px;border-top:2px solid var(--border);scroll-margin-top:100px}.blog-prose h2 em{font-style:italic;color:var(--ink-dim);font-variation-settings:"opsz" 60,"SOFT" 60,"WONK" 1}.blog-prose h3{font-family:var(--mono);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink);margin:36px 0 12px;scroll-margin-top:100px}.blog-prose blockquote,.blog-prose .pullquote{margin:40px 0;padding:0 0 0 28px;border-left:3px solid var(--hot)}.blog-prose blockquote p,.blog-prose .pullquote p,.blog-prose .pullquote blockquote{font-family:var(--mono);font-size:16px;line-height:1.6;color:var(--ink);font-style:normal;font-weight:400;margin-bottom:0}.blog-prose blockquote cite,.blog-prose .pullquote cite{display:block;margin-top:12px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);font-style:normal}.blog-prose code{font-family:var(--mono);font-size:.92em;background:var(--bg-paper);border:1px solid var(--border);padding:1px 6px;color:var(--ink)}.blog-prose pre{margin:32px 0;background:var(--bg-paper);border:1px solid var(--border);padding:20px;overflow-x:auto;font-family:var(--mono);font-size:13px;line-height:1.65;color:var(--ink-dim)}.blog-prose pre code{background:transparent;border:0;padding:0;font-size:inherit;color:inherit}.blog-prose hr{border:none;border-top:1px solid var(--border);margin:48px 0}.blog-prose ul,.blog-prose ol{margin:20px 0 24px;padding-left:0;list-style:none}.blog-prose ul li,.blog-prose ol li{padding:5px 0 5px 24px;position:relative;font-family:var(--sans);font-size:16px;line-height:1.65;color:var(--ink-dim)}.blog-prose ul li:before{content:"--";position:absolute;left:0;font-family:var(--mono);font-size:11px;color:var(--acid-dim)}.blog-prose ol{counter-reset:item}.blog-prose ol li:before{counter-increment:item;content:counter(item,decimal-leading-zero) ".";position:absolute;left:0;font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--acid-dim)}.blog-prose li strong{color:var(--ink)}.blog-prose li a{color:var(--ink);border-bottom:1px solid var(--border-bright);transition:border-color .15s}.blog-prose li a:hover{border-color:var(--acid)}.blog-prose .tldr-box ul li{padding-left:0}.blog-prose .tldr-box ul li:before{position:static}.blog-prose table{width:100%;border-collapse:collapse;margin:32px 0;font-family:var(--mono);font-size:13.5px;font-variant-numeric:tabular-nums}.blog-prose thead tr{border-bottom:2px solid var(--border-bright)}.blog-prose th{padding:11px 16px;text-align:left;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted);white-space:nowrap}.blog-prose td{padding:11px 16px;text-align:left;border-bottom:1px solid var(--border);line-height:1.5;color:var(--ink-dim)}.blog-prose tbody tr:last-child td{border-bottom:none}.blog-prose tbody tr:hover td{background:var(--bg-paper)}.blog-prose tbody td:first-child{color:var(--ink)}.blog-prose th strong,.blog-prose td strong{color:var(--ink);font-weight:700}@media(max-width:640px){.blog-prose table{display:block;overflow-x:auto;white-space:nowrap}}
