:root{--color-bg:#fff;--color-surface:#f7f5fd;--color-header:#fff;--color-border:#e2dcf3;--color-border-strong:#857e9f;--color-text:#1b1630;--color-muted:#585270;--color-accent:#6f3fe0;--color-on-accent:#fff;--color-brand:#6f3fe0;--color-link:#1b1630;--color-link-line:#6f3fe0;--color-link-hover:#5b2fd0;--color-link-ui:#5b2fd0;--color-focus:#8d5aff;--color-mark:#e6dbff;--color-note-bg:#f1ecff;--color-note-fg:#5b2fd0;--color-warn-bg:#fff3df;--color-warn-fg:#9a4a06;--color-danger:#b42318;--code-bg:#f4f1fc;--code-highlight-bg:#e9e3fa;--code-keyword:#7a2fd6;--code-string:#0f7440;--code-number:#a8430a;--code-comment:#686579;--code-title:#1d5bb8;--code-type:#a3317a;--code-attr:#80560a;--code-variable:#a12d5d;--code-built-in:#0a6680;--code-meta:#686579;--code-add-bg:#e3f4e8;--code-add-fg:#0f6b3a;--code-del-bg:#fbe7e7;--code-del-fg:#a32020;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--cover-border:var(--color-border);--glow:0 0 0 1px color-mix(in srgb, var(--color-accent) 55%, transparent), 0 0 24px 0 color-mix(in srgb, var(--color-accent) 30%, transparent);--glow-sm:0 0 0 1px color-mix(in srgb, var(--color-accent) 55%, transparent), 0 0 12px 0 color-mix(in srgb, var(--color-accent) 28%, transparent);--term-bg:#0b0b22;--term-bar:#15153a;--term-text:#e7e5f8;--term-prompt:#9d8cd9;--term-output:#b5b2cf;--term-highlight:#24204a;--term-divider:#ffffff14;--term-dot:#3a3870;--term-path:#6e6a9a;--term-line:#55527d;--term-command:#8a86b8;--term-sign:#8d7fd0;--term-cursor:#8d5aff;--term-glow:#8d5aff38;--term-section:#c9b8ff;--viewer-bg:#0d0b16;--viewer-text:#f4f2ff;--viewer-caption:#f4f2ffd9;--viewer-button:#ffffff1a;--viewer-button-hover:#ffffff2e;--shadow-float:0 4px 16px -8px #00000059;--shadow-popover:0 12px 32px #0000002e;--shadow-dialog:0 24px 60px -24px #00000073;--backdrop:#07071a73;--focus-width:3px;--ring-field:0 0 0 var(--focus-width) color-mix(in srgb, var(--color-accent) 20%, transparent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#07071a;--color-surface:#111127;--color-header:#0b0b20;--color-border:#2b2a4a;--color-border-strong:#66628f;--color-text:#e9e8f5;--color-muted:#a9a7c4;--color-accent:#7a45f0;--color-on-accent:#fff;--color-brand:#b89cff;--color-link:#e9e8f5;--color-link-line:#b89cff;--color-link-hover:#b89cff;--color-link-ui:#b89cff;--color-focus:#c480ff;--color-mark:#3b2a73;--color-note-bg:#1a1636;--color-note-fg:#c2a8ff;--color-warn-bg:#2a1e0f;--color-warn-fg:#f3b066;--color-danger:#ff8a80;--code-bg:#171731;--code-highlight-bg:#241d4a;--code-keyword:#c9a0ff;--code-string:#86e0a9;--code-number:#ffb27a;--code-comment:#9896b4;--code-title:#8bbcff;--code-type:#ff9bd3;--code-attr:#ffd480;--code-variable:#ffa3c7;--code-built-in:#74d6ea;--code-meta:#9896b4;--code-add-bg:#12331f;--code-add-fg:#8fe3ad;--code-del-bg:#3a1717;--code-del-fg:#ffa1a1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--cover-border:color-mix(in srgb, var(--color-border) 30%, var(--term-bg));--glow:0 0 0 1px color-mix(in srgb, var(--color-accent) 70%, transparent), 0 0 28px 0 color-mix(in srgb, var(--color-accent) 55%, transparent);--glow-sm:0 0 0 1px color-mix(in srgb, var(--color-accent) 70%, transparent), 0 0 14px 0 color-mix(in srgb, var(--color-accent) 45%, transparent)}}:root[data-theme=dark]{--color-bg:#07071a;--color-surface:#111127;--color-header:#0b0b20;--color-border:#2b2a4a;--color-border-strong:#66628f;--color-text:#e9e8f5;--color-muted:#a9a7c4;--color-accent:#7a45f0;--color-on-accent:#fff;--color-brand:#b89cff;--color-link:#e9e8f5;--color-link-line:#b89cff;--color-link-hover:#b89cff;--color-link-ui:#b89cff;--color-focus:#c480ff;--color-mark:#3b2a73;--color-note-bg:#1a1636;--color-note-fg:#c2a8ff;--color-warn-bg:#2a1e0f;--color-warn-fg:#f3b066;--color-danger:#ff8a80;--code-bg:#171731;--code-highlight-bg:#241d4a;--code-keyword:#c9a0ff;--code-string:#86e0a9;--code-number:#ffb27a;--code-comment:#9896b4;--code-title:#8bbcff;--code-type:#ff9bd3;--code-attr:#ffd480;--code-variable:#ffa3c7;--code-built-in:#74d6ea;--code-meta:#9896b4;--code-add-bg:#12331f;--code-add-fg:#8fe3ad;--code-del-bg:#3a1717;--code-del-fg:#ffa1a1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--cover-border:color-mix(in srgb, var(--color-border) 30%, var(--term-bg));--glow:0 0 0 1px color-mix(in srgb, var(--color-accent) 70%, transparent), 0 0 28px 0 color-mix(in srgb, var(--color-accent) 55%, transparent);--glow-sm:0 0 0 1px color-mix(in srgb, var(--color-accent) 70%, transparent), 0 0 14px 0 color-mix(in srgb, var(--color-accent) 45%, transparent)}:root{--font-sans:"Inter", "Inter Fallback", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--font-mono-ui:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--text-3xs:.75rem;--text-2xs:.8125rem;--text-xs:.875rem;--text-sm:.9375rem;--text-md:1rem;--text-base:1.125rem;--text-lead:1.25rem;--text-lg:1.375rem;--text-code:var(--text-sm);--text-h1:clamp(1.9rem, 1.4rem + 2vw, 2.6rem);--text-h2:clamp(1.45rem, 1.2rem + 1vw, 1.85rem);--text-h3:1.3rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-strong:650;--weight-bold:700;--weight-heavy:750;--weight-black:800;--leading-none:1;--leading-tight:1.2;--leading-snug:1.3;--leading-ui:1.4;--leading-normal:1.5;--leading-code:1.6;--leading-body:1.65;--tracking-tight:-.01em;--tracking-tighter:-.02em;--tracking-caps:.06em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--flow-block:var(--space-5);--flow-group:var(--space-6);--flow-section:var(--space-7);--flow-page:var(--space-8);--inset-card:var(--space-4) var(--space-5);--inset-callout:var(--space-3) var(--space-4);--gap-icon:.3em;--control-2xs:1.5rem;--control-xs:1.75rem;--control-sm:2rem;--control-md:2.25rem;--control-lg:2.5rem;--control-xl:2.75rem;--control-2xl:3.5rem;--icon-sm:1rem;--icon-md:1.125rem;--icon-lg:1.25rem;--icon-xl:1.375rem;--radius-xs:4px;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--container:1240px;--gutter:var(--space-5);--col-main:720px;--col-single:calc(var(--col-main) + 120px);--col-aside:288px;--col-gap:var(--space-8);--header-height:3.75rem;--z-raised:1;--z-header:20;--z-cookie:30}@media (width<=639.98px){:root{--flow-block:var(--space-4);--flow-group:var(--space-5);--flow-section:var(--space-6);--flow-page:var(--space-7);--inset-card:var(--space-3) var(--space-4);--inset-callout:var(--space-3);--gutter:var(--space-4);--header-height:5.5rem}}:root{--ease:cubic-bezier(.2, 0, 0, 1);--dur-fast:.15s;--dur:.25s;interpolate-size:allow-keywords}.prose>:first-child{margin-top:0}.prose :is(h2,h3)+:is(.code-block,.figure,.notice,.quote,.update,.table-scroll,.embed-placeholder){margin-top:var(--space-4)}.prose ul,.prose ol{margin:0 0 var(--space-4);padding-left:var(--space-5)}.prose li+li{margin-top:var(--space-2)}.prose li>ul,.prose li>ol{margin:var(--space-2) 0 0}.prose li::marker{color:var(--color-accent)}.prose ol>li::marker{font-variant-numeric:tabular-nums}.prose hr{width:var(--space-8);height:6px;margin:var(--flow-section) auto;background:radial-gradient(circle, var(--color-muted) 2px, transparent 2.5px) 0 0/var(--space-5) 6px repeat-x;opacity:.7;border:0}.heading-anchor{margin-left:var(--space-2);font-weight:var(--weight-regular);color:var(--color-muted);opacity:0;transition:opacity var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);text-decoration:none}h2:hover .heading-anchor,h3:hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}.heading-anchor:hover{color:var(--color-link-hover)}.quote{--quote-icon:4rem;margin:var(--flow-block) 0;padding:var(--inset-callout);border-left:4px solid var(--color-accent);border-radius:var(--radius);background:var(--color-surface);padding-right:calc(var(--quote-icon) + 2 * var(--space-3));position:relative}@media (width<=639.98px){.quote{--quote-icon:2.5rem}}.quote blockquote{font:var(--weight-regular) var(--text-md)/var(--leading-normal) var(--font-sans);margin:0}.quote p{margin:0 0 var(--space-2)}.quote p:last-child{margin-bottom:0}.quote__icon{top:var(--space-2);right:var(--space-3);width:var(--quote-icon);height:var(--quote-icon);color:color-mix(in srgb, var(--color-accent) 20%, transparent);pointer-events:none;position:absolute}.quote--center{padding-left:calc(var(--quote-icon) + 2 * var(--space-3));text-align:center}.quote__caption{margin-top:var(--space-2);font:var(--weight-regular) var(--text-2xs)/var(--leading-normal) var(--font-sans);color:var(--color-muted)}.quote__caption:before{content:"– "}.figure{margin:var(--flow-block) 0;text-align:center}.figure img{border:1px solid var(--color-border);vertical-align:top;width:auto;max-width:100%;height:auto;max-height:min(80svh,960px);display:inline-block}.figure--background{padding:var(--space-4);border-radius:var(--radius);background:var(--color-surface)}.figure--stretched img{width:100%;max-height:none}.figure__caption{margin-top:var(--space-2);font:var(--weight-regular) var(--text-xs)/var(--leading-ui) var(--font-sans);color:var(--color-muted)}.table-scroll{margin:var(--flow-block) 0;overflow-x:auto}.table-scroll:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:2px}.table-scroll table{border-collapse:collapse;width:100%;min-width:32rem;font:var(--weight-regular) var(--text-sm)/var(--leading-ui) var(--font-sans)}.table-scroll th{padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--color-accent);font-weight:var(--weight-strong);text-align:left}.table-scroll td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:top}.table-scroll tbody tr:nth-child(2n){background:var(--color-surface)}.embed-placeholder{align-content:center;place-items:center;gap:var(--space-3);aspect-ratio:16/9;width:100%;margin:var(--flow-block) 0 var(--space-2);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--color-surface), var(--code-bg));text-align:center;display:grid}.embed-placeholder iframe{border-radius:inherit;border:0;width:100%;height:100%}.embed-placeholder.is-loaded{background:0 0;border:0;padding:0}.embed-placeholder__note{max-width:28rem;font:var(--weight-regular) var(--text-xs)/var(--leading-ui) var(--font-sans);color:var(--color-muted)}.embed-caption{margin:0 0 var(--flow-block);font:var(--weight-regular) var(--text-xs)/var(--leading-ui) var(--font-sans);color:var(--color-muted);text-align:center}.code-block{margin:var(--flow-block) 0;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--code-bg);position:relative;overflow:hidden}.code-block__header{min-height:var(--control-lg);padding:0 var(--space-4);border-bottom:1px solid var(--color-border);font:var(--weight-medium) var(--text-2xs)/var(--leading-snug) var(--font-sans);color:var(--color-muted);align-items:center;display:flex}.code-block__filename{font-family:var(--font-mono);color:var(--color-text);overflow-wrap:anywhere}.code-block__tools{top:calc(var(--space-3) + (var(--text-code) * var(--leading-code) - var(--control-xs)) / 2);right:var(--space-2);z-index:var(--z-raised);border-radius:var(--radius-sm);background:var(--code-bg);font:var(--weight-medium) var(--text-3xs)/var(--leading-none) var(--font-sans);color:var(--color-muted);align-items:center;gap:2px;display:flex;position:absolute}.code-block__tools .icon-button{width:var(--control-xs);height:var(--control-xs)}.code-block__header+.code-block__tools{top:calc((var(--control-lg) - var(--control-xs)) / 2)}.code-block__language{padding:0 var(--space-2)}@media (width<=479.98px){.code-block__language{display:none}}.code-block__wrap[aria-pressed=true]{background:color-mix(in srgb, currentColor 12%, transparent);color:var(--color-text)}.code-block__copied-icon{display:none}.code-block__copy[data-copied]{color:var(--code-add-fg)}.code-block__copy[data-copied] .code-block__copy-icon{display:none}.code-block__copy[data-copied] .code-block__copied-icon{display:inline-block}@media (prefers-reduced-motion:no-preference){.code-block__copy[data-copied] .code-block__copied-icon{animation:code-copied var(--dur) var(--ease)}}@keyframes code-copied{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.15)}to{transform:scale(1)}}.code-block__pre{padding:var(--space-3) 0;font:var(--weight-regular) var(--text-sm)/var(--leading-code) var(--font-mono);font-variant-ligatures:none;tab-size:4;margin:0;overflow-x:auto}.code-block__pre code{min-width:max-content;font:inherit;color:var(--color-text);white-space:pre;overflow-wrap:normal;background:0 0;border:0;padding:0;display:block}.code-line{min-width:100%;padding:0 var(--space-4);border-left:3px solid #0000;display:inline-block}.code-line:first-child{padding-right:calc(var(--code-tools-width,4rem) + var(--space-3))}.code-block--numbered code{counter-reset:line}.code-block--numbered .code-line{counter-increment:line;padding-left:var(--space-2)}.code-block--numbered .code-line:before{content:counter(line);width:var(--space-6);margin-right:var(--space-4);text-align:right;color:var(--color-muted);-webkit-user-select:none;user-select:none;display:inline-block}.code-block.is-wrapped .code-block__pre code{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.code-block.is-wrapped .code-line{white-space:pre-wrap}.code-block.is-wrapped.code-block--numbered .code-line{padding-left:calc(var(--space-2) + var(--space-6) + var(--space-4));text-indent:calc(-1 * (var(--space-6) + var(--space-4)))}.code-line--highlighted{border-left-color:var(--color-accent);background:var(--code-highlight-bg)}.code-line--addition{background:var(--code-add-bg);color:var(--code-add-fg)}.code-line--deletion{background:var(--code-del-bg);color:var(--code-del-fg)}.code-line--addition .hljs-addition,.code-line--deletion .hljs-deletion{color:inherit}.hljs-keyword,.hljs-selector-class{color:var(--code-keyword)}.hljs-string{color:var(--code-string)}.hljs-number,.hljs-literal{color:var(--code-number)}.hljs-comment{color:var(--code-comment);font-style:italic}.hljs-title,.hljs-section,.hljs-name{color:var(--code-title)}.hljs-type{color:var(--code-type)}.hljs-attr{color:var(--code-attr)}.hljs-variable{color:var(--code-variable)}.hljs-built_in{color:var(--code-built-in)}.hljs-meta{color:var(--code-meta)}.hljs-addition{color:var(--code-add-fg)}.hljs-deletion{color:var(--code-del-fg)}.code-block--terminal{--code-bg:#171731;--code-highlight-bg:#241d4a;--code-keyword:#c9a0ff;--code-string:#86e0a9;--code-number:#ffb27a;--code-comment:#9896b4;--code-title:#8bbcff;--code-type:#ff9bd3;--code-attr:#ffd480;--code-variable:#ffa3c7;--code-built-in:#74d6ea;--code-meta:#9896b4;--code-add-bg:#12331f;--code-add-fg:#8fe3ad;--code-del-bg:#3a1717;--code-del-fg:#ffa1a1;border-color:color-mix(in srgb, var(--term-bg) 70%, var(--color-border));background:var(--term-bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.code-block--terminal .code-block__header{border-bottom-color:var(--term-divider);background:var(--term-bar);color:var(--term-output)}.code-block--terminal .code-block__filename{color:var(--term-text)}.code-block--terminal .code-block__tools{background:var(--term-bg);color:var(--term-output)}.code-block--terminal .code-block__wrap[aria-pressed=true],.code-block--terminal .code-block__pre code{color:var(--term-text)}.code-block--terminal .code-line--highlighted{background:var(--term-highlight)}.code-prompt{color:var(--term-prompt);-webkit-user-select:none;user-select:none;margin-right:.6ch}.code-line--output{color:var(--term-output)}.code-line--output+.code-line--command{margin-top:var(--space-2)}@media print{.code-block .code-block__pre code{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.code-block .code-line{white-space:pre-wrap}.code-block.code-block--numbered .code-line{padding-left:calc(var(--space-2) + var(--space-6) + var(--space-4));text-indent:calc(-1 * (var(--space-6) + var(--space-4)))}.code-block--terminal{--code-bg:#f4f1fc;--code-highlight-bg:#e9e3fa;--code-keyword:#7a2fd6;--code-string:#0f7440;--code-number:#a8430a;--code-comment:#686579;--code-title:#1d5bb8;--code-type:#a3317a;--code-attr:#80560a;--code-variable:#a12d5d;--code-built-in:#0a6680;--code-meta:#686579;--code-add-bg:#e3f4e8;--code-add-fg:#0f6b3a;--code-del-bg:#fbe7e7;--code-del-fg:#a32020;--term-bg:var(--code-bg);--term-bar:var(--code-bg);--term-text:var(--color-text);--term-prompt:var(--color-muted);--term-output:var(--color-muted);--term-highlight:var(--code-highlight-bg);border-color:var(--color-border);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.code-block--terminal .code-block__header{border-bottom-color:var(--color-border)}}.notice{--notice-bg:var(--color-note-bg);--notice-fg:var(--color-note-fg);margin:var(--flow-block) 0;padding:var(--inset-callout);border-left:4px solid var(--notice-fg);border-radius:var(--radius);background:var(--notice-bg)}.notice--warning{--notice-bg:var(--color-warn-bg);--notice-fg:var(--color-warn-fg)}.notice__title{align-items:center;gap:var(--gap-icon);font:var(--weight-bold) var(--text-2xs)/var(--leading-none) var(--font-sans);margin:0 0 var(--space-2);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--notice-fg);display:inline-flex}.notice__title .icon{width:var(--icon-sm);height:var(--icon-sm)}.notice__text{font:var(--weight-regular) var(--text-md)/var(--leading-normal) var(--font-sans);margin:0}.notice :not(pre)>code{background:color-mix(in srgb, var(--color-bg) 70%, transparent)}.update{margin:var(--flow-block) 0;padding:var(--inset-callout);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.update__date{align-items:center;gap:var(--gap-icon);font:var(--weight-medium) var(--text-2xs)/var(--leading-none) var(--font-sans);margin:0 0 var(--space-2);color:var(--color-muted);display:inline-flex}.update__date .icon{width:var(--icon-sm);height:var(--icon-sm);color:var(--color-accent)}.update__label{font-weight:var(--weight-semibold);color:var(--color-text)}.update__text{font:var(--weight-regular) var(--text-md)/var(--leading-normal) var(--font-sans);margin:0}
