.share-btn[data-astro-cid-tmb42whk]{border-radius:var(--radius-md);border:1px solid var(--color-hairline-strong);background:var(--color-canvas);width:40px;height:40px;color:var(--color-body);justify-content:center;align-items:center;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.share-btn[data-astro-cid-tmb42whk]:hover{color:var(--color-brand-strong);border-color:var(--color-brand)}.share-btn[data-astro-cid-tmb42whk]:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.share-btn[data-astro-cid-tmb42whk] svg[data-astro-cid-tmb42whk]{width:18px;height:18px}.share-btn[data-astro-cid-tmb42whk].is-copied{color:var(--color-success);border-color:var(--color-success)}@media(prefers-reduced-motion:reduce){.share-btn[data-astro-cid-tmb42whk]{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}.rich-text :is(h2,h3){position:relative}.heading-anchor{text-align:center;width:1.1em;color:var(--color-mute);opacity:0;text-decoration:none;transition:opacity .15s,color .15s;position:absolute;top:0;left:-1.1em}.heading-anchor:hover{color:var(--color-brand-strong)}.rich-text :is(h2,h3):hover>.heading-anchor,.heading-anchor:focus-visible{opacity:1}@media(max-width:1279px){.heading-anchor{display:none}}.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)}@media(prefers-reduced-motion:reduce){.reading-progress-fill,.back-to-top,.heading-anchor,.toc-link{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 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:20px 24px;position:relative;overflow-x:auto}.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}
