.toc[data-astro-cid-7k3pnqyz]{max-height:calc(100dvh - var(--header-h) - 64px);overscroll-behavior:contain;scrollbar-width:none;align-self:start;position:sticky;inset-block-start:calc(var(--header-h) + 32px);overflow-y:auto}.toc__title[data-astro-cid-7k3pnqyz]{color:var(--color-text-tertiary);margin-block-end:12px}.toc[data-astro-cid-7k3pnqyz] ol[data-astro-cid-7k3pnqyz]{border-inline-start:1px solid var(--color-line)}.toc__item[data-astro-cid-7k3pnqyz] a[data-astro-cid-7k3pnqyz]{color:var(--color-text-tertiary);border-inline-start:1px solid #0000;margin-inline-start:-1px;padding:6px 0 6px 14px;font-size:.875rem;line-height:1.4;transition-property:color,border-color;transition-duration:.1s;transition-timing-function:ease-out;display:block}.toc__item--3[data-astro-cid-7k3pnqyz] a[data-astro-cid-7k3pnqyz]{padding-inline-start:28px;font-size:.8125rem}.toc__item[data-astro-cid-7k3pnqyz] a[data-astro-cid-7k3pnqyz][aria-current=true]{color:var(--color-text);border-inline-start-color:var(--color-accent)}@media (hover:hover){.toc__item[data-astro-cid-7k3pnqyz] a[data-astro-cid-7k3pnqyz]:hover{color:var(--color-text)}}.toc__top[data-astro-cid-7k3pnqyz]{color:var(--color-text-tertiary);margin-block-start:20px;display:inline-block}.toc-mobile[data-astro-cid-7k3pnqyz]{display:none}@media (width<=960px){.toc[data-astro-cid-7k3pnqyz]{display:none}.toc-mobile[data-astro-cid-7k3pnqyz]{border-block:1px solid var(--color-line-strong);display:block}.toc-mobile[data-astro-cid-7k3pnqyz] summary[data-astro-cid-7k3pnqyz]{cursor:pointer;justify-content:space-between;align-items:center;min-height:52px;list-style:none;display:flex}.toc-mobile[data-astro-cid-7k3pnqyz] summary[data-astro-cid-7k3pnqyz]::-webkit-details-marker{display:none}.toc-mobile[data-astro-cid-7k3pnqyz] summary[data-astro-cid-7k3pnqyz]:after{content:"+";font-family:var(--font-mono);color:var(--color-accent);font-size:1.25rem}.toc-mobile[data-astro-cid-7k3pnqyz][open] summary[data-astro-cid-7k3pnqyz]:after{content:"–"}.toc-mobile__count[data-astro-cid-7k3pnqyz]{color:var(--color-text-tertiary);margin-inline:auto 16px}.toc-mobile[data-astro-cid-7k3pnqyz] ol[data-astro-cid-7k3pnqyz]{padding-block-end:16px}}.heading__anchor[data-astro-cid-ipblqgjw]{font-family:var(--font-mono);color:var(--color-text-tertiary);opacity:0;transition-property:opacity,color;transition-duration:var(--dur-fast);margin-inline-start:.35em;font-weight:400;transition-timing-function:ease-out}.heading__anchor[data-astro-cid-ipblqgjw]:focus-visible{opacity:1}@media (hover:hover){.heading[data-astro-cid-ipblqgjw]:hover .heading__anchor[data-astro-cid-ipblqgjw]{opacity:1}.heading__anchor[data-astro-cid-ipblqgjw]:hover{color:var(--color-accent)}}@media (hover:none){.heading__anchor[data-astro-cid-ipblqgjw]{opacity:.5}}@layer tokens{:root{--astro-code-foreground:var(--ink-100);--astro-code-background:var(--ink-990);--astro-code-token-constant:#8fd3ff;--astro-code-token-string:#c8f07a;--astro-code-token-comment:var(--ink-500);--astro-code-token-keyword:#ff9d7a;--astro-code-token-parameter:#f2d58a;--astro-code-token-function:var(--lime-400);--astro-code-token-string-expression:#c8f07a;--astro-code-token-punctuation:var(--ink-300);--astro-code-token-link:var(--lime-400);--astro-code-token-inserted:#9be37a;--astro-code-token-deleted:#ff8a8a;--prose-measure:68ch}}@layer components{.prose{color:var(--ink-100);font-size:1.125rem;line-height:1.7}.prose>*+*{margin-block-start:1.25em}.prose>:is(h2,h3){scroll-margin-top:calc(var(--header-h) + 24px)}.prose>h2{font-size:var(--text-h3);letter-spacing:-.025em;color:var(--color-text);margin-block-start:2.6em;font-size:clamp(1.625rem,1.3rem + .9vw,2.125rem);font-weight:450;line-height:1.2}.prose>h3{letter-spacing:-.015em;color:var(--color-text);margin-block-start:2em;font-size:1.3125rem;font-weight:500;line-height:1.3}.prose>h2+*,.prose>h3+*{margin-block-start:.75em}.prose p,.prose li{max-width:var(--prose-measure)}.prose strong{color:var(--color-text);font-weight:600}.prose a:not([class]){color:var(--color-text);text-decoration-line:underline;text-decoration-color:var(--color-accent);text-underline-offset:.22em;transition:text-decoration-color var(--dur-fast) ease-out;text-decoration-thickness:from-font}@media (hover:hover){.prose a:not([class]):hover{text-decoration-color:currentColor}}.prose :is(ul,ol):not([role=list]){padding-inline-start:1.5em}.prose li+li{margin-block-start:.5em}.prose ul:not([role=list])>li::marker{content:"■  ";color:var(--color-accent);font-size:.6em}.prose ol:not([role=list])>li::marker{font-family:var(--font-mono);color:var(--color-accent);font-size:.85em}.prose :not(pre)>code{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-line);overflow-wrap:anywhere;padding:.1em .35em;font-size:.86em}.prose kbd{text-align:center;min-width:1.6em;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-line-strong);border-block-end-width:2px;padding:.05em .4em;font-size:.8em;line-height:1.5;display:inline-block}.prose blockquote{max-width:var(--prose-measure);border-inline-start:2px solid var(--color-accent);color:var(--color-text-secondary);padding-inline-start:1.25em;font-style:normal}.prose hr{background:var(--color-line-strong);border:0;height:1px;margin-block:3em}.prose .table-wrap{overscroll-behavior-x:contain;overflow-x:auto}.prose table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9375rem;line-height:1.45}.prose>table{display:block;overflow-x:auto}.prose thead th{font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);text-align:start;border-block-end:1px solid var(--color-line-strong);font-weight:450}.prose :is(th,td){vertical-align:top;padding:12px 16px 12px 0}.prose td{border-block-end:1px solid var(--color-line);color:var(--color-text-secondary)}.prose td:first-child{color:var(--color-text)}.prose .footnotes{border-block-start:1px solid var(--color-line-strong);color:var(--color-text-tertiary);margin-block-start:4em;padding-block-start:1.5em;font-size:.9375rem}.prose .footnotes h2{font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;margin-block-end:1em;font-weight:450}.prose sup a{font-family:var(--font-mono);color:var(--color-accent);padding-inline:1px;font-size:.75em;text-decoration:none}.prose [data-footnote-backref]{color:var(--color-accent);text-decoration:none}.prose figure.code{background:var(--astro-code-background);border:1px solid var(--color-line-strong);max-width:none;margin-inline:0}.code__head{align-items:center;gap:var(--space-4);border-block-end:1px solid var(--color-line);min-height:44px;font-family:var(--font-mono);padding-inline:16px 6px;font-size:.8125rem;line-height:1.3;display:flex}.code__title{min-width:0;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:10px;display:inline-flex;overflow:hidden}.code__title:before{content:"";background:var(--color-accent);flex:none;width:7px;height:7px}.code__lang{font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);margin-inline-start:auto}.code__copy{min-height:32px;font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary);transition-property:color,border-color,scale;transition-duration:var(--dur-fast);border:1px solid #0000;padding-inline:10px;transition-timing-function:ease-out}.code__lang:empty+.code__copy{margin-inline-start:auto}.code__copy:active{scale:.96}.code__copy[data-copied]{color:var(--color-accent)}@media (hover:hover){.code__copy:hover{color:var(--color-text);border-color:var(--color-line-strong)}}.prose pre{overscroll-behavior-x:contain;tab-size:2;scrollbar-width:thin;scrollbar-color:var(--ink-600) transparent;margin:0;padding-block:18px;font-size:.875rem;line-height:1.7;overflow-x:auto}.prose pre code{font-variant-ligatures:none;min-width:max-content;display:grid}.prose pre .line{border-inline-start:2px solid #0000;min-height:1lh;padding-inline:20px 24px}.prose pre .line.highlighted{border-inline-start-color:var(--color-accent);background:oklch(96% .21 117/.08)}.prose pre .line.diff-add{border-inline-start-color:var(--astro-code-token-inserted);background:oklch(80% .15 145/.1)}.prose pre .line.diff-remove{border-inline-start-color:var(--astro-code-token-deleted);background:oklch(70% .18 25/.1)}.prose figure.code[data-lang=console] pre{color:var(--ink-200)}}
