.prose{--prose-size:clamp(1.125rem, 1.06rem + .3vw, 1.3125rem);--flow:1.5em;grid-template-columns:[full-start] minmax(var(--gutter), 1fr) [wide-start] minmax(0, 7rem) [content-start] min(var(--measure), 100% - 2 * var(--gutter)) [content-end] minmax(0, 7rem) [wide-end] minmax(var(--gutter), 1fr) [full-end];font-family:var(--font-serif);font-size:var(--prose-size);font-optical-sizing:auto;font-weight:400;line-height:var(--leading-prose);color:#d9e1ec;hanging-punctuation:first;display:grid}.prose>*{margin-top:var(--flow);grid-column:content}.prose>:first-child{margin-top:0}.prose>p:first-child{color:var(--text);font-size:1.12em;line-height:1.6}.prose h2,.prose h3,.prose h4{font-family:var(--font-display);color:var(--text);scroll-margin-top:calc(var(--header-height) + 2rem);position:relative}.prose h2{letter-spacing:var(--tracking-tight);margin-top:2.6em;font-size:1.6em;line-height:1.15}.prose h3{letter-spacing:-.02em;margin-top:2.1em;font-size:1.22em;line-height:1.25}.prose h4{font-family:var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--teal);margin-top:1.9em;font-size:.72em;font-weight:500}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.75em}.prose .heading-anchor{color:var(--text-faint);opacity:0;transition:opacity var(--duration-normal) linear, color var(--duration-fast) linear;margin-left:.35em;text-decoration:none}.prose .heading-anchor:before{content:"#";font-family:var(--font-mono);font-weight:400}.prose :is(h2,h3,h4):hover .heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}.prose .heading-anchor:hover{color:var(--accent)}@media (hover:none){.prose .heading-anchor{opacity:.6}}.prose a{color:var(--accent);transition:text-decoration-color var(--duration-fast) linear;text-decoration-color:#8cc8ff66}.prose a:hover{text-decoration-color:currentColor}.prose strong{color:var(--text);font-weight:650}.prose em{font-style:italic}.prose hr{text-align:center;border:0;grid-column:content;height:auto;margin-block:3em}.prose hr:before{content:"· · ·";font-family:var(--font-mono);letter-spacing:.6em;color:var(--text-faint)}.prose ul,.prose ol{padding-left:1.4em}.prose li+li,.prose li>ul,.prose li>ol{margin-top:.45em}.prose ul>li::marker{color:var(--teal)}.prose ol>li::marker{font-family:var(--font-mono);color:var(--teal);font-size:.8em}.prose li>p+p{margin-top:.75em}.prose li:has(>input[type=checkbox]){margin-left:-1.4em;list-style:none}.prose input[type=checkbox]{accent-color:var(--teal);margin-right:.5em}.prose blockquote{border-left:2px solid var(--teal);color:var(--text);grid-column:content;padding-left:1.5em;font-size:1.15em;font-style:italic;line-height:1.55;position:relative}.prose blockquote p+p{margin-top:.75em}.prose math{font-family:var(--font-serif), math}.prose math[display=block]{grid-column:wide;padding-block:.25em;overflow:auto hidden}.prose code{font-family:var(--font-mono);font-size:.8em}.prose :not(pre)>code{border:1px solid var(--line);border-radius:var(--radius-xs);color:#dbeaff;overflow-wrap:break-word;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#8cc8ff0f;padding:.05em .35em}.prose pre,.prose .code-block{grid-column:wide}.prose .code-block{position:relative}.prose .code-block>pre{margin:0}.prose pre{--astro-code-foreground:#d6e2f0;--astro-code-background:#060d18;--astro-code-token-comment:#6f8197;--astro-code-token-keyword:#8cc8ff;--astro-code-token-string:#8fe3cf;--astro-code-token-string-expression:#8fe3cf;--astro-code-token-constant:#ffb38a;--astro-code-token-function:#c7d7ff;--astro-code-token-parameter:#e8eef6;--astro-code-token-punctuation:#8a9bb0;--astro-code-token-link:#8cc8ff;border:1px solid var(--line);border-radius:var(--radius-m);tab-size:4;padding:1.4rem 1.5rem;font-size:.82rem;line-height:1.7;position:relative;overflow-x:auto;box-shadow:inset 0 1px #ffffff0a;background:var(--astro-code-background)!important}.prose pre code{font-size:inherit}.prose pre[data-language]:before{content:attr(data-language);width:fit-content;font-family:var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint);margin-bottom:.9rem;font-size:.6875rem;display:block;position:sticky;left:0}.prose pre[data-language=plaintext]:before,.prose pre[data-language=text]:before{content:none}.copy-button{border:1px solid var(--line-strong);border-radius:var(--radius-s);font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);opacity:0;transition:opacity var(--duration-normal) linear, color var(--duration-fast) linear;background:#050b15d9;padding:.3rem .65rem;font-size:.6875rem;position:absolute;top:.75rem;right:.75rem}.code-block:hover .copy-button,.copy-button:focus-visible{opacity:1}.copy-button:hover{color:var(--text)}@media (hover:none){.copy-button{opacity:1}}.prose .table-wrap{border-top:1px solid var(--line-strong);grid-column:wide;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-family:var(--font-body);font-variant-numeric:tabular-nums;font-size:.82em;line-height:1.5}.prose th{font-family:var(--font-mono);letter-spacing:.08em;text-align:left;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--line-strong);white-space:nowrap;padding:.85rem 1rem .65rem 0;font-size:.85em;font-weight:500}.prose td{border-bottom:1px solid var(--line);vertical-align:top;color:var(--text-muted);padding:.75rem 1rem .75rem 0}.prose td:first-child{color:var(--text)}.prose img{border-radius:var(--radius-m)}.prose>p:has(>img:only-child){grid-column:wide}.prose figure{grid-column:content}.prose figure.figure--wide{grid-column:wide}.prose figure.figure--full{grid-column:full}.prose figure.figure--full img{border-radius:0}.prose figcaption{font-family:var(--font-body);font-size:var(--step--1);color:var(--text-faint);margin-top:.85rem;line-height:1.5}.prose figure.figure--full figcaption{padding-inline:var(--gutter);max-width:calc(var(--measure) + 2 * var(--gutter));margin-inline:auto}.prose .footnotes,.prose section[data-footnotes]{border-top:1px solid var(--line);color:var(--text-muted);margin-top:3.5em;padding-top:1.5em;font-size:.85em}.prose sup a{font-family:var(--font-mono);font-size:.75em;text-decoration:none}.prose kbd{font-size:.72em}
