:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0a0a0a);--bg-head:var(--lightningcss-light,#fffc)var(--lightningcss-dark,#0a0a0acc);--panel:var(--lightningcss-light,#fafafa)var(--lightningcss-dark,#111);--panel-2:var(--lightningcss-light,#f4f4f5)var(--lightningcss-dark,#161616);--line:var(--lightningcss-light,#e6e6e6)var(--lightningcss-dark,#1f1f1f);--line-strong:var(--lightningcss-light,#d4d4d4)var(--lightningcss-dark,#2e2e2e);--text:var(--lightningcss-light,#171717)var(--lightningcss-dark,#ededed);--prose:var(--lightningcss-light,#3f3f46)var(--lightningcss-dark,#c9c9c9);--muted:var(--lightningcss-light,#666)var(--lightningcss-dark,#8f8f8f);--marker:var(--lightningcss-light,#a1a1aa)var(--lightningcss-dark,#5c5c5c);--hover:var(--lightningcss-light,#17171708)var(--lightningcss-dark,#ffffff08);--row-alt:var(--lightningcss-light,#1717170a)var(--lightningcss-dark,#ffffff05);--scrim:var(--lightningcss-light,#17171799)var(--lightningcss-dark,#000000b3);--shadow:var(--lightningcss-light,#17171726)var(--lightningcss-dark,#000000a6);--accent:var(--lightningcss-light,#0f7c6d)var(--lightningcss-dark,#3ddbc8);--accent-soft:var(--lightningcss-light,#0f7c6d12)var(--lightningcss-dark,#3ddbc814);--accent-line:var(--lightningcss-light,#0f7c6d55)var(--lightningcss-dark,#3ddbc840);--code-bg:var(--lightningcss-light,#fafafa)var(--lightningcss-dark,#0f0f0f);--code-bar:var(--lightningcss-light,#f4f4f5)var(--lightningcss-dark,#141414);--code-line:var(--lightningcss-light,#e6e6e6)var(--lightningcss-dark,#232323);--code-text:var(--lightningcss-light,#24292f)var(--lightningcss-dark,#d4d4d4);--hl-comment:var(--lightningcss-light,#6e7781)var(--lightningcss-dark,#7d8590);--hl-keyword:var(--lightningcss-light,#8250df)var(--lightningcss-dark,#a371f7);--hl-string:var(--lightningcss-light,#0a7d70)var(--lightningcss-dark,#3ddbc8);--hl-number:var(--lightningcss-light,#953800)var(--lightningcss-dark,#ffa657);--hl-title:var(--lightningcss-light,#0550ae)var(--lightningcss-dark,#79c0ff);--hl-class:var(--lightningcss-light,#953800)var(--lightningcss-dark,#ffa657);--hl-tag:var(--lightningcss-light,#116329)var(--lightningcss-dark,#7ee787);--hl-deletion:var(--lightningcss-light,#cf222e)var(--lightningcss-dark,#ff7b72);--hl-addition:var(--lightningcss-light,#116329)var(--lightningcss-dark,#7ee787);--pattern-ink:var(--lightningcss-light,#1717170f)var(--lightningcss-dark,#ffffff12);--pattern-gap:22px;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "JetBrains Mono", "SF Mono", Menlo, monospace;--r-sm:6px;--r-md:8px;--r-lg:12px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--sb:260px;--head:56px;--measure:46rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:inherit;text-decoration:none}.prose{color:var(--prose);max-width:var(--measure);overflow-wrap:break-word;font-size:15.5px;line-height:1.75}.prose>:first-child{margin-top:0}.prose h1{letter-spacing:-.022em;color:var(--text);margin:0 0 20px;font-size:34px;font-weight:700;line-height:1.15}.prose h2{letter-spacing:-.014em;color:var(--text);margin:52px 0 14px;font-size:21px;font-weight:600;line-height:1.3}.prose h3{color:var(--text);margin:34px 0 10px;font-size:16.5px;font-weight:600;line-height:1.4}.prose p{margin:16px 0}.prose a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;text-decoration-thickness:1px}.prose a:hover{text-decoration-color:currentColor}.prose strong{color:var(--text);font-weight:600}.prose ul,.prose ol{margin:16px 0;padding-left:20px}.prose li{margin:6px 0}.prose li::marker{color:var(--marker)}.prose hr{border:0;border-top:1px solid var(--line);height:0;margin:44px 0}.prose blockquote{border-left:2px solid var(--line-strong);color:var(--muted);margin:24px 0;padding:2px 0 2px 18px}.prose blockquote p{margin:8px 0}.prose :not(pre)>code{font-family:var(--mono);color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:.1em .38em;font-size:.86em}.prose pre{background:var(--code-bg);border:1px solid var(--code-line);border-radius:var(--r-md);margin:22px 0;padding:34px 18px 16px;overflow-x:auto}.prose pre code{font-family:var(--mono);color:var(--code-text);font-size:13px;line-height:1.7}.prose img{max-width:100%;height:auto}.prose table{border-collapse:collapse;-webkit-overflow-scrolling:touch;max-width:100%;margin:26px 0;font-size:13.5px;line-height:1.55;display:block;overflow-x:auto}.prose thead th{background:var(--panel-2);color:var(--text);white-space:nowrap;letter-spacing:.01em;font-size:12.5px;font-weight:600}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 14px}.prose tbody tr:nth-child(2n) td{background:var(--row-alt)}.prose td code{white-space:nowrap}.prose td small{color:var(--muted);white-space:nowrap;font-size:.82em}.hljs-comment,.hljs-quote{color:var(--hl-comment);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-built_in{color:var(--hl-keyword)}.hljs-string,.hljs-attr,.hljs-template-variable{color:var(--hl-string)}.hljs-number,.hljs-literal{color:var(--hl-number)}.hljs-title,.hljs-title.function_,.hljs-section{color:var(--hl-title)}.hljs-title.class_,.hljs-type{color:var(--hl-class)}.hljs-params{color:var(--code-text)}.hljs-property,.hljs-attribute{color:var(--text)}.hljs-tag,.hljs-name{color:var(--hl-tag)}.hljs-meta,.hljs-symbol{color:var(--muted)}.hljs-deletion{color:var(--hl-deletion)}.hljs-addition{color:var(--hl-addition)}@media (width<=980px){.prose h1{font-size:29px}.prose h2{font-size:19.5px}}@media (width<=560px){.prose{font-size:15px}.prose h1{letter-spacing:-.018em;font-size:26px}.prose pre{padding:32px 14px 14px}}.skip{z-index:100;border-radius:var(--r-md);color:var(--text);background:var(--panel);border:1px solid var(--line-strong);padding:10px 16px;font-size:14px;font-weight:500;transition:transform .12s;position:absolute;top:8px;left:8px;transform:translateY(-200%)}.skip:focus{transform:translateY(0)}:where(a,button,select,input,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}main:focus{outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.prose .code-block{position:relative}.code-copy{z-index:2;border-radius:var(--r-sm);cursor:pointer;font-family:var(--mono);color:var(--muted);background:var(--code-bar);border:1px solid var(--code-line);opacity:0;padding:3px 9px;font-size:11px;line-height:1.6;transition:opacity .12s,color .12s,border-color .12s;position:absolute;top:7px;right:7px}.code-block:hover .code-copy,.code-copy:focus-visible{opacity:1}.code-copy:hover{color:var(--text);border-color:var(--line-strong)}@media (hover:none){.code-copy{opacity:1}}.prose .code-block:after{content:attr(data-lang);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);pointer-events:none;font-size:10px;position:absolute;top:11px;left:19px}
