pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}:root{--cld-ink: #0F172A;--cld-ink-soft: #1E293B;--cld-primary: #1E3A8A;--cld-primary-2: #2563EB;--cld-sky: #0EA5E9;--cld-amber: #F59E0B;--cld-mint: #10B981;--cld-rose: #E11D48;--cld-violet: #7C3AED;--cld-paper: #F8FAFC;--cld-mist: #E2E8F0;--cld-fog: #94A3B8;--cld-radius-sm: 6px;--cld-radius-md: 12px;--cld-radius-lg: 24px;--cld-shadow-sm: 0 1px 2px rgba(15, 23, 42, .08);--cld-shadow-md: 0 8px 24px rgba(15, 23, 42, .1);--cld-shadow-lg: 0 24px 60px rgba(15, 23, 42, .18);--cld-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--cld-surface: #FFFFFF;--cld-border: #E2E8F0;--cld-on-accent: #FFFFFF}:root[data-theme=dark]{--cld-ink: #F8FAFC;--cld-paper: rgba(255, 255, 255, .04);--cld-mist: rgba(255, 255, 255, .08);--cld-fog: #94A3B8;--cld-surface: #1E293B;--cld-border: rgba(255, 255, 255, .1)}.cld-header{display:flex;align-items:center;gap:16px;height:56px;padding:0 16px;background:var(--cld-surface);color:var(--cld-ink);border-bottom:1px solid var(--cld-border);font-family:var(--cld-font-sans)}.cld-header__left{display:flex;align-items:center;gap:10px}.cld-header__brand{font-weight:600;font-size:15px;color:var(--cld-ink);white-space:nowrap}.cld-header__nav{display:flex;align-items:center;gap:4px}.cld-header__nav a{padding:6px 10px;border-radius:var(--cld-radius-sm);color:var(--cld-fog);text-decoration:none;font-size:14px}.cld-header__nav a:hover{background:var(--cld-mist);color:var(--cld-ink)}.cld-header__nav a.active{color:var(--cld-ink);font-weight:600}.cld-header__search{display:flex;align-items:center;flex:1 1 auto;max-width:420px}.cld-header__search form{width:100%}.cld-header__search input{width:100%;height:34px;padding:0 12px;border:1px solid var(--cld-border);border-radius:var(--cld-radius-sm);background:var(--cld-surface);color:var(--cld-ink);font-family:var(--cld-font-sans);font-size:14px}.cld-header__search input::placeholder{color:var(--cld-fog)}.cld-header__search input:focus-visible{outline:2px solid var(--cld-primary-2);outline-offset:1px}.cld-header__spacer{flex:1}.cld-header__icon-btn{height:36px;min-width:36px;padding:0 10px;border:none;border-radius:var(--cld-radius-sm);background:transparent;color:var(--cld-ink);font-size:14px;cursor:pointer}.cld-header__icon-btn:hover{background:var(--cld-mist)}.cld-header__icon-btn:focus-visible{outline:2px solid var(--cld-primary-2);outline-offset:2px}.cld-header__dev{color:var(--cld-fog);font-size:13px}.cld-switcher{position:relative;display:inline-flex}.cld-switcher__trigger{display:grid;place-items:center;width:40px;height:40px;border:none;border-radius:var(--cld-radius-sm);background:transparent;color:var(--cld-ink);cursor:pointer}.cld-switcher__trigger:hover{background:var(--cld-mist)}.cld-switcher__trigger:focus-visible{outline:2px solid var(--cld-primary-2);outline-offset:2px}.cld-switcher__glyph{display:block}.cld-switcher__popover{position:absolute;top:calc(100% + 8px);left:0;width:320px;max-height:60vh;overflow-y:auto;padding:8px;background:var(--cld-surface);border-radius:var(--cld-radius-md);box-shadow:var(--cld-shadow-md);z-index:1000}.cld-switcher__heading{padding:8px 12px 4px;font-size:13px;font-weight:500;color:var(--cld-fog)}.cld-switcher__group-label{padding:8px 12px 4px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--cld-fog)}.cld-switcher__divider{height:1px;margin:6px 4px;background:var(--cld-border)}.cld-switcher__tile{position:relative;display:flex;align-items:center;gap:12px;min-height:64px;padding:12px;border-radius:var(--cld-radius-sm);color:var(--cld-ink);text-decoration:none}.cld-switcher__tile:hover{background:var(--cld-mist)}.cld-switcher__tile:focus-visible{outline:2px solid var(--cld-primary-2);outline-offset:-2px}.cld-switcher__tile--current{background:var(--cld-paper)}.cld-switcher__tile--current:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--cld-primary-2)}.cld-switcher__tile--planned{opacity:.55}.cld-switcher__mark{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;border-radius:var(--cld-radius-sm);background:var(--cld-primary-2);color:var(--cld-on-accent);font-weight:600;font-size:14px}.cld-switcher__body{display:flex;flex-direction:column;min-width:0}.cld-switcher__name{font-weight:600;font-size:14px;color:var(--cld-ink)}.cld-switcher__desc{font-size:13px;color:var(--cld-fog);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cld-switcher__check{margin-left:auto;color:var(--cld-primary-2);font-weight:700}:root{--bg: #f7f8fa;--panel: #ffffff;--text: #1a2230;--muted: #64748b;--border: #e2e8f0;--accent: #2563EB;--accent-2: #534AB7;--shadow: 0 1px 3px rgba(0,0,0,.08);--ok: #16A34A;--warn: #BA7517;--err: #DC2626;--code-bg: #0b0f16;--header-h: 56px}:root[data-theme=dark]{--bg: #0e131b;--panel: #161d28;--text: #e6edf6;--muted: #94a3b8;--border: #263244;--accent: #3b82f6;--accent-2: #7c74e0;--shadow: 0 1px 3px rgba(0,0,0,.4)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}.header{display:flex;align-items:center;gap:16px;padding:8px 20px;height:var(--header-h);background:var(--panel);border-bottom:1px solid var(--border);box-shadow:var(--shadow);position:sticky;top:0;z-index:50}.brand{font-weight:700;font-size:18px;color:var(--accent);white-space:nowrap}.header .spacer{flex:1}.header-search{flex:1;max-width:620px}.header-search input{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:14px}.icon-btn{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text);padding:6px 10px;cursor:pointer}.icon-btn:hover{background:var(--bg)}.muted{color:var(--muted);font-size:13px}.btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:7px 14px;font-weight:600;cursor:pointer;font-size:14px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.alert{padding:10px 14px;border-radius:8px;border:1px solid;margin-bottom:12px;font-size:14px}.alert.error{color:var(--err);border-color:var(--err);background:#dc262611}.docs-app{display:flex;flex-direction:column;min-height:100%}.docs-shell{display:grid;grid-template-columns:280px minmax(0,1fr) 360px;height:calc(100vh - var(--header-h))}.pane-tree{border-right:1px solid var(--border);overflow:auto;background:var(--panel);padding:12px 8px}.pane-page{overflow:auto;padding:24px 32px}.pane-chat{border-left:1px solid var(--border);overflow:hidden;background:var(--panel)}@media (max-width: 1100px){.docs-shell{grid-template-columns:240px minmax(0,1fr)}.pane-chat{display:none}}.doc-tree{font-size:14px}.tree-dir{margin:1px 0}.tree-dir-label{display:block;width:100%;text-align:left;background:none;border:none;color:var(--muted);font-weight:600;padding:5px 8px;cursor:pointer;border-radius:6px;font-size:13px;text-transform:uppercase;letter-spacing:.03em}.tree-dir-label:hover{background:var(--bg);color:var(--text)}.tree-children{margin-left:12px;border-left:1px solid var(--border);padding-left:6px}.tree-file{display:block;padding:5px 8px;border-radius:6px;color:var(--text)}.tree-file:hover{background:var(--bg);text-decoration:none}.tree-file.active{background:var(--accent);color:#fff}.tree-file.landing{font-weight:600}.page-crumbs{font-size:12px;margin-bottom:8px}.page-actions{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.toc{float:right;max-width:240px;margin:0 0 16px 24px;padding:12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:13px}.toc-title{font-weight:700;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px}.toc a{display:block;padding:2px 0;color:var(--text)}.toc a.toc-l3{padding-left:12px;color:var(--muted)}.markdown-body{line-height:1.65;font-size:15px;max-width:860px}.markdown-body h1{font-size:30px;margin:8px 0 16px}.markdown-body h2{font-size:23px;margin:28px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border)}.markdown-body h3{font-size:18px;margin:22px 0 10px}.markdown-body p,.markdown-body ul,.markdown-body ol{margin:10px 0}.markdown-body img{max-width:100%;border-radius:8px;border:1px solid var(--border)}.markdown-body blockquote{margin:12px 0;padding:4px 16px;border-left:4px solid var(--accent);background:var(--panel);color:var(--muted);border-radius:0 8px 8px 0}.markdown-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;background:#64748b22;padding:1px 5px;border-radius:4px}.markdown-body pre{background:var(--code-bg);border-radius:10px;padding:14px 16px;overflow:auto}.markdown-body pre code{background:none;padding:0;color:#d7e0ea;font-size:13px}.markdown-body table{border-collapse:collapse;font-size:14px;margin:12px 0;width:100%}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:7px 10px;text-align:left}.markdown-body th{background:var(--panel)}.markdown-body pre.mermaid{background:var(--panel);border:1px solid var(--border);text-align:center}.codeblock{position:relative;margin:12px 0}.codeblock .copy-btn{position:absolute;top:8px;right:8px;font-size:11px;padding:3px 8px;background:#fff2;color:#d7e0ea;border:1px solid #ffffff33;border-radius:6px;cursor:pointer}.codeblock .copy-btn:hover{background:#fff3}.chat{display:flex;flex-direction:column;height:100%}.chat-head{padding:12px 16px;font-weight:700;border-bottom:1px solid var(--border)}.chat-log{flex:1;overflow:auto;padding:12px 14px;display:flex;flex-direction:column;gap:12px}.chat-empty{padding:12px}.chat-msg.user{align-self:flex-end;max-width:90%}.chat-user{background:var(--accent);color:#fff;padding:8px 12px;border-radius:12px 12px 2px;font-size:14px}.chat-msg.assistant{align-self:flex-start;max-width:100%}.chat-md{font-size:14px}.chat-md pre{font-size:12px}.chat-sources{margin-top:8px;display:flex;flex-direction:column;gap:3px;border-top:1px dashed var(--border);padding-top:8px}.chat-src{font-size:12px;color:var(--accent-2)}.chat-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border)}.chat-input textarea{flex:1;resize:none;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:14px;font-family:inherit}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-start;justify-content:center;z-index:100;padding-top:10vh}.search-panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;width:680px;max-width:92vw;max-height:72vh;overflow:auto;box-shadow:0 10px 40px #0000004d}.search-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.search-hits{display:flex;flex-direction:column;gap:4px}.search-hit{display:block;padding:10px 12px;border-radius:8px;color:var(--text);border:1px solid transparent}.search-hit:hover{background:var(--bg);border-color:var(--border);text-decoration:none}.search-hit-title{font-weight:600}.search-hit-path{font-size:12px;margin:2px 0}.search-hit-snippet{font-size:13px;color:var(--muted)}.footer{text-align:center;color:var(--muted);padding:10px;font-size:12px;border-top:1px solid var(--border)}
