.bi-article{--bi-surface:#18181b;--bi-surface-deep:#0c0c0e;--bi-line:#27272a;--bi-line-strong:#3f3f46;--bi-text:#e4e4e7;--bi-text-muted:#8f8f8f;--bi-text-dim:#71717a;--bi-model:#92b5d9;--bi-code:#9ac3a7;--bi-user:#debf8d;--bi-error:#db9595;--bi-neutral:#d4d4d8}@supports (color:lab(0% 0 0)){.bi-article{--bi-model:lab(72.0291% -5.62236 -22.5746);--bi-code:lab(75.2826% -18.7057 9.59494);--bi-user:lab(79.2393% 6.04785 29.869);--bi-error:lab(68.9719% 27.0768 11.717)}}.bi-figure{--fig-w:min(52rem, calc(100vw - 2rem));width:var(--fig-w);margin:3rem calc((100% - var(--fig-w)) / 2) 3.5rem}.bi-figure[data-width=column]{--fig-w:min(42rem, calc(100vw - 2rem))}.bi-figure-canvas{container-type:inline-size}.bi-diagram{width:100%;height:auto;font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;display:block;overflow:visible}@container (max-width:559px){.bi-diagram-wrap[data-responsive] .bi-layout-wide{display:none}}@container (min-width:560px){.bi-layout-narrow{display:none}}.bi-node,.bi-edge,.bi-chip{--tone:var(--bi-neutral)}[data-tone=model]{--tone:var(--bi-model)}[data-tone=code]{--tone:var(--bi-code)}[data-tone=user]{--tone:var(--bi-user)}[data-tone=error]{--tone:var(--bi-error)}.bi-node rect{fill:var(--bi-surface);stroke:var(--bi-line-strong);stroke-width:1px;transition:fill .3s ease-out,stroke .3s ease-out}.bi-node-title{fill:var(--bi-text);letter-spacing:-.01em;font-size:13px;font-weight:500}.bi-node-line{fill:var(--bi-text-muted);font-family:var(--font-geist-mono), ui-monospace, monospace;font-size:11px}.bi-node[data-state=active] rect{stroke:var(--tone);stroke-width:1.5px;fill:color-mix(in oklab, var(--tone) 18%, var(--bi-surface))}.bi-node[data-state=visited] rect{stroke:color-mix(in oklab, var(--tone) 45%, var(--bi-line-strong))}.bi-node[data-state=muted] rect{fill:var(--bi-surface-deep);stroke-dasharray:4 4}.bi-node[data-state=muted] .bi-node-title,.bi-node[data-state=muted] .bi-node-line{fill:var(--bi-text-dim)}.bi-node[data-state=error] rect{stroke:var(--bi-error);stroke-dasharray:4 3;fill:color-mix(in oklab, var(--bi-error) 10%, var(--bi-surface))}.bi-node[role=button]{cursor:pointer;outline:none}.bi-node[role=button]:hover rect{stroke:#71717a}.bi-node[role=button][data-state=active]:hover rect{stroke:var(--tone)}.bi-node[data-selected] rect{stroke-width:1.75px}.bi-node[role=button]:focus-visible rect{stroke:#fafafa;stroke-width:2px}.bi-edge polyline{fill:none;stroke:var(--bi-line-strong);stroke-width:1.3px;stroke-linejoin:round;transition:stroke .3s ease-out}.bi-edge[data-dashed] polyline{stroke-dasharray:5 5}.bi-edge[data-state=visited] polyline{stroke:#71717a}.bi-edge[data-state=active] polyline{stroke:var(--tone)}.bi-edge[data-state=muted] polyline{stroke:var(--bi-line)}.bi-edge[data-state=error] polyline{stroke:var(--bi-error)}.bi-arrow-idle{stroke:#52525b}.bi-arrow-active{stroke:#a1a1aa}.bi-edge-label{fill:var(--bi-text-dim);font-family:var(--font-geist-mono), ui-monospace, monospace;font-size:10.5px}.bi-edge[data-state=active] .bi-edge-label{fill:var(--bi-text)}.bi-boundary rect{fill:#ffffff03;stroke:var(--bi-line-strong);stroke-dasharray:5 5}.bi-boundary-label{fill:#a1a1aa;font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.02em;font-size:10.5px;font-weight:500}.bi-boundary-sublabel{fill:var(--bi-text-dim);font-size:11px}.bi-rule line{stroke:#52525b;stroke-dasharray:2 4}.bi-rule text{fill:#a1a1aa;font-family:var(--font-geist-mono), ui-monospace, monospace;font-size:10.5px;font-weight:500}.bi-note{fill:var(--bi-text-dim);font-family:var(--font-geist-mono), ui-monospace, monospace;font-size:10.5px}.bi-note[data-tone]{fill:var(--tone)}.bi-packet circle{fill:#fafafa;stroke:var(--bi-surface-deep);stroke-width:1.5px}.bi-packet-label-bg{fill:var(--bi-surface-deep);stroke:var(--bi-line-strong)}.bi-packet-label{fill:var(--bi-text);font-family:var(--font-geist-mono), ui-monospace, monospace;font-size:10px}.bi-payload{font-family:var(--font-geist-mono), ui-monospace, monospace;color:var(--bi-text-muted);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.75rem;line-height:1.7}.bi-swatch{background:var(--tone);border-radius:9999px;width:.5rem;height:.5rem;display:inline-block}.bi-chip{border-color:color-mix(in oklab, var(--tone) 35%, transparent)}.bi-tone-text{color:var(--tone)}.bi-mark{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.25rem;transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out}.bi-mark[data-kind=modified]{background:color-mix(in oklab, var(--bi-model) 13%, transparent);box-shadow:inset 0 -1px 0 color-mix(in oklab, var(--bi-model) 60%, transparent)}.bi-mark[data-kind=added]{background:color-mix(in oklab, var(--bi-code) 14%, transparent);box-shadow:inset 0 -1px 0 color-mix(in oklab, var(--bi-code) 60%, transparent)}.bi-mark[data-kind=removed]{background:color-mix(in oklab, var(--bi-error) 12%, transparent);color:#a1a1aa;text-decoration:line-through;-webkit-text-decoration-color:color-mix(in oklab, var(--bi-error) 70%, transparent);text-decoration-color:color-mix(in oklab, var(--bi-error) 70%, transparent)}.bi-mark[data-kind=rejected]{box-shadow:inset 0 -1px #52525b}.bi-mark[data-kind=revising]{background:color-mix(in oklab, var(--bi-user) 14%, transparent);box-shadow:inset 0 -1px 0 color-mix(in oklab, var(--bi-user) 70%, transparent)}.bi-mark[data-selected=true]{background:color-mix(in oklab, var(--bi-user) 18%, transparent);box-shadow:0 0 0 1px color-mix(in oklab, var(--bi-user) 75%, transparent);color:#fafafa}.bi-mark-button{cursor:pointer;text-align:inherit;font:inherit;color:inherit;padding:0 .1em}.bi-mark-button:focus-visible,.bi-control:focus-visible,.bi-focusable:focus-visible{outline-offset:2px;outline:2px solid #d4d4d8}.bi-ws{position:relative}.bi-ws-space:before{content:"·";text-align:center;color:#52525b;pointer-events:none;position:absolute;inset:0}.bi-ws-marker{-webkit-user-select:none;user-select:none;color:#71717a;background:#ffffff0d;border-radius:.2rem;margin:0 .1em;padding:0 .15em;font-size:.85em}.bi-progress-dot{transition:background-color .25s ease-out,border-color .25s ease-out}@keyframes bi-pulse-ring{0%,to{box-shadow:0 0 0 0 color-mix(in oklab, var(--bi-user) 35%, transparent)}50%{box-shadow:0 0 0 4px color-mix(in oklab, var(--bi-user) 0%, transparent)}}.bi-revising{animation:1.4s ease-in-out infinite bi-pulse-ring}.bi-figure[data-paused=true] .bi-revising{animation-play-state:paused}.bi-toc-link[aria-current=location]{color:#fafafa}.bi-toc-link[aria-current=location] .bi-toc-tick{background:#fafafa;width:.75rem}.bi-toc-disclosure{grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.22,1,.36,1);display:grid}.bi-toc-disclosure[data-open=true]{grid-template-rows:1fr}.bi-toc-disclosure-clip{opacity:0;min-height:0;transition:opacity .22s;overflow:hidden}.bi-toc-disclosure[data-open=true]>.bi-toc-disclosure-clip{opacity:1}@media (prefers-reduced-motion:reduce){.bi-packet{display:none}.bi-revising{animation:none}.bi-article *,.bi-article :before,.bi-article :after{transition-duration:0s!important}}
