:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-serif: "Source Serif 4", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-8: 48px;--space-10: 64px;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--sidebar-w: 260px;--toc-w: 220px;--max-w: 880px}:root[data-theme=light]{--c-bg: #ffffff;--c-bg-alt: #fafafa;--c-fg: #111418;--c-muted: #6b7280;--c-border: #e5e7eb;--c-accent: #0a5e54;--c-accent-fg: #ffffff;--c-code-bg: #f5f5f5;--c-link: #0a5e54}:root[data-theme=dark]{--c-bg: #0e0f10;--c-bg-alt: #15171a;--c-fg: #f1f3f5;--c-muted: #9ca3af;--c-border: #25272b;--c-accent: #34d4bf;--c-accent-fg: #0e0f10;--c-code-bg: #181a1d;--c-link: #34d4bf}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--c-fg);background:var(--c-bg);-webkit-font-smoothing:antialiased}a{color:var(--c-link);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;color:inherit;background:transparent;border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);cursor:pointer}button:hover{background:var(--c-bg-alt)}code,pre{font-family:var(--font-mono);font-size:.92em}pre{background:var(--c-code-bg);padding:var(--space-4);border-radius:var(--radius);overflow-x:auto;border:1px solid var(--c-border)}code:not(pre code){background:var(--c-code-bg);padding:1px 6px;border-radius:var(--radius-sm)}h1,h2,h3,h4{font-weight:600;letter-spacing:-.01em;line-height:1.25;margin:var(--space-6) 0 var(--space-3)}h1{font-size:2rem;margin-top:0}h2{font-size:1.5rem}h3{font-size:1.2rem}hr{border:none;border-top:1px solid var(--c-border);margin:var(--space-6) 0}.md-table-wrap{margin:var(--space-5) 0;overflow-x:auto;border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-bg)}.md-table-wrap table{width:100%;border-collapse:separate;border-spacing:0;font-size:.92rem;line-height:1.55}.md-table-wrap thead{background:var(--c-bg-alt)}.md-table-wrap thead th{font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--c-muted);text-align:left;padding:10px 16px;border-bottom:1px solid var(--c-border);white-space:nowrap;vertical-align:middle}.md-table-wrap thead th:not(:first-child){border-left:1px solid var(--c-border)}.md-table-wrap tbody td{padding:11px 16px;border-bottom:1px solid var(--c-border);vertical-align:top;color:var(--c-fg)}.md-table-wrap tbody td:not(:first-child){border-left:1px solid var(--c-border)}.md-table-wrap tbody tr:last-child td{border-bottom:none}.md-table-wrap tbody td:first-child{font-weight:500;color:var(--c-fg)}.md-table-wrap td code,.md-table-wrap th code{background:var(--c-code-bg);font-size:.85em;padding:1px 6px;border-radius:var(--radius-sm)}.md-table-wrap [align=right]{text-align:right}.md-table-wrap [align=center]{text-align:center}.md-table-wrap [align=left]{text-align:left}.mermaid-diagram{display:flex;justify-content:center;align-items:center;margin:var(--space-5) 0;padding:var(--space-5) var(--space-4);border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-bg-alt);overflow-x:auto}.mermaid-diagram svg{max-width:100%;height:auto}.mermaid-loading{margin:var(--space-5) 0;padding:var(--space-4);border:1px dashed var(--c-border);border-radius:var(--radius);background:var(--c-bg-alt);color:var(--c-muted);text-align:center;font-size:.9rem}.mermaid-error{margin:var(--space-5) 0;padding:var(--space-4);border:1px solid #dc2626;border-radius:var(--radius);background:#dc262614;color:#dc2626;font-size:.9rem}.mermaid-error pre{margin:8px 0 0;padding:8px;background:var(--c-bg);color:var(--c-fg);font-size:.85em}.contracts-architecture-wrap{margin:var(--space-5) 0;padding:var(--space-5) var(--space-4);border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-bg-alt);overflow-x:auto}.contracts-architecture-svg{display:block;max-width:100%;height:auto;font-family:var(--font-sans)}.ca-node rect{fill:var(--c-bg);stroke:var(--c-accent);stroke-width:1.5}.ca-node-actor rect{fill:var(--c-bg-alt)}.ca-node-planned rect{fill:var(--c-bg-alt);opacity:.85}.ca-badge-bg{fill:var(--c-muted);opacity:.18;stroke:var(--c-muted);stroke-width:.5}.ca-badge-text{fill:var(--c-muted);font-family:var(--font-mono, monospace);font-size:8px;font-weight:600;letter-spacing:.5px}.ca-title{fill:var(--c-fg);font-weight:600;font-size:14px}.ca-subtitle{fill:var(--c-muted);font-size:11px}.ca-actor{fill:var(--c-fg);font-weight:500;font-size:13px}.ca-edge{stroke:var(--c-muted);stroke-width:1.5;fill:none}.ca-dotted{stroke-dasharray:4 3}.ca-edge-voting{opacity:.7}.ca-arrow-head{fill:var(--c-muted)}.ca-label{fill:var(--c-muted);font-size:10px}.ca-label-voting{font-size:10px}@media (min-width: 1500px){.contracts-architecture-wrap,.data-flow-wrap{margin-inline:-40px}}@media (min-width: 1800px){.contracts-architecture-wrap,.data-flow-wrap{margin-inline:-100px}}.data-flow-wrap{margin:var(--space-5) 0;padding:var(--space-5) var(--space-4);border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-bg-alt);overflow-x:auto}.data-flow-svg{display:block;max-width:100%;height:auto;font-family:var(--font-sans)}.df-inner-rect{fill:var(--c-bg-alt);stroke:var(--c-border);stroke-width:1}.df-url{fill:var(--c-muted);font-family:var(--font-mono);font-size:11px}.docs-toc-title{margin:0 0 12px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted)}.docs-toc-list{list-style:none;margin:0;padding:0;border-left:1px solid var(--c-border)}.docs-toc-item a{display:block;padding:5px 0 5px 12px;margin-left:-1px;border-left:1px solid transparent;font-size:.85rem;line-height:1.45;color:var(--c-muted);text-decoration:none;transition:color .12s,border-color .12s}.docs-toc-item a:hover{color:var(--c-fg);text-decoration:none}.docs-toc-item.is-active a{color:var(--c-accent);border-left-color:var(--c-accent);font-weight:500}.docs-toc-l3 a{padding-left:24px;font-size:.8rem}.docs-article :is(h1,h2,h3,h4)[id]{scroll-margin-top:72px}blockquote{margin:var(--space-4) 0;padding:var(--space-2) var(--space-4);border-left:3px solid var(--c-accent);color:var(--c-muted)}
