.col[data-astro-cid-jvxsf75u]{max-width:700px;margin:0 auto;padding:0 24px}.comments[data-astro-cid-jvxsf75u]{border-top:1px solid var(--line);margin-top:8px;padding:48px 24px 16px}.comments[data-astro-cid-jvxsf75u] h2[data-astro-cid-jvxsf75u]{letter-spacing:-.015em;margin-bottom:10px;font-size:20px;font-weight:700}.comments[data-astro-cid-jvxsf75u] .hint[data-astro-cid-jvxsf75u]{color:var(--dim);background:var(--brand-soft);border-left:2px solid var(--brand);border-radius:10px;margin-bottom:24px;padding:12px 16px;font-size:13px;line-height:1.65}.comments[data-astro-cid-jvxsf75u] .hint[data-astro-cid-jvxsf75u] a[data-astro-cid-jvxsf75u]{color:var(--brand);text-decoration:none}.comments[data-astro-cid-jvxsf75u] .hint[data-astro-cid-jvxsf75u] a[data-astro-cid-jvxsf75u]:hover{text-decoration:underline}.giscus-wrap[data-astro-cid-jvxsf75u]{margin-top:8px}.giscus-wrap[data-astro-cid-jvxsf75u] .giscus,.giscus-wrap[data-astro-cid-jvxsf75u] .giscus-frame{width:100%}.giscus-wrap[data-astro-cid-jvxsf75u] .giscus-frame{border:none}.col{max-width:700px;margin:0 auto;padding:0 24px}.reference-grid{grid-template-columns:220px 1fr;align-items:start;gap:48px;max-width:1080px;margin:0 auto;padding:0 24px;display:grid}.reference-grid .body{max-width:760px}.reference-grid .author-bio,.reference-grid .related-posts{grid-column:1/-1;max-width:760px}.toc{max-height:calc(100vh - 100px);font-size:13px;line-height:1.5;position:sticky;top:80px;overflow-y:auto}.toc .toc-label{letter-spacing:.15em;text-transform:uppercase;color:var(--brand);margin-bottom:12px;font-size:11px;font-weight:600}.toc ol{border-left:1px solid var(--line);margin:0;padding:0;list-style:none}.toc li{margin:0}.toc a{color:var(--dim);border-left:2px solid #0000;margin-left:-1px;padding:4px 0 4px 14px;text-decoration:none;transition:color .15s,border-color .15s;display:block}.toc a:hover{color:var(--ink);border-left-color:var(--brand);text-decoration:none}.toc .toc-3 a{padding-left:28px;font-size:12px}.meta-row .last-verified{color:var(--brand);font-weight:500}@media (width<=900px){.reference-grid{grid-template-columns:1fr;gap:24px}.toc{border-bottom:1px solid var(--line);max-height:none;padding:12px 0;position:static}}.article-head{padding:72px 0 32px}.crumbs{color:var(--dim);margin-bottom:24px;font-size:12px}.crumbs a{color:var(--dim);text-decoration:none}.crumbs a:hover{color:var(--ink)}.crumbs .sep{color:var(--faint);margin:0 8px}.article-head .kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--brand);margin-bottom:16px;font-size:11px;font-weight:600}.article-head h1{letter-spacing:-.025em;margin-bottom:16px;font-size:clamp(34px,4.5vw,46px);font-weight:700;line-height:1.15}.article-head .lede{color:var(--dim);margin-bottom:28px;font-size:18px;line-height:1.6}.article-head .meta-row{color:var(--dim);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding-top:20px;font-size:13px;display:flex}.article-head .meta-row .author{align-items:center;gap:10px;display:flex}.article-head .meta-row .avatar{object-fit:contain;vertical-align:middle;width:20px;height:20px;display:inline-block}.article-head .meta-row .author strong{color:var(--ink);font-weight:500}.article-head .meta-row .sep{color:var(--faint)}article.body{padding-bottom:64px;font-size:17px;line-height:1.75}article.body .tldr{background:var(--surface);border-left:3px solid var(--brand);border-radius:0 8px 8px 0;margin:0 0 32px;padding:20px 22px 18px}article.body .tldr .tldr-label{letter-spacing:.18em;text-transform:uppercase;color:var(--brand);margin-bottom:8px;font-size:11px;font-weight:600}article.body .tldr p{color:var(--ink);margin:0;font-size:15.5px;line-height:1.7}article.body .tldr+*{margin-top:0}article.body>*+*{margin-top:20px}article.body p{color:var(--ink)}article.body h2{letter-spacing:-.015em;margin-top:48px;margin-bottom:4px;font-size:24px;font-weight:700;line-height:1.3}article.body h3{margin-top:32px;margin-bottom:4px;font-size:18px;font-weight:600;line-height:1.4}article.body h4{margin-top:24px;font-size:16px;font-weight:600;line-height:1.45}article.body ul,article.body ol{padding-left:24px}article.body li{margin-top:6px}article.body strong{font-weight:600}article.body em{font-style:italic}article.body a{color:var(--brand);text-decoration:none}article.body a:hover{text-decoration:underline}article.body img{cursor:zoom-in;border-radius:10px;transition:opacity .15s}article.body img:hover{opacity:.92}.img-lightbox{z-index:1000;cursor:zoom-out;opacity:0;background:0 0;justify-content:center;align-items:center;padding:40px;transition:opacity .2s,background .2s;display:flex;position:fixed;inset:0}.img-lightbox.open{opacity:1;background:#000000e0}.img-lightbox img{border-radius:6px;max-width:100%;max-height:100%;box-shadow:0 20px 60px #0006}article.body blockquote{border-left:2px solid var(--ink);color:var(--dim);margin-left:0;padding-left:20px;font-style:italic}article.body blockquote p{margin-top:0}article.body code{background:var(--code-bg);font-family:var(--font-mono);color:var(--ink);border-radius:4px;padding:1px 6px;font-size:14px}article.body pre{background:var(--ink);color:#e4e6ed;font-family:var(--font-mono);border-radius:10px;padding:20px 24px;font-size:14px;line-height:1.6;overflow-x:auto}article.body pre code{color:inherit;font-size:inherit;background:0 0;padding:0}article.body hr{border:none;border-top:1px solid var(--line);margin-top:40px;margin-bottom:40px}article.body table{border-collapse:collapse;width:100%;margin:16px 0;font-size:14px}article.body th,article.body td{border:1px solid var(--line);text-align:left;padding:8px 12px}article.body th{background:var(--code-bg);font-weight:600}.related-posts{border-top:1px solid var(--line);margin:48px 0 8px;padding-top:32px}.related-posts h2{color:var(--ink);letter-spacing:-.01em;margin-bottom:16px;font-size:18px;font-weight:600}.related-posts ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.related-posts li a{border-radius:var(--radius);border:1px solid var(--line);padding:14px 16px;text-decoration:none;transition:border-color .15s,background .15s;display:block}.related-posts li a:hover{border-color:var(--ink);background:var(--surface);text-decoration:none}.related-posts .r-title{color:var(--ink);margin-bottom:4px;font-size:15px;font-weight:600;display:block}.related-posts .r-desc{color:var(--dim);margin-bottom:6px;font-size:13px;line-height:1.55;display:block}.related-posts .r-meta{color:var(--faint);font-size:11px;font-family:var(--font-mono);letter-spacing:.03em;display:block}.author-bio{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:auto 1fr;align-items:start;gap:18px;margin:40px 0 32px;padding:28px 24px;display:grid}.author-bio .bio-avatar{object-fit:contain;width:48px;height:48px;display:inline-block}.author-bio .bio-name{color:var(--ink);margin:0 0 6px;font-size:15px}.author-bio .bio-name .bio-alt{color:var(--dim);font-weight:400}.author-bio .bio-desc{color:var(--dim);margin:0 0 10px;font-size:14px;line-height:1.65}.author-bio .bio-links{color:var(--dim);margin:0;font-size:13px}.author-bio .bio-links a{color:var(--brand);text-decoration:none}.author-bio .bio-links a:hover{text-decoration:underline}.author-bio .bio-links .sep{color:var(--faint);margin:0 8px}@media (width<=600px){.author-bio{gap:14px;padding:22px 18px}}
