:root{--bg: #eef2f6;--bg-accent: #dde6ef;--panel: #fbfcfd;--panel-strong: #ffffff;--line: #c5cfda;--line-strong: #8c98a8;--text: #18212b;--muted: #536171;--accent: #1d4f7a;--accent-soft: #e6eef6;--code-bg: #101823;--code-line: #223143;--code-text: #dbe6f3;--shadow: 0 10px 24px rgba(33, 49, 66, .08)}html,body{margin:0;padding:0;background:linear-gradient(180deg,#ffffffc7,#ffffffc7),linear-gradient(90deg,transparent 0,transparent 31px,rgba(115,137,158,.08) 31px,rgba(115,137,158,.08) 32px,transparent 32px),linear-gradient(180deg,var(--bg) 0%,var(--bg-accent) 100%);color:var(--text);font-family:IBM Plex Sans,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.5}main:where(.astro-zjodmi5m){max-width:1320px;margin:0 auto;padding:32px 28px 112px}header:where(.astro-zjodmi5m){margin-bottom:28px;padding:0 0 24px;border-bottom:2px solid var(--line-strong)}h1:where(.astro-zjodmi5m),h2:where(.astro-zjodmi5m),h3:where(.astro-zjodmi5m){margin:0;font-weight:600;letter-spacing:-.01em}h1:where(.astro-zjodmi5m){font-size:2.15rem;margin-bottom:10px}h2:where(.astro-zjodmi5m){font-size:1.4rem;margin-bottom:10px}h3:where(.astro-zjodmi5m){font-size:1.02rem;margin-bottom:12px}p:where(.astro-zjodmi5m){margin:0;color:var(--muted)}.eyebrow:where(.astro-zjodmi5m){display:inline-block;margin-bottom:10px;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}.top-grid:where(.astro-zjodmi5m){display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,360px);gap:28px;align-items:start}.intro:where(.astro-zjodmi5m){max-width:760px}.index-panel:where(.astro-zjodmi5m){background:linear-gradient(180deg,#fffffff5,#f6f9fcf5);border:1px solid var(--line);border-top:3px solid var(--line-strong);box-shadow:var(--shadow)}.index-panel-header:where(.astro-zjodmi5m){padding:14px 18px 10px;border-bottom:1px solid var(--line);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.file-list:where(.astro-zjodmi5m){margin-top:0;display:grid;gap:0}.file-list:where(.astro-zjodmi5m) a:where(.astro-zjodmi5m){padding:12px 18px;color:var(--text);text-decoration:none;border-top:1px solid #e4eaf0;font-size:.96rem}.file-list:where(.astro-zjodmi5m) a:where(.astro-zjodmi5m):hover{background:#f3f7fb}.doc-card:where(.astro-zjodmi5m){background:linear-gradient(180deg,var(--panel-strong),var(--panel));border:1px solid var(--line);border-top:3px solid var(--line-strong);padding:22px 24px 28px;margin-top:26px;box-shadow:var(--shadow)}.doc-meta:where(.astro-zjodmi5m){display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:8px 0 20px;color:var(--muted);font-size:.95rem}.doc-meta:where(.astro-zjodmi5m) code:where(.astro-zjodmi5m){background:#eef3f8;border:1px solid var(--line);border-radius:6px;padding:2px 7px;color:var(--text);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.88rem}.section:where(.astro-zjodmi5m){margin-top:28px;padding-top:20px;border-top:1px solid #e5eaf0}.section-head:where(.astro-zjodmi5m){max-width:980px;margin:0 auto 12px}.section-id:where(.astro-zjodmi5m){display:inline-block;margin-bottom:10px;padding:3px 9px;border:1px solid #b9c5d1;border-radius:999px;background:var(--accent-soft);color:var(--text);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.82rem}.diagram-shell:where(.astro-zjodmi5m){width:min(100%,980px);margin:14px auto 0;border:1px solid var(--line);background:linear-gradient(180deg,#fdfefe,#f8fbfd);overflow:hidden;box-shadow:0 6px 14px #2334490f}.diagram-toolbar:where(.astro-zjodmi5m){display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#eef4f9,#e9f0f6);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.diagram-view:where(.astro-zjodmi5m){padding:28px 20px;overflow-x:auto;display:grid;place-items:center;background:linear-gradient(180deg,#ffffffd9,#ffffffd9),repeating-linear-gradient(0deg,transparent 0,transparent 27px,rgba(130,149,168,.08) 27px,rgba(130,149,168,.08) 28px)}.diagram-view:where(.astro-zjodmi5m) .mermaid:where(.astro-zjodmi5m){width:fit-content;min-width:min(100%,520px)}.diagram-view:where(.astro-zjodmi5m) .svg-diagram:where(.astro-zjodmi5m){width:min(100%,760px)}.diagram-view:where(.astro-zjodmi5m) .svg-diagram:where(.astro-zjodmi5m) svg:where(.astro-zjodmi5m){display:block;width:100%;height:auto;filter:drop-shadow(0 2px 3px rgba(27,39,53,.08))}.diagram-view:where(.astro-zjodmi5m) .mermaid:where(.astro-zjodmi5m) svg:where(.astro-zjodmi5m){filter:drop-shadow(0 2px 3px rgba(27,39,53,.08))}.diagram-view:where(.astro-zjodmi5m) .mermaid:where(.astro-zjodmi5m) .nodeLabel:where(.astro-zjodmi5m),.diagram-view:where(.astro-zjodmi5m) .mermaid:where(.astro-zjodmi5m) .label:where(.astro-zjodmi5m),.diagram-view:where(.astro-zjodmi5m) .mermaid:where(.astro-zjodmi5m) .edgeLabel:where(.astro-zjodmi5m){font-family:IBM Plex Sans,Helvetica Neue,Helvetica,Arial,sans-serif;letter-spacing:-.01em}.diagram-view:where(.astro-zjodmi5m) .mermaid:where(.astro-zjodmi5m) .nodeLabel:where(.astro-zjodmi5m) p:where(.astro-zjodmi5m),.diagram-view:where(.astro-zjodmi5m) .mermaid:where(.astro-zjodmi5m) .label:where(.astro-zjodmi5m) text:where(.astro-zjodmi5m),.diagram-view:where(.astro-zjodmi5m) .mermaid:where(.astro-zjodmi5m) .edgeLabel:where(.astro-zjodmi5m) text:where(.astro-zjodmi5m){font-size:14px}.diagram-view:where(.astro-zjodmi5m) .mermaid:where(.astro-zjodmi5m) .edgeLabel:where(.astro-zjodmi5m) rect:where(.astro-zjodmi5m){fill:#fdfefe!important;stroke:#b4c0cd!important;stroke-width:.9px!important}.diagram-view:where(.astro-zjodmi5m) .mermaid:where(.astro-zjodmi5m) .flowchart-link:where(.astro-zjodmi5m),.diagram-view:where(.astro-zjodmi5m) .mermaid:where(.astro-zjodmi5m) .path:where(.astro-zjodmi5m),.diagram-view:where(.astro-zjodmi5m) .mermaid:where(.astro-zjodmi5m) path:where(.astro-zjodmi5m)[marker-end]{stroke-width:1.4px!important}.diagram-view:where(.astro-zjodmi5m) .mermaid:where(.astro-zjodmi5m) marker:where(.astro-zjodmi5m) path:where(.astro-zjodmi5m){stroke:none!important}.diagram-view:where(.astro-zjodmi5m) .mermaid:where(.astro-zjodmi5m) .cluster:where(.astro-zjodmi5m) rect:where(.astro-zjodmi5m){rx:0;ry:0}.diagram-source:where(.astro-zjodmi5m){margin:0;padding:16px 18px;background:var(--code-bg);color:var(--code-text);border-top:1px solid var(--code-line);overflow-x:auto;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.84rem}.diagram-source:where(.astro-zjodmi5m) code:where(.astro-zjodmi5m){white-space:pre}.page-note:where(.astro-zjodmi5m){margin-top:10px;max-width:720px}@media(max-width:920px){main:where(.astro-zjodmi5m){padding:24px 16px 88px}.top-grid:where(.astro-zjodmi5m){grid-template-columns:1fr}.diagram-shell:where(.astro-zjodmi5m){width:100%}}
