:root{--navy:#111844;--indigo:#4b5694;--slate:#7288ae;--cream:#eae0cf;--page-bg:color-mix(in srgb, var(--cream) 45%, #fff);--surface:#fff;--surface-2:color-mix(in srgb, var(--cream) 35%, #fff);--border:color-mix(in srgb, var(--slate) 32%, #fff);--border-strong:color-mix(in srgb, var(--slate) 55%, #fff);--ink:var(--navy);--ink-muted:color-mix(in srgb, var(--navy) 45%, var(--slate));--ink-faint:color-mix(in srgb, var(--slate) 65%, #fff);--accent:var(--indigo);--accent-ink:var(--navy);--accent-soft:color-mix(in srgb, var(--indigo) 14%, #fff);--accent-hover:color-mix(in srgb, var(--indigo) 88%, var(--navy));--good:#2e7d5b;--good-soft:#e2f0e9;--warn:#a66a1e;--warn-soft:#f5ead8;--bad:#b0432f;--bad-soft:#f5e2df;--font-head:"Segoe UI Semibold", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-body:"Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono:"Cascadia Mono", Consolas, "SFMono-Regular", ui-monospace, monospace}#root{height:100%}a{color:var(--accent)}.flow-figure{margin:0;padding:24px}.flow-figure svg{width:100%;height:auto;color:var(--ink-muted);display:block}.flow-figure figcaption{color:var(--ink-faint);max-width:62ch;margin-top:16px;font-size:13px}.flow-box{fill:var(--surface);stroke:var(--border-strong);stroke-width:1.2px}.flow-box-accent{fill:var(--accent-soft);stroke:var(--accent)}.flow-box-good{fill:var(--good-soft);stroke:var(--good)}.flow-box-muted{fill:var(--surface-2);stroke:var(--border)}.flow-title{font-family:var(--font-head);fill:var(--ink);font-size:13px;font-weight:700}.flow-title-accent{fill:var(--accent-ink)}.flow-title-good{fill:var(--good)}.flow-title-muted{fill:var(--ink-muted)}.flow-sub{font-family:var(--font-mono);fill:var(--ink-faint);font-size:10.5px}.flow-label{font-family:var(--font-mono);fill:var(--ink-faint);font-size:11px}.flow-label-accent{fill:var(--accent)}.flow-container{fill:none;stroke:var(--slate);stroke-width:1.4px;stroke-dasharray:6 5}.flow-container-label{font-family:var(--font-mono);letter-spacing:.02em;fill:var(--slate);font-size:11px;font-weight:600}.rollup-callout{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 8px 8px 0;margin:0 24px 24px;padding:16px 20px}.rollup-callout-label{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:11px}.rollup-callout p{color:var(--ink-muted);max-width:78ch;font-size:14px}.rollup-callout p+p{margin-top:0}
