[data-toc-button].svelte-15jmm3l:focus-visible{box-shadow:none;outline:none}nav.svelte-15jmm3l:not(.revealed) [data-toc-button]:where(.svelte-15jmm3l):focus-visible .toc-ring-bar:where(.svelte-15jmm3l){--focus-ring-offset:0px;outline:var(--focus-ring-width) solid transparent;box-shadow:0 0 0 var(--focus-ring-offset) var(--focus-ring-gap), 0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring-color)}nav.revealed.svelte-15jmm3l [data-toc-button]:where(.svelte-15jmm3l):focus-visible .toc-ring-text:where(.svelte-15jmm3l){--focus-ring-offset:.125rem;--focus-ring-radius:.125rem;outline:var(--focus-ring-width) solid transparent;outline-offset:var(--focus-ring-offset);border-radius:var(--focus-ring-radius);box-shadow:0 0 0 var(--focus-ring-offset) var(--focus-ring-gap), 0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring-color)}.article-body.svelte-1j7w3hx{font-size:.9375rem}.article-body.svelte-1j7w3hx strong{color:var(--color-text-strong);font-weight:500}.article-body.svelte-1j7w3hx s{color:var(--color-text-soft)}.article-body.svelte-1j7w3hx code:not(pre code){box-shadow:inset 0 0 0 .0625rem var(--color-border-strong);background:var(--color-paper);border-radius:.375rem;padding:.125rem .375rem;font-size:.875rem}.codeblock.svelte-dkcxm5 pre{background:0 0;margin:0;padding:0}.codeblock.svelte-dkcxm5 pre:focus-visible{box-shadow:none;outline:none}.codeblock.svelte-dkcxm5 .code-scroll:has(pre:focus-visible){--focus-ring-offset:0px;outline:var(--focus-ring-width) solid transparent;outline-offset:var(--focus-ring-offset);box-shadow:0 0 0 var(--focus-ring-offset) var(--focus-ring-gap), 0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring-color)}.codeblock.svelte-dkcxm5 .shiki,.codeblock.svelte-dkcxm5 .shiki span{color:var(--shiki-light)}.dark .codeblock.svelte-dkcxm5 .shiki,.dark .codeblock.svelte-dkcxm5 .shiki span,[data-theme=dark] .codeblock.svelte-dkcxm5 .shiki,[data-theme=dark] .codeblock.svelte-dkcxm5 .shiki span{color:var(--shiki-dark)}a.svelte-9sun8t:focus-visible{box-shadow:none;outline:none}a.svelte-9sun8t:focus-visible .card-media:where(.svelte-9sun8t) img{border-color:var(--color-accent)}button.svelte-1qpew6m:focus-visible{box-shadow:none;outline:none}button.svelte-1qpew6m:focus-visible span:where(.svelte-1qpew6m){--focus-ring-offset:.125rem;--focus-ring-radius:.125rem;outline:var(--focus-ring-width) solid transparent;outline-offset:var(--focus-ring-offset);border-radius:var(--focus-ring-radius);box-shadow:0 0 0 var(--focus-ring-offset) var(--focus-ring-gap), 0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring-color)}.svg-canvas{--font-sans:"Inter", "PingFang SC", "HarmonyOS Sans SC", "Noto Sans SC", "Microsoft YaHei", "WenQuanYi Micro Hei", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"Ioskeley Mono", ui-monospace, monospace;--color-background-primary:#fafafa;--color-background-secondary:#f0f0f1;--color-background-tertiary:#eaeaeb;--color-background-info:#e6efff;--color-background-danger:#fde8e6;--color-background-success:#e8f3e2;--color-background-warning:#fbeed8;--color-text-primary:#383a42;--color-text-secondary:#696c77;--color-text-tertiary:#a0a1a7;--color-text-info:#4078f2;--color-text-danger:#e45649;--color-text-success:#50a14f;--color-text-warning:#d75f00;--color-border-tertiary:#383a4226;--color-border-secondary:#383a424d;--color-border-primary:#383a4266;--color-border-info:#4078f2;--color-border-danger:#e45649;--color-border-success:#50a14f;--color-border-warning:#d75f00;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-xl:16px;--p:var(--color-text-primary);--s:var(--color-text-secondary);--t:var(--color-text-tertiary);--bg2:var(--color-background-secondary);--b:var(--color-border-tertiary)}.dark .svg-canvas,[data-theme=dark] .svg-canvas{--color-background-primary:#2c2b29;--color-background-secondary:#3a3937;--color-background-tertiary:#1f1e1c;--color-background-info:#042c53;--color-background-danger:#501313;--color-background-success:#173404;--color-background-warning:#412402;--color-text-primary:#f1efe8;--color-text-secondary:#b4b2a9;--color-text-tertiary:#888780;--color-text-info:#85b7eb;--color-text-danger:#f09595;--color-text-success:#97c459;--color-text-warning:#fac775;--color-border-tertiary:#f1efe826;--color-border-secondary:#f1efe84d;--color-border-primary:#f1efe866;--color-border-info:#85b7eb;--color-border-danger:#f09595;--color-border-success:#97c459;--color-border-warning:#fac775}.svg-canvas svg text{font-family:var(--font-sans)}.svg-canvas svg text.t{fill:var(--color-text-primary);font-size:14px;font-weight:400}.svg-canvas svg text.ts{fill:var(--color-text-secondary);font-size:12px;font-weight:400}.svg-canvas svg text.th{fill:var(--color-text-primary);font-size:14px;font-weight:500}.svg-canvas svg .box{fill:var(--color-background-secondary);stroke:var(--color-border-tertiary);stroke-width:.5px}.svg-canvas svg .node{cursor:pointer;transition:opacity .15s}.svg-canvas svg .node:hover{opacity:.75}.svg-canvas svg .arr{fill:none;stroke:var(--color-text-secondary);stroke-width:1.5px;stroke-linecap:round}.svg-canvas svg .leader{fill:none;stroke:var(--color-text-tertiary);stroke-width:.5px;stroke-dasharray:3 3}.svg-canvas svg .c-purple>rect,.svg-canvas svg .c-purple>circle,.svg-canvas svg .c-purple>ellipse,.svg-canvas svg rect.c-purple,.svg-canvas svg circle.c-purple,.svg-canvas svg ellipse.c-purple{fill:#faecf9;stroke:#a626a4}.svg-canvas svg .c-purple>.th,.svg-canvas svg .c-purple>.t{fill:#771977}.svg-canvas svg .c-purple>.ts{fill:#a626a4}.svg-canvas svg .c-teal>rect,.svg-canvas svg .c-teal>circle,.svg-canvas svg .c-teal>ellipse,.svg-canvas svg rect.c-teal,.svg-canvas svg circle.c-teal,.svg-canvas svg ellipse.c-teal{fill:#e1f3fa;stroke:#0184bc}.svg-canvas svg .c-teal>.th,.svg-canvas svg .c-teal>.t{fill:#015f88}.svg-canvas svg .c-teal>.ts{fill:#0184bc}.svg-canvas svg .c-coral>rect,.svg-canvas svg .c-coral>circle,.svg-canvas svg .c-coral>ellipse,.svg-canvas svg rect.c-coral,.svg-canvas svg circle.c-coral,.svg-canvas svg ellipse.c-coral{fill:#fbeee2;stroke:#ca6f1e}.svg-canvas svg .c-coral>.th,.svg-canvas svg .c-coral>.t{fill:#925113}.svg-canvas svg .c-coral>.ts{fill:#ca6f1e}.svg-canvas svg .c-pink>rect,.svg-canvas svg .c-pink>circle,.svg-canvas svg .c-pink>ellipse,.svg-canvas svg rect.c-pink,.svg-canvas svg circle.c-pink,.svg-canvas svg ellipse.c-pink{fill:#fce8ee;stroke:#b83260}.svg-canvas svg .c-pink>.th,.svg-canvas svg .c-pink>.t{fill:#852344}.svg-canvas svg .c-pink>.ts{fill:#b83260}.svg-canvas svg .c-gray>rect,.svg-canvas svg .c-gray>circle,.svg-canvas svg .c-gray>ellipse,.svg-canvas svg rect.c-gray,.svg-canvas svg circle.c-gray,.svg-canvas svg ellipse.c-gray{fill:#f0f0f1;stroke:#5c5e66}.svg-canvas svg .c-gray>.th,.svg-canvas svg .c-gray>.t{fill:#383a42}.svg-canvas svg .c-gray>.ts{fill:#5c5e66}.svg-canvas svg .c-blue>rect,.svg-canvas svg .c-blue>circle,.svg-canvas svg .c-blue>ellipse,.svg-canvas svg rect.c-blue,.svg-canvas svg circle.c-blue,.svg-canvas svg ellipse.c-blue{fill:#e6efff;stroke:#4078f2}.svg-canvas svg .c-blue>.th,.svg-canvas svg .c-blue>.t{fill:#1a52cf}.svg-canvas svg .c-blue>.ts{fill:#4078f2}.svg-canvas svg .c-green>rect,.svg-canvas svg .c-green>circle,.svg-canvas svg .c-green>ellipse,.svg-canvas svg rect.c-green,.svg-canvas svg circle.c-green,.svg-canvas svg ellipse.c-green{fill:#e8f3e2;stroke:#50a14f}.svg-canvas svg .c-green>.th,.svg-canvas svg .c-green>.t{fill:#3a7639}.svg-canvas svg .c-green>.ts{fill:#50a14f}.svg-canvas svg .c-amber>rect,.svg-canvas svg .c-amber>circle,.svg-canvas svg .c-amber>ellipse,.svg-canvas svg rect.c-amber,.svg-canvas svg circle.c-amber,.svg-canvas svg ellipse.c-amber{fill:#fbeed8;stroke:#c18401}.svg-canvas svg .c-amber>.th,.svg-canvas svg .c-amber>.t{fill:#8c6001}.svg-canvas svg .c-amber>.ts{fill:#c18401}.svg-canvas svg .c-red>rect,.svg-canvas svg .c-red>circle,.svg-canvas svg .c-red>ellipse,.svg-canvas svg rect.c-red,.svg-canvas svg circle.c-red,.svg-canvas svg ellipse.c-red{fill:#fde8e6;stroke:#e45649}.svg-canvas svg .c-red>.th,.svg-canvas svg .c-red>.t{fill:#a83329}.svg-canvas svg .c-red>.ts{fill:#e45649}.dark .svg-canvas svg .c-purple>rect,.dark .svg-canvas svg .c-purple>circle,.dark .svg-canvas svg .c-purple>ellipse,.dark .svg-canvas svg rect.c-purple,.dark .svg-canvas svg circle.c-purple,.dark .svg-canvas svg ellipse.c-purple,[data-theme=dark] .svg-canvas svg .c-purple>rect,[data-theme=dark] .svg-canvas svg .c-purple>circle,[data-theme=dark] .svg-canvas svg .c-purple>ellipse,[data-theme=dark] .svg-canvas svg rect.c-purple,[data-theme=dark] .svg-canvas svg circle.c-purple,[data-theme=dark] .svg-canvas svg ellipse.c-purple{fill:#3c3489;stroke:#afa9ec}.dark .svg-canvas svg .c-purple>.th,.dark .svg-canvas svg .c-purple>.t,[data-theme=dark] .svg-canvas svg .c-purple>.th,[data-theme=dark] .svg-canvas svg .c-purple>.t{fill:#cecbf6}.dark .svg-canvas svg .c-purple>.ts,[data-theme=dark] .svg-canvas svg .c-purple>.ts{fill:#afa9ec}.dark .svg-canvas svg .c-teal>rect,.dark .svg-canvas svg .c-teal>circle,.dark .svg-canvas svg .c-teal>ellipse,.dark .svg-canvas svg rect.c-teal,.dark .svg-canvas svg circle.c-teal,.dark .svg-canvas svg ellipse.c-teal,[data-theme=dark] .svg-canvas svg .c-teal>rect,[data-theme=dark] .svg-canvas svg .c-teal>circle,[data-theme=dark] .svg-canvas svg .c-teal>ellipse,[data-theme=dark] .svg-canvas svg rect.c-teal,[data-theme=dark] .svg-canvas svg circle.c-teal,[data-theme=dark] .svg-canvas svg ellipse.c-teal{fill:#085041;stroke:#5dcaa5}.dark .svg-canvas svg .c-teal>.th,.dark .svg-canvas svg .c-teal>.t,[data-theme=dark] .svg-canvas svg .c-teal>.th,[data-theme=dark] .svg-canvas svg .c-teal>.t{fill:#9fe1cb}.dark .svg-canvas svg .c-teal>.ts,[data-theme=dark] .svg-canvas svg .c-teal>.ts{fill:#5dcaa5}.dark .svg-canvas svg .c-coral>rect,.dark .svg-canvas svg .c-coral>circle,.dark .svg-canvas svg .c-coral>ellipse,.dark .svg-canvas svg rect.c-coral,.dark .svg-canvas svg circle.c-coral,.dark .svg-canvas svg ellipse.c-coral,[data-theme=dark] .svg-canvas svg .c-coral>rect,[data-theme=dark] .svg-canvas svg .c-coral>circle,[data-theme=dark] .svg-canvas svg .c-coral>ellipse,[data-theme=dark] .svg-canvas svg rect.c-coral,[data-theme=dark] .svg-canvas svg circle.c-coral,[data-theme=dark] .svg-canvas svg ellipse.c-coral{fill:#712b13;stroke:#f0997b}.dark .svg-canvas svg .c-coral>.th,.dark .svg-canvas svg .c-coral>.t,[data-theme=dark] .svg-canvas svg .c-coral>.th,[data-theme=dark] .svg-canvas svg .c-coral>.t{fill:#f5c4b3}.dark .svg-canvas svg .c-coral>.ts,[data-theme=dark] .svg-canvas svg .c-coral>.ts{fill:#f0997b}.dark .svg-canvas svg .c-pink>rect,.dark .svg-canvas svg .c-pink>circle,.dark .svg-canvas svg .c-pink>ellipse,.dark .svg-canvas svg rect.c-pink,.dark .svg-canvas svg circle.c-pink,.dark .svg-canvas svg ellipse.c-pink,[data-theme=dark] .svg-canvas svg .c-pink>rect,[data-theme=dark] .svg-canvas svg .c-pink>circle,[data-theme=dark] .svg-canvas svg .c-pink>ellipse,[data-theme=dark] .svg-canvas svg rect.c-pink,[data-theme=dark] .svg-canvas svg circle.c-pink,[data-theme=dark] .svg-canvas svg ellipse.c-pink{fill:#72243e;stroke:#ed93b1}.dark .svg-canvas svg .c-pink>.th,.dark .svg-canvas svg .c-pink>.t,[data-theme=dark] .svg-canvas svg .c-pink>.th,[data-theme=dark] .svg-canvas svg .c-pink>.t{fill:#f4c0d1}.dark .svg-canvas svg .c-pink>.ts,[data-theme=dark] .svg-canvas svg .c-pink>.ts{fill:#ed93b1}.dark .svg-canvas svg .c-gray>rect,.dark .svg-canvas svg .c-gray>circle,.dark .svg-canvas svg .c-gray>ellipse,.dark .svg-canvas svg rect.c-gray,.dark .svg-canvas svg circle.c-gray,.dark .svg-canvas svg ellipse.c-gray,[data-theme=dark] .svg-canvas svg .c-gray>rect,[data-theme=dark] .svg-canvas svg .c-gray>circle,[data-theme=dark] .svg-canvas svg .c-gray>ellipse,[data-theme=dark] .svg-canvas svg rect.c-gray,[data-theme=dark] .svg-canvas svg circle.c-gray,[data-theme=dark] .svg-canvas svg ellipse.c-gray{fill:#444441;stroke:#b4b2a9}.dark .svg-canvas svg .c-gray>.th,.dark .svg-canvas svg .c-gray>.t,[data-theme=dark] .svg-canvas svg .c-gray>.th,[data-theme=dark] .svg-canvas svg .c-gray>.t{fill:#d3d1c7}.dark .svg-canvas svg .c-gray>.ts,[data-theme=dark] .svg-canvas svg .c-gray>.ts{fill:#b4b2a9}.dark .svg-canvas svg .c-blue>rect,.dark .svg-canvas svg .c-blue>circle,.dark .svg-canvas svg .c-blue>ellipse,.dark .svg-canvas svg rect.c-blue,.dark .svg-canvas svg circle.c-blue,.dark .svg-canvas svg ellipse.c-blue,[data-theme=dark] .svg-canvas svg .c-blue>rect,[data-theme=dark] .svg-canvas svg .c-blue>circle,[data-theme=dark] .svg-canvas svg .c-blue>ellipse,[data-theme=dark] .svg-canvas svg rect.c-blue,[data-theme=dark] .svg-canvas svg circle.c-blue,[data-theme=dark] .svg-canvas svg ellipse.c-blue{fill:#0c447c;stroke:#85b7eb}.dark .svg-canvas svg .c-blue>.th,.dark .svg-canvas svg .c-blue>.t,[data-theme=dark] .svg-canvas svg .c-blue>.th,[data-theme=dark] .svg-canvas svg .c-blue>.t{fill:#b5d4f4}.dark .svg-canvas svg .c-blue>.ts,[data-theme=dark] .svg-canvas svg .c-blue>.ts{fill:#85b7eb}.dark .svg-canvas svg .c-green>rect,.dark .svg-canvas svg .c-green>circle,.dark .svg-canvas svg .c-green>ellipse,.dark .svg-canvas svg rect.c-green,.dark .svg-canvas svg circle.c-green,.dark .svg-canvas svg ellipse.c-green,[data-theme=dark] .svg-canvas svg .c-green>rect,[data-theme=dark] .svg-canvas svg .c-green>circle,[data-theme=dark] .svg-canvas svg .c-green>ellipse,[data-theme=dark] .svg-canvas svg rect.c-green,[data-theme=dark] .svg-canvas svg circle.c-green,[data-theme=dark] .svg-canvas svg ellipse.c-green{fill:#27500a;stroke:#97c459}.dark .svg-canvas svg .c-green>.th,.dark .svg-canvas svg .c-green>.t,[data-theme=dark] .svg-canvas svg .c-green>.th,[data-theme=dark] .svg-canvas svg .c-green>.t{fill:#c0dd97}.dark .svg-canvas svg .c-green>.ts,[data-theme=dark] .svg-canvas svg .c-green>.ts{fill:#97c459}.dark .svg-canvas svg .c-amber>rect,.dark .svg-canvas svg .c-amber>circle,.dark .svg-canvas svg .c-amber>ellipse,.dark .svg-canvas svg rect.c-amber,.dark .svg-canvas svg circle.c-amber,.dark .svg-canvas svg ellipse.c-amber,[data-theme=dark] .svg-canvas svg .c-amber>rect,[data-theme=dark] .svg-canvas svg .c-amber>circle,[data-theme=dark] .svg-canvas svg .c-amber>ellipse,[data-theme=dark] .svg-canvas svg rect.c-amber,[data-theme=dark] .svg-canvas svg circle.c-amber,[data-theme=dark] .svg-canvas svg ellipse.c-amber{fill:#633806;stroke:#ef9f27}.dark .svg-canvas svg .c-amber>.th,.dark .svg-canvas svg .c-amber>.t,[data-theme=dark] .svg-canvas svg .c-amber>.th,[data-theme=dark] .svg-canvas svg .c-amber>.t{fill:#fac775}.dark .svg-canvas svg .c-amber>.ts,[data-theme=dark] .svg-canvas svg .c-amber>.ts{fill:#ef9f27}.dark .svg-canvas svg .c-red>rect,.dark .svg-canvas svg .c-red>circle,.dark .svg-canvas svg .c-red>ellipse,.dark .svg-canvas svg rect.c-red,.dark .svg-canvas svg circle.c-red,.dark .svg-canvas svg ellipse.c-red,[data-theme=dark] .svg-canvas svg .c-red>rect,[data-theme=dark] .svg-canvas svg .c-red>circle,[data-theme=dark] .svg-canvas svg .c-red>ellipse,[data-theme=dark] .svg-canvas svg rect.c-red,[data-theme=dark] .svg-canvas svg circle.c-red,[data-theme=dark] .svg-canvas svg ellipse.c-red{fill:#791f1f;stroke:#f09595}.dark .svg-canvas svg .c-red>.th,.dark .svg-canvas svg .c-red>.t,[data-theme=dark] .svg-canvas svg .c-red>.th,[data-theme=dark] .svg-canvas svg .c-red>.t{fill:#f7c1c1}.dark .svg-canvas svg .c-red>.ts,[data-theme=dark] .svg-canvas svg .c-red>.ts{fill:#f09595}
