.prose{--gutter:16px;grid-template-columns:[full-start] minmax(var(--gutter), 1fr) [wide-start] minmax(0, calc((var(--wide-width) - var(--text-width)) / 2)) [text-start] min(var(--text-width), 100% - 2 * var(--gutter)) [text-end] minmax(0, calc((var(--wide-width) - var(--text-width)) / 2)) [wide-end] minmax(var(--gutter), 1fr) [full-end];font-family:var(--serif);counter-reset:figure table;row-gap:1.25rem;font-size:1.125rem;line-height:1.7;display:grid}.prose>*{grid-column:text;min-width:0;margin:0}.prose>[data-width=wide]{grid-column:wide}.prose>[data-width=full]{grid-column:full}.prose h2,.prose h3,.prose h4{font-family:var(--sans);letter-spacing:-.005em;font-weight:600}.prose h2{font-size:var(--step-2);margin-top:1.5rem}.prose h3{font-size:var(--step-1);margin-top:.75rem}.prose h4{font-size:var(--step-0)}.prose :is(h2,h3,h4) a{color:inherit;text-decoration:none}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.3em}.prose li::marker{color:var(--muted)}.prose hr{background:var(--line);border:0;height:1px;margin-block:1rem}.prose strong{font-weight:600}.prose :not(pre)>code{background:var(--code-bg);border:1px solid var(--line);border-radius:4px;padding:.08em .35em;font-size:.86em}.prose kbd{border:1px solid var(--line);background:var(--surface);border-bottom-width:2px;border-radius:4px;padding:.05em .4em;font-size:.8em}.prose pre{border-radius:var(--radius);border:1px solid var(--line);tab-size:2;padding:1rem 1.1rem;font-size:.84rem;line-height:1.6;overflow-x:auto;background:var(--code-bg)!important}.prose blockquote{border-left:3px solid var(--accent-line);color:var(--muted);padding-left:1.1rem;font-style:italic}.prose blockquote>*+*{margin-top:.8em}.prose table{border-collapse:collapse;width:100%;font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:.92rem;line-height:1.45}.prose>table{display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.55rem .8rem}.prose th{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);border-bottom-color:var(--ink);font-size:.8rem;font-weight:600}.prose tr:last-child td{border-bottom:0}.prose .footnotes{font-family:var(--sans);border-top:1px solid var(--line);color:var(--muted);margin-top:1.5rem;padding-top:1.25rem;font-size:.9rem;line-height:1.5}.prose .footnotes:before{content:"References";font-family:var(--mono);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem;display:block}.prose .footnotes ol{margin:0;padding-left:1.6em}.prose .footnotes li::marker{font-family:var(--mono)}.prose .footnotes p{margin:0}.prose [data-footnote-ref]{font-family:var(--mono);padding-inline:.1em;font-size:.75em;text-decoration:none}.prose [data-footnote-ref]:before{content:"["}.prose [data-footnote-ref]:after{content:"]"}.prose [data-footnote-backref]{margin-left:.25em;text-decoration:none}.caption{font-family:var(--sans);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;margin-top:.6rem;font-size:.86rem;line-height:1.5;display:flex}.caption-label{color:var(--ink);margin-right:.35em;font-weight:600}.caption-credit{font-size:.8rem}.credits[data-astro-cid-3qjyrzcq]{border-top:1px solid var(--line);font-family:var(--sans);padding-top:1.25rem}.credits[data-astro-cid-3qjyrzcq] h2[data-astro-cid-3qjyrzcq]{font-family:var(--mono);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .9rem;font-weight:400}dl[data-astro-cid-3qjyrzcq]{gap:.5rem;margin:0;display:grid}.row[data-astro-cid-3qjyrzcq]{grid-template-columns:9rem 1fr;align-items:baseline;gap:1rem;display:grid}dt[data-astro-cid-3qjyrzcq]{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.75rem}dd[data-astro-cid-3qjyrzcq]{margin:0;font-size:1rem}a[data-astro-cid-3qjyrzcq]{color:var(--ink);text-decoration-color:var(--line)}a[data-astro-cid-3qjyrzcq]:hover{color:var(--accent);text-decoration-color:currentColor}@media (width<=480px){.row[data-astro-cid-3qjyrzcq]{grid-template-columns:1fr;gap:.1rem}}.post-head[data-astro-cid-g5songws]{max-width:calc(var(--text-width) + 32px);flex-direction:column;gap:1rem;padding-block:3.5rem 2.5rem;display:flex}.meta[data-astro-cid-g5songws]{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;gap:.25rem 1.1rem;margin:0;font-size:.8rem;display:flex}.draft[data-astro-cid-g5songws]{color:var(--accent)}.draft-banner[data-astro-cid-g5songws]{background:color-mix(in oklab, #d9822b 14%, var(--surface));border-bottom:1px solid color-mix(in oklab, #d9822b 40%, var(--line));padding-block:.7rem;font-size:.9rem;line-height:1.5}.draft-banner[data-astro-cid-g5songws] a[data-astro-cid-g5songws]{white-space:nowrap}h1[data-astro-cid-g5songws]{font-size:var(--step-4);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.1}.dek[data-astro-cid-g5songws]{font-family:var(--serif);color:var(--muted);margin:0 0 .5rem;font-size:1.2rem;line-height:1.55}.updated[data-astro-cid-g5songws]{color:var(--muted);margin:0;font-size:.82rem}.cover[data-astro-cid-g5songws] img{border-radius:var(--radius);width:100%;height:auto;display:block}.prose[data-astro-cid-g5songws] .credits{margin-top:2.5rem}.figure[data-astro-cid-yaeuvbls]{counter-increment:figure}.figure[data-astro-cid-yaeuvbls] img{border-radius:var(--radius);background:var(--code-bg);width:100%;height:auto;display:block}.figure[data-astro-cid-yaeuvbls][data-width=full] img{border-radius:0}.figure[data-astro-cid-yaeuvbls][data-width=full] .caption[data-astro-cid-yaeuvbls]{max-width:calc(var(--text-width) + 32px);margin-inline:auto;padding-inline:16px}.n[data-astro-cid-yaeuvbls]:after{content:counter(figure) "."}.table[data-astro-cid-qmqu3zaw]{counter-increment:table}.scroll[data-astro-cid-qmqu3zaw]{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:auto}.n[data-astro-cid-qmqu3zaw]:after{content:counter(table) "."}.terminal[data-astro-cid-vhz6e7rw]{border-radius:var(--radius);background:var(--term-bg);border:1px solid color-mix(in oklab, var(--term-bg) 80%, #fff);overflow:hidden}.bar[data-astro-cid-vhz6e7rw]{font-family:var(--mono);color:#8b919e;border-bottom:1px solid #ffffff14;align-items:center;gap:.75rem;padding:.5rem .8rem;font-size:.75rem;display:flex}.dots[data-astro-cid-vhz6e7rw]{gap:6px;display:flex}.dots[data-astro-cid-vhz6e7rw] i[data-astro-cid-vhz6e7rw]{background:#3a3f4b;border-radius:50%;width:9px;height:9px}.terminal[data-astro-cid-vhz6e7rw] pre{border:0;border-radius:0;margin:0;background:0 0!important}.terminal[data-astro-cid-vhz6e7rw] pre,.terminal[data-astro-cid-vhz6e7rw] pre span{color:var(--shiki-dark,var(--term-ink))!important}.codeblock[data-astro-cid-nlusqpb7]{border:1px solid var(--line);border-radius:var(--radius);background:var(--code-bg);overflow:hidden}.head[data-astro-cid-nlusqpb7]{border-bottom:1px solid var(--line);font-family:var(--mono);color:var(--muted);background:var(--surface);justify-content:space-between;align-items:baseline;gap:1rem;padding:.45rem 1.1rem;font-size:.78rem;display:flex}.title[data-astro-cid-nlusqpb7]{color:var(--ink)}.head[data-astro-cid-nlusqpb7] a[data-astro-cid-nlusqpb7]{font-family:var(--sans)}.codeblock[data-astro-cid-nlusqpb7] pre{border:0;border-radius:0;margin:0}.details[data-astro-cid-ea6bhtol]{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}summary[data-astro-cid-ea6bhtol]{cursor:pointer;font-family:var(--sans);align-items:baseline;gap:.6rem;padding:.8rem 1rem;font-size:1rem;font-weight:500;list-style:none;display:flex}summary[data-astro-cid-ea6bhtol]::-webkit-details-marker{display:none}summary[data-astro-cid-ea6bhtol]:before{content:"+";font-family:var(--mono);color:var(--accent);flex:none;width:1ch}.details[data-astro-cid-ea6bhtol][open] summary[data-astro-cid-ea6bhtol]:before{content:"−"}.details[data-astro-cid-ea6bhtol][open] summary[data-astro-cid-ea6bhtol]{border-bottom:1px solid var(--line)}.body[data-astro-cid-ea6bhtol]{flex-direction:column;gap:1rem;padding:1rem 1rem 1.1rem 2.3rem;font-size:1rem;display:flex}.body[data-astro-cid-ea6bhtol]>*{margin:0}.q[data-astro-cid-754g36zy] blockquote[data-astro-cid-754g36zy]{color:var(--ink);border:0;margin:0;padding:0;font-style:normal}.q[data-astro-cid-754g36zy] blockquote[data-astro-cid-754g36zy]>*{margin:0}.quote[data-astro-cid-754g36zy]{border-left:3px solid var(--accent);padding-left:1.2rem}.quote[data-astro-cid-754g36zy] blockquote[data-astro-cid-754g36zy]{font-size:1.2rem;line-height:1.55}.pull[data-astro-cid-754g36zy]{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.25rem 0}.pull[data-astro-cid-754g36zy] blockquote[data-astro-cid-754g36zy]{font-family:var(--sans);font-size:var(--step-3);letter-spacing:-.01em;color:var(--accent);text-wrap:balance;font-weight:500;line-height:1.25}figcaption[data-astro-cid-754g36zy]{font-family:var(--sans);color:var(--muted);margin-top:.6rem;font-size:.88rem}figcaption[data-astro-cid-754g36zy]:before{content:"— "}.note[data-astro-cid-vcq7lgf7]{--tone:var(--accent);background:color-mix(in oklab, var(--tone) 8%, var(--surface));border:1px solid color-mix(in oklab, var(--tone) 30%, var(--line));border-radius:var(--radius);font-family:var(--sans);flex-direction:column;gap:.5rem;padding:.9rem 1.1rem;font-size:.97rem;line-height:1.6;display:flex}.tip[data-astro-cid-vcq7lgf7]{--tone:#2f9e5a}.warning[data-astro-cid-vcq7lgf7]{--tone:#d9822b}.note[data-astro-cid-vcq7lgf7]>*{margin:0}.label[data-astro-cid-vcq7lgf7]{font-family:var(--mono);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in oklab, var(--tone) 75%, var(--ink))}.signed[data-astro-cid-fa2t2bvw]{border-left:2px solid var(--author);flex-direction:column;gap:.6rem;padding-left:1.2rem;display:flex}.body[data-astro-cid-fa2t2bvw]{flex-direction:column;gap:1.25rem;display:flex}.body[data-astro-cid-fa2t2bvw]>*{margin:0}.sig[data-astro-cid-fa2t2bvw]{font-family:var(--sans);color:var(--muted);align-items:center;gap:.5rem;margin:0;font-size:.85rem;display:inline-flex}.mark[data-astro-cid-fa2t2bvw]{background:var(--author);color:#fff;width:20px;height:20px;font-family:var(--mono);border-radius:50%;place-items:center;font-size:.6rem;display:grid}.snippet[data-astro-cid-uyt6sc7s] pre code{counter-reset:none}.snippet[data-astro-cid-uyt6sc7s] .line:before{content:attr(data-line);text-align:right;width:3ch;color:var(--muted);opacity:.6;user-select:none;margin-right:1.25ch;display:inline-block}
