@font-face{font-family:Manrope;font-style:normal;font-weight:300;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/manrope@5.3.0/files/manrope-latin-300-normal.woff2)format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/manrope@5.3.0/files/manrope-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/manrope@5.3.0/files/manrope-latin-500-normal.woff2)format("woff2")}@font-face{font-family:LxgwNeoXiHei;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lxgw-neoxihei-400.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/plus-jakarta-sans@5.3.0/files/plus-jakarta-sans-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/plus-jakarta-sans@5.3.0/files/plus-jakarta-sans-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/plus-jakarta-sans@5.3.0/files/plus-jakarta-sans-latin-600-normal.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/plus-jakarta-sans@5.3.0/files/plus-jakarta-sans-latin-700-normal.woff2)format("woff2")}@font-face{font-family:Maple Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/maple-mono@5.3.0/files/maple-mono-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Maple Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/maple-mono@5.3.0/files/maple-mono-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/fira-code@5.3.0/files/fira-code-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Fira Code;font-style:normal;font-weight:500;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/fira-code@5.3.0/files/fira-code-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Libertine;font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/libertinus-serif@5.3.0/files/libertinus-serif-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Libertine;font-style:normal;font-weight:700;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/libertinus-serif@5.3.0/files/libertinus-serif-latin-700-normal.woff2)format("woff2")}@font-face{font-family:Libertine;font-style:italic;font-weight:400;font-display:swap;src:url(https://cdn.jsdelivr.net/npm/@fontsource/libertinus-serif@5.3.0/files/libertinus-serif-latin-400-italic.woff2)format("woff2")}@font-face{font-family:LxgwNeoZhiSong;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lxgw-neozhisong-subset-400.woff2)format("woff2")}:root{--cpd-info:oklch(62.3% .214 259.815);--cpd-warning:oklch(76.9% .188 70.08);--cpd-error:oklch(63.7% .237 25.331);--cpd-success:oklch(72.3% .219 149.579);--cpd-idea:oklch(70.5% .209 60.849);--cpd-gold:oklch(74% .135 82);--cpd-spacing:.25rem;--cpd-radius:8px;--cpd-sidebar-width:256px;--cpd-toc-width-desktop:256px;--cpd-layout-width:97rem;--cpd-page-max-width:800px;--cpd-header-height:0px;--cpd-toc-popover-height:0px;--cpd-docs-row-1:var(--cpd-header-height);--cpd-docs-height:100dvh;--cpd-font-sans:"Manrope", "LxgwNeoXiHei", ui-sans-serif, system-ui, "Segoe UI", Roboto, "Source Sans 3", "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif;--cpd-font-display:"Plus Jakarta Sans", "LxgwNeoXiHei", ui-sans-serif, system-ui, "Segoe UI", Roboto, "Source Sans 3", "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif;--cpd-font-mono:"Maple Mono", "Fira Code", "LxgwNeoXiHei", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", "Roboto Mono", "Microsoft YaHei UI", "Microsoft YaHei", monospace;--cpd-font-serif:"Libertine", "LxgwNeoZhiSong", Georgia, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root:lang(en){--cpd-font-sans:"Manrope", ui-sans-serif, system-ui, "Segoe UI", Roboto, "Source Sans 3", "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif;--cpd-font-display:"Plus Jakarta Sans", ui-sans-serif, system-ui, "Segoe UI", Roboto, "Source Sans 3", "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif;--cpd-font-mono:"Maple Mono", "Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", "Roboto Mono", "Microsoft YaHei UI", "Microsoft YaHei", monospace;--cpd-font-serif:"Libertine", Georgia, serif}body{font-family:var(--cpd-font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root,:root[data-cpd-theme=light]{--cpd-background:#f5f5f5;--cpd-foreground:#0a0a0a;--cpd-muted:#f5f5f5;--cpd-muted-foreground:#6e6e6e;--cpd-popover:#fafafa;--cpd-popover-foreground:#272727;--cpd-card:#f1f1f1;--cpd-card-foreground:#0a0a0a;--cpd-border:#cccccc80;--cpd-primary:#171717;--cpd-primary-foreground:#fafafa;--cpd-secondary:#ededed;--cpd-secondary-foreground:#171717;--cpd-accent:#d1d1d180;--cpd-accent-foreground:#171717;--cpd-ring:#a3a3a3;--cpd-overlay:#0003;--cpd-sidebar:#f5f5f5;--cpd-sidebar-foreground:#0a0a0a;--cpd-sidebar-border:#cccccc80;--cpd-sidebar-accent:#d1d1d180;--cpd-sidebar-accent-foreground:#171717}:root[data-cpd-theme=dark]{--cpd-background:#121212;--cpd-foreground:#ebebeb;--cpd-muted:#212121;--cpd-muted-foreground:#b3b3b3cc;--cpd-popover:#1e1e1e;--cpd-popover-foreground:#dedede;--cpd-card:#191919;--cpd-card-foreground:#fafafa;--cpd-border:#6663;--cpd-primary:#fafafa;--cpd-primary-foreground:#171717;--cpd-secondary:#212121;--cpd-secondary-foreground:#ebebeb;--cpd-accent:#6868684d;--cpd-accent-foreground:#e6e6e6;--cpd-ring:#8c8c8c;--cpd-overlay:#0003;--cpd-sidebar:#121212;--cpd-sidebar-foreground:#ebebeb;--cpd-sidebar-border:#6663;--cpd-sidebar-accent:#6868684d;--cpd-sidebar-accent-foreground:#e6e6e6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-cpd-theme=light]){--cpd-background:#121212;--cpd-foreground:#ebebeb;--cpd-muted:#212121;--cpd-muted-foreground:#b3b3b3cc;--cpd-popover:#1e1e1e;--cpd-popover-foreground:#dedede;--cpd-card:#191919;--cpd-card-foreground:#fafafa;--cpd-border:#6663;--cpd-primary:#fafafa;--cpd-primary-foreground:#171717;--cpd-secondary:#212121;--cpd-secondary-foreground:#ebebeb;--cpd-accent:#6868684d;--cpd-accent-foreground:#e6e6e6;--cpd-ring:#8c8c8c;--cpd-overlay:#0003;--cpd-sidebar:#121212;--cpd-sidebar-foreground:#ebebeb;--cpd-sidebar-border:#6663;--cpd-sidebar-accent:#6868684d;--cpd-sidebar-accent-foreground:#e6e6e6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}.cpd-layout{min-height:var(--cpd-docs-height);--cpd-sidebar-col:var(--cpd-sidebar-width);--cpd-toc-width:0px;grid-template:"sidebar sidebar header toc toc" var(--cpd-header-height) "sidebar sidebar toc-popover toc toc" var(--cpd-toc-popover-height) "sidebar sidebar main toc toc" 1fr / minmax(0, 1fr) var(--cpd-sidebar-col) minmax(0, calc(var(--cpd-layout-width) - var(--cpd-sidebar-width) - var(--cpd-toc-width))) var(--cpd-toc-width) minmax(0, 1fr);width:100%;transition:grid-template-columns .25s;display:grid;overflow-x:clip}.cpd-layout>[data-cpd-slot]{display:contents}.cpd-layout,.cpd-layout *,.cpd-layout :before,.cpd-layout :after{box-sizing:border-box}@media (width>=1280px){.cpd-layout{--cpd-toc-width:var(--cpd-toc-width-desktop)}}@media (width<=767px){.cpd-layout{--cpd-sidebar-col:0px;--cpd-header-height:56px}}.cpd-layout[data-cpd-collapsed=true]{--cpd-sidebar-col:0px}.cpd-layout .cpd-sidebar-expand{top:calc(1rem + var(--cpd-docs-row-1));z-index:30;display:none;position:fixed;inset-inline-start:1rem}.cpd-layout[data-cpd-collapsed=true] .cpd-sidebar-expand{display:inline-flex}.cpd-main{grid-area:main;min-width:0;padding:1.5rem 1rem 4rem}@media (width>=768px){.cpd-main{padding:2rem 1.5rem 4rem}}@media (width>=1280px){.cpd-main{padding:3.5rem 2rem 4rem}}.cpd-mobile-header{top:var(--cpd-docs-row-1);z-index:30;border-bottom:1px solid var(--cpd-border);background:color-mix(in srgb, var(--cpd-background) 80%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);grid-area:header;align-items:center;gap:.5rem;padding:0 1rem 0 1.5rem;display:none;position:sticky}.cpd-mobile-header-brand{font-family:var(--cpd-font-display);margin-inline-end:auto;font-size:1rem;font-weight:600}@media (width<=767px){.cpd-mobile-header{display:flex}}.cpd-sidebar-root{grid-area:sidebar;min-width:0;position:relative}.cpd-sidebar{top:var(--cpd-docs-row-1);height:calc(var(--cpd-docs-height) - var(--cpd-docs-row-1));width:var(--cpd-sidebar-width);background:var(--cpd-sidebar);max-width:100%;color:var(--cpd-sidebar-foreground);border-inline-end:1px solid var(--cpd-sidebar-border);flex-direction:column;transition:transform .25s,opacity .25s;display:flex;position:sticky}.cpd-layout[data-cpd-collapsed=true] .cpd-sidebar{opacity:0;pointer-events:none;transform:translate(-100%)}.cpd-sidebar-inner{flex-direction:column;height:100%;min-height:0;display:flex}.cpd-sidebar-header{align-items:center;gap:.5rem;padding:1rem 1rem .5rem;display:flex}.cpd-sidebar-title{font-family:var(--cpd-font-serif);letter-spacing:.01em;margin-inline-end:auto;font-size:.9375rem;font-weight:600}.cpd-sidebar-collapse{color:var(--cpd-sidebar-foreground);opacity:.7}.cpd-sidebar-nav{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:1;gap:.125rem;min-height:0;padding:.75rem 1rem 1rem;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#fff 12px calc(100% - 12px),#0000);mask-image:linear-gradient(#0000,#fff 12px calc(100% - 12px),#0000)}.cpd-sidebar-nav::-webkit-scrollbar{width:5px;height:5px}.cpd-sidebar-nav::-webkit-scrollbar-thumb{background:var(--cpd-border);border-radius:5px}.cpd-sidebar-nav::-webkit-scrollbar-track{background:0 0}.cpd-sidebar-footer{border-top:1px solid var(--cpd-sidebar-border);align-items:center;gap:.5rem;padding:.75rem 1rem 1rem;display:flex}.cpd-sidebar-item,.cpd-sidebar-folder-trigger{border-radius:calc(var(--cpd-radius) - 2px);width:100%;color:var(--cpd-sidebar-accent-foreground);font-family:var(--cpd-font-display);text-align:start;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem;font-size:.875rem;line-height:1.4;text-decoration:none;transition:background-color .1s,color .1s;display:flex;position:relative}.cpd-sidebar-item:hover,.cpd-sidebar-folder-trigger:hover{background:var(--cpd-sidebar-accent);color:var(--cpd-sidebar-accent-foreground)}.cpd-sidebar-item svg,.cpd-sidebar-folder-trigger svg,.cpd-sidebar-icon svg{flex-shrink:0;width:1rem;height:1rem}.cpd-sidebar-item[data-cpd-active=true]{background:color-mix(in srgb, var(--cpd-primary) 10%, transparent);color:var(--cpd-primary)}.cpd-sidebar-item[data-cpd-active=true]:not([data-cpd-depth="0"]):before{content:"";background:var(--cpd-primary);width:1px;position:absolute;inset-block:.625rem;inset-inline-start:.625rem}.cpd-sidebar-folder{flex-direction:column;gap:.125rem;display:flex}.cpd-sidebar-folder-content{flex-direction:column;gap:.125rem;padding-block-start:.125rem;display:flex;position:relative}.cpd-sidebar-folder[data-cpd-open=false] .cpd-sidebar-folder-content{display:none}.cpd-sidebar .cpd-sidebar-folder[data-cpd-depth="0"]>.cpd-sidebar-folder-content:before,.cpd-sidebar-folder[data-cpd-depth="1"]>.cpd-sidebar-folder-content:before{content:"";background:var(--cpd-border);width:1px;position:absolute;inset-block:.25rem;inset-inline-start:.625rem}.cpd-sidebar-chevron{margin-inline-start:auto;transition:transform .15s}.cpd-sidebar-folder[data-cpd-open=false] .cpd-sidebar-chevron{transform:rotate(-90deg)}[dir=rtl] .cpd-sidebar-folder[data-cpd-open=false] .cpd-sidebar-chevron{transform:rotate(90deg)}.cpd-sidebar-separator{letter-spacing:.05em;text-transform:uppercase;color:var(--cpd-muted-foreground);align-items:center;gap:.5rem;margin:1.5rem 0 .375rem;padding-inline:.5rem;font-size:.75rem;font-weight:600;display:inline-flex}.cpd-sidebar-separator-first{margin-top:0}.cpd-drawer{z-index:60;pointer-events:none;position:fixed;inset:0}.cpd-drawer-overlay{top:var(--sl-nav-height);background:var(--cpd-overlay);-webkit-backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity .25s;position:absolute;bottom:0;left:0;right:0}.cpd-drawer-panel{top:var(--sl-nav-height);bottom:0;background:var(--cpd-card);border-inline-start:1px solid var(--cpd-border);flex-direction:column;width:85%;max-width:380px;transition:transform .25s;display:flex;position:absolute;inset-inline-end:0;overflow:hidden;transform:translate(100%);box-shadow:0 24px 48px -12px #0006}.cpd-drawer-header{border-bottom:1px solid var(--cpd-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .75rem .75rem 1.25rem;display:flex}.cpd-drawer .cpd-drawer-title{letter-spacing:-.01em;color:var(--cpd-foreground);flex:1;margin:0;font-size:1rem;font-weight:600}.cpd-drawer-close{flex-shrink:0}.cpd-drawer-body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.cpd-drawer[data-cpd-open=true] .cpd-drawer-overlay{opacity:1;pointer-events:auto}.cpd-drawer[data-cpd-open=true] .cpd-drawer-panel{pointer-events:auto;transform:none}[dir=rtl] .cpd-drawer-panel{inset-inline:0 auto;transform:translate(-100%)}[dir=rtl] .cpd-drawer[data-cpd-open=true] .cpd-drawer-panel{transform:none}.cpd-drawer[data-cpd-drawer-fullscreen] .cpd-drawer-overlay{-webkit-backdrop-filter:none;background:#00000080;transition:opacity .2s;inset:0}.cpd-drawer[data-cpd-drawer-fullscreen] .cpd-drawer-panel{width:var(--cpd-drawer-width,28rem);background:#fff;border-inline-start:none;border-start-start-radius:.5rem;max-width:100dvw;transition:transform .2s;top:0;box-shadow:0 25px 50px -12px #00000040}:root[data-cpd-theme=dark] .cpd-drawer[data-cpd-drawer-fullscreen] .cpd-drawer-panel{background:#191919}.cpd-drawer[data-cpd-drawer-fullscreen] .cpd-drawer-header{border-bottom:none;padding:1.25rem 1.25rem .25rem;display:block;position:relative}.cpd-drawer[data-cpd-drawer-fullscreen] .cpd-drawer-title{flex:none;font-size:1.125rem}.cpd-drawer[data-cpd-drawer-fullscreen] .cpd-drawer-close{top:.75rem;border-radius:.375rem;width:2.5rem;height:2.5rem;position:absolute;inset-inline-end:.75rem}.cpd-drawer[data-cpd-drawer-fullscreen] .cpd-drawer-close svg{width:1.25rem;height:1.25rem}.cpd-drawer[data-cpd-drawer-fullscreen] .cpd-drawer-body{padding:1rem 1.25rem 1.25rem}[dir=rtl] .cpd-drawer[data-cpd-drawer-fullscreen] .cpd-drawer-panel{border-start-start-radius:0;border-end-start-radius:.5rem}.cpd-drawer .cpd-nav-drawer-tree{padding-block:.5rem}@media (width<=767px){.cpd-sidebar-shell{display:none}}.cpd-toc{top:var(--cpd-docs-row-1);height:calc(var(--cpd-docs-height) - var(--cpd-docs-row-1));width:var(--cpd-toc-width);flex-direction:column;grid-area:toc;padding:3rem 1rem .5rem 0;display:none;position:sticky}@media (width>=1280px){.cpd-toc{display:flex}}.cpd-toc-title{color:var(--cpd-muted-foreground);align-items:center;gap:.375rem;margin:0;font-size:.875rem;font-weight:500;display:inline-flex}.cpd-toc-title-icon{width:1rem;height:1rem}.cpd-toc-scroll{scrollbar-width:none;flex:1;min-height:0;margin-inline-start:1px;padding-block:.75rem;overflow:clip auto;-webkit-mask-image:linear-gradient(#0000,#fff 16px calc(100% - 16px),#0000);mask-image:linear-gradient(#0000,#fff 16px calc(100% - 16px),#0000)}.cpd-toc-scroll::-webkit-scrollbar{display:none}.cpd-toc-items{flex-direction:column;display:flex;position:relative}.cpd-toc-empty{border:1px solid var(--cpd-border);border-radius:var(--cpd-radius);background:var(--cpd-card);color:var(--cpd-muted-foreground);padding:.75rem;font-size:.75rem}.cpd-toc-thumb{z-index:0;background:color-mix(in srgb, var(--cpd-primary) 9%, transparent);clip-path:inset(0 0 100% round 8px);pointer-events:none;border-radius:8px;position:absolute;inset:0}.cpd-toc-thumb[data-ready]{transition:clip-path .28s cubic-bezier(.16,1,.3,1)}.cpd-toc-item{z-index:1;font-family:var(--cpd-font-display);color:var(--cpd-muted-foreground);overflow-wrap:anywhere;padding-block:.375rem;padding-inline-end:.625rem;scroll-margin:1rem;font-size:.875rem;line-height:1.5;text-decoration:none;transition:color .15s;display:block;position:relative}.cpd-toc-item:hover{color:var(--cpd-accent-foreground)}.cpd-toc-item[data-cpd-active=true]{color:var(--cpd-primary);font-weight:500}.cpd-toc-step-badge{min-inline-size:1rem;background:var(--cpd-muted);height:1rem;color:var(--cpd-muted-foreground);font-family:var(--cpd-font-mono);vertical-align:baseline;border-radius:999px;justify-content:center;align-items:center;margin-inline-end:.375rem;font-size:10px;font-weight:500;display:inline-flex}.cpd-toc-item[data-cpd-active=true] .cpd-toc-step-badge{background:var(--cpd-primary);color:var(--cpd-primary-foreground)}.cpd-toc-mobile{border:1px solid var(--cpd-border);border-radius:var(--cpd-radius);background:var(--cpd-card);margin:0 0 1rem;display:none}@media (width<=1279px){.cpd-toc-mobile{display:block}}.cpd-toc-mobile-summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--cpd-font-display);color:var(--cpd-foreground);align-items:center;gap:.5rem;padding:.625rem .75rem;font-size:.875rem;font-weight:500;list-style:none;display:flex}.cpd-toc-mobile-summary::-webkit-details-marker{display:none}.cpd-toc-mobile-summary:hover{color:var(--cpd-accent-foreground)}.cpd-toc-mobile-icon{width:1rem;height:1rem;color:var(--cpd-muted-foreground)}.cpd-toc-mobile-chevron{width:1rem;height:1rem;color:var(--cpd-muted-foreground);margin-inline-start:auto;transition:transform .15s}.cpd-toc-mobile[open] .cpd-toc-mobile-chevron{transform:rotate(180deg)}.cpd-toc-mobile-body{border-top:1px solid var(--cpd-border);padding:.25rem .5rem .625rem}.cpd-toc-mobile-item{color:var(--cpd-muted-foreground);overflow-wrap:anywhere;padding-block:.375rem;font-size:.8125rem;line-height:1.5;text-decoration:none;transition:color .15s;display:block}.cpd-toc-mobile-item:hover{color:var(--cpd-accent-foreground)}.cpd-article{max-width:var(--cpd-page-max-width);color:var(--cpd-foreground);overflow-wrap:anywhere;flex-direction:column;gap:1rem;margin-inline:auto;font-size:1rem;line-height:1.75;display:flex}.cpd-article>:first-child{margin-top:0}.cpd-article>:last-child{margin-bottom:0}.cpd-article h1,.cpd-article h2,.cpd-article h3,.cpd-article h4,.cpd-article h5,.cpd-article h6{font-family:var(--cpd-font-display);letter-spacing:-.01em;scroll-margin-top:calc(var(--cpd-header-height) + 2rem);margin:1.5rem 0 .75rem;font-weight:600;line-height:1.3}.cpd-article h1{margin-top:0;font-size:2.25rem}.cpd-article h2{font-size:1.5rem}.cpd-article h3{font-size:1.25rem}.cpd-article h4{font-size:1.05rem}.cpd-article p{margin:0}.cpd-article a{color:var(--cpd-primary);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in oklab, var(--cpd-primary) 30%, transparent);text-decoration-color:color-mix(in oklab, var(--cpd-primary) 30%, transparent);transition:color .15s,text-decoration-color .15s,text-decoration-thickness .15s}.cpd-article a:after{content:"";vertical-align:-.125em;opacity:.7;background-color:currentColor;width:.85em;height:.85em;margin-left:.2em;transition:opacity .15s,transform .15s;display:inline-block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") 50%/contain no-repeat}.cpd-article a[target=_blank]:after,.cpd-article a[href^=http]:after{vertical-align:.3em;width:.8em;height:.8em;margin-left:.25em;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7h10v10'/%3E%3Cpath d='M7 17 17 7'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7h10v10'/%3E%3Cpath d='M7 17 17 7'/%3E%3C/svg%3E") 50%/contain no-repeat}.cpd-article a:hover{color:var(--cpd-foreground);-webkit-text-decoration-color:var(--cpd-primary);text-decoration-color:var(--cpd-primary);text-decoration-thickness:1.5px}.cpd-article a:hover:after{opacity:1;transform:translate(1px)}.cpd-article a:focus-visible{outline:2px solid var(--cpd-ring);outline-offset:2px;border-radius:2px}.cpd-article a.cpd-button,.cpd-article a.cpd-card,.cpd-article a.cpd-dropdown-item,.cpd-card,.cpd-card a,.cpd-btn,.cpd-btn a,.cpd-heading-anchor,.cpd-breadcrumb a,.cpd-pagination a,.cpd-callout a,.cpd-tabs a,.cpd-accordion a,.cpd-code a,.cpd-step a,.sl-markdown-content :is(h1,h2,h3,h4,h5,h6)>a,.starlight-aside a{text-decoration:none}.cpd-article a.cpd-button:after,.cpd-article a.cpd-card:after,.cpd-article a.cpd-dropdown-item:after,.cpd-article a.cpd-github-card:after,.cpd-article a.cpd-bili-card:after,.cpd-card a:after,.cpd-btn a:after,.cpd-heading-anchor:after,.cpd-breadcrumb a:after,.cpd-pagination a:after,.cpd-callout a:after,.cpd-tabs a:after,.cpd-accordion a:after,.cpd-code a:after,.cpd-step a:after,.sl-markdown-content :is(h1,h2,h3,h4,h5,h6)>a:after,.starlight-aside a:after{content:none}.cpd-article ul,.cpd-article ol{margin:0;padding-inline-start:1.5rem}.cpd-article li{margin-block:.25rem}.cpd-article li::marker{color:var(--cpd-muted-foreground)}.cpd-article blockquote{border-inline-start:3px solid var(--cpd-border);color:var(--cpd-muted-foreground);margin:0;padding-inline-start:1rem}.cpd-article hr{border:none;border-top:1px solid var(--cpd-border);margin:.5rem 0}.cpd-article img{border-radius:var(--cpd-radius);border:1px solid var(--cpd-border);max-width:100%}.cpd-article>img{align-self:flex-start}.cpd-iz{width:fit-content;max-width:100%;margin:.5rem 0;line-height:0;display:block;position:relative}.cpd-iz--center{margin-inline:auto}.cpd-iz img{line-height:normal}.cpd-iz [data-rmiz-ghost]{pointer-events:none;position:absolute;inset:0}.cpd-iz [data-rmiz-btn-zoom],.cpd-iz [data-rmiz-btn-unzoom]{box-sizing:border-box;background-color:color-mix(in srgb, var(--cpd-foreground) 70%, transparent);width:40px;height:40px;color:var(--cpd-background);outline-offset:2px;touch-action:manipulation;appearance:none;cursor:zoom-in;border:none;border-radius:50%;place-items:center;margin:0;padding:9px;display:grid}.cpd-iz [data-rmiz-btn-zoom]{cursor:zoom-in;position:absolute;top:10px;right:10px}.cpd-iz [data-rmiz-btn-unzoom]{z-index:1;cursor:zoom-out;position:absolute;top:20px;right:20px}.cpd-iz [data-rmiz-btn-zoom]:not(:focus):not(:active){white-space:nowrap;pointer-events:none;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.cpd-iz [data-rmiz-content=found] img{cursor:zoom-in}.cpd-iz [data-rmiz-modal]::backdrop{display:none}.cpd-iz [data-rmiz-modal][open]{overscroll-behavior:none;background:0 0;border:0;width:100dvw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.cpd-iz [data-rmiz-modal-overlay]{transition:background-color .3s;position:absolute;inset:0}.cpd-iz [data-rmiz-modal-overlay=hidden]{background-color:#0000}.cpd-iz [data-rmiz-modal-overlay=visible]{background-color:color-mix(in srgb, var(--cpd-background) 80%, transparent);-webkit-backdrop-filter:blur(8px)}.cpd-iz [data-rmiz-modal-content]{width:100%;height:100%;position:relative}.cpd-iz [data-rmiz-modal-img]{cursor:zoom-out;transform-origin:0 0;transition:transform .3s;position:absolute}@media (prefers-reduced-motion:reduce){.cpd-iz [data-rmiz-modal-img],.cpd-iz [data-rmiz-modal-overlay]{transition-duration:.01ms!important}}.cpd-article table{border-collapse:collapse;width:100%;margin-block:.25rem;font-size:.875rem}.cpd-article th,.cpd-article td{border:1px solid var(--cpd-border);text-align:start;vertical-align:top;padding:.5rem .75rem}.cpd-article th{background:var(--cpd-secondary);font-weight:600}.cpd-article strong{font-weight:600}.cpd-article :not(pre)>code{border:1px solid var(--cpd-border);border-radius:calc(var(--cpd-radius) - 4px);background:var(--cpd-secondary);font-family:var(--cpd-font-mono);color:var(--cpd-foreground);padding:.15em .4em;font-size:.85em}.cpd-heading{align-items:center;gap:.25rem;display:flex}.cpd-heading-anchor{color:inherit!important;text-decoration:none!important}.cpd-heading-copy{opacity:0;color:var(--cpd-muted-foreground);flex-shrink:0;transition:opacity .15s}.cpd-heading:hover .cpd-heading-copy,.cpd-heading:focus-within .cpd-heading-copy{opacity:1}.cpd-heading-copy svg{width:1rem;height:1rem}.cpd-article .sl-heading-wrapper a.sl-anchor-link{color:var(--cpd-muted-foreground);text-decoration:none}.cpd-article .sl-heading-wrapper a.sl-anchor-link:after{content:none}.cpd-btn{border-radius:calc(var(--cpd-radius) - 2px);color:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:.25rem;padding:.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .1s,color .1s;display:inline-flex}.cpd-btn:focus-visible{outline:2px solid var(--cpd-ring);outline-offset:1px}.cpd-btn-ghost:hover{background:var(--cpd-accent);color:var(--cpd-accent-foreground)}.cpd-btn svg{width:1rem;height:1rem}.cpd-button{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;font-weight:600;line-height:1;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.cpd-button:focus-visible{outline:2px solid var(--cpd-ring);outline-offset:2px}.cpd-button:disabled{opacity:.5;cursor:not-allowed}.cpd-button svg{flex-shrink:0;width:1em;height:1em}.cpd-button-sm{height:2rem;padding-inline:.75rem;font-size:.8125rem}.cpd-button-md{height:2.5rem;padding-inline:1rem;font-size:.875rem}.cpd-button-lg{height:3rem;padding-inline:1.25rem;font-size:1rem}.cpd-button-color-primary{--cpd-btn-color:var(--cpd-primary);--cpd-btn-contrast:var(--cpd-primary-foreground)}.cpd-button-color-info{--cpd-btn-color:var(--cpd-info);--cpd-btn-contrast:#fff}.cpd-button-color-success{--cpd-btn-color:var(--cpd-success);--cpd-btn-contrast:#fff}.cpd-button-color-warning{--cpd-btn-color:var(--cpd-warning);--cpd-btn-contrast:#fff}.cpd-button-color-error{--cpd-btn-color:var(--cpd-error);--cpd-btn-contrast:#fff}.cpd-button-color-idea{--cpd-btn-color:var(--cpd-idea);--cpd-btn-contrast:#fff}.cpd-button-solid{background:var(--cpd-btn-color);color:var(--cpd-btn-contrast)}.cpd-button-solid:hover{background:color-mix(in oklab, var(--cpd-btn-color) 85%, black)}:root[data-cpd-theme=dark] .cpd-button-solid:hover{background:color-mix(in oklab, var(--cpd-btn-color) 85%, white)}.cpd-button-subtle{background:color-mix(in oklab, var(--cpd-btn-color) 14%, transparent);color:color-mix(in oklab, var(--cpd-btn-color) 75%, var(--cpd-foreground))}.cpd-button-subtle:hover{background:color-mix(in oklab, var(--cpd-btn-color) 24%, transparent)}.cpd-button-surface{background:color-mix(in oklab, var(--cpd-btn-color) 8%, transparent);border-color:color-mix(in oklab, var(--cpd-btn-color) 30%, transparent);color:var(--cpd-btn-color)}.cpd-button-surface:hover{background:color-mix(in oklab, var(--cpd-btn-color) 14%, transparent)}.cpd-button-outline{border-color:color-mix(in oklab, var(--cpd-btn-color) 40%, transparent);color:var(--cpd-btn-color)}.cpd-button-outline:hover{background:color-mix(in oklab, var(--cpd-btn-color) 10%, transparent)}.cpd-button-ghost{color:var(--cpd-btn-color)}.cpd-button-ghost:hover{background:color-mix(in oklab, var(--cpd-btn-color) 12%, transparent)}.cpd-button-plain{color:var(--cpd-btn-color)}.cpd-button-plain:hover{text-decoration:underline}.cpd-article a.cpd-button-solid{color:var(--cpd-btn-contrast)}.cpd-article a.cpd-button:not(.cpd-button-solid){color:var(--cpd-btn-color)}.cpd-theme-icon{display:none}:root[data-cpd-theme-mode=dark] .cpd-theme-icon-moon,:root[data-cpd-theme-mode=light] .cpd-theme-icon-sun,:root[data-cpd-theme-mode=system] .cpd-theme-icon-monitor{display:block}.cpd-callout{border:1px solid var(--cpd-border);border-radius:var(--cpd-radius);background:var(--cpd-card);color:var(--cpd-card-foreground);box-shadow:none;gap:.5rem;margin-block:.25rem;padding:.75rem 1rem .75rem .5rem;font-size:.875rem;display:flex}.cpd-callout-bar{background:color-mix(in srgb, var(--cpd-callout-color) 50%, transparent);border-radius:2px;flex-shrink:0;width:2px}.cpd-callout-icon svg{width:1.25rem;height:1.25rem;fill:var(--cpd-callout-color);stroke:var(--cpd-card);margin-inline-end:-.125rem}.cpd-callout-idea .cpd-callout-icon svg{fill:var(--cpd-callout-color);stroke:var(--cpd-callout-color)}.cpd-callout-title{margin:0 0 .25rem;font-weight:500}.cpd-callout-desc{min-width:0;color:var(--cpd-muted-foreground);flex:1}.cpd-callout-desc>:first-child{margin-top:0}.cpd-callout-desc>:last-child{margin-bottom:0}.cpd-callout-info{--cpd-callout-color:var(--cpd-info)}.cpd-callout-warning{--cpd-callout-color:var(--cpd-warning)}.cpd-callout-error{--cpd-callout-color:var(--cpd-error)}.cpd-callout-success{--cpd-callout-color:var(--cpd-success)}.cpd-callout-idea{--cpd-callout-color:var(--cpd-idea)}.cpd-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-block:.25rem;display:grid}@media (width<=1024px){.cpd-cards{grid-template-columns:1fr}}.cpd-cards.cpd-cards-stack{grid-template-columns:1fr}.cpd-card{border:1px solid var(--cpd-border);border-radius:var(--cpd-radius);background:var(--cpd-card);height:100%;color:var(--cpd-card-foreground);padding:1rem;text-decoration:none;transition:background-color .15s,border-color .15s;display:block}a.cpd-card:hover{background:var(--cpd-accent);border-color:var(--cpd-ring);text-decoration:none}.cpd-card .cpd-card-head{align-items:center;gap:.5rem;display:flex}.cpd-card .cpd-card-icon{color:var(--cpd-muted-foreground);flex:none;display:inline-flex}.cpd-card .cpd-card-icon svg{width:1rem;height:1rem}.cpd-card .cpd-card-title{font-family:var(--cpd-font-sans);letter-spacing:normal;margin:0;font-size:.875rem;font-weight:500;line-height:1.4}.cpd-card .cpd-card-desc{color:var(--cpd-muted-foreground);margin:.5rem 0 0;font-size:.875rem;line-height:1.5}.cpd-card .cpd-card-children{color:var(--cpd-muted-foreground);margin-top:.5rem;font-size:.875rem}.cpd-article a.cpd-github-card,a.cpd-github-card{border:1px solid var(--cpd-border);border-radius:var(--cpd-radius);background:var(--cpd-card);width:100%;max-width:480px;color:var(--cpd-card-foreground);margin-inline:auto;padding:1.25rem;text-decoration:none;transition:background-color .15s,border-color .15s;display:block}.cpd-article a.cpd-github-card:hover,a.cpd-github-card:hover{background:var(--cpd-accent);border-color:var(--cpd-ring);text-decoration:none}.cpd-github-card-head{align-items:center;gap:.5rem;display:flex}.cpd-github-card-name{overflow-wrap:anywhere;min-width:0;font-family:var(--cpd-font-mono);font-size:.9375rem;font-weight:600}.cpd-github-card-icon{width:1.1em;height:1.1em;color:var(--cpd-muted-foreground);flex:none}.cpd-github-card-desc{color:var(--cpd-muted-foreground);margin-top:.5rem;font-size:.8125rem;display:block}.cpd-github-card-meta{color:var(--cpd-muted-foreground);align-items:center;gap:1rem;margin-top:.75rem;font-size:.8125rem;display:flex}.cpd-github-card-lang{align-items:center;gap:.375rem;display:inline-flex}.cpd-github-card-dot{border-radius:50%;width:.625rem;height:.625rem}.cpd-github-card-stat{align-items:center;gap:.3rem;display:inline-flex}.cpd-github-card-stat .cpd-github-card-icon{width:1em;height:1em}.cpd-article a.cpd-bili-card,a.cpd-bili-card{border:1px solid var(--cpd-border);border-radius:var(--cpd-radius);background:var(--cpd-card);width:100%;max-width:480px;color:var(--cpd-card-foreground);grid-template-columns:168px minmax(0,1fr);gap:.75rem;margin-block:.75rem;padding:.625rem;text-decoration:none;transition:border-color .15s,background-color .15s;display:grid}.cpd-article a.cpd-bili-card:hover,a.cpd-bili-card:hover{border-color:color-mix(in oklab, var(--cpd-gold) 45%, var(--cpd-border))}@media (width<=30rem){.cpd-article a.cpd-bili-card,a.cpd-bili-card{grid-template-columns:1fr}}.cpd-bili-card-cover{aspect-ratio:16/9;border-radius:calc(var(--cpd-radius) - 2px);background:var(--cpd-secondary);align-self:start;display:block;position:relative;overflow:hidden}.cpd-bili-card-cover img{object-fit:cover;width:100%;height:100%;display:block}.cpd-bili-card-duration{color:#fff;font-family:var(--cpd-font-mono);background:oklab(0% none none/.72);border-radius:.25rem;padding:.05rem .35rem;font-size:.6875rem;line-height:1.4;position:absolute;bottom:.375rem;right:.375rem}.cpd-bili-card-body{flex-direction:column;gap:.375rem;min-width:0;display:flex}.cpd-bili-card-title{overflow-wrap:anywhere;font-size:.9375rem;font-weight:600;line-height:1.45}.cpd-bili-card-desc{-webkit-line-clamp:2;color:var(--cpd-muted-foreground);-webkit-box-orient:vertical;font-size:.8125rem;line-height:1.55;display:-webkit-box;overflow:hidden}.cpd-bili-card-meta{color:var(--cpd-muted-foreground);justify-content:space-between;align-items:center;gap:.75rem;margin-top:auto;font-size:.8125rem;display:flex}.cpd-bili-card-up{align-items:center;gap:.375rem;min-width:0;display:inline-flex}.cpd-bili-card-avatar{object-fit:cover;border-radius:50%;width:1.125rem;height:1.125rem}.cpd-bili-card-source{flex:none}.cpd-bili-card-source:after{content:"";vertical-align:-.05em;opacity:.7;background-color:currentColor;width:.8em;height:.8em;margin-left:.25em;transition:opacity .15s,transform .15s;display:inline-block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7h10v10'/%3E%3Cpath d='M7 17 17 7'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7h10v10'/%3E%3Cpath d='M7 17 17 7'/%3E%3C/svg%3E") 50%/contain no-repeat}a.cpd-bili-card:hover .cpd-bili-card-source:after{opacity:1;transform:translate(1px)}@media (width<=30rem){.cpd-bili-card-cover{order:-1}}.cpd-steps{counter-reset:cpd-step;--cpd-steps-pad:2rem;flex-direction:column;gap:1rem;margin-block:.25rem;margin-inline-start:.5rem;padding-inline-start:var(--cpd-steps-pad);display:flex;position:relative}@media (width>=640px){.cpd-steps{--cpd-steps-pad:2rem;margin-inline-start:1rem}}.cpd-steps:before{content:"";background:var(--cpd-border);width:1px;position:absolute;inset-block:.25rem;inset-inline-start:calc(var(--cpd-steps-pad) - 1.5rem)}.cpd-step{position:relative}.cpd-step:before{counter-increment:cpd-step;content:counter(cpd-step);inset-inline-start:-2.5rem;background:var(--cpd-secondary);width:2rem;height:2rem;color:var(--cpd-secondary-foreground);border-radius:9999px;justify-content:center;align-items:center;font-size:.875rem;font-weight:500;display:flex;position:absolute;top:0}.cpd-tabs{border:1px solid var(--cpd-border);border-radius:var(--cpd-radius);background:var(--cpd-secondary);flex-direction:column;margin-block:.25rem;display:flex;overflow:hidden}.cpd-tabs-list{scrollbar-width:none;gap:.875rem;padding-inline:1rem;display:flex;position:relative;overflow-x:auto}.cpd-tabs-list::-webkit-scrollbar{display:none}.cpd-tabs-indicator{background:var(--cpd-primary);pointer-events:none;border-radius:1px;width:0;height:2px;transition:left .22s cubic-bezier(.22,1,.36,1),width .22s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0}.cpd-tabs-label{margin-block:auto;margin-inline-end:auto;font-size:.875rem;font-weight:500}.cpd-tabs-trigger{color:var(--cpd-muted-foreground);white-space:nowrap;cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding-block:.5rem;font-size:.875rem;font-weight:500;transition:color .15s;display:inline-flex}.cpd-tabs-trigger:hover{color:var(--cpd-accent-foreground)}.cpd-tabs-trigger[data-active=true]{color:var(--cpd-primary)}.cpd-tabs-panels{background:var(--cpd-background)}.cpd-tabs-panel{padding:1rem;font-size:.9375rem;display:none}.cpd-tabs-panel[data-active=true]{animation:.2s cpd-tab-in;display:block}@keyframes cpd-tab-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.cpd-tabs-panel>:first-child{margin-top:0}.cpd-tabs-panel>:last-child{margin-bottom:0}.cpd-accordions{border:1px solid var(--cpd-border);border-radius:var(--cpd-radius);background:var(--cpd-card);margin-block:.25rem;overflow:hidden}.cpd-accordion+.cpd-accordion{border-top:1px solid var(--cpd-border)}.cpd-accordion-header{align-items:center;display:flex}.cpd-accordion-trigger{color:var(--cpd-card-foreground);text-align:start;cursor:pointer;background:0 0;border:none;flex:1;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.9375rem;font-weight:700;display:flex}.cpd-accordion-chevron{flex-shrink:0;width:1rem;height:1rem;transition:transform .2s}.cpd-accordion[data-open=false] .cpd-accordion-chevron{transform:rotate(-90deg)}.cpd-accordion-content{grid-template-rows:1fr;transition:grid-template-rows .2s;display:grid}.cpd-accordion[data-open=false] .cpd-accordion-content{visibility:hidden;grid-template-rows:0fr}.cpd-accordion-body{box-sizing:border-box;min-height:0;color:var(--cpd-card-foreground);padding:0 1rem;font-size:.9375rem;transition:padding-bottom .2s;overflow:hidden}.cpd-accordion[data-open=true] .cpd-accordion-body{padding-bottom:.75rem}.cpd-accordion-copy{color:var(--cpd-muted-foreground);margin-inline-end:.5rem}.cpd-breadcrumb{font-family:var(--cpd-font-display);color:var(--cpd-muted-foreground);flex-wrap:wrap;align-items:center;gap:.375rem;margin-block:1rem .875rem;font-size:.875rem;display:flex}.cpd-breadcrumb-link{color:inherit;text-decoration:none;transition:opacity .15s}.cpd-breadcrumb-link:hover{opacity:.8}.cpd-breadcrumb-current{color:var(--cpd-primary);font-weight:500}.cpd-breadcrumb-sep{flex-shrink:0;width:.875rem;height:.875rem}.cpd-pagination{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block:.25rem;display:grid}@media (width<=1024px){.cpd-pagination{grid-template-columns:1fr}}.cpd-pagination-item{border:1px solid var(--cpd-border);border-radius:var(--cpd-radius);background:var(--cpd-card);color:var(--cpd-card-foreground);flex-direction:column;gap:.5rem;padding:1rem;text-decoration:none;transition:background-color .15s,border-color .15s;display:flex}.cpd-article a.cpd-pagination-item:hover{background:var(--cpd-accent);border-color:var(--cpd-ring);text-decoration:none}.cpd-pagination-next{text-align:end}.cpd-pagination-label{color:var(--cpd-foreground);align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;display:inline-flex}.cpd-pagination-next .cpd-pagination-label{flex-direction:row-reverse}.cpd-pagination-icon{width:1rem;height:1rem}.cpd-pagination-title{color:var(--cpd-foreground);margin:0;font-size:.875rem;font-weight:500}.cpd-pagination-desc{color:var(--cpd-muted-foreground);margin:0;font-size:.875rem}.cpd-tree{-webkit-user-select:none;user-select:none;margin-block:.25rem;font-size:.875rem}.cpd-tree-file,.cpd-tree-folder-trigger{color:var(--cpd-foreground);border-radius:.375rem;align-items:center;gap:.5rem;width:calc(100% - .5rem);margin-inline:.25rem;padding:.5rem .75rem;transition:background-color .2s,color .2s;display:flex}.cpd-tree-file:hover,.cpd-tree-folder-trigger:hover{background:color-mix(in srgb, var(--cpd-accent) 50%, transparent)}.cpd-tree-folder-trigger{font:inherit;text-align:start;cursor:pointer;background:0 0;border:none}.cpd-tree svg{flex-shrink:0;width:1rem;height:1rem}.cpd-tree-chevron{color:var(--cpd-muted-foreground);transition:transform .2s}.cpd-tree-folder[data-cpd-open=true]>.cpd-tree-folder-trigger .cpd-tree-chevron{transform:rotate(90deg)}.cpd-tree-file>svg,.cpd-tree-folder-icon{color:var(--cpd-muted-foreground)}.cpd-tree-file>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cpd-tree-folder-trigger>span:last-child{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cpd-tree-folder-icon{display:inline-flex}.cpd-tree-folder-icon [data-icon=open],.cpd-tree-folder[data-cpd-open=true] .cpd-tree-folder-icon [data-icon=closed]{display:none}.cpd-tree-folder[data-cpd-open=true] .cpd-tree-folder-icon [data-icon=open]{display:inline-flex}.cpd-tree-folder-content{grid-template-rows:0fr;transition:grid-template-rows .2s;display:grid}.cpd-tree-folder[data-cpd-open=true]>.cpd-tree-folder-content{grid-template-rows:1fr}.cpd-tree-folder-content-inner{border-inline-start:1px solid var(--cpd-border);flex-direction:column;gap:.25rem;min-height:0;margin-inline-start:.75rem;padding-inline-start:.75rem;display:flex;overflow:hidden}.cpd-tree[data-cpd-lines=false] .cpd-tree-folder-content-inner{border-inline-start:none}.cpd-code{border:1px solid var(--cpd-border);border-radius:var(--cpd-radius);background:var(--cpd-card);margin-block:.25rem;overflow:hidden}.cpd-code-header{border-bottom:1px solid var(--cpd-border);background:var(--cpd-secondary);color:var(--cpd-muted-foreground);justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem .5rem;font-size:.8125rem;display:flex}.cpd-code-filename{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.375rem;min-width:0;display:inline-flex;overflow:hidden}.cpd-code-filename-icon{flex-shrink:0;width:1rem;height:1rem}.cpd-code-lang{letter-spacing:.04em;padding-inline:.375rem;font-size:.75rem;font-weight:600}.cpd-code-tabs{align-items:center;gap:.125rem;min-width:0;display:inline-flex;overflow-x:auto}.cpd-code-tab{color:var(--cpd-muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:.25rem .55rem;font-family:inherit;font-size:.75rem;font-weight:500;transition:background-color .1s,color .1s}.cpd-code-tab:hover{background:var(--cpd-accent);color:var(--cpd-accent-foreground)}.cpd-code-tab[data-active=true]{background:var(--cpd-card);color:var(--cpd-foreground);box-shadow:inset 0 0 0 1px var(--cpd-border)}.cpd-code-copy{border-radius:var(--cpd-radius);width:1.75rem;height:1.75rem;color:var(--cpd-muted-foreground);opacity:0;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s,background-color .1s,color .1s;display:inline-flex}.cpd-code:hover .cpd-code-copy,.cpd-code:focus-within .cpd-code-copy,.cpd-code-copy:focus-visible{opacity:1}@media (hover:none){.cpd-code-copy{opacity:1}}.cpd-code-copy:hover{background:var(--cpd-accent);color:var(--cpd-accent-foreground)}.cpd-code-copy svg{flex-shrink:0;width:1rem;height:1rem}.cpd-code-pre{font-family:var(--cpd-font-mono);color:var(--cpd-foreground);margin:0;padding:1rem;font-size:.875rem;line-height:1.7;overflow-x:auto}.cpd-code-panel[data-active=false]{display:none}.cpd-badge{border:1px solid var(--cpd-border);background:var(--cpd-secondary);color:var(--cpd-secondary-foreground);vertical-align:middle;border-radius:9999px;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500;line-height:1.4;display:inline-flex}.cpd-badge-gold{background:color-mix(in srgb, var(--cpd-gold) 18%, transparent);border-color:color-mix(in srgb, var(--cpd-gold) 50%, transparent);color:var(--cpd-gold)}.cpd-badge-info{background:color-mix(in srgb, var(--cpd-info) 14%, transparent);border-color:color-mix(in srgb, var(--cpd-info) 45%, transparent);color:var(--cpd-info)}.cpd-badge-warning{background:color-mix(in srgb, var(--cpd-warning) 14%, transparent);border-color:color-mix(in srgb, var(--cpd-warning) 45%, transparent);color:var(--cpd-warning)}.cpd-badge-error{background:color-mix(in srgb, var(--cpd-error) 14%, transparent);border-color:color-mix(in srgb, var(--cpd-error) 45%, transparent);color:var(--cpd-error)}.cpd-badge-success{background:color-mix(in srgb, var(--cpd-success) 14%, transparent);border-color:color-mix(in srgb, var(--cpd-success) 45%, transparent);color:var(--cpd-success)}.cpd-kbd{border:1px solid var(--cpd-border);border-radius:calc(var(--cpd-radius) - 3px);background:var(--cpd-secondary);font-family:var(--cpd-font-display);vertical-align:middle;border-bottom-width:2px;align-items:center;padding:.125rem .375rem;font-size:.75rem;line-height:1.5;display:inline-flex}.cpd-inline-code{border:1px solid var(--cpd-border);background:var(--cpd-secondary);font-family:var(--cpd-font-mono);white-space:nowrap;vertical-align:baseline;border-radius:.375rem;padding:.15em .4em;font-size:.875em;line-height:1.5}.cpd-article mark.cpd-marker{color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:0 0;padding-inline:.08em}.cpd-article mark.cpd-marker--primary{--cpd-marker-accent:var(--cpd-gold)}.cpd-article mark.cpd-marker--secondary{--cpd-marker-accent:var(--cpd-accent-foreground)}.cpd-article mark.cpd-marker--tertiary{--cpd-marker-accent:var(--cpd-info)}.cpd-article mark.cpd-marker--error{--cpd-marker-accent:var(--cpd-error)}.cpd-article mark.cpd-marker--tip{--cpd-marker-accent:var(--cpd-success)}.cpd-article mark.cpd-marker{box-shadow:inset 0 -.62em 0 color-mix(in oklab, var(--cpd-marker-accent,var(--cpd-gold)) 34%, transparent)}.cpd-article button.cpd-spoiler{--cpd-spoiler-mask:#171717;background:var(--cpd-spoiler-mask);color:#0000;font:inherit;line-height:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;cursor:pointer;border:none;border-radius:.3rem;padding:.1em .4em;transition:color .2s,background-color .2s;display:inline}:root[data-cpd-theme=dark] .cpd-article button.cpd-spoiler{--cpd-spoiler-mask:#080808}.cpd-article button.cpd-spoiler>*{color:#0000;transition:color .2s}.cpd-article button.cpd-spoiler:not(:hover):not(:focus-visible):not([aria-expanded=true])>*{background:0 0;border-color:#0000}.cpd-article button.cpd-spoiler:hover,.cpd-article button.cpd-spoiler:focus-visible,.cpd-article button.cpd-spoiler[aria-expanded=true]{color:inherit;background:color-mix(in oklab, var(--cpd-spoiler-mask) 8%, transparent)}.cpd-article button.cpd-spoiler:hover>*,.cpd-article button.cpd-spoiler:focus-visible>*,.cpd-article button.cpd-spoiler[aria-expanded=true]>*{color:inherit}.cpd-article button.cpd-spoiler:focus-visible{outline:2px solid var(--cpd-ring);outline-offset:1px}.cpd-article abbr.cpd-abbr{-webkit-text-decoration:underline dotted var(--cpd-gold);text-decoration:underline dotted var(--cpd-gold);text-underline-offset:.2em;cursor:help;position:relative}.cpd-article abbr.cpd-abbr:after{content:attr(data-cpd-abbr);z-index:70;border:1px solid var(--cpd-border);background:var(--cpd-popover);width:max-content;max-width:min(16rem,80vw);color:var(--cpd-popover-foreground);font-family:var(--cpd-font-sans);text-align:start;white-space:normal;pointer-events:none;box-shadow:0 6px 18px color-mix(in oklab, var(--cpd-overlay) 100%, transparent);opacity:0;visibility:hidden;border-radius:.5rem;padding:.4rem .6rem;font-size:.8125rem;font-weight:400;line-height:1.5;text-decoration:none;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;bottom:calc(100% + .45rem);left:50%;transform:translate(-50%)translateY(.25rem)}.cpd-article abbr.cpd-abbr:before{content:"";z-index:71;border:1px solid var(--cpd-border);background:var(--cpd-popover);border-top:none;pointer-events:none;opacity:0;visibility:hidden;border-inline-start:none;width:.5rem;height:.5rem;transition:opacity .15s,visibility .15s;position:absolute;bottom:calc(100% + .45rem - 4px);left:50%;transform:translate(-50%)rotate(45deg)}.cpd-article abbr.cpd-abbr:hover:after,.cpd-article abbr.cpd-abbr:focus-visible:after,.cpd-article abbr.cpd-abbr[data-cpd-abbr-open]:after,.cpd-article abbr.cpd-abbr:hover:before,.cpd-article abbr.cpd-abbr:focus-visible:before,.cpd-article abbr.cpd-abbr[data-cpd-abbr-open]:before{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.cpd-article abbr.cpd-abbr[data-cpd-abbr-open]{-webkit-user-select:none;user-select:none}.cpd-article button.cpd-anno-trigger{border:1px solid color-mix(in oklab, var(--cpd-gold) 45%, transparent);background:color-mix(in oklab, var(--cpd-gold) 16%, transparent);width:1.15em;height:1.15em;color:var(--cpd-foreground);vertical-align:super;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;margin-inline:.1em;padding:0;font-size:.72em;font-weight:700;line-height:1;transition:background-color .15s;display:inline-flex}.cpd-article button.cpd-anno-trigger:hover{background:color-mix(in oklab, var(--cpd-gold) 28%, transparent)}.cpd-anno-popover{border:1px solid var(--cpd-border);border-radius:var(--cpd-radius);background:var(--cpd-popover);max-width:min(22rem,100vw - 2rem);max-height:18rem;color:var(--cpd-popover-foreground);box-shadow:0 8px 24px color-mix(in oklab, var(--cpd-overlay) 100%, transparent);margin:.4rem;padding:.875rem 1rem;position:fixed;inset:auto;overflow-y:auto}@supports not (position-area:block-end){.cpd-anno-popover{margin:0;inset:50% auto auto 50%;transform:translate(-50%,-50%)}}@supports (position-area:block-end){.cpd-anno-popover{position-area:block-end span-inline-end;position-try-fallbacks:flip-block, flip-inline;transform:none}}.cpd-anno-popover::backdrop{background:0 0}.cpd-anno-popover .cpd-anno-label{font-family:var(--cpd-font-display);color:var(--cpd-muted-foreground);margin:0 0 .375rem;font-size:.8125rem;font-weight:700}.cpd-anno-popover .cpd-anno-body{font-size:.875rem;line-height:1.6}.cpd-anno-popover .cpd-anno-body>:first-child{margin-top:0}.cpd-anno-popover .cpd-anno-body>:last-child{margin-bottom:0}.cpd-anno-popover .cpd-anno-list{margin:0;padding-inline-start:1.25rem;font-size:.875rem;line-height:1.6}.cpd-video{width:100%;max-width:800px;margin:1rem auto}.cpd-video-stage{aspect-ratio:16/9;border:1px solid var(--cpd-border);border-radius:var(--cpd-radius);background:radial-gradient(120% 120% at 50% 0%, color-mix(in oklab, var(--cpd-gold) 10%, transparent), transparent 60%), var(--cpd-card);place-items:center;display:grid;position:relative;overflow:hidden}.cpd-video-stage:has(.cpd-video-player){display:block}.cpd-video-player{border:0;width:100%;height:100%;position:absolute;inset:0}.cpd-video-play{border:1px solid var(--cpd-border);background:color-mix(in oklab, var(--cpd-background) 78%, transparent);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:4rem;height:4rem;padding:0;transition:transform .2s,background-color .2s;display:inline-flex}.cpd-video-play:hover:not(:disabled){background:var(--cpd-background);transform:scale(1.06)}.cpd-video-play:disabled{cursor:default;opacity:.6}.cpd-video-play-icon{border-style:solid;border-width:.85rem 0 .85rem 1.35rem;border-color:transparent transparent transparent var(--cpd-gold);width:0;height:0;margin-left:.35rem}.cpd-video-caption{color:var(--cpd-muted-foreground);justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.5rem;font-size:.875rem;display:flex}.cpd-video-title{color:var(--cpd-foreground);font-weight:600}.cpd-video-source{color:var(--cpd-muted-foreground);white-space:nowrap;text-decoration:none}.cpd-video-source:hover{color:var(--cpd-gold);text-decoration:underline}.cpd-encrypted-gate{border:1px solid var(--cpd-border);border-radius:var(--cpd-radius);background:var(--cpd-card);text-align:center;max-width:26rem;margin:3rem auto;padding:1.75rem 1.5rem}.cpd-encrypted-seal{background:color-mix(in oklab, var(--cpd-gold) 14%, transparent);border:1px solid color-mix(in oklab, var(--cpd-gold) 40%, transparent);width:2.75rem;height:2.75rem;color:var(--cpd-gold);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.cpd-encrypted-seal-icon{width:1.25rem;height:1.25rem}.cpd-encrypted-icon{width:1rem;height:1rem}.cpd-encrypted-title{font-family:var(--cpd-font-display);color:var(--cpd-foreground);margin:.875rem 0 .25rem;font-size:1.0625rem;font-weight:700}.cpd-encrypted-desc{color:var(--cpd-muted-foreground);margin:0 0 1rem;font-size:.8125rem;line-height:1.6}.cpd-encrypted-form{flex-direction:column;gap:.625rem;display:flex}.cpd-encrypted-field{position:relative}.cpd-encrypted-input{border:1px solid var(--cpd-border);background:var(--cpd-background);width:100%;color:var(--cpd-foreground);font:inherit;border-radius:.5rem;padding:.5rem 2.5rem .5rem .75rem;font-size:.875rem}.cpd-encrypted-input:focus-visible{outline:2px solid var(--cpd-ring);outline-offset:1px}.cpd-encrypted-eye{top:50%;width:1.75rem;height:1.75rem;color:var(--cpd-muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;inset-inline-end:.375rem;transform:translateY(-50%)}.cpd-encrypted-eye:hover{color:var(--cpd-foreground)}.cpd-encrypted-submit{border:1px solid color-mix(in oklab, var(--cpd-gold) 45%, transparent);background:color-mix(in oklab, var(--cpd-gold) 14%, transparent);color:var(--cpd-foreground);font:inherit;cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:background-color .15s;display:inline-flex}.cpd-encrypted-submit:hover:not(:disabled){background:color-mix(in oklab, var(--cpd-gold) 24%, transparent)}.cpd-encrypted-submit:disabled{opacity:.6;cursor:default}.cpd-encrypted-hint{background:color-mix(in oklab, var(--cpd-idea) 10%, transparent);color:var(--cpd-foreground);text-align:start;border-radius:.5rem;align-items:flex-start;gap:.375rem;margin:.875rem 0 0;padding:.5rem .75rem;font-size:.8125rem;line-height:1.5;display:flex}.cpd-encrypted-hint-icon{width:.875rem;height:.875rem;color:var(--cpd-idea);flex-shrink:0;margin-top:.15rem}.cpd-encrypted-error{color:var(--cpd-error);margin:.625rem 0 0;font-size:.8125rem}@media (prefers-reduced-motion:reduce){.cpd-layout,.cpd-sidebar,.cpd-drawer-panel,.cpd-drawer-overlay,.cpd-toc-thumb,.cpd-accordion-content,.cpd-accordion-chevron,.cpd-sidebar-chevron,.cpd-article button.cpd-spoiler,.cpd-article button.cpd-spoiler>*,.cpd-article button.cpd-anno-trigger,.cpd-article abbr.cpd-abbr:after,.cpd-article abbr.cpd-abbr:before,.cpd-video-play{transition:none}.cpd-loader-ring,.cpd-loader-letter{animation:none!important}}.cpd-loader{z-index:100;background:var(--cpd-background);justify-content:center;align-items:center;transition:opacity .5s,visibility .5s;display:flex;position:fixed;inset:0}.cpd-loader[data-hidden=true]{opacity:0;visibility:hidden;pointer-events:none}.cpd-loader-wrapper{width:180px;height:180px;font-family:var(--cpd-font-sans);color:var(--cpd-foreground);-webkit-user-select:none;user-select:none;background-color:#0000;border-radius:50%;justify-content:center;align-items:center;font-size:1.2em;font-weight:300;display:flex;position:relative}.cpd-loader-ring{aspect-ratio:1;z-index:0;background-color:#0000;border-radius:50%;width:100%;animation:2s linear infinite cpd-loader-rotate;position:absolute;top:0;left:0}@keyframes cpd-loader-rotate{0%{transform:rotate(90deg);box-shadow:inset 0 10px 20px #fff,inset 0 20px 30px #ad5fff,inset 0 60px 60px #471eec}50%{transform:rotate(270deg);box-shadow:inset 0 10px 20px #fff,inset 0 20px 10px #d60a47,inset 0 40px 60px #311e80}to{transform:rotate(450deg);box-shadow:inset 0 10px 20px #fff,inset 0 20px 30px #ad5fff,inset 0 60px 60px #471eec}}:root[data-cpd-theme=light] .cpd-loader-ring{animation-name:cpd-loader-rotate-light}@keyframes cpd-loader-rotate-light{0%{transform:rotate(90deg);box-shadow:inset 0 10px 20px #f8f5ef,inset 0 20px 30px #d4af6c,inset 0 60px 60px #b8c5d6}50%{transform:rotate(270deg);box-shadow:inset 0 10px 20px #f8f5ef,inset 0 20px 10px #b8c5d6,inset 0 40px 60px #d4af6c}to{transform:rotate(450deg);box-shadow:inset 0 10px 20px #f8f5ef,inset 0 20px 30px #d4af6c,inset 0 60px 60px #b8c5d6}}.cpd-loader-letter{opacity:.4;z-index:1;border:none;border-radius:50ch;animation:2s infinite cpd-loader-letter-anim;display:inline-block;transform:translateY(0)}.cpd-loader-letter:first-child{animation-delay:0s}.cpd-loader-letter:nth-child(2){animation-delay:.1s}.cpd-loader-letter:nth-child(3){animation-delay:.2s}.cpd-loader-letter:nth-child(4){animation-delay:.3s}.cpd-loader-letter:nth-child(5){animation-delay:.4s}.cpd-loader-letter:nth-child(6){animation-delay:.5s}.cpd-loader-letter:nth-child(7){animation-delay:.6s}@keyframes cpd-loader-letter-anim{0%,to{opacity:.4;transform:translateY(0)}20%{opacity:1;transform:scale(1.15)}40%{opacity:.7;transform:translateY(0)}}.cpd-mermaid{border:1px solid var(--cpd-border);border-radius:var(--cpd-radius);background:var(--cpd-card);margin-block:1.5rem;position:relative;overflow:hidden}.cpd-mermaid-viewport{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;padding:1.25rem 1.5rem;position:relative;overflow:hidden}.cpd-mermaid-viewport.is-panning{cursor:grabbing}.cpd-mermaid-viewport>svg{width:100%;height:auto;margin:0 auto;display:block;overflow:visible}.cpd-mermaid-viewport>svg a{text-decoration:none}.cpd-mermaid svg:not(.mindmapDiagram):not([aria-roledescription=journey]):not([aria-roledescription=timeline]):not([aria-roledescription=gitGraph]):not([aria-roledescription=kanban]):not([aria-roledescription=classDiagram]) text,.cpd-mermaid svg:not(.mindmapDiagram):not([aria-roledescription=journey]):not([aria-roledescription=timeline]):not([aria-roledescription=gitGraph]):not([aria-roledescription=kanban]):not([aria-roledescription=classDiagram]) .label,.cpd-mermaid svg:not(.mindmapDiagram):not([aria-roledescription=journey]):not([aria-roledescription=timeline]):not([aria-roledescription=gitGraph]):not([aria-roledescription=kanban]):not([aria-roledescription=classDiagram]) .nodeLabel{color:var(--cpd-mmd-text)!important;fill:var(--cpd-mmd-text)!important}.cpd-mermaid svg:not(.mindmapDiagram):not([aria-roledescription=journey]):not([aria-roledescription=timeline]):not([aria-roledescription=gitGraph]):not([aria-roledescription=kanban]):not([aria-roledescription=classDiagram]) .node .label,.cpd-mermaid svg:not(.mindmapDiagram):not([aria-roledescription=journey]):not([aria-roledescription=timeline]):not([aria-roledescription=gitGraph]):not([aria-roledescription=kanban]):not([aria-roledescription=classDiagram]) .node .nodeLabel,.cpd-mermaid svg:not(.mindmapDiagram):not([aria-roledescription=journey]):not([aria-roledescription=timeline]):not([aria-roledescription=gitGraph]):not([aria-roledescription=kanban]):not([aria-roledescription=classDiagram]) .node foreignObject,.cpd-mermaid svg:not(.mindmapDiagram):not([aria-roledescription=journey]):not([aria-roledescription=timeline]):not([aria-roledescription=gitGraph]):not([aria-roledescription=kanban]):not([aria-roledescription=classDiagram]) .node foreignObject span,.cpd-mermaid svg:not(.mindmapDiagram):not([aria-roledescription=journey]):not([aria-roledescription=timeline]):not([aria-roledescription=gitGraph]):not([aria-roledescription=kanban]):not([aria-roledescription=classDiagram]) .node foreignObject p{color:var(--cpd-mmd-node-text)!important;fill:var(--cpd-mmd-node-text)!important}.cpd-mermaid svg .flowchart-link,.cpd-mermaid svg .edgePath path,.cpd-mermaid svg .messageLine0,.cpd-mermaid svg .messageLine1,.cpd-mermaid svg .actor-line,.cpd-mermaid svg .loopLine,.cpd-mermaid svg .relation,.cpd-mermaid svg .transition,.cpd-mermaid svg .axis path,.cpd-mermaid svg .axis line,.cpd-mermaid svg .tick line,.cpd-mermaid svg .grid line{stroke:var(--cpd-mmd-line)!important}.cpd-mermaid svg .arrowheadPath{fill:var(--cpd-mmd-line)!important}.cpd-mermaid svg .edgeLabel rect,.cpd-mermaid svg .edgeLabel .label-container,.cpd-mermaid svg .edgeLabel p,.cpd-mermaid svg .edgeLabel span{background:var(--cpd-mmd-bg)}.cpd-mermaid svg .edgeLabel span,.cpd-mermaid svg .edgeLabel text,.cpd-mermaid svg .edgeLabel p{color:var(--cpd-mmd-text)!important;fill:var(--cpd-mmd-text)!important}.cpd-mermaid svg.mindmapDiagram .edgePaths path,.cpd-mermaid svg.mindmapDiagram .edge,.cpd-mermaid svg.mindmapDiagram [class*=section-edge],.cpd-mermaid svg.mindmapDiagram .node-line-{stroke:var(--cpd-mmd-line)!important}.cpd-mermaid svg.mindmapDiagram .mindmap-node>.node-bkg,.cpd-mermaid svg.mindmapDiagram .mindmap-node>.label-container,.cpd-mermaid svg.mindmapDiagram .mindmap-node>circle,.cpd-mermaid svg.mindmapDiagram .mindmap-node>path,.cpd-mermaid svg.mindmapDiagram .mindmap-node>rect,.cpd-mermaid svg.mindmapDiagram .mindmap-node>polygon{fill:var(--cpd-mmd-node-bg)!important;stroke:var(--cpd-mmd-line)!important}.cpd-mermaid svg.mindmapDiagram .mindmap-node .nodeLabel,.cpd-mermaid svg.mindmapDiagram .mindmap-node text{color:var(--cpd-mmd-node-text)!important;fill:var(--cpd-mmd-node-text)!important}.cpd-mermaid svg[aria-roledescription=journey] rect.journey-section,.cpd-mermaid svg[aria-roledescription=journey] .journey-section>rect{fill:var(--cpd-mmd-journey-section-bg)!important}.cpd-mermaid svg[aria-roledescription=journey] .journey-section text,.cpd-mermaid svg[aria-roledescription=journey] .journey-section .label,.cpd-mermaid svg[aria-roledescription=journey] .journey-section span{color:var(--cpd-mmd-journey-section-text)!important;fill:var(--cpd-mmd-journey-section-text)!important}.cpd-mermaid svg[aria-roledescription=journey] rect.task,.cpd-mermaid svg[aria-roledescription=journey] .task>rect{fill:var(--cpd-mmd-journey-task-bg)!important}.cpd-mermaid svg[aria-roledescription=journey] .task text,.cpd-mermaid svg[aria-roledescription=journey] .task .label,.cpd-mermaid svg[aria-roledescription=journey] .task span{color:var(--cpd-mmd-journey-task-text)!important;fill:var(--cpd-mmd-journey-task-text)!important}.cpd-mermaid svg[aria-roledescription=timeline] .timeline-node .node-bkg{fill:var(--cpd-mmd-timeline-bg)!important}.cpd-mermaid svg[aria-roledescription=timeline] .timeline-node text,.cpd-mermaid svg[aria-roledescription=timeline]>text,.cpd-mermaid svg[aria-roledescription=timeline] .timeline-node .nodeLabel,.cpd-mermaid svg[aria-roledescription=timeline] .timeline-node span{color:var(--cpd-mmd-timeline-text)!important;fill:var(--cpd-mmd-timeline-text)!important}.cpd-mermaid svg[aria-roledescription=timeline] .timeline-node [class^=node-line],.cpd-mermaid svg[aria-roledescription=timeline] .lineWrapper line{stroke:var(--cpd-mmd-line)!important}.cpd-mermaid svg[aria-roledescription=gitGraph] .branchLabelBkg,.cpd-mermaid svg[aria-roledescription=gitGraph] .commit-label-bkg{background:var(--cpd-mmd-git-label-bg)!important;fill:var(--cpd-mmd-git-label-bg)!important}.cpd-mermaid svg[aria-roledescription=gitGraph] .branchLabel text,.cpd-mermaid svg[aria-roledescription=gitGraph] .branchLabel tspan,.cpd-mermaid svg[aria-roledescription=gitGraph] .commit-label{color:var(--cpd-mmd-git-label-text)!important;fill:var(--cpd-mmd-git-label-text)!important}.cpd-mermaid svg[aria-roledescription=kanban] .cluster>rect{fill:var(--cpd-mmd-kanban-col-bg)!important}.cpd-mermaid svg[aria-roledescription=kanban] .node rect,.cpd-mermaid svg[aria-roledescription=kanban] .node polygon,.cpd-mermaid svg[aria-roledescription=kanban] .node path{fill:var(--cpd-mmd-kanban-card-bg)!important}.cpd-mermaid svg[aria-roledescription=kanban] .node .nodeLabel,.cpd-mermaid svg[aria-roledescription=kanban] .node foreignObject span,.cpd-mermaid svg[aria-roledescription=kanban] .node foreignObject p{color:var(--cpd-mmd-kanban-card-text)!important;fill:var(--cpd-mmd-kanban-card-text)!important}.cpd-mermaid svg[aria-roledescription=classDiagram] .edgeLabel .labelBkg{background:var(--cpd-mmd-class-edge-bg)!important;fill:var(--cpd-mmd-class-edge-bg)!important}.cpd-mermaid svg[aria-roledescription=classDiagram] .edgeLabel .labelBkg p,.cpd-mermaid svg[aria-roledescription=classDiagram] .node .nodeLabel,.cpd-mermaid svg[aria-roledescription=classDiagram] .node foreignObject span,.cpd-mermaid svg[aria-roledescription=classDiagram] .node foreignObject p{color:var(--cpd-mmd-class-edge-text)!important;fill:var(--cpd-mmd-class-edge-text)!important}.cpd-mermaid-ph{min-height:12rem;color:var(--cpd-muted-foreground);justify-content:center;align-items:center;gap:.625rem;padding:1rem;font-size:.875rem;display:flex}.cpd-mermaid-ph-spinner{border:2px solid var(--cpd-border);border-top-color:var(--cpd-primary);border-radius:50%;width:1.125rem;height:1.125rem;animation:.8s linear infinite cpd-mermaid-spin}@keyframes cpd-mermaid-spin{to{transform:rotate(360deg)}}.cpd-mermaid-toolbar{z-index:5;position:absolute;top:.5rem;right:.5rem}.cpd-mermaid-toolbar-btn.cpd-dropdown-trigger{border-radius:.5rem;padding:.375rem}.cpd-mermaid-toolbar-caret{opacity:.6;display:inline-flex}.cpd-mermaid-toolbar-btn svg{width:1.125rem;height:1.125rem}.cpd-mermaid-error-box{font-family:var(--cpd-font-mono);padding:1rem 1.25rem}.cpd-mermaid-error-head{color:var(--cpd-error,#d9534f);font-family:var(--cpd-font-sans);margin:0 0 .5rem;font-size:.875rem;font-weight:600}.cpd-mermaid-error-src{border:1px solid var(--cpd-border);border-radius:var(--cpd-radius);background:var(--cpd-background);color:var(--cpd-foreground);white-space:pre-wrap;overflow-wrap:anywhere;max-height:24rem;margin:0;padding:.75rem;font-size:.8125rem;line-height:1.5;overflow:auto}.cpd-mermaid-fs{background:color-mix(in srgb, var(--cpd-background) 82%, transparent);-webkit-backdrop-filter:blur(3px);border:0;width:100dvw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.cpd-mermaid-fs::backdrop{background:#0006}.cpd-mermaid-fs-stage{justify-content:center;align-items:center;padding:2.5rem 1.5rem 1.75rem;display:flex;position:absolute;inset:0}.cpd-mermaid-fs-viewport{border:1px solid var(--cpd-border);border-radius:var(--cpd-radius);background:var(--cpd-card);width:100%;height:100%}.cpd-mermaid-fs-close{z-index:10;border:1px solid var(--cpd-dd-border,var(--cpd-border));background:var(--cpd-dd-trigger-bg,var(--cpd-card));width:2rem;height:2rem;color:var(--cpd-dd-fg,var(--cpd-foreground));cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;transition:background-color .15s;display:inline-flex;position:absolute;top:.625rem;right:.625rem}.cpd-mermaid-fs-close:hover{background:var(--cpd-dd-hover,var(--cpd-muted))}.cpd-mermaid-fs-close svg{width:1.125rem;height:1.125rem}.cpd-type-table{border:1px solid var(--cpd-border);border-radius:calc(var(--cpd-radius) + 4px);background:var(--cpd-card);flex-direction:column;margin-block:1rem;padding:.25rem;font-size:.875rem;display:flex;overflow:hidden}.cpd-type-table-head{color:var(--cpd-muted-foreground);align-items:center;padding:.375rem .75rem;font-weight:500;display:flex}.cpd-type-table-head>span:first-child{width:40%}.cpd-type-table-head>span:last-child{flex:1}.cpd-type-table-item{border-top:1px solid var(--cpd-border)}.cpd-type-table-head+.cpd-type-table-item{border-top:0}.cpd-type-table-item summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.5rem .75rem;list-style:none;display:flex}.cpd-type-table-item summary::-webkit-details-marker{display:none}.cpd-type-table-item summary:hover{background:var(--cpd-muted)}.cpd-type-table-name-wrap{align-items:center;gap:.25rem;width:40%;min-width:0;display:inline-flex}.cpd-type-table-name{font-family:var(--cpd-font-mono);color:var(--cpd-foreground);overflow-wrap:anywhere;font-weight:600}.cpd-type-table-item[data-deprecated] .cpd-type-table-name{color:var(--cpd-muted-foreground);text-decoration:line-through}.cpd-type-table-star{color:var(--cpd-gold);font-weight:700}.cpd-type-table-deprecated{border:1px solid var(--cpd-error);color:var(--cpd-error);border-radius:999px;padding:.0625rem .375rem;font-size:.6875rem}.cpd-type-table-type{font-family:var(--cpd-font-mono);color:var(--cpd-muted-foreground);overflow-wrap:anywhere;flex:1;font-size:.8125rem}.cpd-type-table-chevron{width:1rem;height:1rem;color:var(--cpd-muted-foreground);flex:none;transition:transform .15s}.cpd-type-table-item[open] .cpd-type-table-chevron{transform:rotate(180deg)}.cpd-type-table-body{flex-direction:column;gap:.5rem;padding:.25rem .75rem .75rem;display:flex}.cpd-type-table-desc{color:var(--cpd-muted-foreground);line-height:1.6}.cpd-type-table-kv{align-items:baseline;gap:.75rem;display:flex}.cpd-type-table-key{text-transform:uppercase;letter-spacing:.05em;width:4.5rem;color:var(--cpd-muted-foreground);flex:none;font-size:.6875rem}.cpd-type-table-value{font-family:var(--cpd-font-mono);color:var(--cpd-foreground);overflow-wrap:anywhere;font-size:.8125rem}.cpd-type-table-value-link{text-decoration:none}.cpd-type-table-value-link:hover .cpd-type-table-value{color:var(--cpd-accent-foreground);text-decoration:underline}@media print{.cp-nav,.cpd-mobile-header,.cpd-sidebar-shell,.cpd-toc-shell,.cpd-sidebar-expand,.cpd-loader,.cpd-page-actions,.cpd-pagination,.cpd-mermaid-toolbar,.cpd-astro-copy,.cpd-drawer,footer.sl-flex{display:none!important}.cpd-page,.cpd-main-frame,.cpd-two-col,.cpd-main-pane,.cpd-content-panel,.cpd-article{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.cpd-md-content .expressive-code pre,.cpd-md-content pre.astro-code{white-space:pre-wrap!important;overflow-wrap:break-word!important;max-height:none!important;overflow:visible!important}.expressive-code,.expressive-code pre{-webkit-print-color-adjust:exact;print-color-adjust:exact}.cpd-article button.cpd-spoiler,.cpd-article button.cpd-spoiler>*{color:inherit!important;background:0 0!important}.cpd-anno-popover,.cpd-article abbr.cpd-abbr:after,.cpd-article abbr.cpd-abbr:before{display:none!important}.cpd-encrypted-gate{border-color:var(--cpd-border)}}
