.guide-faq[data-astro-cid-llldwmiz]>summary[data-astro-cid-llldwmiz]::-webkit-details-marker{display:none}.guide-faq[data-astro-cid-llldwmiz][open]>summary[data-astro-cid-llldwmiz] .guide-faq-chevron[data-astro-cid-llldwmiz]{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.guide-faq-chevron[data-astro-cid-llldwmiz]{transition:none}}.reading-progress{z-index:50;pointer-events:none;height:3px;position:fixed;inset:0 0 auto}.reading-progress-fill{transform-origin:0;background:linear-gradient(90deg,var(--color-brand),var(--color-brand-strong));width:100%;height:100%;display:block;transform:scaleX(0)}.toc-link.is-active{color:var(--color-ink);border-color:var(--color-brand);font-weight:600}.toc-h2.is-active{background:#4a8c3f12}@supports (color:color-mix(in lab,red,red)){.toc-h2.is-active{background:color-mix(in srgb,var(--color-brand) 7%,transparent)}}.toc-children{display:none}.toc-group[data-open] .toc-children{display:block}.rich-text :is(h2,h3){position:relative}.heading-anchor{color:var(--color-mute);word-break:keep-all;margin-left:.4em;font-weight:400;text-decoration:none;transition:opacity .15s,color .15s}.heading-anchor:hover{color:var(--color-brand-strong)}.heading-anchor:focus-visible{opacity:1;color:var(--color-brand-strong)}@media(min-width:1280px){.heading-anchor{text-align:center;opacity:0;width:1.1em;margin-left:0;position:absolute;top:0;left:-1.1em}.rich-text :is(h2,h3):hover>.heading-anchor,.heading-anchor:focus-visible{opacity:1}}.back-to-top{z-index:50;border:1px solid var(--color-hairline-strong);background:var(--color-canvas);width:44px;height:44px;color:var(--color-ink);opacity:0;visibility:hidden;border-radius:9999px;justify-content:center;align-items:center;transition:opacity .2s,transform .2s,visibility .2s,color .15s,border-color .15s;display:inline-flex;position:fixed;bottom:1.25rem;right:1.25rem;transform:translateY(8px);box-shadow:0 4px 16px #0000001f}.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}.back-to-top:hover{color:var(--color-brand-strong);border-color:var(--color-brand)}.toc-mobile-link.is-active{color:var(--color-ink);font-weight:600}.toc-mobile-link.is-active .toc-mobile-min{color:var(--color-brand-strong)}.sections-fab{z-index:50;border:1px solid var(--color-hairline-strong);background:var(--color-canvas);width:44px;height:44px;color:var(--color-ink);border-radius:9999px;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:inline-flex;position:fixed;bottom:calc(1.875rem + 44px);right:1.25rem;box-shadow:0 4px 16px #0000001f}.sections-fab:hover,.sections-fab[aria-expanded=true]{color:var(--color-brand-strong);border-color:var(--color-brand)}@media(min-width:64rem){.sections-fab,.sections-scrim,.sections-panel{display:none!important}}.sections-scrim{z-index:60;opacity:0;background:#0006;transition:opacity .2s;position:fixed;inset:0}.sections-scrim.is-open{opacity:1}.sections-panel{z-index:61;background:var(--color-canvas);border-top:1px solid var(--color-hairline-strong);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);max-height:75dvh;padding:.75rem 1rem calc(1rem + env(safe-area-inset-bottom));flex-direction:column;transition:transform .25s;display:flex;position:fixed;inset:auto 0 0;transform:translateY(100%);box-shadow:0 -8px 32px #0000002e}.sections-panel.is-open{transform:none}.sections-panel:focus{outline:none}.sections-panel-head{border-bottom:1px solid var(--color-hairline);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.5rem;display:flex}.sections-close{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-mute);justify-content:center;align-items:center;transition:color .15s,background-color .15s;display:inline-flex}.sections-close:hover{color:var(--color-ink);background:var(--color-canvas-soft-2)}.sections-panel-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;margin-top:.25rem;display:flex;overflow-y:auto}.sections-panel-list>li+li{border-top:1px solid var(--color-hairline)}.sections-panel-link{color:var(--color-mute);padding:.7rem .25rem;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s}.sections-panel-link:hover{color:var(--color-ink)}.resume-toast{z-index:62;border:1px solid var(--color-hairline-strong);background:var(--color-canvas);max-width:calc(100vw - 2rem);color:var(--color-ink);opacity:0;border-radius:9999px;align-items:center;gap:.75rem;padding:.625rem .75rem .625rem 1rem;font-size:13px;transition:opacity .2s,transform .2s;display:inline-flex;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%,8px);box-shadow:0 6px 24px #00000029}.resume-toast.is-visible{opacity:1;transform:translate(-50%)}@media(max-width:1023px){.resume-toast{max-width:none;left:1rem;right:calc(2rem + 44px);transform:translateY(8px)}.resume-toast.is-visible{transform:translateY(0)}}.resume-toast-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-mute);overflow:hidden}.resume-toast-section{color:var(--color-ink);font-weight:600}.resume-toast-action{border:1px solid var(--color-hairline-strong);color:var(--color-brand-strong);white-space:nowrap;border-radius:9999px;flex-shrink:0;padding:.25rem .6rem;font-weight:600;transition:border-color .15s,background-color .15s}.resume-toast-action:hover{border-color:var(--color-brand);background:#4a8c3f14}@supports (color:color-mix(in lab,red,red)){.resume-toast-action:hover{background:color-mix(in srgb,var(--color-brand) 8%,transparent)}}.resume-toast-dismiss{width:24px;height:24px;color:var(--color-mute);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s;display:inline-flex}.resume-toast-dismiss:hover{color:var(--color-ink)}@media(prefers-reduced-motion:reduce){.reading-progress-fill,.back-to-top,.heading-anchor,.toc-link,.sections-fab,.sections-scrim,.sections-panel,.resume-toast{transition:none}}.rich-text{color:var(--color-body);font-family:var(--font-sans);overflow-wrap:break-word;font-size:16px;line-height:30px}.rich-text>:first-child{margin-top:0}.rich-text>:last-child{margin-bottom:0}.rich-text .chapter-meta{font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-mute);margin:6px 0 0;font-size:12px}.rich-text .chapter-pager{border-top:1px solid var(--color-hairline);flex-wrap:wrap;gap:1rem;margin-top:44px;padding-top:20px;display:flex}.rich-text .chapter-link{flex-direction:column;flex:45%;gap:2px;min-width:0;text-decoration:none;display:flex}.rich-text .chapter-prev{align-items:flex-start}.rich-text .chapter-next{text-align:right;align-items:flex-end;margin-left:auto}.rich-text .chapter-dir{color:var(--color-mute);font-size:12px;font-weight:500}.rich-text .chapter-title{color:var(--color-link);overflow-wrap:anywhere;font-size:14px;font-weight:600}.rich-text .chapter-link:hover .chapter-title{color:var(--color-link-deep);text-decoration:underline}@media(max-width:480px){.rich-text .chapter-pager{flex-direction:column}.rich-text .chapter-link{flex:100%}.rich-text .chapter-next{text-align:left;align-items:flex-start;margin-left:0}}.rich-text p{text-wrap:pretty}.rich-text :is(h2,h3,h4){color:var(--color-ink);letter-spacing:-.01em;text-wrap:balance;scroll-margin-top:88px;font-weight:600}.rich-text h2{letter-spacing:-.01em;margin-top:48px;margin-bottom:16px;font-size:clamp(22px,2.4vw,24px);line-height:32px}.rich-text h3{letter-spacing:-.005em;margin-top:36px;margin-bottom:12px;font-size:clamp(18px,2vw,20px);line-height:28px}.rich-text h4{margin-top:28px;margin-bottom:8px;font-size:16px;line-height:24px}.rich-text p{margin-block:32px}.rich-text :is(ul,ol){flex-direction:column;gap:8px;margin-block:28px;padding-left:24px;display:flex}.rich-text ul{list-style:outside}.rich-text ol{list-style:decimal}.rich-text li::marker{color:var(--color-mute)}.rich-text li>:is(ul,ol){margin-block:8px}.rich-text a{color:var(--color-link);text-underline-offset:2px;overflow-wrap:anywhere;text-decoration:underline;text-decoration-thickness:1px;transition:color .15s,text-decoration-color .15s}.rich-text a:hover{color:var(--color-link-deep)}.rich-text strong{color:var(--color-ink);font-weight:600}.rich-text blockquote{border-left:2px solid var(--color-hairline-strong);color:var(--color-body);margin-block:24px;padding-left:20px;font-style:normal}.rich-text :not(pre)>code{font-family:var(--font-mono);background:var(--color-canvas-soft-2);color:var(--color-ink);border-radius:var(--radius-xs);border:1px solid var(--color-hairline-strong);overflow-wrap:anywhere;overflow-wrap:break-word;padding:2px 6px;font-size:13px}.rich-text pre{border-radius:var(--radius-md);background:var(--color-inverse);color:var(--color-inverse-fg);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;box-shadow:var(--shadow-subtle);tab-size:2;margin-block:36px;padding:38px 24px 20px;position:relative;overflow-x:auto}.rich-text pre:before{content:attr(data-language);z-index:1;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:#f4f1ea80;font-size:11px;position:absolute;top:10px;left:16px}@supports (color:color-mix(in lab,red,red)){.rich-text pre:before{color:color-mix(in srgb,var(--color-inverse-fg) 50%,transparent)}}.rich-text pre:before{pointer-events:none}.rich-text pre[data-language=plaintext],.rich-text pre:not([data-language]){padding-top:20px}.rich-text pre[data-language=plaintext]:before,.rich-text pre:not([data-language]):before{content:""}.rich-text pre .rich-code-copy{z-index:1;border:1px solid #f4f1ea47;padding:4px 10px;position:absolute;top:8px;right:8px}@supports (color:color-mix(in lab,red,red)){.rich-text pre .rich-code-copy{border:1px solid color-mix(in srgb,var(--color-inverse-fg) 28%,transparent)}}.rich-text pre .rich-code-copy{border-radius:var(--radius-xs);background:#f4f1ea1a}@supports (color:color-mix(in lab,red,red)){.rich-text pre .rich-code-copy{background:color-mix(in srgb,var(--color-inverse-fg) 10%,transparent)}}.rich-text pre .rich-code-copy{color:var(--color-inverse-fg);font-family:var(--font-mono);cursor:pointer;opacity:.7;font-size:12px;line-height:1;transition:opacity .15s,background-color .15s,border-color .15s}.rich-text pre:hover .rich-code-copy,.rich-text pre .rich-code-copy:focus-visible{opacity:1}.rich-text pre .rich-code-copy:hover{background:#f4f1ea2e}@supports (color:color-mix(in lab,red,red)){.rich-text pre .rich-code-copy:hover{background:color-mix(in srgb,var(--color-inverse-fg) 18%,transparent)}}.rich-text pre .rich-code-copy[data-copied]{opacity:1;border-color:#33652c99}@supports (color:color-mix(in lab,red,red)){.rich-text pre .rich-code-copy[data-copied]{border-color:color-mix(in srgb,var(--color-success) 60%,transparent)}}.rich-text pre .rich-code-copy[data-copied]{color:var(--color-success)}@media(prefers-reduced-motion:reduce){.rich-text pre .rich-code-copy{transition:none}}.rich-text pre code{font-family:var(--font-mono);white-space:pre;box-shadow:none;background:0 0;padding:0;font-size:13px;line-height:20px}.rich-text hr{border:0;border-top:1px solid var(--color-hairline);margin-block:40px}.rich-text img{border-radius:var(--radius-md);max-width:100%;height:auto;margin-block:24px}.rich-text blockquote{border-left:3px solid var(--color-brand);background:var(--color-canvas-soft-2);border-radius:var(--radius-sm);padding:12px 16px}.rich-text blockquote :is(p):first-child strong:first-child{display:inline-block}.rich-text blockquote[data-callout=tip]{border-left-color:var(--color-info);background:#dfe2e5}@supports (color:color-mix(in lab,red,red)){.rich-text blockquote[data-callout=tip]{background:color-mix(in srgb,var(--color-info) 8%,var(--color-canvas-soft-2))}}.rich-text blockquote[data-callout=tip] :is(p):first-child strong:first-child{color:#1e4fa7}@supports (color:color-mix(in lab,red,red)){.rich-text blockquote[data-callout=tip] :is(p):first-child strong:first-child{color:color-mix(in srgb,var(--color-info) 75%,var(--color-ink))}}.rich-text blockquote[data-callout=warning]{border-left-color:var(--color-warning);background:#eae0d0}@supports (color:color-mix(in lab,red,red)){.rich-text blockquote[data-callout=warning]{background:color-mix(in srgb,var(--color-warning) 10%,var(--color-canvas-soft-2))}}.rich-text blockquote[data-callout=warning] :is(p):first-child strong:first-child{color:#75450b}@supports (color:color-mix(in lab,red,red)){.rich-text blockquote[data-callout=warning] :is(p):first-child strong:first-child{color:color-mix(in srgb,var(--color-warning-deep) 80%,var(--color-ink))}}.rich-text blockquote[data-callout=aside]{border-left-color:var(--color-hairline-strong);background:0 0}.rich-text blockquote[data-callout=aside] :is(p):first-child strong:first-child{color:var(--color-mute)}.rich-text{counter-reset:dgm}.rich-text figure.dgm{border:1px solid var(--color-hairline);border-radius:var(--radius-md);background:var(--color-canvas-soft);text-align:center;margin-block:36px;padding:24px 16px}.rich-text figure.dgm figcaption:before{counter-increment:dgm;content:"Fig. " counter(dgm) " — ";color:var(--color-ink);font-weight:600}.rich-text figure.dgm svg{max-width:100%;height:auto;color:var(--color-ink);margin:0 auto;display:block}.rich-text figure.dgm figcaption{color:var(--color-mute);text-wrap:pretty;margin-top:14px;font-size:13px;line-height:1.5}.rich-text .dgm .dgm-surface{fill:var(--color-canvas-soft-2)}.rich-text .dgm .dgm-surface-2{fill:var(--color-canvas-soft)}.rich-text .dgm .dgm-stroke{stroke:var(--color-hairline-strong)}.rich-text .dgm .dgm-ink{fill:var(--color-ink)}.rich-text .dgm .dgm-ink-stroke{stroke:var(--color-ink)}.rich-text .dgm .dgm-muted{fill:var(--color-mute)}.rich-text .dgm .dgm-muted-stroke{stroke:var(--color-mute)}.rich-text .dgm .dgm-accent{fill:var(--color-brand)}.rich-text .dgm .dgm-accent-stroke{stroke:var(--color-brand)}.rich-text .dgm .dgm-accent-soft{fill:#4a8c3f24}@supports (color:color-mix(in lab,red,red)){.rich-text .dgm .dgm-accent-soft{fill:color-mix(in srgb,var(--color-brand) 14%,transparent)}}
