:root{--mdx-surface:#fff;--mdx-sunken:#f7f4ec;--mdx-line:#e4dfd3;--mdx-ink:#21302a;--mdx-ink-soft:#5a6d63;--mdx-brand:#2e7d5b;--mdx-brand-soft:#e4f0e8;--mdx-info:#23767a;--mdx-info-soft:#e6f3f2;--mdx-tip:#15803d;--mdx-tip-soft:#edfaf1;--mdx-warning:#b45309;--mdx-warning-soft:#fff8ea;--mdx-danger:#dc2626;--mdx-danger-soft:#fef3f2;--mdx-code-bg:#faf7f0;--mdx-code-bar:#f2ede2;--mdx-code-line:#e6dfd1;--mdx-code-ink:#5c6b62;--mdx-code-mark:#2e7d5b;--mdx-code-mark-soft:#e6f1ea;--mdx-code-add:#15803d;--mdx-code-add-soft:#e4f4e9;--mdx-code-remove:#c2410c;--mdx-code-remove-soft:#fbeae1}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--mdx-surface:#16211d;--mdx-sunken:#1b2823;--mdx-line:#2a3a33;--mdx-ink:#e9f1ec;--mdx-ink-soft:#a9bdb2;--mdx-brand:#6fcf97;--mdx-brand-soft:#16302a;--mdx-info:#6cc7c0;--mdx-info-soft:#12302d;--mdx-tip:#6ddc98;--mdx-tip-soft:#122a1d;--mdx-warning:#f0b45e;--mdx-warning-soft:#2c2214;--mdx-danger:#ff8f85;--mdx-danger-soft:#2e1719;--mdx-code-bg:#131c18;--mdx-code-bar:#182420;--mdx-code-line:#24332c;--mdx-code-ink:#8fa89b;--mdx-code-mark:#6fcf97;--mdx-code-mark-soft:#16302a;--mdx-code-add:#6ddc98;--mdx-code-add-soft:#13291f;--mdx-code-remove:#ff9a7d;--mdx-code-remove-soft:#2c1a15}}:root[data-theme=dark]{--mdx-surface:#16211d;--mdx-sunken:#1b2823;--mdx-line:#2a3a33;--mdx-ink:#e9f1ec;--mdx-ink-soft:#a9bdb2;--mdx-brand:#6fcf97;--mdx-brand-soft:#16302a;--mdx-info:#6cc7c0;--mdx-info-soft:#12302d;--mdx-tip:#6ddc98;--mdx-tip-soft:#122a1d;--mdx-warning:#f0b45e;--mdx-warning-soft:#2c2214;--mdx-danger:#ff8f85;--mdx-danger-soft:#2e1719;--mdx-code-bg:#131c18;--mdx-code-bar:#182420;--mdx-code-line:#24332c;--mdx-code-ink:#8fa89b;--mdx-code-mark:#6fcf97;--mdx-code-mark-soft:#16302a;--mdx-code-add:#6ddc98;--mdx-code-add-soft:#13291f;--mdx-code-remove:#ff9a7d;--mdx-code-remove-soft:#2c1a15}.mdx-callout{border:1px solid color-mix(in srgb, var(--mdx-accent) 35%, transparent);border-left-width:3px;border-left-color:var(--mdx-accent);background:var(--mdx-accent-soft);color:var(--mdx-ink);border-radius:.75rem;gap:.75rem;margin:1.75rem 0;padding:1rem 1.125rem;line-height:1.65;display:flex}.mdx-callout--info{--mdx-accent:var(--mdx-info);--mdx-accent-soft:var(--mdx-info-soft)}.mdx-callout--tip{--mdx-accent:var(--mdx-tip);--mdx-accent-soft:var(--mdx-tip-soft)}.mdx-callout--warning{--mdx-accent:var(--mdx-warning);--mdx-accent-soft:var(--mdx-warning-soft)}.mdx-callout--danger{--mdx-accent:var(--mdx-danger);--mdx-accent-soft:var(--mdx-danger-soft)}.mdx-callout__icon{color:var(--mdx-accent);flex:none;margin-top:.15rem}.mdx-callout__body{min-width:0}.mdx-callout__title{color:var(--mdx-accent);margin:0 0 .25rem;font-weight:600}.mdx-callout__body>:first-child{margin-top:0}.mdx-callout__body>:last-child{margin-bottom:0}.mdx-figure{margin:2rem 0}.mdx-figure--wide{width:min(60rem,100vw - 2rem);margin-inline:calc(50% + -1*min(30rem,50vw - 1rem))}.mdx-figure__frame{border:1px solid var(--mdx-line);background:var(--mdx-sunken);border-radius:.875rem;line-height:0;overflow:hidden}.mdx-figure__image{width:auto;max-height:30rem;display:block}.mdx-equation{margin:2rem 0}.mdx-equation__body{padding-block:.25rem;overflow:auto hidden}.mdx-equation__body .katex-display{margin:0}.mdx-equation__caption,.mdx-figure__caption{color:var(--mdx-ink-soft);text-align:center;margin-top:.625rem;font-size:.875rem;line-height:1.55}.mdx-video .mdx-figure__frame{background:#000}.mdx-video__media{width:100%;height:auto;max-height:36rem;display:block}.mdx-embed{margin:2rem 0}.mdx-embed__frame{aspect-ratio:var(--mdx-embed-ratio,16 / 9);border:1px solid var(--mdx-line);background:#000;border-radius:.875rem;position:relative;overflow:hidden}.mdx-embed__frame>iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.mdx-embed__fallback{border:1px dashed var(--mdx-line);background:var(--mdx-sunken);color:var(--mdx-ink-soft);border-radius:.875rem;padding:1rem 1.125rem;font-size:.875rem;display:block}.mdx-embed__caption{color:var(--mdx-ink-soft);text-align:center;margin-top:.625rem;font-size:.875rem}.mdx-steps{counter-reset:mdx-step;margin:2rem 0}.prose .mdx-steps ol,.mdx-steps ol{margin:0;padding:0;list-style:none}.mdx-steps ol>li{counter-increment:mdx-step;border-left:1px solid var(--mdx-line);margin:0;padding:0 0 1.5rem 2.75rem;position:relative}.mdx-steps ol>li:last-child{border-left-color:#0000;padding-bottom:0}.mdx-steps ol>li:before{content:counter(mdx-step);border:1px solid var(--mdx-line);background:var(--mdx-surface);width:1.875rem;height:1.875rem;color:var(--mdx-ink-soft);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;font-size:.8125rem;font-weight:600;display:grid;position:absolute;top:0;left:-.9375rem}.mdx-steps ol>li>:first-child{margin-top:0}.mdx-table{margin:1.75rem 0}.mdx-table--wide{width:min(60rem,100vw - 2rem);margin-inline:calc(50% + -1*min(30rem,50vw - 1rem))}.mdx-table .mdx-table__scroll{margin:0}.mdx-table .mdx-table__scroll:focus-visible{outline:2px solid var(--mdx-brand);outline-offset:2px}.mdx-table.mdx-table--striped tbody tr:nth-child(2n) td{background:var(--mdx-sunken)}.mdx-table.mdx-table--compact table{font-size:.875rem}.mdx-table.mdx-table--compact th,.mdx-table.mdx-table--compact td{padding:.375rem .75rem}.mdx-table td ul,.mdx-table td ol{margin:0;padding-left:1.1rem}.mdx-table td li{margin:.2rem 0;padding-left:.15rem}.mdx-table td>:first-child,.mdx-table th>:first-child{margin-top:0}.mdx-table td>:last-child,.mdx-table th>:last-child{margin-bottom:0}.mdx-table td>p+p{margin-top:.5rem}.mdx-table__caption{color:var(--mdx-ink-soft);text-align:center;margin-top:.625rem;font-size:.875rem;line-height:1.55}.mdx-accordion{border:1px solid var(--mdx-line);background:var(--mdx-surface);border-radius:.75rem;margin:1.5rem 0}.mdx-accordion__summary{color:var(--mdx-ink);cursor:pointer;align-items:center;gap:.625rem;padding:.875rem 1.125rem;font-weight:600;list-style:none;display:flex}.mdx-accordion__summary::-webkit-details-marker{display:none}.mdx-accordion__summary:focus-visible{outline:2px solid var(--mdx-brand);outline-offset:2px;border-radius:.75rem}.mdx-accordion__chevron{color:var(--mdx-ink-soft);flex:none;transition:transform .15s}.mdx-accordion[open] .mdx-accordion__chevron{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.mdx-accordion__chevron{transition:none}}.mdx-accordion__body{color:var(--mdx-ink);padding:0 1.125rem 1.125rem;line-height:1.7}.mdx-accordion__body>:first-child{margin-top:0}.mdx-accordion__body>:last-child{margin-bottom:0}.mdx-code{border:1px solid var(--mdx-code-line);background:var(--mdx-code-bg);border-radius:.875rem;margin:1.75rem 0;overflow:hidden}.mdx-code__bar{border-bottom:1px solid var(--mdx-code-line);background:var(--mdx-code-bar);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .5rem .5rem .875rem;display:flex}.mdx-code__title{min-width:0;color:var(--mdx-code-ink);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78125rem;overflow:hidden}.mdx-code__title--muted{letter-spacing:.02em;text-transform:uppercase;font-family:inherit;font-weight:600}.mdx-code__tools{flex:none;align-items:center;gap:.5rem;display:flex}.mdx-code__lang{color:var(--mdx-code-ink);letter-spacing:.04em;text-transform:uppercase;font-size:.6875rem;font-weight:600}.mdx-code__copy{color:var(--mdx-code-ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.75rem;display:inline-flex}.mdx-code__copy:hover{border-color:var(--mdx-code-line);background:var(--mdx-code-bg)}.mdx-code__copy:focus-visible{outline:2px solid var(--mdx-code-mark);outline-offset:1px}.mdx-code__copy.is-done{color:var(--mdx-code-add)}.mdx-code .astro-code{tab-size:2;border:0;border-radius:0;margin:0;padding:.875rem 0;font-size:.8125rem;line-height:1.7;overflow-x:auto;background:0 0!important}.mdx-code .astro-code>code{min-width:max-content;font-size:inherit;background:0 0;border:0;padding:0;display:grid}.mdx-code__line{background:var(--mdx-code-bg);border-left:2px solid #0000;padding-inline:1rem}.mdx-code .astro-code,.mdx-code .astro-code span{color:var(--shiki-light)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mdx-code .astro-code,:root:not([data-theme=light]) .mdx-code .astro-code span{color:var(--shiki-dark)}}:root[data-theme=dark] .mdx-code .astro-code,:root[data-theme=dark] .mdx-code .astro-code span{color:var(--shiki-dark)}.mdx-code__line--mark{border-left-color:var(--mdx-code-mark);background:var(--mdx-code-mark-soft)}.mdx-code__line--add{border-left-color:var(--mdx-code-add);background:var(--mdx-code-add-soft)}.mdx-code__line--remove{border-left-color:var(--mdx-code-remove);background:var(--mdx-code-remove-soft);opacity:.78}.mdx-code__gutter{background:inherit;color:var(--mdx-code-ink);text-align:right;-webkit-user-select:none;user-select:none;justify-content:flex-end;align-items:baseline;gap:.5rem;margin-right:1rem;padding-right:.625rem;display:inline-flex;position:sticky;left:0}.mdx-code__number{opacity:.65;font-variant-numeric:tabular-nums;min-width:1.5ch}.mdx-code--diff .mdx-code__sign{min-width:1ch;font-weight:700}.mdx-code__line--add .mdx-code__sign{color:var(--mdx-code-add)}.mdx-code__line--remove .mdx-code__sign{color:var(--mdx-code-remove)}.mdx-code--wrap .astro-code>code{min-width:0}.mdx-code--wrap .mdx-code__line{white-space:pre-wrap;word-break:break-word}.mdx-code__caption{border-top:1px solid var(--mdx-code-line);color:var(--mdx-code-ink);padding:.625rem 1rem;font-size:.8125rem;line-height:1.55}.mdx-link__icon{vertical-align:.05em;margin-left:.125em;display:inline-block}.prose{--prose-measure:80ch;color:var(--ink-secondary);overflow-wrap:break-word;font-size:1.0625rem;line-height:1.8}.prose h2,.prose h3,.prose h4{color:var(--ink);font-family:var(--font-display), serif;letter-spacing:-.015em;scroll-margin-top:6rem;font-weight:600}.prose h2{border-bottom:1px solid var(--line);margin:3rem 0 1rem;padding-bottom:.5rem;font-size:1.625rem;line-height:1.3}.prose h3{margin:2.25rem 0 .75rem;font-size:1.25rem;line-height:1.4}.prose h4{margin:1.75rem 0 .5rem;font-size:1.0625rem}.prose>:first-child{margin-top:0}.prose .heading-anchor{color:var(--ink-muted);font-family:var(--font-sans), sans-serif;opacity:0;margin-left:.4rem;font-weight:400;text-decoration:none;transition:opacity .15s}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}.prose p{max-width:var(--prose-measure);margin:1.25rem 0}.prose strong{color:var(--ink);font-weight:650}.prose a{color:var(--accent);text-underline-offset:.2em;text-decoration:underline 1px;text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent)}.prose a:hover{text-decoration-color:currentColor}.prose ul,.prose ol{max-width:var(--prose-measure);text-align:left;margin:1.25rem 0;padding-left:1.35rem}.prose :is(th,td) :is(ul,ol){text-align:inherit}.prose :is(th,td)[style*=center] :is(ul,ol){padding-left:0;list-style-position:inside}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li{margin:.4rem 0;padding-left:.25rem}.prose li::marker{color:var(--ink-muted)}.prose li>ul,.prose li>ol{margin:.4rem 0}.prose blockquote{border-left:3px solid var(--accent);color:var(--ink-secondary);margin:1.75rem 0;padding:.25rem 0 .25rem 1.25rem;font-style:italic}.prose blockquote p:first-child{margin-top:0}.prose blockquote p:last-child{margin-bottom:0}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}.prose img,.prose video{border-radius:.875rem;width:100%;height:auto;display:block}.prose kbd{border:1px solid var(--line-strong);background:var(--surface);border-bottom-width:2px;border-radius:.35rem;padding:.1rem .35rem;font-size:.85em}.prose .table-scroll{border:1px solid var(--line);border-radius:.75rem;margin:1.75rem 0;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:.9375rem}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.625rem .875rem}.prose th{background:var(--surface-sunken);color:var(--ink);white-space:nowrap;font-weight:600}.prose tbody tr:last-child td{border-bottom:0}.prose :not(pre)>code{border:1px solid var(--mdx-code-line);background:var(--mdx-code-bg);color:var(--ink);word-break:break-word;border-radius:.375rem;padding:.125em .375em;font-size:.875em}.prose .code-block{margin:1.75rem 0;position:relative}.prose pre{border:1px solid var(--mdx-code-line);tab-size:2;border-radius:.875rem;margin:0;padding:1rem 1.125rem;font-size:.8125rem;line-height:1.7;overflow-x:auto;background:var(--mdx-code-bg)!important}.prose pre>code{min-width:max-content;font-size:inherit;background:0 0;border:0;padding:0;display:block}.prose .astro-code,.prose .astro-code span{color:var(--shiki-light)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .prose .astro-code,:root:not([data-theme=light]) .prose .astro-code span{color:var(--shiki-dark)}}:root[data-theme=dark] .prose .astro-code,:root[data-theme=dark] .prose .astro-code span{color:var(--shiki-dark)}.prose .code-copy{border:1px solid var(--mdx-code-line);background:var(--mdx-code-bar);color:var(--mdx-code-ink);font:inherit;cursor:pointer;opacity:0;border-radius:.5rem;padding:.25rem .5rem;font-size:.6875rem;line-height:1.4;transition:opacity .15s;position:absolute;top:.5rem;right:.5rem}.prose .code-block:hover .code-copy,.prose .code-copy:focus-visible{opacity:1}@media (hover:none){.prose .code-copy{opacity:1}}@media (prefers-reduced-motion:reduce){.prose .heading-anchor,.prose .code-copy{transition:none}}@media (width<=640px){.prose{font-size:1rem;line-height:1.75}.prose h2{margin-top:2.25rem;font-size:1.4rem}.prose h3{font-size:1.15rem}}.prose .media-frame{margin:2rem 0;line-height:0;position:relative}.prose .media-frame>img,.prose .media-frame>video{margin:0}.img-js :is([data-cover],.prose img:not(astro-island img)):not(.img-loaded){background-color:var(--surface-sunken);background-image:linear-gradient(100deg, transparent 30%, color-mix(in srgb, var(--surface) 70%, transparent) 50%, transparent 70%);color:#0000;background-size:200% 100%;animation:1.4s ease-in-out infinite img-shimmer;overflow:hidden}.img-js .prose img:not(astro-island img):not(.img-loaded,[height]){aspect-ratio:16/9;width:100%}.img-js :is([data-cover],.prose img:not(astro-island img)).img-loaded{animation:.4s both img-fade-in}@keyframes img-shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}@keyframes img-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.img-js :is([data-cover],.prose img){animation:none!important}}.has-lightbox{position:relative}.media-zoomable{cursor:zoom-in}.media-expand{z-index:1;color:#fff;cursor:pointer;opacity:0;backdrop-filter:blur(6px);background:#0f17148c;border:1px solid #ffffff40;border-radius:999px;place-items:center;width:2.125rem;height:2.125rem;transition:opacity .15s,transform .2s;display:grid;position:absolute;top:.625rem;right:.625rem}.has-lightbox:hover .media-expand,.media-expand:focus-visible{opacity:1}.media-expand:hover{transform:scale(1.06)}@media (hover:none){.media-expand{opacity:1}}.lightbox{color:#fff;background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0}.lightbox::backdrop{backdrop-filter:blur(10px);background:#080e0cd1}.lightbox[open]{grid-template-rows:auto 1fr auto;animation:.3s cubic-bezier(.22,1,.36,1) lightbox-in;display:grid}.lightbox[open]::backdrop{animation:.25s lightbox-fade}.lightbox__chrome{justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.lightbox__counter{font-variant-numeric:tabular-nums;color:#ffffffb3;margin:0;font-size:.8125rem}.lightbox__button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;place-items:center;width:2.75rem;height:2.75rem;transition:background .15s,transform .15s;display:grid}.lightbox__button:hover{background:#ffffff29}.lightbox__button:focus-visible{outline-offset:2px;outline:2px solid #fff}.lightbox__nav{z-index:1;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__nav--prev{left:1rem}.lightbox__nav--next{right:1rem}.lightbox__stage{place-items:center;min-height:0;padding:0 4.5rem;display:grid}.lightbox__media{border-radius:.75rem;max-width:min(100%,90rem);max-height:calc(100dvh - 9rem);animation:.35s cubic-bezier(.22,1,.36,1) lightbox-media;display:block;box-shadow:0 30px 80px -20px #000c}.lightbox__frame{aspect-ratio:16/9;background:#000;width:min(100%,177.778dvh - 16rem,90rem);overflow:hidden}.lightbox__frame>iframe{border:0;width:100%;height:100%;display:block}.lightbox__caption{text-align:center;color:#ffffffbf;margin:0;padding:.875rem 4.5rem 1.25rem;font-size:.875rem;line-height:1.5}.lightbox__caption[hidden]{display:none}html.lightbox-open{overflow:hidden}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}@keyframes lightbox-media{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@media (width<=640px){.lightbox__stage{padding:0 .75rem}.lightbox__nav{top:auto;bottom:4.5rem;transform:none}.lightbox__caption{padding-inline:1rem;padding-bottom:5rem}}@media (prefers-reduced-motion:reduce){.lightbox[open],.lightbox[open]::backdrop,.lightbox__media,.media-expand{transition:none;animation:none}}@media (width>=64rem){.prose :is(.mdx-figure--wide,.mdx-table--wide,.pg--wide){width:auto;margin-inline:0}}
