.mermaid-diagram{border:1px solid var(--border-color);background:var(--bg-color-muted);text-align:center;border-radius:.75rem;margin:1.75rem 0;padding:1.25rem;position:relative}.mermaid-diagram__canvas{overscroll-behavior-x:contain;overflow-x:auto}.mermaid-diagram__canvas:focus-visible{outline:2px solid rgb(var(--accent-rgb));outline-offset:4px;border-radius:.25rem}.mermaid-diagram svg{max-width:100%;height:auto;margin:0 auto;display:block}.mermaid-diagram__hint{color:var(--text-muted);font-family:var(--font-mono);margin-top:.75rem;font-size:.75rem;display:none}.mermaid-diagram__canvas.is-scrollable+.mermaid-diagram__hint{display:block}@media (width<=640px){.mermaid-diagram{margin-inline:-.5rem;padding:.75rem}}.mermaid-diagram__controls{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.mermaid-diagram__toggle{border:1px solid var(--border-color);background:var(--bg-color);min-width:4rem;min-height:1.75rem;color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;transition:color var(--transition-base), border-color var(--transition-base);border-radius:999px;flex-shrink:0;padding:.25rem .625rem;font-size:.75rem;line-height:1}.mermaid-diagram__toggle:hover{color:var(--text-color);border-color:rgba(var(--accent-rgb), .6)}.mermaid-diagram__toggle:focus-visible{outline:2px solid rgb(var(--accent-rgb));outline-offset:2px}.mermaid-diagram__scrubber{--progress:0%;min-width:0;height:1.75rem;box-shadow:none;cursor:pointer;appearance:none;background:0 0;border:0;border-radius:0;flex:1;margin:0;padding:0}.mermaid-diagram__scrubber::-webkit-slider-runnable-track{background:linear-gradient(to right, rgb(var(--accent-rgb)) var(--progress), var(--border-color) var(--progress));border-radius:999px;height:4px}.mermaid-diagram__scrubber::-moz-range-track{background:var(--border-color);border-radius:999px;height:4px}.mermaid-diagram__scrubber::-moz-range-progress{background:rgb(var(--accent-rgb));border-radius:999px;height:4px}.mermaid-diagram__scrubber::-webkit-slider-thumb{border:2px solid rgb(var(--accent-rgb));background:var(--text-color);appearance:none;border-radius:50%;width:14px;height:14px;margin-top:-5px}.mermaid-diagram__scrubber::-moz-range-thumb{border:2px solid rgb(var(--accent-rgb));background:var(--text-color);border-radius:50%;width:10px;height:10px}.mermaid-diagram__scrubber:focus-visible{outline:2px solid rgb(var(--accent-rgb));outline-offset:2px;border-radius:.25rem}.mermaid-diagram__step{min-width:3.5rem;color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;font-size:.75rem}.mermaid-packet{fill:rgb(var(--accent-rgb))}.mermaid-packet--muted{fill:var(--text-muted)}.mermaid-diagram .seq-step{opacity:0;transition:opacity .3s}.mermaid-diagram .seq-step--line{transform-box:fill-box;transition:opacity .2s ease, transform .55s var(--ease-out);transform:scaleX(0)}.mermaid-diagram .seq-step.is-shown{opacity:1}.mermaid-diagram .seq-step--line.is-shown{transform:scaleX(1)}.reading-progress[data-astro-cid-6elnia4l]{z-index:200;pointer-events:none;height:2px;position:fixed;inset:0 0 auto}.reading-progress__bar[data-astro-cid-6elnia4l]{background:var(--link-color);transform-origin:0;will-change:transform;width:100%;height:100%;transform:scaleX(0)}.scroll-top[data-astro-cid-6elnia4l]{right:max(1.5rem, env(safe-area-inset-right));bottom:max(1.5rem, env(safe-area-inset-bottom));z-index:150;backdrop-filter:blur(8px);color:#ffffffb8;cursor:pointer;opacity:0;visibility:hidden;width:2.75rem;height:2.75rem;transition:opacity .2s var(--ease-out), transform .2s var(--ease-out), visibility .2s, color var(--transition-base);background:#17151dd9;border:0;border-radius:999px;place-items:center;padding:0;display:grid;position:fixed;transform:translateY(.5rem)}.scroll-top[data-astro-cid-6elnia4l].is-visible{opacity:1;visibility:visible;transform:none}.scroll-top[data-astro-cid-6elnia4l]:hover{color:var(--text-color)}.scroll-top[data-astro-cid-6elnia4l]:active{transform:scale(.94)}.scroll-top[data-astro-cid-6elnia4l]:focus-visible{outline:2px solid var(--link-color);outline-offset:3px}.scroll-top[data-astro-cid-6elnia4l]>svg[data-astro-cid-6elnia4l]{grid-area:1/1}.scroll-top__ring[data-astro-cid-6elnia4l]{width:100%;height:100%;transform:rotate(-90deg)}.scroll-top__track[data-astro-cid-6elnia4l],.scroll-top__fill[data-astro-cid-6elnia4l]{fill:none;stroke-width:2px}.scroll-top__track[data-astro-cid-6elnia4l]{stroke:#ffffff1a}.scroll-top__fill[data-astro-cid-6elnia4l]{stroke:var(--link-color);stroke-linecap:round}.scroll-top__arrow[data-astro-cid-6elnia4l]{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.scroll-top[data-astro-cid-6elnia4l]{transition:none}}@media print{.reading-progress[data-astro-cid-6elnia4l],.scroll-top[data-astro-cid-6elnia4l]{display:none}}.toc__title[data-astro-cid-y2enqxn2]{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .75rem;font-size:.8125rem;font-weight:600}.toc__list[data-astro-cid-y2enqxn2]{margin:0;padding:0;list-style:none}.toc__item[data-astro-cid-y2enqxn2]{padding:.2rem 0;padding-left:calc(var(--toc-depth,0) * .75rem);border-left:2px solid #0000;margin:0}.toc__link[data-astro-cid-y2enqxn2]{color:var(--text-muted);border-radius:.25rem;margin-left:-.35rem;padding:.2rem .35rem;font-size:.875rem;line-height:1.45;text-decoration:none;transition:color .15s,background-color .15s;display:block}.toc__link[data-astro-cid-y2enqxn2]:hover{color:var(--text-color);background:var(--hover-bg)}.toc__link[data-astro-cid-y2enqxn2]:focus-visible{outline:2px solid var(--link-color);outline-offset:2px}.toc--collapsible[data-astro-cid-y2enqxn2]{border:1px solid var(--border-color);background:var(--hover-bg);border-radius:.5rem;margin-bottom:1.5rem;overflow:hidden}.toc--collapsible[data-astro-cid-y2enqxn2] .toc__summary[data-astro-cid-y2enqxn2]{color:var(--text-color);cursor:pointer;user-select:none;padding:.85rem 1rem;font-size:.9375rem;font-weight:600;list-style:none}.toc--collapsible[data-astro-cid-y2enqxn2] .toc__summary[data-astro-cid-y2enqxn2]::-webkit-details-marker{display:none}.toc--collapsible[data-astro-cid-y2enqxn2] .toc__summary[data-astro-cid-y2enqxn2]:after{content:"";float:right;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);width:.5rem;height:.5rem;margin-top:.35rem;transition:transform .2s;transform:rotate(45deg)}.toc--collapsible[data-astro-cid-y2enqxn2][open] .toc__summary[data-astro-cid-y2enqxn2]:after{margin-top:.5rem;transform:rotate(-135deg)}.toc--collapsible[data-astro-cid-y2enqxn2] .toc__summary[data-astro-cid-y2enqxn2]:focus-visible{outline:2px solid var(--link-color);outline-offset:-2px}.toc--collapsible[data-astro-cid-y2enqxn2] .toc__nav[data-astro-cid-y2enqxn2]{border-top:1px solid var(--border-color);margin-top:0;padding:.75rem 1rem 1rem}.toc--collapsible[data-astro-cid-y2enqxn2] .toc__title[data-astro-cid-y2enqxn2]{display:none}.toc[data-astro-cid-y2enqxn2] a[data-astro-cid-y2enqxn2].toc__link:after,.toc--collapsible[data-astro-cid-y2enqxn2] a[data-astro-cid-y2enqxn2].toc__link:after{content:none!important;display:none!important}
