@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}html,body{height:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:.08em}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{text-wrap:balance}}@layer base{html{font-family:var(--font-sans);font-size:100%;line-height:var(--line-height-normal);scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-size:var(--text-body);font-weight:var(--font-weight-regular);flex-direction:column;min-height:100dvh;display:flex}body,html{transition:background-color var(--duration-normal) var(--ease-out), color var(--duration-normal) var(--ease-out)}::selection{background:var(--accent-tint-bg);color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}::placeholder{color:var(--fg-55);opacity:1}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer tokens{:root{--magenta:oklch(55% .22 320);--magenta-deep:oklch(42% .24 312);--magenta-soft:oklch(78% .12 322);--magenta-pale:oklch(94% .04 322);--font-sans:"The Future", "Manrope", "Helvetica Neue", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;--font-reader:"Newsreader", Charter, "Iowan Old Style", Georgia, serif;--font-serif:"DM Serif Display", "Cormorant Garamond", Georgia, serif;--text-caption:clamp(.75rem, .74rem + .05vw, .8125rem);--text-small:clamp(.8125rem, .8rem + .05vw, .875rem);--text-body:clamp(.875rem, .856rem + .096vw, 1rem);--text-lead:clamp(1rem, .98rem + .096vw, 1.125rem);--text-h4:clamp(1.125rem, 1.067rem + .288vw, 1.5rem);--text-h3:clamp(1.375rem, 1.279rem + .481vw, 2rem);--text-h2:clamp(1.75rem, 1.519rem + 1.154vw, 3.25rem);--text-h1:clamp(2.25rem, 1.904rem + 1.731vw, 4.5rem);--text-display:clamp(3rem, 2.615rem + 1.923vw, 5.5rem);--line-height-tight:1.15;--line-height-snug:1.3;--line-height-normal:1.55;--line-height-relaxed:1.7;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.05em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:clamp(2rem, 1.923rem + .385vw, 2.5rem);--space-7:clamp(3rem, 2.846rem + .769vw, 4rem);--space-8:clamp(4rem, 3.692rem + 1.538vw, 6rem);--space-9:clamp(6rem, 5.385rem + 3.077vw, 10rem);--space-10:clamp(8rem, 7.077rem + 4.615vw, 14rem);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 2px color-mix(in oklch, currentColor 8%, transparent);--shadow-md:0 8px 24px -8px color-mix(in oklch, currentColor 18%, transparent);--ease-out:cubic-bezier(.4, 0, .2, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--bp-sm:600px;--bp-md:900px;--bp-lg:1280px;--bp-xl:1600px;--bp-2xl:2000px;--container-sm:640px;--container-md:800px;--container-lg:1100px;--container-xl:1400px;--container-wide:1600px;--z-base:1;--z-sticky:100;--z-overlay:200;--z-modal:300;--z-toast:400;interpolate-size:allow-keywords;--access-open-tint-bg:color-mix(in oklch, var(--access-open) 22%, var(--bg));--access-open-tint-bord:color-mix(in oklch, var(--access-open) 60%, transparent);--access-verified:var(--accent);--access-verified-tint-bg:var(--accent-tint-bg);--access-verified-tint-bord:var(--accent-tint-bord);--access-restricted-tint-bg:color-mix(in oklch, var(--access-restricted) 22%, var(--bg));--access-restricted-tint-bord:color-mix(in oklch, var(--access-restricted) 60%, transparent);--access-local-tint-bg:color-mix(in oklch, var(--access-local) 22%, var(--bg));--access-local-tint-bord:color-mix(in oklch, var(--access-local) 60%, transparent);--danger:oklch(65% .22 25);--danger-strong:oklch(62% .22 25);--danger-deep:oklch(55% .22 25);--danger-tint-bg:color-mix(in oklch, var(--danger) 8%, transparent)}:root,[data-theme=light]{--bg:#fcfaf6;--surface:oklch(99.9% .002 80);--surface-2:oklch(97% .012 78);--frame-bg:#fcfaf6;--rule:oklch(87% .01 75);--fg:oklch(22% .03 295);--fg-90:color-mix(in oklch, var(--fg) 90%, transparent);--fg-70:color-mix(in oklch, var(--fg) 70%, transparent);--fg-55:color-mix(in oklch, var(--fg) 55%, transparent);--fg-30:color-mix(in oklch, var(--fg) 30%, transparent);--fg-15:color-mix(in oklch, var(--fg) 15%, transparent);--magenta-soft:oklch(42% .24 312);--accent:var(--magenta-deep);--accent-on-bg:var(--magenta-deep);--accent-tint-bg:var(--magenta-pale);--accent-tint-bord:var(--magenta-soft);--accent-soft:var(--magenta-soft);--backdrop:color-mix(in oklch, var(--fg) 35%, transparent);--mm-item-bg:oklch(94% .006 80);--mm-heading-bg:oklch(88% .01 80);--ui-muted:oklch(92% .005 80);--ui-muted-strong:oklch(86% .008 80);--access-open:oklch(55% .18 145);--access-restricted:oklch(58% .16 60);--access-local:oklch(55% .15 250);--warn:oklch(55% .15 75);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--magenta-soft:oklch(78% .12 322);--bg:oklch(16% .02 310);--surface:oklch(21% .025 312);--surface-2:oklch(25% .03 314);--frame-bg:oklch(19% .025 311);--rule:oklch(30% .02 310);--fg:#fff;--fg-90:color-mix(in oklch, var(--fg) 90%, transparent);--fg-70:color-mix(in oklch, var(--fg) 70%, transparent);--fg-55:color-mix(in oklch, var(--fg) 55%, transparent);--fg-30:color-mix(in oklch, var(--fg) 30%, transparent);--fg-15:color-mix(in oklch, var(--fg) 15%, transparent);--accent:var(--magenta-soft);--accent-on-bg:var(--magenta-soft);--accent-tint-bg:color-mix(in oklch, var(--magenta) 22%, var(--bg));--accent-tint-bord:color-mix(in oklch, var(--magenta-soft) 60%, transparent);--accent-soft:var(--magenta-soft);--backdrop:oklch(0% none none/.65);--mm-item-bg:var(--fg-15);--mm-heading-bg:var(--fg-30);--ui-muted:var(--fg-15);--ui-muted-strong:var(--fg-30);--access-open:oklch(72% .18 145);--access-restricted:oklch(70% .16 60);--access-local:oklch(70% .15 250);--warn:oklch(75% .15 75);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme]){--magenta-soft:oklch(78% .12 322);--bg:oklch(16% .02 310);--surface:oklch(21% .025 312);--surface-2:oklch(25% .03 314);--frame-bg:oklch(19% .025 311);--rule:oklch(30% .02 310);--fg:#fff;--fg-90:color-mix(in oklch, var(--fg) 90%, transparent);--fg-70:color-mix(in oklch, var(--fg) 70%, transparent);--fg-55:color-mix(in oklch, var(--fg) 55%, transparent);--fg-30:color-mix(in oklch, var(--fg) 30%, transparent);--fg-15:color-mix(in oklch, var(--fg) 15%, transparent);--accent:var(--magenta-soft);--accent-on-bg:var(--magenta-soft);--accent-tint-bg:color-mix(in oklch, var(--magenta) 22%, var(--bg));--accent-tint-bord:color-mix(in oklch, var(--magenta-soft) 60%, transparent);--accent-soft:var(--magenta-soft);--backdrop:oklch(0% none none/.65);--mm-item-bg:var(--fg-15);--mm-heading-bg:var(--fg-30);--ui-muted:var(--fg-15);--ui-muted-strong:var(--fg-30);--access-open:oklch(72% .18 145);--access-restricted:oklch(70% .16 60);--access-local:oklch(70% .15 250);--warn:oklch(75% .15 75);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}}@layer components{code,pre,kbd,samp{font-family:var(--font-mono);font-size:.95em}@media (width<=899.98px){.reader-body{padding-top:24px}}.reader-body{font-family:var(--font-reader);max-width:var(--container-md);color:var(--fg);font-feature-settings:"liga", "kern", "onum";font-size:18px;line-height:1.65}.reader-body>:first-child{margin-top:0}.reader-body h1,.reader-body h2,.reader-body h3,.reader-body h4,.reader-body h5,.reader-body h6{font-family:var(--font-reader);color:var(--fg);scroll-margin-top:24px}@media (width<=899.98px){.reader-body h1,.reader-body h2,.reader-body h3,.reader-body h4,.reader-body h5,.reader-body h6{scroll-margin-top:60px}}.reader-body h1{letter-spacing:-.022em;font-variation-settings:"opsz" 60;margin:0 0 16px;font-size:2.75rem;font-weight:700;line-height:1.1}.reader-body h2{letter-spacing:-.014em;font-variation-settings:"opsz" 30;margin:48px 0 14px;font-size:1.55rem;font-weight:600;line-height:1.25}.reader-body h3{font-variation-settings:"opsz" 18;margin:32px 0 10px;font-size:1.2rem;font-weight:600;line-height:1.3}.reader-body h4{margin:28px 0 8px;font-size:1.05rem;font-weight:600}.reader-body p{font-variation-settings:"opsz" 16;margin:0 0 18px}.reader-body p.lede{color:var(--fg-70);font-variation-settings:"opsz" 18;margin-bottom:32px;font-size:1.2rem;font-style:italic;line-height:1.55}.reader-body em{font-family:var(--font-reader);color:var(--fg);font-style:italic;font-weight:400}.reader-body strong{color:var(--fg);font-weight:700}.reader-body a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in oklch, var(--accent) 50%, transparent);text-decoration-color:color-mix(in oklch, var(--accent) 50%, transparent);transition:text-decoration-color .15s}.reader-body a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.reader-body code{font-family:var(--font-mono);background:var(--accent-tint-bg);border:1px solid var(--accent-tint-bord);color:var(--accent);font-feature-settings:"liga" 0;border-radius:5px;padding:1px 7px;font-size:.85em}.reader-body pre{background:var(--surface);border:1px solid var(--rule);border-radius:10px;min-width:0;max-width:100%;margin:24px 0;padding:18px 20px;line-height:1.55;position:relative;overflow-x:auto}.reader-body pre code{color:var(--fg);white-space:pre;background:0 0;border:none;padding:0;font-size:13.5px}.reader-body pre[data-language]{padding-top:calc(18px + 1.4em)}.reader-body pre[data-language]:before{content:attr(data-language);padding:2px var(--space-3);font-family:var(--font-mono);font-size:var(--text-caption);color:var(--fg-55);background:var(--surface);border-bottom-right-radius:var(--radius-sm);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);-webkit-user-select:none;user-select:none;pointer-events:none;position:absolute;top:0;left:0;right:auto}.reader-body .code-block{position:relative}.reader-body .code-copy-anchor{z-index:1;pointer-events:none;height:0;position:sticky;top:8px}.reader-body .code-copy{pointer-events:auto;font-family:var(--font-sans);font-size:var(--text-caption);color:var(--fg-55);background:var(--surface-2);border:1px solid var(--rule);border-radius:var(--radius-sm);cursor:pointer;opacity:0;align-items:center;gap:6px;padding:4px 10px;transition:opacity .15s,color .15s,background .15s,border-color .15s;display:inline-flex;position:absolute;top:8px;right:8px}@media (hover:none){.reader-body .code-copy{opacity:1;justify-content:center;min-width:44px;min-height:44px;padding:0}.reader-body .code-copy .code-copy__icon{width:20px;height:20px}}.reader-body .code-block:hover .code-copy,.reader-body .code-copy:focus-visible{opacity:1}.reader-body .code-copy:hover{color:var(--accent);background:var(--accent-tint-bg);border-color:var(--accent-tint-bord)}.reader-body .code-copy[data-state=copied],.reader-body .code-copy[data-state=failed]{opacity:1;color:var(--accent);background:var(--accent-tint-bg);border-color:var(--accent-tint-bord)}.reader-body .code-copy .code-copy__icon{display:none}.reader-body .code-copy:not([data-state]) .code-copy__icon--copy,.reader-body .code-copy[data-state=idle] .code-copy__icon--copy,.reader-body .code-copy[data-state=copied] .code-copy__icon--check,.reader-body .code-copy[data-state=failed] .code-copy__icon--fail{display:inline-block}.reader-body blockquote{border-left:3px solid var(--accent);color:var(--fg-70);margin:28px 0;padding:4px 0 4px 22px;font-size:1.05rem;font-style:italic;line-height:1.6}.reader-body blockquote p:last-child{margin-bottom:0}.reader-body ul,.reader-body ol{margin:0 0 20px;padding-left:28px}.reader-body li{margin-bottom:8px;line-height:1.6}.reader-body li>ul,.reader-body li>ol{margin-top:8px;margin-bottom:4px}.reader-body li>p{margin:0}.reader-body table{border-collapse:collapse;font-feature-settings:"liga", "kern", "lnum", "tnum";width:100%;margin:28px 0;font-size:15px;line-height:1.5}.reader-body thead th{text-align:left;border-bottom:2px solid var(--rule);color:var(--fg);font-feature-settings:"lnum";padding:10px 16px 10px 0;font-weight:600}.reader-body tbody td{border-bottom:1px solid var(--rule);vertical-align:top;color:var(--fg);padding:12px 16px 12px 0}.reader-body tbody tr:last-child td{border-bottom:none}@media (width<=900px){.reader-body table,.reader-body thead,.reader-body tbody,.reader-body tr,.reader-body td{width:100%;display:block}.reader-body thead{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}.reader-body tr{border-top:1px solid var(--rule);padding:12px 0}.reader-body tr:last-child{border-bottom:1px solid var(--rule)}.reader-body tbody td{border:0;justify-content:space-between;align-items:baseline;gap:16px;padding:6px 0;display:flex;text-align:left!important}.reader-body tbody td:before{content:attr(data-label);color:var(--fg-70);flex-shrink:0;max-width:40%;font-weight:500}.reader-body tbody td:not([data-label]):before{display:none}}.reader-body tbody tr{transition:background-color var(--duration-fast) var(--ease-out)}.reader-body tbody tr:hover{background-color:color-mix(in oklch, var(--fg), transparent 96%)}.reader-body img{border-radius:8px;max-width:100%;height:auto;margin:28px 0;display:block}.reader-body figcaption{color:var(--fg-55);text-align:center;margin-top:-16px;margin-bottom:28px;font-size:.85em;font-style:italic}.reader-body hr{border:none;border-top:1px solid var(--rule);margin:var(--space-6) 0;width:auto}}@layer utilities{.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:var(--container-lg);padding-inline:var(--space-4);margin-inline:auto}@media (width>=600px){.container{padding-inline:var(--space-5)}}@media (width>=1280px){.container{padding-inline:var(--space-6)}}.container--wide{max-width:var(--container-wide)}.container--xl{max-width:var(--container-xl)}.container--md{max-width:var(--container-md)}.stack{gap:var(--space-4);flex-direction:column;display:flex}.stack--sm{gap:var(--space-2)}.stack--lg{gap:var(--space-6)}.skip-link{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;background:var(--accent);width:1px;height:1px;color:var(--bg);z-index:var(--z-toast);margin:0;padding:0;text-decoration:none;position:absolute;top:0;left:0;overflow:hidden}.skip-link:focus-visible{width:auto;height:auto;padding:var(--space-2) var(--space-4);clip:auto;clip-path:none;border-radius:0 0 var(--radius-md) 0}}@font-face{font-family:The Future;src:url(../../../fonts/the-future-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:The Future;src:url(../../../fonts/the-future-medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:DM Serif Display;src:url(../../../fonts/dm-serif-display-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Newsreader;src:url(../../../fonts/newsreader-variable.woff2)format("woff2-variations"),url(../../../fonts/newsreader-variable.woff2)format("woff2");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:Newsreader;src:url(../../../fonts/newsreader-italic-variable.woff2)format("woff2-variations"),url(../../../fonts/newsreader-italic-variable.woff2)format("woff2");font-weight:200 800;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(../../../fonts/jetbrains-mono-variable.woff2)format("woff2-variations"),url(../../../fonts/jetbrains-mono-variable.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(../../../fonts/jetbrains-mono-italic-variable.woff2)format("woff2-variations"),url(../../../fonts/jetbrains-mono-italic-variable.woff2)format("woff2");font-weight:100 800;font-style:italic;font-display:swap}html{font-optical-sizing:auto}body:has(.page.is-reader) .site-footer{margin-top:var(--space-5)}.cta-pill-secondary{align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-body);color:var(--accent);padding:var(--space-3) var(--space-5);border:1px solid var(--accent);white-space:nowrap;cursor:pointer;transition:background .15s var(--ease-out), color .15s var(--ease-out);background:0 0;border-radius:999px;flex-shrink:0;font-weight:500;text-decoration:none;display:inline-flex}.cta-pill-secondary:hover,.cta-pill-secondary:focus-visible{background:var(--accent);color:var(--bg);outline:none}.content-page .content-page__body a.cta-pill-secondary{color:var(--accent);text-decoration:none}.content-page .content-page__body a.cta-pill-secondary:hover,.content-page .content-page__body a.cta-pill-secondary:focus-visible{color:var(--bg)}.mermaid-rendered{margin:var(--space-5) 0;padding:var(--space-4);background:var(--surface);border:1px solid var(--rule);border-radius:6px;justify-content:center;align-items:center;display:flex;position:relative;overflow-x:auto}.mermaid-rendered svg{max-width:100%;height:auto;margin:0 auto;display:block}.mermaid-fullscreen-btn{width:28px;height:28px;color:var(--fg-55);background:var(--surface-2);border:1px solid var(--rule);border-radius:var(--radius-sm);cursor:pointer;opacity:0;z-index:1;justify-content:center;align-items:center;padding:0;transition:opacity .15s,color .15s,background .15s,border-color .15s;display:inline-flex;position:absolute;top:8px;right:8px}.mermaid-rendered:hover .mermaid-fullscreen-btn,.mermaid-fullscreen-btn:focus-visible{opacity:1}.mermaid-fullscreen-btn:hover{color:var(--accent);background:var(--accent-tint-bg);border-color:var(--accent-tint-bord)}@media (hover:none){.mermaid-fullscreen-btn{opacity:1;width:44px;height:44px}.mermaid-fullscreen-btn svg{width:20px;height:20px}}dialog.mermaid-viewer .mermaid-rendered{background:0 0;border:none;border-radius:0;margin:0;padding:0}dialog.mermaid-viewer .mermaid-fullscreen-btn{display:none}dialog.mermaid-viewer .svg-container.mermaid-rendered{padding:var(--space-5)!important;display:block!important}@media (width>=1200px){dialog.mermaid-viewer .svg-container.mermaid-rendered{padding:var(--space-6)!important}}@media (width>=1800px){dialog.mermaid-viewer .svg-container.mermaid-rendered{padding:var(--space-7)!important}}@media (width<=599.98px){dialog.mermaid-viewer .svg-container.mermaid-rendered{padding:var(--space-3)!important}}dialog.mermaid-viewer .svg-container.mermaid-rendered svg{width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;display:block!important}.mermaid-rendered .section-1 text,.mermaid-rendered .section-1 foreignObject span,.mermaid-rendered .section-1 foreignObject p,.mermaid-rendered .section-4 text,.mermaid-rendered .section-4 foreignObject span,.mermaid-rendered .section-4 foreignObject p{fill:var(--magenta-deep)!important;color:var(--magenta-deep)!important}.mermaid-rendered text.section-type-1,.mermaid-rendered text.section-type-4,:is(.mermaid-rendered g:has(>rect.task-type-1) text.task,.mermaid-rendered g:has(>rect.task-type-4) text.task){fill:var(--magenta-deep)!important}.mermaid-rendered foreignObject .section-type-1 .label,.mermaid-rendered foreignObject .section-type-4 .label,:is(.mermaid-rendered g:has(>rect.task-type-1) foreignObject .label,.mermaid-rendered g:has(>rect.task-type-4) foreignObject .label){color:var(--magenta-deep)!important}.mermaid-rendered[data-mermaid-status=error]{border-color:var(--danger)}.mermaid-rendered[data-mermaid-status=error] .mermaid-fallback{background:0 0;margin:0;padding:0}.mermaid-rendered .edgeLabel,.mermaid-rendered .edgeLabel *{color:var(--fg)!important}.mermaid-rendered path[fill^=hsl\(]{fill:var(--surface)!important}.mermaid-rendered g.attribute-type *,.mermaid-rendered g.attribute-name *,.mermaid-rendered g.attribute-keys *,.mermaid-rendered g.attribute-comment *{color:var(--fg)!important}.mermaid-rendered .pieCircle[data-mermaid-pie-idx="0"],.mermaid-rendered .legend[data-mermaid-pie-idx="0"] rect{fill:oklch(42% .24 312)!important}.mermaid-rendered .pieCircle[data-mermaid-pie-idx="1"],.mermaid-rendered .legend[data-mermaid-pie-idx="1"] rect{fill:oklch(78% .12 322)!important}.mermaid-rendered .pieCircle[data-mermaid-pie-idx="2"],.mermaid-rendered .legend[data-mermaid-pie-idx="2"] rect{fill:oklch(55% .18 318)!important}.mermaid-rendered .pieCircle[data-mermaid-pie-idx="3"],.mermaid-rendered .legend[data-mermaid-pie-idx="3"] rect{fill:oklch(32% .2 308)!important}.mermaid-rendered .pieCircle[data-mermaid-pie-idx="4"],.mermaid-rendered .legend[data-mermaid-pie-idx="4"] rect{fill:oklch(65% .15 330)!important}.mermaid-rendered .pieCircle[data-mermaid-pie-idx="5"],.mermaid-rendered .legend[data-mermaid-pie-idx="5"] rect{fill:oklch(45% .1 312)!important}.mermaid-rendered text.slice[data-mermaid-pie-idx="1"],.mermaid-rendered text.slice[data-mermaid-pie-idx="4"]{fill:var(--magenta-deep)!important}.mermaid-rendered .task0{fill:var(--mm-c2)!important;stroke:var(--rule)!important}.mermaid-rendered .task1{fill:var(--mm-c4)!important;stroke:var(--rule)!important}.mermaid-rendered .task2{fill:var(--mm-c5)!important;stroke:var(--rule)!important}.mermaid-rendered .task3{fill:var(--mm-c6)!important;stroke:var(--rule)!important}.mermaid-rendered .done0{opacity:.7;fill:var(--mm-c1)!important;stroke:var(--rule)!important}.mermaid-rendered .active0{fill:var(--mm-c0)!important;stroke:var(--magenta-soft)!important}.mermaid-rendered .taskText,.mermaid-rendered .taskText0,.mermaid-rendered .taskText1,.mermaid-rendered .taskText2,.mermaid-rendered .taskText3,.mermaid-rendered .doneText0,.mermaid-rendered [class*=taskText]{fill:var(--fg)!important}[data-theme=dark] .mermaid-rendered .doneText0,[data-theme=dark] .mermaid-rendered .taskText1{fill:var(--magenta-deep)!important}@media (prefers-color-scheme:dark){:root:not([data-theme]) .mermaid-rendered .doneText0,:root:not([data-theme]) .mermaid-rendered .taskText1{fill:var(--magenta-deep)!important}}.mermaid-rendered{--mm-c0:oklch(42% .24 312);--mm-c1:oklch(78% .12 322);--mm-c2:oklch(55% .18 318);--mm-c3:oklch(32% .2 308);--mm-c4:oklch(65% .15 330);--mm-c5:oklch(45% .1 312);--mm-c6:oklch(60% .2 305);--mm-c7:oklch(50% .15 335)}.mermaid-rendered .section-type-0,.mermaid-rendered .task-type-0,.mermaid-rendered .actor-0{fill:var(--mm-c0)!important;stroke:var(--rule)!important}.mermaid-rendered .section-type-1,.mermaid-rendered .task-type-1,.mermaid-rendered .actor-1{fill:var(--mm-c1)!important;stroke:var(--rule)!important}.mermaid-rendered .section-type-2,.mermaid-rendered .task-type-2,.mermaid-rendered .actor-2{fill:var(--mm-c2)!important;stroke:var(--rule)!important}.mermaid-rendered .section-type-3,.mermaid-rendered .task-type-3,.mermaid-rendered .actor-3{fill:var(--mm-c3)!important;stroke:var(--rule)!important}.mermaid-rendered .section-type-4,.mermaid-rendered .task-type-4,.mermaid-rendered .actor-4{fill:var(--mm-c4)!important;stroke:var(--rule)!important}.mermaid-rendered .section-type-5,.mermaid-rendered .task-type-5,.mermaid-rendered .actor-5{fill:var(--mm-c5)!important;stroke:var(--rule)!important}.mermaid-rendered .section-type-6,.mermaid-rendered .task-type-6,.mermaid-rendered .actor-6{fill:var(--mm-c6)!important;stroke:var(--rule)!important}.mermaid-rendered .section-type-7,.mermaid-rendered .task-type-7,.mermaid-rendered .actor-7{fill:var(--mm-c7)!important;stroke:var(--rule)!important}.mermaid-rendered [class*=section-type-] text,.mermaid-rendered [class*=task-type-] text{fill:var(--fg)!important}.mermaid-rendered g.section-root rect,.mermaid-rendered g.section-root path,.mermaid-rendered g.section-root circle,.mermaid-rendered g.section-root ellipse{fill:var(--mm-c0)!important;stroke:var(--rule)!important;stroke-width:2px!important}.mermaid-rendered .section--1 rect,.mermaid-rendered .section--1 path,.mermaid-rendered .section--1 circle,.mermaid-rendered .section--1 ellipse{fill:var(--mm-c1)!important;stroke:var(--rule)!important}.mermaid-rendered .section-0 rect,.mermaid-rendered .section-0 path,.mermaid-rendered .section-0 circle,.mermaid-rendered .section-0 ellipse{fill:var(--mm-c0)!important;stroke:var(--rule)!important}.mermaid-rendered .section-1 rect,.mermaid-rendered .section-1 path,.mermaid-rendered .section-1 circle,.mermaid-rendered .section-1 ellipse{fill:var(--mm-c1)!important;stroke:var(--rule)!important}.mermaid-rendered .section-2 rect,.mermaid-rendered .section-2 path,.mermaid-rendered .section-2 circle,.mermaid-rendered .section-2 ellipse{fill:var(--mm-c2)!important;stroke:var(--rule)!important}.mermaid-rendered .section-3 rect,.mermaid-rendered .section-3 path,.mermaid-rendered .section-3 circle,.mermaid-rendered .section-3 ellipse{fill:var(--mm-c3)!important;stroke:var(--rule)!important}.mermaid-rendered .section-4 rect,.mermaid-rendered .section-4 path,.mermaid-rendered .section-4 circle,.mermaid-rendered .section-4 ellipse{fill:var(--mm-c4)!important;stroke:var(--rule)!important}.mermaid-rendered .section-5 rect,.mermaid-rendered .section-5 path,.mermaid-rendered .section-5 circle,.mermaid-rendered .section-5 ellipse{fill:var(--mm-c5)!important;stroke:var(--rule)!important}.mermaid-rendered .section-6 rect,.mermaid-rendered .section-6 path,.mermaid-rendered .section-6 circle,.mermaid-rendered .section-6 ellipse{fill:var(--mm-c6)!important;stroke:var(--rule)!important}.mermaid-rendered .section-7 rect,.mermaid-rendered .section-7 path,.mermaid-rendered .section-7 circle,.mermaid-rendered .section-7 ellipse{fill:var(--mm-c7)!important;stroke:var(--rule)!important}.mermaid-rendered [class*=section-] text{fill:var(--fg)!important}.mermaid-rendered g.section-root foreignObject span,.mermaid-rendered g.section-root foreignObject p{color:var(--on-magenta,#faf2ff)!important}.mermaid-rendered .section-1 rect,.mermaid-rendered .section-1 path:not(.connection),.mermaid-rendered .section-4 rect,.mermaid-rendered .section-4 path:not(.connection){stroke:var(--magenta-soft)!important}.mermaid-rendered .section-edge--1{stroke:var(--mm-c1)!important}.mermaid-rendered .section-edge-0{stroke:var(--mm-c0)!important}.mermaid-rendered .section-edge-1{stroke:var(--mm-c1)!important}.mermaid-rendered .section-edge-2{stroke:var(--mm-c2)!important}.mermaid-rendered .section-edge-3{stroke:var(--mm-c3)!important}.mermaid-rendered .section-edge-4{stroke:var(--mm-c4)!important}.mermaid-rendered .section-edge-5{stroke:var(--mm-c5)!important}.mermaid-rendered .section-edge-6{stroke:var(--mm-c6)!important}.mermaid-rendered .section-edge-7{stroke:var(--mm-c7)!important}.mermaid-rendered .mindmap-node line{stroke-width:0!important}.mermaid-rendered .timeline-node.section--1 .node-bkg{fill:var(--mm-c1)!important;stroke:var(--rule)!important}.mermaid-rendered .timeline-node.section-0 .node-bkg{fill:var(--mm-c2)!important;stroke:var(--rule)!important}.mermaid-rendered .timeline-node.section-1 .node-bkg{fill:var(--mm-c0)!important;stroke:var(--rule)!important}.mermaid-rendered .timeline-node.section-2 .node-bkg{fill:var(--mm-c3)!important;stroke:var(--rule)!important}.mermaid-rendered .timeline-node.section-3 .node-bkg{fill:var(--mm-c5)!important;stroke:var(--rule)!important}.mermaid-rendered .timeline-node.section-4 .node-bkg{fill:var(--mm-c6)!important;stroke:var(--rule)!important}.mermaid-rendered .timeline-node.section-5 .node-bkg{fill:var(--mm-c7)!important;stroke:var(--rule)!important}.mermaid-rendered .timeline-node.section-6 .node-bkg{fill:var(--mm-c4)!important;stroke:var(--rule)!important}.mermaid-rendered [class*=timeline-node] text,.mermaid-rendered [class*=timeline-node] foreignObject span,.mermaid-rendered [class*=timeline-node] foreignObject p{fill:var(--fg)!important;color:var(--fg)!important}.mermaid-rendered .timeline-node.section--1 text,.mermaid-rendered .timeline-node.section-6 text{fill:var(--magenta-deep)!important}.mermaid-rendered .timeline-node line{stroke-width:0!important}.mermaid-rendered .lineWrapper line,.mermaid-rendered .task-line{stroke:var(--fg-55)!important}.mermaid-rendered .branch.branch0{stroke:var(--mm-c0)!important}.mermaid-rendered .branch.branch1{stroke:var(--mm-c1)!important}.mermaid-rendered .branch.branch2{stroke:var(--mm-c2)!important}.mermaid-rendered .branch.branch3{stroke:var(--mm-c3)!important}.mermaid-rendered .branch.branch4{stroke:var(--mm-c4)!important}.mermaid-rendered .branch.branch5{stroke:var(--mm-c5)!important}.mermaid-rendered .branch.branch6{stroke:var(--mm-c6)!important}.mermaid-rendered .branch.branch7{stroke:var(--mm-c7)!important}.mermaid-rendered .commit0,.mermaid-rendered .commit-highlight0{fill:var(--mm-c0)!important;stroke:var(--mm-c0)!important}.mermaid-rendered .commit1,.mermaid-rendered .commit-highlight1{fill:var(--mm-c1)!important;stroke:var(--mm-c1)!important}.mermaid-rendered .commit2,.mermaid-rendered .commit-highlight2{fill:var(--mm-c2)!important;stroke:var(--mm-c2)!important}.mermaid-rendered .commit3,.mermaid-rendered .commit-highlight3{fill:var(--mm-c3)!important;stroke:var(--mm-c3)!important}.mermaid-rendered .commit4,.mermaid-rendered .commit-highlight4{fill:var(--mm-c4)!important;stroke:var(--mm-c4)!important}.mermaid-rendered .commit5,.mermaid-rendered .commit-highlight5{fill:var(--mm-c5)!important;stroke:var(--mm-c5)!important}.mermaid-rendered .commit6,.mermaid-rendered .commit-highlight6{fill:var(--mm-c6)!important;stroke:var(--mm-c6)!important}.mermaid-rendered .commit7,.mermaid-rendered .commit-highlight7{fill:var(--mm-c7)!important;stroke:var(--mm-c7)!important}.mermaid-rendered .commit-id,.mermaid-rendered .commit-msg{fill:var(--fg)!important}.mermaid-rendered .branch-label0,.mermaid-rendered .branch-label1,.mermaid-rendered .branch-label2,.mermaid-rendered .branch-label3,.mermaid-rendered .branch-label4,.mermaid-rendered .branch-label5,.mermaid-rendered .branch-label6,.mermaid-rendered .branch-label7{fill:var(--on-magenta,#faf2ff)!important}.mermaid-rendered .arrow.arrow0{stroke:var(--mm-c0)!important}.mermaid-rendered .arrow.arrow1{stroke:var(--mm-c1)!important}.mermaid-rendered .arrow.arrow2{stroke:var(--mm-c2)!important}.mermaid-rendered .arrow.arrow3{stroke:var(--mm-c3)!important}.mermaid-rendered .arrow.arrow4{stroke:var(--mm-c4)!important}.mermaid-rendered .arrow.arrow5{stroke:var(--mm-c5)!important}.mermaid-rendered .arrow.arrow6{stroke:var(--mm-c6)!important}.mermaid-rendered .arrow.arrow7{stroke:var(--mm-c7)!important}.mermaid-rendered .branchLabelBkg.label0{fill:var(--mm-c0)!important}.mermaid-rendered .branchLabelBkg.label1{fill:var(--mm-c1)!important}.mermaid-rendered .branchLabelBkg.label2{fill:var(--mm-c2)!important}.mermaid-rendered .branchLabelBkg.label3{fill:var(--mm-c3)!important}.mermaid-rendered .branchLabelBkg.label4{fill:var(--mm-c4)!important}.mermaid-rendered .branchLabelBkg.label5{fill:var(--mm-c5)!important}.mermaid-rendered .branchLabelBkg.label6{fill:var(--mm-c6)!important}.mermaid-rendered .branchLabelBkg.label7{fill:var(--mm-c7)!important}.theme-toggle.svelte-1cmi4dh{border-radius:var(--radius-full);border:1px solid var(--rule);width:36px;height:36px;color:var(--fg-70);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;display:inline-flex}.theme-toggle.svelte-1cmi4dh:hover{color:var(--fg);border-color:var(--fg-30)}.theme-toggle.svelte-1cmi4dh svg:where(.svelte-1cmi4dh){width:14px;height:14px}@media (width<=899.98px){.theme-toggle.svelte-1cmi4dh{width:44px;height:44px}}.app-header.svelte-isll26{border-bottom:1px solid var(--rule);background:var(--bg);z-index:var(--z-overlay,50);position:relative}.app-header__inner.svelte-isll26{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-4);flex-wrap:wrap;display:flex}.brand.svelte-isll26{border-radius:var(--radius-sm);align-items:center;text-decoration:none;display:inline-flex}.nav.svelte-isll26{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.nav__inline-links.svelte-isll26{display:contents}.nav-link.svelte-isll26{font-family:var(--font-sans);font-size:var(--text-small);font-weight:var(--font-weight-medium);color:var(--fg-70);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);border:1px solid #0000;text-decoration:none}.nav-link.svelte-isll26:hover{color:var(--fg);background:var(--surface)}.nav-link.active.svelte-isll26{color:var(--fg)}.nav-link.boxed.svelte-isll26{border-color:var(--rule);padding-block:7px}.nav-link.boxed.svelte-isll26:hover{border-color:var(--fg-30)}.nav-link.boxed.is-primary.svelte-isll26{background:var(--accent);color:var(--bg);border-color:var(--accent)}.nav-link.boxed.is-primary.svelte-isll26:hover,.nav-link.boxed.is-primary.svelte-isll26:focus-visible{color:#000;background:#fff;border-color:#fff;outline:none}.menu-anchor.svelte-isll26{display:none;position:relative}.hamburger.svelte-isll26{border-radius:var(--radius-full);border:1px solid var(--rule);width:36px;height:36px;color:var(--fg-70);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;display:inline-flex}.hamburger.svelte-isll26:hover{color:var(--fg);border-color:var(--fg-30)}.menu.svelte-isll26{top:calc(100% + var(--space-2));background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-md);min-width:200px;box-shadow:var(--shadow-md,0 6px 22px -8px #0000002e);padding:var(--space-2);z-index:60;animation:svelte-isll26-menu-in .15s var(--ease-out);flex-direction:column;gap:2px;display:flex;position:absolute;right:0}@keyframes svelte-isll26-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.menu-link.svelte-isll26{font-family:var(--font-sans);font-size:var(--text-small);font-weight:var(--font-weight-medium);color:var(--fg-70);padding:12px var(--space-3);border-radius:var(--radius-sm);min-height:44px;transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);align-items:center;text-decoration:none;display:flex}.menu-link.svelte-isll26:hover{color:var(--fg);background:var(--surface-2)}.menu-link.active.svelte-isll26{color:var(--fg)}@media (width<=899.98px){.nav__inline-links.svelte-isll26{display:none}.menu-anchor.svelte-isll26{display:inline-flex}.hamburger.svelte-isll26{width:44px;height:44px}.nav-link.boxed.svelte-isll26{align-items:center;min-height:44px;display:inline-flex}}@media (prefers-reduced-motion:reduce){.menu.svelte-isll26{animation:none}}.bb-logo.svelte-1l2wqp{width:auto;display:block}.site-footer.svelte-3mageo{border-top:1px solid var(--rule);margin-top:var(--space-6)}.site-footer__inner.svelte-3mageo{gap:var(--space-3) var(--space-5);padding-block:var(--space-5);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.site-footer__left.svelte-3mageo{align-items:center;gap:14px;display:inline-flex}.site-footer__logo.svelte-3mageo{opacity:.7;transition:opacity .15s var(--ease-out);align-items:center;text-decoration:none;display:inline-flex}.site-footer__logo.svelte-3mageo:hover{opacity:1}.site-footer__by.svelte-3mageo{font-family:var(--font-sans);color:var(--fg-55);letter-spacing:.01em;font-size:12px}.site-footer__bb.svelte-3mageo{color:var(--fg-70);transition:color .15s var(--ease-out);align-items:center;text-decoration:none;display:inline-flex}.site-footer__bb.svelte-3mageo:hover{color:var(--fg)}.site-footer__nav.svelte-3mageo{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.site-footer__nav.svelte-3mageo a:where(.svelte-3mageo){font-family:var(--font-sans);color:var(--fg-55);transition:color .15s var(--ease-out);border-radius:999px;padding:6px 10px;font-size:11px;text-decoration:none}.site-footer__nav.svelte-3mageo a:where(.svelte-3mageo):hover{color:var(--fg-70)}@media (width<=599.98px){.site-footer.svelte-3mageo{margin-top:0;padding-bottom:52px}.site-footer__inner.svelte-3mageo{align-items:flex-start;gap:var(--space-3);flex-direction:column-reverse}.site-footer__nav.svelte-3mageo{justify-content:flex-start}.site-footer__left.svelte-3mageo{justify-content:center;width:100%}}.reader-scroll-top.svelte-ae6mze{display:none}@media (width<=899.98px){.reader-scroll-top.svelte-ae6mze{border:1px solid var(--rule);background:var(--surface);width:44px;height:44px;color:var(--fg-70);cursor:pointer;opacity:0;pointer-events:none;z-index:var(--z-sticky);border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s,transform .2s,background .15s;display:flex;position:fixed;bottom:16px;right:16px;transform:translateY(8px)}.reader-scroll-top--visible.svelte-ae6mze{opacity:1;pointer-events:auto;transform:translateY(0)}.reader-scroll-top.svelte-ae6mze:hover{background:var(--surface-2);color:var(--fg)}}@media (prefers-reduced-motion:reduce){.reader-scroll-top.svelte-ae6mze{transition:none}}.main.svelte-12qhfyh{flex:1}
