:root{--accent-network:59 130 246;--accent-compute:99 102 241;--accent-security:34 211 238;--accent-storage:34 197 94;--accent-warning:245 158 11;--accent-danger:239 68 68}:root[data-theme=light]{--canvas:#f8fafc;--canvas-ink:#0f172a;--canvas-ink-muted:rgba(15,23,42,0.65);--grid-dot:rgba(15,23,42,0.06);--surface-node:#ffffff;--surface-node-border:#e5e7eb;--surface-node-shadow:0 8px 24px rgba(2,6,23,0.08);--edge:rgba(71,85,105,0.45);--edge-hover:rgba(71,85,105,0.9);--edge-selected:rgba(37,99,235,0.95);--edge-highlight:var(--edge-selected);--edge-width:1.5px;--edge-width-hover:2px;--edge-rel-default:rgba(71,85,105,0.62);--edge-rel-default-label:#0f172a;--edge-rel-default-bg:rgba(255,255,255,0.92);--edge-rel-default-border:transparent;--edge-rel-default-tick:#020617;--edge-rel-dependson:rgba(50,118,242,0.58);--edge-rel-dependson-label:rgba(255,255,255,0.97);--edge-rel-dependson-bg:rgba(50,118,242,0.9);--edge-rel-dependson-border:transparent;--edge-rel-dependson-tick:color-mix(in srgb,rgb(50,118,242) 22%,black);--edge-rel-uses:rgba(86,84,225,0.58);--edge-rel-uses-label:rgba(255,255,255,0.97);--edge-rel-uses-bg:rgba(86,84,225,0.9);--edge-rel-uses-border:transparent;--edge-rel-uses-tick:color-mix(in srgb,rgb(86,84,225) 22%,black);--edge-rel-routes:rgba(234,142,9,0.58);--edge-rel-routes-label:rgba(255,255,255,0.97);--edge-rel-routes-bg:rgba(234,142,9,0.9);--edge-rel-routes-border:transparent;--edge-rel-routes-tick:color-mix(in srgb,rgb(217,119,6) 18%,black);--edge-rel-secures:rgba(24,185,214,0.58);--edge-rel-secures-label:rgba(255,255,255,0.97);--edge-rel-secures-bg:rgba(24,185,214,0.9);--edge-rel-secures-border:transparent;--edge-rel-secures-tick:color-mix(in srgb,rgb(8,145,178) 20%,black);--edge-rel-contains:rgba(31,182,86,0.58);--edge-rel-contains-label:rgba(255,255,255,0.97);--edge-rel-contains-bg:rgba(31,182,86,0.9);--edge-rel-contains-border:transparent;--edge-rel-contains-tick:color-mix(in srgb,rgb(22,163,74) 20%,black);--edge-rel-associated:rgba(232,56,56,0.58);--edge-rel-associated-label:rgba(255,255,255,0.97);--edge-rel-associated-bg:rgba(232,56,56,0.9);--edge-rel-associated-border:transparent;--edge-rel-associated-tick:color-mix(in srgb,rgb(220,38,38) 25%,black);--pill-bg:rgba(15,23,42,0.06);--pill-text:rgba(15,23,42,0.75)}:root[data-theme=dark]{--canvas:#070a0d;--canvas-ink:rgba(226,232,240,0.95);--canvas-ink-muted:rgba(226,232,240,0.65);--grid-dot:rgba(148,163,184,0.05);--surface-node:#111827;--surface-node-border:rgba(148,163,184,0.22);--surface-node-shadow:0 10px 30px rgba(0,0,0,0.55);--edge:rgba(186,198,214,0.52);--edge-hover:rgba(226,232,240,0.8);--edge-selected:rgba(96,165,250,0.95);--edge-highlight:var(--edge-selected);--edge-width:1.5px;--edge-width-hover:2px;--edge-rel-default:rgba(186,198,214,0.78);--edge-rel-default-label:rgba(226,232,240,0.95);--edge-rel-default-bg:rgba(17,24,39,0.92);--edge-rel-default-border:transparent;--edge-rel-default-tick:rgba(226,232,240,0.95);--edge-rel-dependson:rgba(79,131,244,0.9);--edge-rel-dependson-label:rgba(226,232,240,0.95);--edge-rel-dependson-bg:rgba(50,118,242,0.52);--edge-rel-dependson-border:transparent;--edge-rel-dependson-tick:color-mix(in srgb,rgb(96,165,250) 62%,white);--edge-rel-uses:rgba(110,107,231,0.9);--edge-rel-uses-label:rgba(226,232,240,0.95);--edge-rel-uses-bg:rgba(86,84,225,0.52);--edge-rel-uses-border:transparent;--edge-rel-uses-tick:color-mix(in srgb,rgb(129,140,248) 58%,white);--edge-rel-routes:rgba(238,164,48,0.9);--edge-rel-routes-label:rgba(226,232,240,0.95);--edge-rel-routes-bg:rgba(234,142,9,0.52);--edge-rel-routes-border:transparent;--edge-rel-routes-tick:color-mix(in srgb,rgb(251,191,36) 55%,white);--edge-rel-secures:rgba(58,196,220,0.9);--edge-rel-secures-label:rgba(226,232,240,0.95);--edge-rel-secures-bg:rgba(24,185,214,0.52);--edge-rel-secures-border:transparent;--edge-rel-secures-tick:color-mix(in srgb,rgb(34,211,238) 55%,white);--edge-rel-contains:rgba(60,191,106,0.9);--edge-rel-contains-label:rgba(226,232,240,0.95);--edge-rel-contains-bg:rgba(31,182,86,0.52);--edge-rel-contains-border:transparent;--edge-rel-contains-tick:color-mix(in srgb,rgb(74,222,128) 55%,white);--edge-rel-associated:rgba(236,84,84,0.9);--edge-rel-associated-label:rgba(226,232,240,0.95);--edge-rel-associated-bg:rgba(232,56,56,0.52);--edge-rel-associated-border:transparent;--edge-rel-associated-tick:color-mix(in srgb,rgb(248,113,113) 58%,white);--pill-bg:rgba(226,232,240,0.08);--pill-text:rgba(226,232,240,0.75)}.diagram-root{--diagram-panel-inset:0.35rem;--diagram-minimap-inset:0.2rem;color:var(--canvas-ink)}.diagram-canvas{background-color:var(--canvas);color:var(--canvas-ink);background-image:radial-gradient(var(--grid-dot) 1px,transparent 1px);background-size:24px 24px}.diagram-canvas .react-flow__viewport{background-color:transparent;background-image:none}.diagram-canvas .react-flow__node-group,.diagram-canvas .react-flow__node-group.selected,.diagram-canvas .react-flow__node-group:focus,.diagram-canvas .react-flow__node-group:focus-visible{border:none}.diagram-root[data-presentation=true] .diagram-canvas{--edge-width:calc(var(--edge-width) + 0.5px);--edge-width-hover:calc(var(--edge-width-hover) + 0.5px);background-image:none}.diagram-root[data-presentation=true] .diagram-canvas .react-flow__viewport{background-image:none}.diagram-node{background-color:var(--surface-node);border:1px solid var(--surface-node-border);border-radius:6px;box-shadow:var(--surface-node-shadow)}.diagram-node__controls{border-bottom:1px solid var(--surface-node-border);overflow:visible}.diagram-node__controls,.diagram-node__icon,.diagram-node__label{background-color:var(--surface-node)}.diagram-node__label{border-top:1px solid var(--surface-node-border);color:var(--canvas-ink)}.diagram-control-button,.diagram-node__meta{color:var(--canvas-ink-muted)}.diagram-control-button{background-color:transparent}.diagram-control-button:hover{background-color:var(--pill-bg);color:var(--canvas-ink)}.diagram-control-icon{color:inherit}.diagram-container__header{background-color:var(--surface-node);border:1px solid var(--surface-node-border);border-radius:6px 0 6px 0;color:var(--canvas-ink);contain:layout}.diagram-container__subtitle{color:var(--canvas-ink-muted)}.diagram-edge-label{background-color:var(--pill-bg);color:var(--pill-text);border:none;outline:none;box-shadow:none}@font-face{font-family:Kalam;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/402045309214d7f5-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Kalam;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/e5a2e5b803e2912d-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Kalam;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/8d3438aba4d874a4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Kalam;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/548d4a6452851abd-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Kalam;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/89f9cb1a88b9175b-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Kalam;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bf273aca3d6b346f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Kalam;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/2f968d8fa37d003d-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Kalam;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/a741d221f759c10d-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Kalam;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/59086a93cebe8094-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Kalam Fallback;src:local("Arial");ascent-override:108.94%;descent-override:54.42%;line-gap-override:0.00%;size-adjust:97.58%}.__className_2ad349{font-family:Kalam,Kalam Fallback;font-style:normal}.__variable_2ad349{--font-kalam:"Kalam","Kalam Fallback"}