:root[data-color-scheme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{touch-action:pan-x pan-y;height:100%;margin:0}html[data-busy],html[data-busy] *{cursor:progress!important}body{width:100vw;height:100vh;background:var(--color-slate-100);height:100dvh;color:var(--color-slate-900);font-family:var(--font-sans);font-feature-settings:"cv11", "ss01", "ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}::selection{background:var(--accent-soft);color:var(--color-slate-900)}.mxCellEditor::selection,.mxCellEditor ::selection{color:currentColor}:root{--spectrum-workflow-icon-size-50:14px;--spectrum-workflow-icon-size-75:16px;--spectrum-workflow-icon-size-100:20px;--color-white:#fff;--color-paper:#fcfcfa;--color-slate-50:#f8f9fa;--color-slate-100:#f2f4f6;--color-slate-200:#e5e7eb;--color-slate-300:#d3d8dc;--color-slate-400:#9aa3ac;--color-slate-500:#656d76;--color-slate-600:#424a53;--color-slate-700:#32383f;--color-slate-800:#24292f;--color-slate-900:#1f2328;--accent-focus:var(--spectrum-focus-indicator-color,#4b75ff);--accent-solid:var(--spectrum-accent-background-color-default,#3b63fb);--accent-solid-hover:var(--spectrum-accent-background-color-hover,#274dea);--accent-text:var(--spectrum-blue-1000,#274dea);--accent-text-strong:var(--spectrum-blue-1100,#1d3ecf);--accent-text-on-tint:var(--spectrum-blue-1200,#1532ad);--accent-tint-subtle:var(--spectrum-blue-100,#f5f9ff);--accent-tint:var(--spectrum-blue-200,#e5f0fe);--accent-border-subtle:var(--spectrum-blue-300,#cbe2fe);--accent-border:var(--spectrum-blue-400,#accffd);--accent-soft:#3b63fb14;--surface-page:var(--spectrum-background-layer-1-color,#f8f8f8);--surface-raised:var(--spectrum-background-layer-2-color,#fff);--color-amber-50:#fffbeb;--color-amber-100:#fef3c7;--color-amber-200:#fde68a;--color-amber-300:#fcd34d;--color-amber-500:#f59e0b;--color-amber-700:#b45309;--color-amber-900:#78350f;--color-red-50:#fef2f2;--color-red-200:#fecaca;--color-red-600:#dc2626;--color-red-700:#b91c1c;--color-red-800:#991b1b;--color-rose-200:#fecdd3;--color-rose-500:#f43f5e;--color-rose-600:#e11d48;--color-rose-800:#9f1239;--color-indigo-50:#eef2ff;--color-indigo-500:#6366f1;--color-blue-400:#60a5fa;--color-yellow-100:#fef9c3;--color-yellow-400:#facc15;--color-yellow-200:#fef08a;--color-yellow-500:#eab308;--color-blue-200:#bfdbfe;--color-blue-500:#3b82f6;--color-green-200:#bbf7d0;--color-green-500:#22c55e;--color-violet-200:#ede9fe;--color-violet-500:#8b5cf6;--space-0_5:.125rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--fs-10:10px;--fs-11:11px;--fs-12:.75rem;--fs-13:13px;--fs-14:.875rem;--fs-16:1rem;--fs-20:1.25rem;--fs-32:2rem;--lh-12:1rem;--lh-14:1.25rem;--lh-20:1.5rem;--lh-36:2.25rem;--radius-default:.375rem;--radius-lg:.625rem;--control-size-compact:32px;--control-size-comfortable:44px;--font-eyebrow:var(--font-serif);--fs-eyebrow:12px;--weight-eyebrow:500;--tracking-eyebrow:.14em;--font-sans:"Inter Variable", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:"Newsreader Variable", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}@media (pointer:coarse){:root{--control-size-compact:44px}}[hidden]{display:none!important}#app-status{left:50%;bottom:var(--space-4);z-index:1000;border:1px solid var(--color-slate-300);border-radius:var(--radius-default);background:var(--color-slate-900);max-width:min(420px,100vw - 32px);color:var(--color-white);padding:var(--space-2) var(--space-3);font-size:var(--fs-12);line-height:var(--lh-12);text-align:center;position:fixed;transform:translate(-50%);box-shadow:0 12px 28px #0f172a38}#canvas-host{isolation:isolate}diagram-canvas{-webkit-tap-highlight-color:transparent;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline:none;position:absolute;inset:0}diagram-canvas.canvas-engaged .db-native-handle{display:none}diagram-canvas :is(.mxCellEditor,[contenteditable=true],input,textarea){-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.long-press-ripple-layer{z-index:4;overflow:hidden}.long-press-ripple{box-sizing:border-box;border:2px solid var(--accent-solid);opacity:.95;border-radius:50%;width:24px;height:24px;animation:.2s ease-out forwards long-press-ripple-out;position:absolute;transform:translate(-50%,-50%)scale(.35)}@keyframes long-press-ripple-out{to{opacity:0;transform:translate(-50%,-50%)scale(1.8)}}.nested-edge-ghost{pointer-events:none;animation:.2s ease-out forwards nested-edge-ghost-out}@keyframes nested-edge-ghost-out{to{opacity:0}}diagram-canvas:focus-visible{outline:2px solid var(--accent-focus);outline-offset:-2px}.canvas-controls{top:var(--space-2);left:var(--space-2);right:var(--space-2);z-index:11;align-items:flex-start;gap:var(--space-2);pointer-events:none;display:flex;position:absolute}canvas-tool-toggle,canvas-action-pill,canvas-view-toggle{border:1px solid var(--color-slate-200);border-radius:var(--radius-default);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;background:#ffffffd6;display:inline-flex;overflow:hidden;box-shadow:0 2px 8px #0f172a1f}canvas-view-toggle{margin-left:auto}.ctt-btn{width:var(--control-size-compact);height:var(--control-size-compact);border:0;border-right:1px solid var(--color-slate-200);background:var(--color-white);color:var(--color-slate-600);cursor:pointer;place-items:center;display:inline-grid}.ctt-btn:last-child{border-right:0}.ctt-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.ctt-btn:hover{background:var(--color-slate-50);color:var(--color-slate-900)}.ctt-btn.is-active{background:var(--accent-tint-subtle);color:var(--accent-text)}.ctt-btn:focus-visible{z-index:1;outline:2px solid var(--accent-focus);outline-offset:-2px;position:relative}.cap-btn{min-width:var(--control-size-compact);min-height:var(--control-size-compact);padding:0 var(--space-3);border:0;border-right:1px solid var(--color-slate-200);color:var(--color-slate-700);font:600 var(--fs-13) / 1 var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0}.cap-btn:last-child{border-right:0}.cap-btn:hover:not(:disabled){color:var(--color-slate-900);background:#f8fafce6}.cap-btn:disabled{color:var(--color-slate-400);cursor:not-allowed}.cap-btn:focus-visible{z-index:1;outline:2px solid var(--accent-focus);outline-offset:-2px;position:relative}@media (max-width:560px){.canvas-controls{flex-wrap:wrap}canvas-action-pill{max-width:100%}canvas-view-toggle{margin-left:0}.cap-btn{padding-inline:var(--space-2)}}.canvas-empty-state{padding:var(--space-5);background:var(--color-white);color:var(--color-slate-700);place-items:center;display:grid;position:absolute;inset:0}.canvas-empty-state__body{text-align:center;max-width:28rem}.canvas-empty-state h2{margin:0 0 var(--space-2);color:var(--color-slate-900);font-size:var(--fs-18);line-height:var(--lh-18);font-weight:650}.canvas-empty-state p{font-size:var(--fs-14);line-height:var(--lh-14);margin:0}diagram-canvas.grid-visible{background-image:linear-gradient(90deg,#656d762e 1px,#0000 1px),linear-gradient(#656d762e 1px,#0000 1px);background-size:var(--grid-bg-size,var(--grid-size,10px)) var(--grid-bg-size,var(--grid-size,10px));background-position:var(--grid-bg-pos-x,0) var(--grid-bg-pos-y,0)}diagram-canvas.tool-hand{cursor:grab}.armed-mode-pill{top:calc(var(--space-2) + var(--control-size-compact) + var(--space-2));z-index:12;align-items:center;gap:var(--space-2);color:var(--color-slate-900);background:var(--accent-tint);border:1px solid var(--accent-focus);pointer-events:auto;border-radius:999px;padding:4px 6px 4px 10px;font-size:13px;font-weight:500;animation:.15s ease-out armed-mode-pill-in;display:inline-flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0f172a1f}.armed-mode-pill[hidden]{display:none}.armed-mode-pill-cancel{width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;display:inline-flex}.armed-mode-pill-cancel:hover{background:#0000000f}@keyframes armed-mode-pill-in{0%{opacity:0;transform:translate(-50%,-8px)}}@media (prefers-reduced-motion:reduce){.armed-mode-pill{animation:none}}.connect-handle-hover-outline{box-sizing:border-box;pointer-events:none;border:2px solid var(--accent-solid);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-focus) 20%, transparent), 0 0 10px color-mix(in srgb, var(--accent-focus) 65%, transparent);border-radius:10px}diagram-canvas svg g[data-hover-related],diagram-canvas svg g[data-hovered]{filter:drop-shadow(0 0 2px color-mix(in srgb, var(--accent-focus) 50%, transparent))}diagram-canvas svg g[data-related]{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--accent-solid) 72%, transparent))}diagram-canvas svg g[data-armed-source]{filter:drop-shadow(0 0 .5px var(--accent-solid)) drop-shadow(0 0 4px color-mix(in srgb, var(--accent-solid) 90%, transparent))}diagram-canvas svg g[data-selected]:not([data-selected-vertex]){filter:drop-shadow(0 0 2px #ffffffe6) drop-shadow(0 0 2px var(--accent-solid)) drop-shadow(0 0 8px color-mix(in srgb, var(--accent-solid) 95%, transparent))}diagram-canvas svg g[data-selected-vertex]{filter:none}.canvas-selection-authored-root{z-index:0;position:relative}.canvas-selection-paint-root{z-index:0;width:100%;height:100%;filter:drop-shadow(0 0 3px color-mix(in srgb, var(--accent-solid) 72%, transparent)) drop-shadow(0 0 8px color-mix(in srgb, var(--accent-solid) 62%, transparent));pointer-events:none;display:block;position:absolute;inset:0;overflow:visible}diagram-canvas.tool-hand *{cursor:inherit!important}div.mxRubberband{border:1px solid var(--accent-solid);background:var(--accent-solid);pointer-events:none;position:absolute;overflow:hidden}.canvas-controls{border:1px solid var(--color-slate-200);background:var(--color-white);max-width:calc(100% - 16px);box-shadow:var(--shadow-sm);pointer-events:auto;border-radius:4px;gap:0;padding:2px;right:auto}.canvas-controls>*{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0}.canvas-controls>*+*{border-left:1px solid var(--color-slate-200)}.canvas-controls canvas-view-toggle{margin-left:0}.canvas-controls .ctt-btn,.canvas-controls .cap-btn{min-height:32px}@media (pointer:coarse){.canvas-controls .ctt-btn,.canvas-controls .cap-btn{min-width:44px;min-height:44px}}.name-entry-form{min-width:min(320px,70vw);font:14px/1.5 var(--font-sans);flex-direction:column;gap:12px;display:flex}.name-entry-form>input{font:inherit;border:1px solid var(--color-slate-300);border-radius:4px;padding:8px}.name-entry-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.name-entry-actions button{font:inherit;border:1px solid var(--color-slate-300);background:var(--color-white);cursor:pointer;border-radius:4px;padding:6px 16px}.name-entry-actions .primary{background:var(--accent-solid);color:#fff;border-color:var(--accent-solid)}.name-entry-actions .primary:hover{background:var(--accent-solid-hover);border-color:var(--accent-solid-hover)}.name-entry-form :focus-visible{outline:2px solid var(--accent-focus);outline-offset:2px}
