:root{--callout-note:#0969da;--callout-tip:var(--accent);--callout-important:#8250df;--callout-warning:#9a6700;--callout-danger:#cf222e;--callout-bg-mix:7%}.dark{--callout-note:#4493f8;--callout-tip:var(--accent);--callout-important:#ab7df8;--callout-warning:#d29922;--callout-danger:#f85149;--callout-bg-mix:10%}.prose .callout{--callout-color:var(--callout-note);border-left:4px solid var(--callout-color);background:color-mix(in srgb, var(--callout-color) var(--callout-bg-mix), var(--bg));border-radius:0 .5rem .5rem 0;margin:1.5em 0;padding:.85em 1.1em}.prose .callout[data-callout=tip]{--callout-color:var(--callout-tip)}.prose .callout[data-callout=important]{--callout-color:var(--callout-important)}.prose .callout[data-callout=warning]{--callout-color:var(--callout-warning)}.prose .callout[data-callout=danger]{--callout-color:var(--callout-danger)}.prose .callout-title{color:var(--callout-color);align-items:center;gap:.45em;margin:0;font-weight:700;line-height:1.6;display:flex}.prose .callout-icon{flex-shrink:0}.prose .callout-body{margin-top:.35em;font-size:.9375rem;line-height:1.8}.prose .callout-body:empty{display:none}.prose .callout-body>:first-child{margin-top:0}.prose .callout-body>:last-child{margin-bottom:0}.prose .callout-body p{margin:.6em 0}.prose .link-card{border:1px solid var(--border);background:var(--bg);min-height:6.5rem;color:var(--text);border-radius:.5rem;align-items:stretch;margin:1.5em 0;text-decoration:none;transition:border-color .15s,background-color .15s;display:flex;overflow:hidden}.prose .link-card:hover{border-color:var(--accent);background:var(--surface);color:var(--text)}.prose .link-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.prose .link-card-body{flex-direction:column;flex:1;justify-content:center;gap:.3em;min-width:0;padding:.85em 1.1em;display:flex}.prose .link-card-title{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-weight:700;line-height:1.5;display:-webkit-box;overflow:hidden}.prose .link-card-description{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;font-size:.8125rem;line-height:1.6;display:-webkit-box;overflow:hidden}.prose .link-card-meta{min-width:0;color:var(--muted);align-items:center;gap:.4em;font-size:.75rem;line-height:1.4;display:flex}.prose .link-card-favicon{border-radius:2px;flex-shrink:0;width:14px;height:14px;margin:0}.prose .link-card-site,.prose .link-card-domain{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prose .link-card-domain:before{content:"·";margin-right:.4em}.prose .link-card-thumbnail{border-left:1px solid var(--border);background:var(--surface);flex-shrink:0;width:30%;max-width:13rem}.prose .link-card-thumbnail img{object-fit:cover;border-radius:0;width:100%;height:100%;margin:0}@media (max-width:479.98px){.prose .link-card-thumbnail{width:6.5rem}.prose .link-card-description{-webkit-line-clamp:1}}.prose .mdx-figure{text-align:center;margin:1.75em 0}.prose .zoom-trigger{cursor:zoom-in;vertical-align:top;background:0 0;border:0;border-radius:.5rem;max-width:100%;padding:0;display:inline-block;position:relative}.prose .zoom-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.prose .zoom-image{border:1px solid var(--border);border-radius:.5rem;max-width:100%;height:auto;margin:0;display:block}.prose .zoom-hint{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 85%, transparent);width:1.75rem;height:1.75rem;color:var(--text);opacity:0;border-radius:9999px;place-items:center;transition:opacity .15s;display:grid;position:absolute;bottom:.5rem;right:.5rem}.prose .zoom-trigger:hover .zoom-hint,.prose .zoom-trigger:focus-visible .zoom-hint{opacity:1}.prose .mdx-figure figcaption{margin-top:.6em}.dark .prose .zoom-image{background:var(--surface)}.dark .prose :is(.zoom-image,.mdx-image):not(.no-dim,[src*=\#no-dim]){filter:brightness(.9)}.zoom-dialog{cursor:zoom-out;background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:1.5rem}.zoom-dialog[open]{place-items:center;display:grid}.zoom-dialog::backdrop{background:#000c}.prose .zoom-dialog-image{background:var(--bg);object-fit:contain;border-radius:.5rem;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 3rem);margin:0}.zoom-close{color:#fff;cursor:pointer;background:#0009;border:1px solid #ffffff4d;border-radius:9999px;place-items:center;width:2.5rem;height:2.5rem;display:grid;position:fixed;top:1rem;right:1rem}.zoom-close:hover{background:#000000d9}.zoom-close:focus-visible{outline-offset:2px;outline:2px solid #fff}html.zoom-scroll-lock{overflow:hidden}@media (prefers-reduced-motion:no-preference){.zoom-dialog[open]{animation:.18s ease-out zoom-dialog-in}.zoom-dialog[open]::backdrop{animation:.18s ease-out zoom-backdrop-in}}@keyframes zoom-dialog-in{0%{opacity:0;transform:scale(.96)}}@keyframes zoom-backdrop-in{0%{opacity:0}}.prose .mermaid-diagram{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:.5rem;min-height:8rem;margin:1.75em 0;padding:1rem 1.25rem;overflow-x:auto}.prose .mermaid-diagram>svg{min-width:min-content;height:auto;margin:0 auto;display:block}.prose .mermaid-diagram .mermaid-source,.prose .mermaid-diagram .mermaid-error-detail{color:var(--muted);text-align:left;background:0 0;border:0;margin:0;padding:0}.prose .mermaid-diagram .mermaid-error{color:var(--callout-danger);text-align:left;margin:0 0 .5rem;font-size:.875rem;font-weight:600}.prose .mermaid-diagram .mermaid-error-detail{border-bottom:1px dashed var(--border);color:var(--callout-danger);white-space:pre-wrap;margin-bottom:1rem;padding-bottom:1rem}
.prose figure[data-rehype-pretty-code-figure]{--code-padding-x:1.25rem;--code-line-highlight:color-mix(in srgb, var(--accent) 12%, transparent);--code-diff-add:#2da44e29;--code-diff-add-marker:#1a7f37;--code-diff-remove:#cf222e24;--code-diff-remove-marker:#cf222e;--code-word-highlight:color-mix(in srgb, var(--accent) 18%, transparent);border:1px solid var(--border);background:var(--surface);border-radius:.5rem;margin:1.75em 0;position:relative;overflow:hidden}.dark .prose figure[data-rehype-pretty-code-figure]{--code-line-highlight:color-mix(in srgb, var(--accent) 14%, transparent);--code-diff-add:#2ea04333;--code-diff-add-marker:#3fb950;--code-diff-remove:#f851492e;--code-diff-remove-marker:#f85149;--code-word-highlight:color-mix(in srgb, var(--accent) 24%, transparent)}.prose figure[data-rehype-pretty-code-figure] .code-header{min-height:2.5rem;padding:.25rem .5rem .25rem var(--code-padding-x);border-bottom:1px solid var(--border);color:var(--muted);font-family:var(--font-mono);align-items:center;gap:.75rem;font-size:.8125rem;line-height:1.5;display:flex}.prose figure[data-rehype-pretty-code-figure] .code-title{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.prose figure[data-rehype-pretty-code-figure] .code-language{letter-spacing:.02em;flex-shrink:0;font-size:.75rem}.prose figure[data-rehype-pretty-code-figure] .code-copy-button{color:var(--muted);cursor:pointer;border:1px solid #0000;border-radius:.375rem;flex-shrink:0;align-items:center;gap:.3rem;padding:.25rem .5rem;font-size:.75rem;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.prose figure[data-rehype-pretty-code-figure] .code-copy-button:hover{border-color:var(--border);background:var(--bg);color:var(--text)}.prose figure[data-rehype-pretty-code-figure] .code-copy-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.prose figure[data-rehype-pretty-code-figure] .code-copy-button[data-copied]{color:var(--accent)}.prose figure[data-rehype-pretty-code-figure] .code-toolbar{z-index:1;border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, transparent);color:var(--muted);font-family:var(--font-mono);border-radius:.375rem;align-items:center;gap:.375rem;padding:.125rem .125rem .125rem .5rem;font-size:.8125rem;line-height:1.5;transition:opacity .15s;display:flex;position:absolute;top:.375rem;right:.375rem}.prose figure[data-rehype-pretty-code-figure] .code-toolbar>.code-copy-button:first-child{margin-left:-.375rem}.prose figure[data-rehype-pretty-code-figure] .code-toolbar .code-copy-button{padding:.125rem .375rem}@media (hover:hover) and (pointer:fine){.prose figure[data-rehype-pretty-code-figure] .code-toolbar{opacity:0}.prose figure[data-rehype-pretty-code-figure]:hover .code-toolbar,.prose figure[data-rehype-pretty-code-figure]:focus-within .code-toolbar{opacity:1}}@media (hover:none){.prose figure[data-rehype-pretty-code-figure] .code-toolbar .code-copy-button>span[aria-hidden]{display:none}}@media not ((hover:hover) and (pointer:fine)){.prose figure[data-rehype-pretty-code-figure]:has(>.code-toolbar) pre{padding-top:2.25rem}}@media (prefers-reduced-motion:reduce){.prose figure[data-rehype-pretty-code-figure] .code-toolbar{transition:none}}.prose figure[data-rehype-pretty-code-figure] pre{background:0 0;border:0;border-radius:0;margin:0;padding:.875rem 0;font-size:.875rem;line-height:1.7;overflow-x:auto}.prose figure[data-rehype-pretty-code-figure] pre:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.prose figure[data-rehype-pretty-code-figure] pre>code{width:max-content;min-width:100%;font-family:var(--font-mono);font-size:inherit;background:0 0;border:0;padding:0;display:grid}.prose figure[data-rehype-pretty-code-figure] [data-line]{padding:0 var(--code-padding-x);border-left:3px solid #0000}.prose figure[data-rehype-pretty-code-figure] code span,.prose figure[data-rehype-pretty-code-figure] code span[style]{color:var(--shiki-light);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);text-decoration:none}.dark .prose figure[data-rehype-pretty-code-figure] code span,.dark .prose figure[data-rehype-pretty-code-figure] code span[style]{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight)}.prose figure[data-rehype-pretty-code-figure] code[data-line-numbers]{counter-reset:line}.prose figure[data-rehype-pretty-code-figure] code[data-line-numbers]>[data-line]:before{width:1.5ch;color:var(--muted);text-align:right;content:counter(line);counter-increment:line;opacity:.75;-webkit-user-select:none;user-select:none;margin-right:1.25rem;display:inline-block}.prose figure[data-rehype-pretty-code-figure] code[data-line-numbers-max-digits="2"]>[data-line]:before{width:2.5ch}.prose figure[data-rehype-pretty-code-figure] code[data-line-numbers-max-digits="3"]>[data-line]:before{width:3.5ch}.prose figure[data-rehype-pretty-code-figure] [data-highlighted-line],.prose figure[data-rehype-pretty-code-figure] [data-line].highlighted{border-left-color:var(--accent);background:var(--code-line-highlight)}.prose figure[data-rehype-pretty-code-figure] [data-highlighted-chars]{background:var(--code-word-highlight);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent);color:inherit;border-radius:.25rem;padding:.1em .2em}.prose figure[data-rehype-pretty-code-figure] [data-line].diff{position:relative}.prose figure[data-rehype-pretty-code-figure] [data-line].diff:after{-webkit-user-select:none;user-select:none;font-weight:700;position:absolute;top:0;left:.375rem}.prose figure[data-rehype-pretty-code-figure] [data-line].diff.add,.prose figure[data-rehype-pretty-code-figure] [data-line].diff-add{border-left-color:var(--code-diff-add-marker);background:var(--code-diff-add)}.prose figure[data-rehype-pretty-code-figure] [data-line].diff.add:after{color:var(--code-diff-add-marker);content:"+"}.prose figure[data-rehype-pretty-code-figure] [data-line].diff.remove,.prose figure[data-rehype-pretty-code-figure] [data-line].diff-remove{border-left-color:var(--code-diff-remove-marker);background:var(--code-diff-remove)}.prose figure[data-rehype-pretty-code-figure] [data-line].diff.remove:after{color:var(--code-diff-remove-marker);content:"-"}.prose figure[data-rehype-pretty-code-figure] [data-line].diff.remove>span{opacity:.7}.prose figure[data-rehype-pretty-code-figure] [data-rehype-pretty-code-caption]{padding:.5rem var(--code-padding-x);border-top:1px solid var(--border);color:var(--muted);text-align:left;margin:0;font-size:.8125rem}.prose span[data-rehype-pretty-code-figure]>code [data-line]{border:0;padding:0}.prose span[data-rehype-pretty-code-figure]>code span{color:var(--shiki-light);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight)}.dark .prose span[data-rehype-pretty-code-figure]>code span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight)}
.prose .katex-display{margin:1.5em 0;padding:.25em 0;overflow:auto hidden}.prose .katex-error{color:var(--callout-danger)!important}
.prose{color:var(--text);overflow-wrap:break-word;font-size:1rem;line-height:1.9}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose p{margin:1.25em 0}.prose strong{color:var(--text);font-weight:700}.prose h2,.prose h3,.prose h4{color:var(--text);font-feature-settings:"palt";letter-spacing:.02em;scroll-margin-top:5rem;font-weight:700;line-height:1.4}.prose h2{border-bottom:1px solid var(--border);margin:2.5em 0 1em;padding-bottom:.4em;font-size:1.5rem}.prose h3{margin:2em 0 .75em;font-size:1.25rem}.prose h4{margin:1.75em 0 .5em;font-size:1.0625rem}.prose>.heading-group:first-child>:first-child{margin-top:0}.prose .heading-group{position:relative}.prose .heading-anchor{width:1.1em;color:var(--muted);text-align:right;opacity:0;padding-right:.25em;font-weight:700;line-height:1.4;text-decoration:none;transition:opacity .15s,color .15s;position:absolute;top:0;left:-1.1em}.prose .heading-group-h2>.heading-anchor{font-size:1.5rem}.prose .heading-group-h3>.heading-anchor{font-size:1.25rem}.prose .heading-group-h4>.heading-anchor{font-size:1.0625rem}@media (max-width:639.98px){.prose .heading-anchor{padding-right:0;left:auto;right:0}.prose .heading-group>:is(h2,h3,h4){padding-right:1.25em}}.prose .heading-group:hover>.heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}@media (hover:none){.prose .heading-anchor{opacity:.4}}.prose .heading-anchor:hover,.prose .heading-anchor:focus-visible{color:var(--accent)}.prose .heading-anchor:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:.25rem}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;transition:color .15s}.prose a:hover{color:var(--accent-hover)}.prose ul,.prose ol{margin:1.25em 0;padding-left:1.6em}.prose ul{list-style-type:disc}.prose ol{list-style-type:decimal}.prose ul ul{list-style-type:circle}.prose li{margin:.4em 0;padding-left:.25em}.prose li>ul,.prose li>ol{margin:.4em 0}.prose li::marker{color:var(--muted)}.prose blockquote{border-left:4px solid var(--border);color:var(--muted);margin:1.5em 0;padding:.25em 1em}.prose blockquote p{margin:.75em 0}.prose hr{border:0;border-top:1px solid var(--border);margin:3em 0}.prose table{border-collapse:collapse;width:max-content;max-width:100%;margin:1.5em 0;font-size:.9375rem;line-height:1.6;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);padding:.5em .9em}.prose th{background:var(--surface);font-weight:700}.prose th:not([align]),.prose td:not([align]){text-align:left}.prose :not(pre)>code{border:1px solid var(--border);background:var(--surface);font-family:var(--font-mono);border-radius:.375rem;padding:.15em .4em;font-size:.875em}.prose a>code{color:inherit}.prose pre{border:1px solid var(--border);background:var(--surface);border-radius:.5rem;margin:1.5em 0;padding:1em 1.25em;font-size:.875rem;line-height:1.7;overflow-x:auto}.prose pre code{font-family:var(--font-mono);font-size:inherit;background:0 0;border:0;padding:0}.prose img{border-radius:.5rem;max-width:100%;height:auto;margin:1.75em auto}.prose figure{margin:1.75em 0}.prose figcaption{color:var(--muted);text-align:center;margin-top:.5em;font-size:.875rem}.prose sup{font-size:.75em;line-height:0}.prose [data-footnote-ref]{margin-left:.1em;padding:0 .15em;font-weight:700;text-decoration:none}.prose [data-footnote-ref]:before{content:"["}.prose [data-footnote-ref]:after{content:"]"}.prose .footnotes{border-top:1px solid var(--border);color:var(--muted);margin-top:3.5em;padding-top:1.25em;font-size:.875rem;line-height:1.8}.prose .footnotes .footnotes-title{color:var(--muted);letter-spacing:.05em;border:0;margin:0 0 .75em;padding:0;font-size:.875rem;font-weight:700}.prose .footnotes ol{margin:0}.prose .footnotes li{margin:.35em 0}.prose .footnotes li p{margin:0}.prose .footnotes li,.prose [data-footnote-ref]{scroll-margin-top:5rem}.prose .footnotes li:target{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--text);border-radius:.25rem}.prose [data-footnote-backref]{font-family:var(--font-mono);margin-left:.35em;text-decoration:none}
