@focus.matters/diagrams 0.2.20 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/INTEGRATION.md +40 -0
- package/LIFECYCLE.md +117 -0
- package/dist/diagrams.css +1 -1
- package/dist/index.es.js +934 -873
- package/dist/index.umd.js +6 -6
- package/dist/src/Diagrams/components/objects/useEdgeLabelMeasurement.d.ts +4 -0
- package/dist/src/Diagrams/custom/agent/edges/AgentEdge.d.ts +6 -6
- package/dist/src/Diagrams/custom/agent/nodes/AgentNode.d.ts +7 -7
- package/dist/src/Diagrams/custom/bpmn/edges/BPMNEdge.d.ts +6 -6
- package/dist/src/Diagrams/custom/bpmn/extensions/BPMNModelerExtension.d.ts +2 -2
- package/dist/src/Diagrams/custom/bpmn/nodes/DocumentNode.d.ts +7 -7
- package/dist/src/Diagrams/custom/bpmn/nodes/EventNode.d.ts +7 -7
- package/dist/src/Diagrams/custom/bpmn/nodes/GateNode.d.ts +7 -7
- package/dist/src/Diagrams/custom/bpmn/nodes/Lanes/index.d.ts +8 -8
- package/dist/src/Diagrams/custom/bpmn/nodes/TaskNode.d.ts +7 -7
- package/dist/src/Diagrams/custom/bpmn/nodes/TextAnnotationNode.d.ts +7 -7
- package/dist/src/Diagrams/custom/bpmn/nodes/UnknownBPMNNode.d.ts +7 -7
- package/dist/src/Diagrams/custom/bpmnExecution/BPMNExecutionEdge.d.ts +6 -6
- package/dist/src/Diagrams/custom/bpmnExecution/BPMNExecutionExtension.d.ts +1 -1
- package/dist/src/Diagrams/custom/bpmnExecution/nodes/BPMNExecutionBlackBoxPoolNode.d.ts +7 -7
- package/dist/src/Diagrams/custom/bpmnExecution/nodes/BPMNExecutionDataStoreNode.d.ts +7 -7
- package/dist/src/Diagrams/custom/bpmnExecution/nodes/BPMNExecutionDocumentAnnotationNode.d.ts +7 -7
- package/dist/src/Diagrams/custom/bpmnExecution/nodes/BPMNExecutionDocumentNode.d.ts +7 -7
- package/dist/src/Diagrams/custom/bpmnExecution/nodes/BPMNExecutionEventNode.d.ts +7 -7
- package/dist/src/Diagrams/custom/bpmnExecution/nodes/BPMNExecutionGateNode.d.ts +7 -7
- package/dist/src/Diagrams/custom/bpmnExecution/nodes/BPMNExecutionTaskNode.d.ts +7 -7
- package/dist/src/Diagrams/custom/bpmnExecution/nodes/BPMNExecutionTextAnnotationNode.d.ts +7 -7
- package/dist/src/Diagrams/custom/bpmnExecution/nodes/BPMNExecutionUnknownNode.d.ts +7 -7
- package/dist/src/Diagrams/custom/communication/CommunicationDiagram.d.ts +2 -2
- package/dist/src/Diagrams/custom/editable/EditableNode.d.ts +2 -2
- package/dist/src/Diagrams/custom/mr/edges/MRForeignKeyEdge.d.ts +6 -6
- package/dist/src/Diagrams/custom/mr/extensions/MRModelerExtension.d.ts +1 -1
- package/dist/src/Diagrams/custom/mr/nodes/MRTableNode.d.ts +7 -7
- package/dist/src/Diagrams/store/Diagram.d.ts +1 -1
- package/dist/src/index.d.ts +34 -0
- package/package.json +52 -50
- package/dist/DirectedPoint-DNhrnCXr.js.map +0 -1
- package/dist/index.es.js.map +0 -1
- package/dist/index.umd.js.map +0 -1
package/INTEGRATION.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Embedding diagrams
|
|
2
|
+
|
|
3
|
+
See [LIFECYCLE.md](./LIFECYCLE.md) for creation/disposal, event propagation,
|
|
4
|
+
MobX rendering, text measurement and the public extension surface. Both guides
|
|
5
|
+
are included in the npm distribution. MR and BPMN are concrete implementations
|
|
6
|
+
of the same engine; use their model types and public methods from the package root.
|
|
7
|
+
|
|
8
|
+
`new MRDiagram({ zoom: { minimumScale: 0.05, maximumScale: 3, animated: true,
|
|
9
|
+
wheelSensitivity: 0.0005 } })` configures the viewport. Defaults preserve limits
|
|
10
|
+
of 0.3–3. Each wheel pixel changes the target by a constant scale increment;
|
|
11
|
+
line/page wheel events are normalized. Animated wheel zoom starts at the visible
|
|
12
|
+
scale, accumulates pending input, and reaches the latest target within 200 ms
|
|
13
|
+
after the last wheel event. A wheel event only retargets the existing frame loop;
|
|
14
|
+
it never cancels or restarts it. Each frame uses the visible scale and remaining
|
|
15
|
+
time to compute the next increment. `animated: false` applies it immediately. Programmatic
|
|
16
|
+
`setScale`, camera restore and disposal cancel a pending wheel animation.
|
|
17
|
+
|
|
18
|
+
`canvas.getCamera()` and `canvas.restoreCamera({ x, y, scale })` exchange validated
|
|
19
|
+
camera snapshots. The host owns persistence keys and storage.
|
|
20
|
+
|
|
21
|
+
`customRendererProps(node)` and `Coordinates` are public building blocks for custom
|
|
22
|
+
renderers. Keep `data-id` on the node and `data-attribute-id` on MR attribute rows.
|
|
23
|
+
`bindAttributeRelationshipHover(root, diagram)` highlights relationships and adjacent
|
|
24
|
+
tables for those rows, including custom renderers; call its returned disposer on
|
|
25
|
+
unmount. `revealDiagramNode(diagram, node, { point, attributeId })` selects and frames
|
|
26
|
+
a reference destination. Highlighting lasts until a click outside that node and is
|
|
27
|
+
cleaned up when the canvas detaches. `--diagram-focus-color` customizes its color.
|
|
28
|
+
|
|
29
|
+
`useDiagramPointerCapture(diagram?)` returns props for a host surface. It releases
|
|
30
|
+
capture on pointer cancellation, lost capture, blur and unmount. Passing a diagram
|
|
31
|
+
also enables direct node dragging and canvas panning for host-controlled surfaces.
|
|
32
|
+
Default control exclusions include inputs, buttons, menus, toolbars and
|
|
33
|
+
`[data-diagram-control]`; a second argument can supply a host selector.
|
|
34
|
+
`stopDiagramControlEvent(event)` prevents contained toolbar gestures from reaching
|
|
35
|
+
the canvas while preserving events from portalled menus.
|
|
36
|
+
|
|
37
|
+
Set `DIAGRAMS_BUILD_DIRECTORY` to build JS, CSS and declarations outside the source
|
|
38
|
+
checkout. Candidate packages can be packed and installed locally without publishing.
|
|
39
|
+
|
|
40
|
+
Validation: `pnpm --filter @focus.matters/diagrams typecheck`, `pnpm test:diagrams`.
|
package/LIFECYCLE.md
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Diagram lifecycle and extension contracts
|
|
2
|
+
|
|
3
|
+
This guide and [INTEGRATION.md](./INTEGRATION.md) ship in the npm package.
|
|
4
|
+
`BPMDiagram`, `MRDiagram`, `AgentDiagram` and `CommunicationDiagram` are concrete
|
|
5
|
+
implementations of the shared engine. They are usable editors and examples of
|
|
6
|
+
composition; their existence does not replace the host lifecycle described here.
|
|
7
|
+
|
|
8
|
+
## Create, mount, detach, dispose
|
|
9
|
+
|
|
10
|
+
Create a diagram once for each editor session, not on every React render.
|
|
11
|
+
Construction registers built-in extensions and document input listeners.
|
|
12
|
+
`registerExtension(MyExtension)` constructs an extension and calls `init()`.
|
|
13
|
+
`getExtension(MyExtension)` returns the registered instance; use constructor
|
|
14
|
+
identity rather than searching private fields or class names.
|
|
15
|
+
|
|
16
|
+
Mount `<DiagramEditor diagram={diagram} />` inside a container with an explicit
|
|
17
|
+
height. It provides diagram context and renders the canvas, extension UI and
|
|
18
|
+
context menu. The canvas ref attaches its DOM surface. Camera changes update
|
|
19
|
+
its transform and CSS variables directly.
|
|
20
|
+
|
|
21
|
+
Unmounting the canvas detaches its DOM ref and runs callbacks registered through
|
|
22
|
+
`canvas.onDetach(callback)`. The function returned by `onDetach` unregisters the
|
|
23
|
+
callback; it does not execute it. This hook is appropriate for transient DOM
|
|
24
|
+
decorations. Extensions do not have an automatic general-purpose destructor.
|
|
25
|
+
The host must release its own reactions, event subscriptions, timers and DOM
|
|
26
|
+
observers, then call `canvas.dispose()` when the editor session ends. Disposal
|
|
27
|
+
also removes document listeners and cancels camera animations. Create a new
|
|
28
|
+
instance for a later session rather than reviving a disposed canvas.
|
|
29
|
+
|
|
30
|
+
This React example also creates a fresh instance after Strict Mode effect cleanup:
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
import { useEffect, useState } from 'react';
|
|
34
|
+
import { DiagramEditor, MRDiagram, DChangeEvent } from '@focus.matters/diagrams';
|
|
35
|
+
import '@focus.matters/diagrams/diagrams.css';
|
|
36
|
+
|
|
37
|
+
function DomainEditor() {
|
|
38
|
+
const [diagram, setDiagram] = useState<MRDiagram | null>(null);
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
const next = new MRDiagram({ extensions: { History: false } });
|
|
41
|
+
const parent = next.createTableAtCanvasPoint('table', 0, 0, 'Parent');
|
|
42
|
+
const child = next.createTableAtCanvasPoint('table', 600, 0, 'Child');
|
|
43
|
+
next.connectForeignKey(child, parent);
|
|
44
|
+
const stop = next.onEvent(DChangeEvent, () => {
|
|
45
|
+
// Project relevant business data here; a drag can be a layout-only change.
|
|
46
|
+
});
|
|
47
|
+
setDiagram(next);
|
|
48
|
+
return () => { stop(); next.canvas.dispose(); };
|
|
49
|
+
}, []);
|
|
50
|
+
return <div style={{ height: 700 }}>
|
|
51
|
+
{diagram && <DiagramEditor diagram={diagram} />}
|
|
52
|
+
</div>;
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Input and events
|
|
57
|
+
|
|
58
|
+
Subscribe with `element.onEvent(EventClass, handler, priority)`. It returns an
|
|
59
|
+
unsubscribe function. Events visit the source element and then its parents.
|
|
60
|
+
Handlers also receive subclasses of the subscribed event class. Higher numeric
|
|
61
|
+
priorities run first; equal priorities retain registration order.
|
|
62
|
+
|
|
63
|
+
`cancel()` suppresses a cancellable default action. It does not unsubscribe
|
|
64
|
+
handlers or prevent native scrolling. `stopPropagation()` stops parent delivery;
|
|
65
|
+
`stopImmediatePropagation()` also stops remaining diagram handlers. These methods
|
|
66
|
+
apply to diagram events, not automatically to the original DOM event.
|
|
67
|
+
|
|
68
|
+
| Event family | Meaning | Typical owner |
|
|
69
|
+
| --- | --- | --- |
|
|
70
|
+
| `DWheelEvent`, mouse and keyboard events | Input before its default action | Interaction extensions |
|
|
71
|
+
| `DScaleEvent`, `DDisplaceEvent` | Camera motion | Camera persistence |
|
|
72
|
+
| `DSelectionEvent` | Selection changes | Inspector and toolbars |
|
|
73
|
+
| `DChangeEvent` | Changes including edits, connections and dragging | History / semantic or layout projection |
|
|
74
|
+
| `DEdgeLabelChangeEvent` | Committed label text, alignment or position | Presentation persistence |
|
|
75
|
+
|
|
76
|
+
Treat selection, hover, camera, geometry and domain data as separate concerns.
|
|
77
|
+
`serialize()` includes camera, node geometry and connections: serializing the
|
|
78
|
+
entire graph inside a camera reaction is unnecessarily expensive. Subscribe to
|
|
79
|
+
the smallest relevant observable projection. If the host owns undo/redo, disable
|
|
80
|
+
the built-in History extension at construction to avoid duplicate histories.
|
|
81
|
+
|
|
82
|
+
## Reactive rendering and measurements
|
|
83
|
+
|
|
84
|
+
MobX `observer` components subscribe to observable values read during render.
|
|
85
|
+
Do not read `canvas.scale` or displacement in every entity renderer merely to
|
|
86
|
+
position it: the canvas transform already handles world coordinates. React
|
|
87
|
+
effects and event handlers should release resources on cleanup. Imperative style
|
|
88
|
+
updates such as `setGridSize` are actions so their camera reads do not subscribe
|
|
89
|
+
the calling renderer to every animation frame.
|
|
90
|
+
|
|
91
|
+
World-space nodes and routes occupy the transformed canvas. Screen-space labels
|
|
92
|
+
use `--diagram-canvas-scale` and translate variables for placement and typography.
|
|
93
|
+
An invisible probe inherits each label's font but pins scale to 1. Content edits
|
|
94
|
+
and a ResizeObserver on that probe update the stored world-space text size.
|
|
95
|
+
Zoom and pan change CSS only; they do not rerender or remeasure unchanged labels.
|
|
96
|
+
The textarea uses measured world dimensions multiplied by the same CSS scale.
|
|
97
|
+
Font loading and theme typography changes resize the probe and cause remeasurement.
|
|
98
|
+
|
|
99
|
+
## Public extension surface
|
|
100
|
+
|
|
101
|
+
Import supported contracts from the package root. The exports map deliberately
|
|
102
|
+
does not expose arbitrary `dist/src` implementation paths.
|
|
103
|
+
|
|
104
|
+
- `Diagram`, `EditableDiagram`, `Canvas`, `Node`, `Edge`, `Gateway`, `EdgePoint`,
|
|
105
|
+
`EdgeLabel`, `Coordinates`, `Dimensions`, and their exported state/render types.
|
|
106
|
+
- `DiagramExtension`, `TDiagramExtensionRenderProps`, built-in extension classes
|
|
107
|
+
such as `Selector`, `GridSnap`, `History`, `NodesAligner`, and `MRModelerExtension`.
|
|
108
|
+
- Diagram event classes and `DEdgeLabelChangeEvent` for typed subscriptions.
|
|
109
|
+
- `TDiagramSettings`, including partial built-in extension toggles, and concrete
|
|
110
|
+
MR/BPMN/agent/communication model types.
|
|
111
|
+
|
|
112
|
+
Custom nodes can replace `RenderOverlay` / `RenderScreen`. Preserve the attributes
|
|
113
|
+
returned by `customRendererProps(node)`, especially `data-id`. MR attribute rows
|
|
114
|
+
also keep `data-attribute-id` for property-level interactions. Custom classes that
|
|
115
|
+
must survive serialized imports need `diagram.registerClass()` and stable class
|
|
116
|
+
names. Use public setters for mutations; avoid coupling an extension to private
|
|
117
|
+
maps or replacing internal React components.
|
package/dist/diagrams.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.editable__label{background:none;color:inherit;border:none;text-align:center;outline:none;font-size:inherit;font-family:var(--node-font-family, var(--diagram-node-font-family));font-weight:500;font-kerning:normal;font-variant-ligatures:contextual;line-height:1.18;letter-spacing:0;overflow:visible}.editable__label::-webkit-scrollbar{width:4px;height:4px}.editable__label::-webkit-scrollbar-track{background:transparent}.editable__label::-webkit-scrollbar-thumb{background-color:#64748b59;border-radius:4px}.editable__label::-webkit-scrollbar-thumb:hover{background-color:#64748b99}.agent__node{text-align:center;padding:8px}.agent__node .editable__label{margin:0;white-space:pre-wrap;line-height:1.2;width:100%}.agent__trigger{border-radius:999px}.agent__action{border-radius:10px}.agent__outcome{border-radius:14px;border-style:dashed}.diagram__node.agent__condition{border:none;background:none;position:relative;padding:0}.diagram__node.agent__condition svg{display:block;width:100%;height:100%}.diagram__node.agent__condition svg polygon{fill:var(--node-fill);stroke:var(--node-stroke);stroke-width:2px}.diagram__node.agent__condition .editable__label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70%}#AgentFlowPanel,#AgentShapesShowcasePanel{padding:var(--space-2) var(--space-2) var(--space-4)}#AgentFlowPanel .collapsible_panel__header,#AgentShapesShowcasePanel .collapsible_panel__header{margin-top:var(--space-2);padding:7px 10px;border:1px solid var(--stats-panel-border);border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--stats-panel-surface);box-shadow:var(--stats-panel-shadow)}#AgentFlowPanel>.collapsible_panel__header:first-child,#AgentShapesShowcasePanel>.collapsible_panel__header:first-child{margin-top:0}#AgentFlowPanel .collapsible_panel__title,#AgentShapesShowcasePanel .collapsible_panel__title{font-size:14px;letter-spacing:.1px}#AgentFlowPanel .collapsible_panel__content,#AgentShapesShowcasePanel .collapsible_panel__content{border:1px solid var(--stats-panel-border);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:none;padding:10px;background:var(--stats-panel-surface-soft);box-shadow:var(--stats-panel-shadow)}#AgentFlowPanel .diagram__stats_actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}#AgentFlowPanel .diagram__stats_actions>button{width:100%;min-height:34px;border-radius:var(--radius-sm)}#AgentFlowPanel .diagram__stats_label{font-size:12px;color:var(--stats-panel-muted)}#AgentShapesShowcasePanel .diagram__showcase_nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}#AgentShapesShowcasePanel .diagram__showcase_item{position:relative;border-radius:var(--radius-sm);padding:var(--space-1);min-height:116px;display:flex;align-items:center;justify-content:center}#AgentShapesShowcasePanel .diagram__showcase_item>.diagram__node{left:50%!important;top:50%!important;transform:translate(-50%,-50%)}#AgentShapesShowcasePanel .diagram__showcase_item .editable__label{pointer-events:none}@media(max-width:420px){#AgentFlowPanel .diagram__stats_grid_2,#AgentShapesShowcasePanel .diagram__showcase_nodes{grid-template-columns:1fr}}#Showcase .collapsible_panel__content{display:grid;gap:32px;padding:32px;grid-template-columns:1fr 1fr}#Showcase .bpm__node{justify-self:center;position:static!important}#Showcase .bpm__node .label{position:static;top:0}#Showcase .bpmn__event,#Showcase .bpmn__task,#Showcase .bpmn__gate{width:80px!important;height:80px!important}#Showcase .collapsible_panel__content.groups{display:flex;flex-direction:column}#Showcase .bpm__lanes{pointer-events:all!important;justify-self:stretch;width:100%!important;height:60px!important;padding:0!important}#Showcase .node__tools{display:none}#BPMNShapesShowcasePanel,#BPMNShapesShowcasePanel button,#BPMNShapesShowcasePanel input,#BPMNShapesShowcasePanel select{font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif}.bpm__node.bpmn__task{border-radius:8px}.bpm__node.bpmn__event{border-radius:100%;position:relative}.bpm__node.bpmn__event .editable__label{position:absolute;top:70px}.bpm__node.bpmn__gate{border:none;background:none;position:relative;fill:var(--node-fill);stroke:var(--node-stroke);stroke-width:2px}.bpm__node.bpmn__gate .editable__label{position:absolute;top:70px}.bpm__node.bpmn__unknown{border:2px dashed var(--node-stroke);border-radius:8px;position:relative;background:#ffffff73}.bpm__node.bpmn__unknown .bpmn__unknown__marker{position:absolute;left:50%;top:50%;transform:translate(-50%,-55%);font-size:28px;font-weight:700;line-height:1;opacity:.75;pointer-events:none}.bpmn__task_marker,.bpmn__event_marker,.bpmn__gate_marker,.bpmn__data_store_icon,.bpmn__document_icon{color:var(--node-color);pointer-events:none}.bpm__node .bpmn__task_marker path,.bpm__node .bpmn__event_marker path,.bpm__node .bpmn__data_store_icon path{fill:currentColor;stroke:none}.bpm__node .bpmn__gate_marker path,.bpm__node .bpmn__gate_marker circle{fill:none;stroke:currentColor}.bpmn__message_icon .bpmn__message_body{stroke:currentColor;stroke-linejoin:round;stroke-width:1.5}.bpmn__message_icon .bpmn__message_fold{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.bpmn__message_icon--receive .bpmn__message_body{fill:transparent}.bpmn__message_icon--send .bpmn__message_body{fill:currentColor}.bpmn__message_icon--send .bpmn__message_fold{stroke:var(--node-fill, var(--context-menu-bg))}:where(body.light) .bpmn__message_icon{color:#000}:where(body:not(.light)) .bpmn__message_icon{color:#fff}.bpm__node .bpmn__message_icon .bpmn__message_body{stroke:currentColor}.bpm__node .bpmn__message_icon--receive .bpmn__message_body{fill:transparent}.bpm__node .bpmn__message_icon--send .bpmn__message_body{fill:currentColor}.bpm__node .bpmn__message_icon .bpmn__message_fold{fill:none;stroke:currentColor}.bpm__node .bpmn__message_icon--send .bpmn__message_fold{stroke:var(--node-fill)}.bpm__node .bpmn__event_marker .bpmn__event_symbol_outline,.bpm__node .bpmn__event_marker--catch .bpmn__event_symbol_fillable{fill:none;stroke:currentColor}.bpm__node .bpmn__event_marker--throw .bpmn__event_symbol_fillable{fill:currentColor;stroke:currentColor}.bpm__node.bpmn__event .bpmn__event_symbol--signal{stroke-width:1.65px}.bpm__node.bpmn__event .bpmn__event_symbol--compensation,.bpm__node.bpmn__event .bpmn__event_symbol--error{stroke-width:1.55px}.bpm__node.bpmn__event .bpmn__event_symbol--conditional-frame{stroke-width:1.45px}.bpm__node.bpmn__event .bpmn__event_symbol--conditional-lines{stroke-width:1.25px}.bpm__node.bpmn__event .bpmn__message_body,.bpm__node.bpmn__event .bpmn__message_fold{stroke-width:1.5px}.bpm__node.bpmn__event.selected .bpmn__event_marker{inset:4px;width:calc(100% - 8px);height:calc(100% - 8px)}.bpm__node.bpmn__event.selected .bpmn__event_marker .bpmn__event_symbol_outline,.bpm__node.bpmn__event.selected .bpmn__event_marker--catch .bpmn__event_symbol_fillable{fill:none;stroke:currentColor}.bpm__node.bpmn__event.selected .bpmn__event_marker--throw .bpmn__event_symbol_fillable{fill:currentColor;stroke:currentColor}.bpm__node.bpmn__task.selected,.bpm__node.bpmn__event.selected{border-color:var(--node-stroke);background:var(--node-fill);box-shadow:0 0 0 2px var(--node-select-stroke),0 0 0 5px var(--node-select-ring),0 0 14px var(--node-select-shadow)}.bpm__node.bpmn__gate.selected{border:none;background:none;box-shadow:none;filter:drop-shadow(0 0 2px var(--node-select-stroke)) drop-shadow(0 0 8px var(--node-select-shadow))}.bpm__node.selected .bpmn__gate_marker path{fill:none;stroke:currentColor}.bpm__node.selected .bpmn__gate_marker--exclusive path,.bpm__node.selected .bpmn__gate_marker--parallel path{stroke-width:2.2px}.bpm__node.selected .bpmn__gate_marker--eventBased path{stroke-width:.82px}.node__screenLabel.bpmn__node-label.selected,.node__screenLabel.editable__label.bpmn__node-label.selected{font-weight:500}:where(body:not(.light)) .bpm__node .bpmn__event_marker,:where(body:not(.light)) .bpm__node .bpmn__gate_marker{color:var(--node-stroke)}.bpmn__task_marker{position:absolute;top:8px;left:8px;width:26px;height:26px}.bpmn__task_plus{position:absolute;bottom:0;left:50%;display:grid;width:16px;height:16px;place-items:center;border:1px solid var(--node-stroke);border-radius:2px;color:var(--node-color);font-size:15px;font-weight:700;line-height:1;pointer-events:none;transform:translate(-50%)}.bpmn__task_bottom_markers{position:absolute;bottom:0;left:50%;display:flex;align-items:center;gap:5px;color:var(--node-color);pointer-events:none;transform:translate(-50%)}.bpmn__task_bottom_markers .bpmn__task_plus{position:static;flex:0 0 16px;transform:none}.bpmn__task_multi_instance,.bpmn__task_loop,.bpmn__task_compensation,.bpmn__task_ad_hoc{width:24px;height:16px;color:var(--node-color)}.bpmn__task_loop,.bpmn__task_loop path{fill:currentColor;opacity:1;stroke:none}.bpm__node.bpmn__task .bpmn__task_marker path{fill:currentColor;stroke:none}.bpm__node.bpmn__task .bpmn__task_loop,.bpm__node.bpmn__task .bpmn__task_loop path{fill:currentColor;opacity:1;stroke:none;stroke-width:0}.bpm__node.bpmn__task .bpmn__task_multi_instance path,.bpm__node.bpmn__task .bpmn__task_compensation path,.bpm__node.bpmn__task .bpmn__task_ad_hoc path{fill:none;stroke:currentColor;stroke-width:2px}.bpmn__event_marker{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px)}.bpmn__gate_marker{width:100%;height:100%;padding:12px;box-sizing:border-box;color:var(--node-stroke)}.bpm__node.bpmn__task.bpmn--callActivity{border-width:4px}.bpm__node.bpmn__task.bpmn--subprocess{border:2px solid var(--node-stroke);background:var(--node-fill)}.bpm__node.bpmn__task.bpmn--transaction{border:5px double var(--node-stroke)}.bpm__node.bpmn__task.bpmn--eventSubprocess{border-width:2px;border-style:dashed;border-color:var(--node-stroke)}.bpm__node.bpmn__task.bpmn--event-drop-inside{background:color-mix(in oklab,var(--node-fill) 72%,var(--node-select-fill-tint) 28%)}.bpm__node.bpmn__task.bpmn--event-drop-attach{border-color:var(--node-select-stroke)}.bpm__node.bpmn__event{border:2px solid var(--node-stroke);background:var(--node-fill)}.bpm__node.bpmn__event.bpmn__event__end{border-width:5px}.bpm__node.bpmn__event.bpmn__event__intermediate{box-shadow:inset 0 0 0 3px var(--node-fill),inset 0 0 0 5px var(--node-stroke)}.bpm__node.bpmn__event.bpmn--boundary{border-width:2px;border-style:solid;box-shadow:none}.bpm__node.bpmn__event.bpmn--boundary:before{position:absolute;z-index:0;inset:3px;border:2px solid var(--node-stroke);border-radius:50%;content:"";pointer-events:none}.bpm__node.bpmn__event.bpmn--boundary.bpmn--non-interrupting,.bpm__node.bpmn__event.bpmn--boundary.bpmn--non-interrupting:before{border-style:dashed}.bpm__node.bpmn__event.bpmn--subprocess-start{border-width:2px;border-style:dashed;box-shadow:none}.bpm__node.bpmn__black_box_pool,.bpm__node.bpmn__document_annotation{border:0;border-radius:0;background:transparent}.node__screenLabel.bpmn__black_box_pool_label,.node__screenLabel.bpmn__document_annotation_label{color:var(--node-color);-webkit-text-fill-color:var(--node-color)}.node__screenLabel.bpmn__black_box_pool_label{align-items:center;justify-content:center}.node__screenLabel.bpmn__document_annotation_label{align-items:center;justify-content:center;text-align:center}.bpm__node.bpmn__data_store,.bpm__node.bpmn__document{border:0;background:transparent}.bpmn__data_store_icon,.bpmn__document_icon{width:100%;height:100%;color:var(--node-stroke)}.bpm__node .bpmn__data_store_icon .bpmn__data_store_body{fill:var(--diagram-node-fill);stroke:var(--edge-stroke);stroke-linejoin:round;stroke-width:1.25}.bpm__node .bpmn__data_store_icon .bpmn__data_store_lines{fill:none;stroke:var(--edge-stroke);stroke-linecap:round;stroke-width:1.25}.bpm__node .bpmn__document_icon .bpmn__document_body{fill:var(--diagram-node-fill);stroke:var(--edge-stroke);stroke-linejoin:round;stroke-width:1.35}.bpm__node .bpmn__document_icon .bpmn__document_fold{fill:none;stroke:var(--edge-stroke);stroke-linejoin:round;stroke-width:1.35}.bpm__node .bpmn__document_icon .bpmn__data_object_state{fill:none;stroke:var(--edge-stroke);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.bpm__node.bpmn__text_annotation{border:0;border-left:3px solid var(--node-stroke);border-radius:0;background:transparent}.bpm__node.bpmn__text_annotation:before,.bpm__node.bpmn__text_annotation:after{position:absolute;left:0;width:18px;height:3px;background:var(--node-stroke);content:""}.bpm__node.bpmn__text_annotation:before{top:0}.bpm__node.bpmn__text_annotation:after{bottom:0}.bpmn__selection_toolbar{position:absolute;left:calc(var(--diagram-canvas-translate-x, 0px) + var(--screen-renderer-x) * var(--diagram-canvas-scale, 1));top:calc(var(--diagram-canvas-translate-y, 0px) + var(--screen-renderer-y) * var(--diagram-canvas-scale, 1));z-index:var(--screen-renderer-z-index);display:flex;flex-direction:column;gap:2px;padding:3px;border:1px solid var(--diagram-lane-toolbar-border);border-radius:7px;background:var(--diagram-lane-toolbar-bg);box-shadow:var(--diagram-lane-toolbar-shadow);color:var(--diagram-lane-toolbar-fg);pointer-events:all;transform:translateY(-50%)}.bpmn__selection_toolbar--edge{transform:translate(calc(10px + var(--bpmn-edge-toolbar-offset-x, 0px)),calc(-50% + var(--bpmn-edge-toolbar-offset-y, 0px)))}.bpmn__selection_toolbar_drag_handle{position:absolute;top:-15px;left:50%;display:grid;width:28px;height:15px;padding:0;place-items:center;transform:translate(-50%);border:1px solid var(--diagram-lane-toolbar-border);border-bottom:0;border-radius:6px 6px 0 0;background:var(--diagram-lane-toolbar-bg);color:var(--diagram-lane-toolbar-fg);cursor:grab;font-size:12px;line-height:1;touch-action:none}.bpmn__selection_toolbar_drag_handle:active{cursor:grabbing}.bpmn__selection_toolbar--below-external-label{flex-direction:row;transform:translate(-50%)}.bpmn__toolbar_group{position:relative;display:flex}.bpmn__toolbar_group>button{display:grid;width:30px;height:30px;padding:5px;place-items:center;border:0;border-radius:5px;background:transparent;color:inherit;cursor:pointer}.bpmn__toolbar_group>button:hover,.bpmn__toolbar_group>button:focus-visible{background:var(--diagram-context-menu-hover-bg);outline:none}.bpmn__toolbar_group>button svg{width:100%;height:100%}.bpmn__element_menu{position:absolute;z-index:8;top:var(--bpmn-menu-top, -4px);left:100%;display:flex;min-width:190px;max-height:310px;flex-direction:column;gap:1px;padding:5px;overflow:auto;border:1px solid var(--context-menu-border);border-radius:8px;background:var(--context-menu-bg);box-shadow:var(--stats-panel-shadow);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-4px);transition:opacity .1s ease,transform .1s ease,visibility .1s}.bpmn__element_menu--searchable{overflow:visible}.bpmn__toolbar_group--menu-left>.bpmn__element_menu{right:100%;left:auto}.bpmn__element_menu:before{position:absolute;top:0;right:100%;width:8px;height:100%;content:""}.bpmn__toolbar_group--menu-left>.bpmn__element_menu:before{right:auto;left:100%}.bpmn__toolbar_group:focus-within>.bpmn__element_menu,.bpmn__toolbar_group--open>.bpmn__element_menu{opacity:1;visibility:visible;pointer-events:all;transform:translate(0)}.bpmn__element_menu_item[aria-current=true]{background:var(--tool-selected-bg);color:var(--text);font-weight:650}.bpmn__element_menu_search{min-height:30px;box-sizing:border-box;flex:0 0 auto;padding:5px 8px;border:1px solid var(--form-border);border-radius:5px;outline:none;background:var(--form-bg);color:var(--form-text);font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;font-size:12px}.bpmn__element_menu_search:focus{border-color:var(--form-focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--form-focus) 24%,transparent)}.bpmn__element_menu_search::placeholder{color:var(--context-menu-color);opacity:.65}.bpmn__element_menu_items{display:flex;max-height:269px;flex-direction:column;gap:1px;overflow-y:auto}.bpmn__element_menu_item{display:flex;min-height:30px;align-items:center;gap:8px;padding:5px 7px;border:0;border-radius:5px;background:transparent;color:var(--context-menu-color);font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;font-weight:500;font-size:12px;text-align:left;white-space:nowrap;cursor:pointer}.bpmn__element_menu_item:hover,.bpmn__element_menu_item:focus-visible{background:var(--context-menu-hover-bg);outline:none}.bpmn__element_menu_item svg{width:17px;height:17px;flex:0 0 17px}.bpmn__properties_panel{position:absolute;top:14px;right:14px;bottom:14px;width:min(320px,calc(100% - 28px));box-sizing:border-box;padding:16px;overflow:auto;border:1px solid var(--stats-panel-border);border-radius:12px;background:var(--stats-panel-surface);box-shadow:var(--stats-panel-shadow);color:var(--text);font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;opacity:0;pointer-events:none;transform:translate(calc(100% + 24px));transition:transform .18s ease,opacity .15s ease}.diagram__extension_ui:has(.bpmn__properties_panel--open){z-index:1100}.bpmn__properties_panel--open{opacity:1;pointer-events:all;transform:translate(0)}.bpmn__properties_panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--stats-panel-border)}.bpmn__properties_panel>header div{display:flex;flex-direction:column;gap:3px}.bpmn__properties_panel>header span{color:color-mix(in srgb,var(--text) 74%,transparent);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.bpmn__properties_panel>header strong{color:var(--text);font-size:15px;font-weight:650}.bpmn__properties_panel>header button{width:28px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer}.bpmn__properties_panel>header button:hover{background:var(--diagram-context-menu-hover-bg)}.bpmn__properties_fields{display:flex;flex-direction:column;gap:18px;min-inline-size:0;margin:0;border:0;padding-inline:0;padding-top:16px}.bpmn__properties_panel--readonly .bpmn__properties_fields{opacity:.78}.bpmn__properties_fields:disabled{opacity:.72}.bpmn__properties_fields>label:not(.bpmn__properties_checkbox){display:flex;flex-direction:column;gap:7px;color:color-mix(in srgb,var(--text) 76%,transparent);font-size:13px;line-height:1.35}.bpmn__properties_fields input:not([type=checkbox]):not([type=radio]):not([type=color]),.bpmn__properties_fields select,.bpmn__properties_fields textarea{width:100%;min-height:44px;box-sizing:border-box;padding:10px 12px;border:1px solid var(--form-border);border-radius:8px;background:var(--form-bg);color:var(--form-text);font:inherit;font-size:14px;line-height:1.4;outline:none;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.bpmn__properties_fields select{padding-right:38px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%23647569' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px}.bpmn__properties_fields textarea{min-height:88px;resize:vertical;scrollbar-color:color-mix(in srgb,var(--text) 30%,transparent) transparent;scrollbar-width:thin}.bpmn__properties_fields input[type=color]{width:100%;height:44px;box-sizing:border-box;padding:4px;border:1px solid var(--form-border);border-radius:8px;background:var(--form-bg);cursor:pointer}.bpmn__properties_fields input:not([type=checkbox]):not([type=radio]):hover:not(:disabled),.bpmn__properties_fields select:hover:not(:disabled),.bpmn__properties_fields textarea:hover:not(:disabled),.bpmn__properties_fields input[type=color]:hover:not(:disabled){border-color:color-mix(in srgb,var(--form-border) 58%,var(--form-focus))}.bpmn__properties_fields input:focus,.bpmn__properties_fields select:focus,.bpmn__properties_fields textarea:focus{border-color:var(--form-focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--form-focus) 24%,transparent)}.bpmn__properties_checkbox{display:flex;align-items:center;min-height:24px;gap:10px;font-size:13px;line-height:1.35;color:var(--text)}.bpmn__properties_checkbox input[type=checkbox],.bpmn__properties_checkbox input[type=radio]{width:17px;height:17px;flex:0 0 17px;margin:0;accent-color:var(--form-focus)}.node__screenLabel.bpmn__axis-label{align-items:flex-start}.node__screenLabel.bpmn__axis-label[data-node-label-position=top]{align-items:flex-end}.node__screenLabel.bpmn__axis-label[data-node-label-position=bottom]{align-items:flex-start}.node__screenLabel.bpmn__axis-label[data-node-label-position=left]{align-items:center;justify-content:flex-end;text-align:right}.node__screenLabel.bpmn__axis-label[data-node-label-position=right]{align-items:center;justify-content:flex-start;text-align:left}.node__screenLabel.editable__label.bpmn__axis-label{padding-block:0;color:var(--node-color);-webkit-text-fill-color:var(--node-color)}.node__screenLabel.editable__label.bpmn__axis-label[data-node-label-position=top]{padding-block-start:max(0px,calc(var(--screen-renderer-height) * var(--diagram-canvas-scale, 1) - var(--screen-label-font-size) * var(--diagram-canvas-scale, 1) * 1.18));padding-block-end:0}.node__screenLabel.editable__label.bpmn__axis-label[data-node-label-position=bottom]{padding-block-start:0;padding-block-end:max(0px,calc(var(--screen-renderer-height) * var(--diagram-canvas-scale, 1) - var(--screen-label-font-size) * var(--diagram-canvas-scale, 1) * 1.18))}.node__screenLabel.editable__label.bpmn__axis-label[data-node-label-position=left]{text-align:right}.node__screenLabel.editable__label.bpmn__axis-label[data-node-label-position=right]{text-align:left}.node__screenLabel.bpmn__text-annotation-label{box-sizing:border-box;align-items:flex-start;justify-content:flex-start;padding:12px 14px;text-align:left}.node__screenLabel.editable__label.bpmn__text-annotation-label{background:transparent;padding:12px 14px}.diagram__node.bpm__lanes{background:none;border:none;position:relative;pointer-events:none}.diagram__node.bpm__lanes .lane__svg{width:100%;height:100%;overflow:visible;pointer-events:none}.diagram__node.bpm__lanes .lane__background{fill:color-mix(in oklab,var(--node-fill) 78%,transparent);stroke:none;pointer-events:all;cursor:move}.diagram__node.bpm__lanes .lane__head,.diagram__node.bpm__lanes .lane__content{fill:transparent;stroke:var(--node-stroke);stroke-width:1px;vector-effect:non-scaling-stroke}.diagram__node.bpm__lanes .lane__head{pointer-events:all;cursor:move}.diagram__node.bpm__lanes .node__tools{top:0;pointer-events:all}.lane__screenWidthResizeBar,.lane__screenWidthResize,.lane__screenHeightResize{pointer-events:all}.lane__screenWidthResizeBar,.lane__screenWidthResize{cursor:col-resize}.lane__screenWidthResize{box-sizing:border-box;border:1px solid var(--node-stroke);background:var(--diagram-lane-toolbar-bg);opacity:0;transition:opacity .12s ease}.lane__screenWidthResize:hover{opacity:1}.lane__screenWidthResizeBar:hover+.lane__screenWidthResize{opacity:1}.lane__screenHeightResize{cursor:row-resize}.lane__screenHeightResize:after{content:"";position:absolute;top:50%;right:0;left:0;height:max(1px,calc(2px * var(--diagram-canvas-scale, 1)));border-radius:999px;background:var(--node-select-stroke);opacity:0;transform:translateY(-50%);transition:opacity .12s ease}.lane__screenHeightResize:hover:after{opacity:1}.lane__screenHeader{--lane-toolbar-size: calc( var(--diagram-lane-toolbar-size) * var(--diagram-canvas-scale, 1) );z-index:calc(var(--screen-renderer-z-index) + 1);display:flex;align-items:center;justify-content:center;pointer-events:all;cursor:move}.lane__screenHeader .lane__screenLabel{color:var(--node-color);font-family:var(--node-font-family);font-weight:500;line-height:1;white-space:nowrap;pointer-events:none;transform:rotate(-90deg)}.lane__screenHeader .lane__screenLabelInput{position:absolute;top:50%;left:50%;width:calc(var(--screen-renderer-height) * var(--diagram-canvas-scale, 1));height:calc(var(--screen-renderer-width) * var(--diagram-canvas-scale, 1));box-sizing:border-box;padding:0 calc(8px * var(--diagram-canvas-scale, 1));border:0;outline:0;background:transparent;color:var(--node-color);font-family:var(--node-font-family);font-size:calc(14px * var(--diagram-canvas-scale, 1));font-weight:inherit;font-kerning:normal;font-variant-ligatures:contextual;line-height:1;letter-spacing:0;text-align:center;pointer-events:all;transform:translate(-50%,-50%) rotate(-90deg);transform-origin:center}.lane__screenHeader.selected .lane__screenLabel,.lane__screenHeader.selected .lane__screenLabelInput{font-weight:600}.lane__screenHeader .lane__headerTools{position:absolute;z-index:3;top:50%;left:50%;display:flex;flex-direction:column;gap:calc(2px * var(--diagram-canvas-scale, 1));padding:calc(3px * var(--diagram-canvas-scale, 1));border:1px solid var(--diagram-lane-toolbar-border);border-radius:calc(6px * var(--diagram-canvas-scale, 1));background:var(--diagram-lane-toolbar-bg);box-shadow:var(--diagram-lane-toolbar-shadow);color:var(--diagram-lane-toolbar-fg);opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.96);transition:opacity .12s ease,transform .12s ease}.lane__screenHeader .lane__headerTools button{display:grid;width:var(--lane-toolbar-size);height:var(--lane-toolbar-size);padding:0;place-items:center;border:0;border-radius:calc(4px * var(--diagram-canvas-scale, 1));background:transparent;color:var(--diagram-lane-toolbar-fg);cursor:pointer}.lane__screenHeader .lane__headerTools button svg{width:calc(var(--lane-toolbar-size) * .57);height:calc(var(--lane-toolbar-size) * .57)}.lane__screenHeader .lane__headerTools button svg path{fill:var(--diagram-lane-toolbar-fg);stroke:none}.lane__screenHeader .lane__headerTools button:hover,.lane__screenHeader .lane__headerTools button:focus-visible{background:color-mix(in srgb,var(--diagram-lane-toolbar-fg) 14%,transparent);outline:none}.lane__screenHeader:hover .lane__headerTools,.lane__screenHeader:focus-within .lane__headerTools{opacity:1;pointer-events:all;transform:translate(-50%,-50%) scale(1)}.lane__screenHeader.lane__screenHeader--editing .lane__headerTools{opacity:0;pointer-events:none}.bpmn-execution__markers{position:absolute;left:calc(var(--diagram-canvas-translate-x, 0px) + (var(--screen-renderer-x) + var(--screen-renderer-width)) * var(--diagram-canvas-scale, 1));top:calc(var(--diagram-canvas-translate-y, 0px) + var(--screen-renderer-y) * var(--diagram-canvas-scale, 1));z-index:calc(var(--screen-renderer-z-index) + 20);display:flex;gap:calc(4px * var(--diagram-canvas-scale, 1));pointer-events:none;transform:translate(-42%,-42%)}.bpmn-execution__marker{position:relative;display:grid;min-width:calc(22px * var(--diagram-canvas-scale, 1));height:calc(22px * var(--diagram-canvas-scale, 1));box-sizing:border-box;padding:0 calc(5px * var(--diagram-canvas-scale, 1));place-items:center;border:calc(2px * var(--diagram-canvas-scale, 1)) solid white;border-radius:999px;background:var(--execution-marker-color);box-shadow:0 1px 4px #0f172a59;color:#fff;font-family:Inter,Segoe UI,sans-serif;font-size:calc(12px * var(--diagram-canvas-scale, 1));font-weight:750;line-height:1}.bpmn-execution__marker svg{display:block;width:calc(13px * var(--diagram-canvas-scale, 1));height:calc(13px * var(--diagram-canvas-scale, 1))}.bpmn-execution__marker--error{font-size:calc(15px * var(--diagram-canvas-scale, 1))}.bpmn-execution__marker--has-tooltip{cursor:help;pointer-events:auto}.bpmn-execution__marker--waiting,.bpmn-execution__marker--completed{padding:0}.bpmn-execution__marker--has-tooltip:focus-visible{outline:2px solid color-mix(in srgb,var(--execution-marker-color) 48%,white);outline-offset:2px}.bpmn-execution__marker_tooltip{position:absolute;right:-6px;bottom:calc(100% + 9px);z-index:1;width:max-content;max-width:min(280px,calc(100vw - 40px));box-sizing:border-box;padding:8px 10px;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:7px;background:var(--stats-panel-surface);box-shadow:0 8px 24px #0f172a33;color:var(--text);font-size:12px;font-weight:500;line-height:1.4;opacity:0;pointer-events:none;text-align:left;transform:translateY(4px);transition:opacity .13s ease,transform .13s ease,visibility .13s;visibility:hidden;white-space:normal}.bpmn-execution__marker_tooltip:after{position:absolute;top:100%;right:10px;width:8px;height:8px;border-right:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-bottom:1px solid color-mix(in srgb,var(--text) 14%,transparent);background:var(--stats-panel-surface);content:"";transform:translateY(-4px) rotate(45deg)}.bpmn-execution__marker--has-tooltip:hover .bpmn-execution__marker_tooltip,.bpmn-execution__marker--has-tooltip:focus-visible .bpmn-execution__marker_tooltip{opacity:1;transform:translateY(0);visibility:visible}.bpmn__properties_sections{display:grid;padding-top:4px}.bpmn__properties_section{border:0;background:transparent}.bpmn__properties_section+.bpmn__properties_section{border-top:1px solid var(--stats-panel-border)}.bpmn__properties_section_toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;gap:10px;padding:0;border:0;background:transparent;color:var(--text);cursor:pointer;font-family:inherit;font-size:13px;font-weight:650;line-height:1.35;text-align:left;-webkit-user-select:none;user-select:none}.bpmn__properties_section_toggle:hover{color:color-mix(in srgb,var(--text) 82%,var(--form-focus))}.bpmn__properties_section_toggle:focus-visible{border-radius:4px;outline:2px solid color-mix(in srgb,var(--form-focus) 42%,transparent);outline-offset:3px}.bpmn__properties_section_icon{display:grid;width:20px;height:20px;flex:0 0 20px;place-items:center}.bpmn__properties_section_icon:before{width:7px;height:7px;border-right:1.5px solid currentcolor;border-bottom:1.5px solid currentcolor;content:"";transform:rotate(-45deg);transform-origin:center;transition:transform .18s ease}.bpmn__properties_section_toggle[aria-expanded=true] .bpmn__properties_section_icon:before{transform:rotate(45deg)}.bpmn__properties_section_collapsible{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .22s cubic-bezier(.4,0,.2,1),opacity .15s ease}.bpmn__properties_section_collapsible--open{grid-template-rows:1fr;opacity:1}.bpmn__properties_section_clip{min-height:0;overflow:hidden}.bpmn__properties_section_content{padding:0 0 16px}.bpmn__properties_section_content .bpmn__properties_fields{padding-top:0}@media(prefers-reduced-motion:reduce){.bpmn__properties_section_collapsible,.bpmn__properties_section_icon:before,.bpmn-execution__marker_tooltip{transition:none}}.communication__node{display:flex;flex-direction:column;justify-content:center;gap:8px;border:2px solid var(--node-stroke, #222);background:var(--node-fill, #fff);border-radius:12px;padding:10px 12px;box-sizing:border-box;color:var(--node-color, #111);box-shadow:0 1px 3px #0000001f}.communication__node.selected{box-shadow:0 0 0 2px #2563eb40,0 4px 12px #0000001f}.communication__node-badge{align-self:flex-start;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid currentColor;border-radius:999px;padding:2px 8px;opacity:.85}.communication__node .editable__label{margin:0;width:100%;min-height:20px;border:none;background:transparent;color:inherit;font:600 14px/1.35 var(--node-font-family, var(--diagram-node-font-family));white-space:pre-wrap;overflow:hidden}.communication__node .editable__label:focus{outline:none}.communication__node--actor{border-radius:999px}.communication__node--controller{border-style:dashed}.mr__table{box-sizing:border-box;overflow:hidden;border:1.5px solid #64748b;border-radius:10px;background:var(--node-fill, #ffffff);color:var(--text, #172033);box-shadow:0 10px 26px #0f172a17,0 2px 6px #0f172a14;font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif}.mr__table.selected{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33,0 14px 32px #0f172a24}.mr__table--view{border-style:dashed}.mr__table--junction .mr__table_header{background:linear-gradient(135deg,#312e81,#4f46e5)}.mr__table_header{display:grid;grid-template-columns:1fr auto;gap:2px 10px;min-height:58px;box-sizing:border-box;padding:9px 13px 10px;background:linear-gradient(135deg,#0f172a,#334155);color:#f8fafc}.mr__table_header strong{grid-column:1;overflow:hidden;font-size:16px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.mr__table_header small{grid-column:2;grid-row:1 / 3;align-self:center;color:#cbd5e1;font-size:10px}.mr__table_stereotype{color:#93c5fd;font-size:10px;font-weight:650;letter-spacing:.07em;text-transform:uppercase}.mr__attribute_list{background:color-mix(in srgb,var(--node-fill, #fff) 96%,#e2e8f0)}.mr__attribute,.mr__attribute_empty{display:grid;grid-template-columns:52px minmax(76px,1fr) auto 32px;align-items:center;height:var(--mr-grid-size, 50px);min-height:var(--mr-grid-size, 50px);box-sizing:border-box;padding:5px 10px;border-bottom:1px solid color-mix(in srgb,#94a3b8 28%,transparent);font-size:11px}.mr__attribute_empty{display:block;padding:14px;color:#94a3b8;font-style:italic;text-align:center}.mr__attribute_keys{display:flex;gap:3px}.mr__attribute_keys b{padding:2px 3px;border-radius:3px;background:#dbeafe;color:#1d4ed8;font-size:8px;letter-spacing:.02em}.mr__attribute_name{overflow:hidden;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.mr__attribute code{color:#475569;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:9.5px}.mr__attribute_null{color:#94a3b8;font-size:8px;font-weight:700;text-align:right}.mr__constraint_badges{display:flex;gap:5px;overflow:hidden;min-height:34px;box-sizing:border-box;padding:7px 10px;background:color-mix(in srgb,#e2e8f0 42%,transparent)}.mr__constraint_badges span{overflow:hidden;padding:3px 6px;border:1px solid #cbd5e1;border-radius:999px;color:#475569;font-size:8px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.mr__properties_panel{position:absolute;z-index:1100;top:14px;right:14px;bottom:14px;width:min(620px,calc(100% - 28px));min-width:min(420px,calc(100% - 28px));overflow:hidden;border:1px solid var(--stats-panel-border, #d7dde8);border-radius:14px;background:var(--stats-panel-surface, #fff);box-shadow:var(--stats-panel-shadow, 0 18px 48px rgba(15, 23, 42, .18));color:var(--text, #172033);font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;opacity:0;pointer-events:none;transform:translate(calc(100% + 30px));transition:transform .18s ease,opacity .15s ease}.mr__properties_resize_handle{position:absolute;z-index:4;top:12px;bottom:12px;left:-6px;width:12px;border-radius:999px;cursor:ew-resize;touch-action:none}.mr__properties_resize_handle:after{position:absolute;top:50%;left:5px;width:2px;height:48px;border-radius:999px;background:color-mix(in srgb,#64748b 45%,transparent);content:"";transform:translateY(-50%);transition:height .12s ease,background .12s ease}.mr__properties_resize_handle:hover:after,.mr__properties_resize_handle:active:after{height:72px;background:#2563eb}.mr__properties_panel--open{opacity:1;pointer-events:auto;transform:translate(0)}.mr__properties_panel>header{display:flex;align-items:center;justify-content:space-between;min-height:58px;box-sizing:border-box;padding:12px 16px;border-bottom:1px solid var(--stats-panel-border, #d7dde8)}.mr__properties_panel>header div{display:flex;flex-direction:column;gap:2px}.mr__properties_panel>header span,.mr__properties_panel>header small{color:#64748b;font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.mr__properties_panel>header strong{font-size:15px}.mr__properties_content{height:calc(100% - 58px);overflow:auto;padding:0 16px 22px;box-sizing:border-box}.mr__property_section{display:flex;flex-direction:column;gap:10px;padding:16px 0;border-bottom:1px solid var(--stats-panel-border, #e2e8f0)}.mr__property_section h3{margin:0;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.mr__property_section_header{display:flex;align-items:center;justify-content:space-between}.mr__property_section button{padding:6px 9px;border:1px solid #cbd5e1;border-radius:7px;background:color-mix(in srgb,var(--stats-panel-surface, #fff) 90%,#dbeafe);color:inherit;font:inherit;font-size:11px;font-weight:650;cursor:pointer}.mr__property_section button:disabled{cursor:not-allowed;opacity:.5}.mr__property_section label,.mr__property_card_body label{display:flex;flex-direction:column;gap:5px;color:#64748b;font-size:10px;font-weight:600}.mr__property_section input[type=text],.mr__property_section select,.mr__property_section textarea,.mr__property_card_body input[type=text],.mr__property_card_body select,.mr__property_card_body textarea{width:100%;min-width:0;box-sizing:border-box;padding:7px 8px;border:1px solid var(--form-border, #cbd5e1);border-radius:7px;background:var(--form-background, #fff);color:var(--text, #172033);font:11px/1.35 Inter,Segoe UI,sans-serif}.mr__property_section select[multiple],.mr__property_card_body select[multiple]{min-height:70px}.mr__property_grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}.mr__attribute_table_scroller{max-width:100%;overflow:auto;border:1px solid var(--stats-panel-border, #d7dde8);border-radius:9px;background:var(--form-background, #fff)}.mr__attribute_table{width:100%;min-width:1280px;border-spacing:0;table-layout:fixed;color:var(--text, #172033);font-size:10px}.mr__attribute_table th{position:sticky;z-index:2;top:0;height:34px;box-sizing:border-box;padding:6px 7px;border-right:1px solid var(--stats-panel-border, #d7dde8);border-bottom:1px solid var(--stats-panel-border, #d7dde8);background:color-mix(in srgb,var(--stats-panel-surface, #fff) 90%,#e2e8f0);color:#64748b;font-size:9px;font-weight:700;letter-spacing:.025em;text-align:left;white-space:nowrap}.mr__attribute_table td{height:43px;box-sizing:border-box;padding:5px;border-right:1px solid color-mix(in srgb,#cbd5e1 60%,transparent);border-bottom:1px solid color-mix(in srgb,#cbd5e1 60%,transparent);background:var(--form-background, #fff);vertical-align:middle}.mr__attribute_table tbody tr:last-child td{border-bottom:0}.mr__attribute_table th:first-child,.mr__attribute_table td:first-child{position:sticky;z-index:3;left:0;width:74px;min-width:74px;background:color-mix(in srgb,var(--stats-panel-surface, #fff) 94%,#e2e8f0)}.mr__attribute_table th:nth-child(2){width:150px}.mr__attribute_table th:nth-child(3){width:140px}.mr__attribute_table th:nth-child(4){width:116px}.mr__attribute_table th:nth-child(5){width:170px}.mr__attribute_table th:nth-child(6),.mr__attribute_table th:nth-child(7),.mr__attribute_table th:nth-child(8),.mr__attribute_table th:nth-child(9){width:42px;text-align:center}.mr__attribute_table th:nth-child(10){width:180px}.mr__attribute_table th:nth-child(11){width:165px}.mr__attribute_table th:nth-child(12){width:185px}.mr__attribute_table input[type=text]{height:31px;padding:5px 7px;border-radius:5px;font-size:10px}.mr__attribute_table td:nth-child(6),.mr__attribute_table td:nth-child(7),.mr__attribute_table td:nth-child(8),.mr__attribute_table td:nth-child(9){text-align:center}.mr__attribute_table input[type=checkbox]{width:15px;height:15px;margin:0}.mr__attribute_actions{display:flex;align-items:center;justify-content:center;gap:4px}.mr__property_section .mr__attribute_actions button{display:inline-grid;place-items:center;width:27px;height:27px;padding:0;border:0;border-radius:5px;background:transparent}.mr__attribute_actions button:disabled{opacity:.35}.mr__attribute_actions svg{width:16px;height:16px;fill:currentColor}.mr__attribute_drag{color:#64748b!important;cursor:grab!important}.mr__attribute_drag:active{cursor:grabbing!important}.mr__attribute_delete{color:#dc2626!important;cursor:pointer!important}.mr__attribute_delete svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45}.mr__attribute_actions button:hover:not(:disabled){background:color-mix(in srgb,currentColor 12%,transparent)}.mr__attribute_table_row--dragging td{opacity:.5}.mr__property_checks{display:flex;flex-wrap:wrap;gap:8px 12px}.mr__property_checkbox{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:5px!important;color:var(--text, #172033)!important}.mr__property_checkbox input{margin:0}.mr__property_card{overflow:hidden;border:1px solid var(--stats-panel-border, #d7dde8);border-radius:9px;background:color-mix(in srgb,var(--stats-panel-surface, #fff) 96%,#e2e8f0)}.mr__property_card summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;font-size:10px;font-weight:700;cursor:pointer}.mr__property_card summary code{color:#64748b;font-size:9px}.mr__property_card_body{display:flex;flex-direction:column;gap:10px;padding:10px;border-top:1px solid var(--stats-panel-border, #d7dde8)}.mr__danger_button{align-self:flex-start;border-color:#fecaca!important;color:#b91c1c!important}.mr__property_empty{margin:0;color:#94a3b8;font-size:10px;line-height:1.45}.mr__mapping_warning{margin:0;padding:8px 9px;border:1px solid #fde68a;border-radius:8px;background:#fffbeb;color:#92400e;font-size:9px;line-height:1.4}.mr__relationship_summary{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:8px;border-radius:8px;background:color-mix(in srgb,#dbeafe 55%,transparent);font-size:10px;text-align:center}.mr__showcase{flex:0 0 292px;width:292px;min-width:292px;overflow:auto;border-right:1px solid var(--toolbar-border, #d7dde8);background:var(--stats-panel-surface, #fff);color:var(--text, #172033);font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;transition:flex-basis .16s ease,width .16s ease,min-width .16s ease}.mr__showcase--collapsed{flex-basis:48px;width:48px;min-width:48px;overflow:hidden}.mr__showcase_header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:18px 16px 13px;border-bottom:1px solid var(--toolbar-border, #d7dde8)}.mr__showcase_header>div{min-width:0}.mr__showcase_header h1{margin:0 0 5px;font-size:17px}.mr__showcase_header p{margin:0;color:#64748b;font-size:10px;line-height:1.45}.mr__showcase_header button{display:grid;flex:0 0 27px;place-items:center;width:27px;height:27px;padding:0;border:1px solid var(--toolbar-border, #d7dde8);border-radius:7px;background:transparent;color:#64748b;cursor:pointer}.mr__showcase_header button:hover{border-color:#60a5fa;color:#2563eb}.mr__showcase_header button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transition:transform .16s ease}.mr__showcase--collapsed .mr__showcase_header{justify-content:center;padding:12px 10px;border-bottom:0}.mr__showcase--collapsed .mr__showcase_header>div,.mr__showcase--collapsed .mr__showcase_section{display:none}.mr__showcase--collapsed .mr__showcase_header button{flex-basis:28px}.mr__showcase--collapsed .mr__showcase_header button svg{transform:rotate(180deg)}.mr__showcase_section{padding:14px 12px 4px}.mr__showcase_section h2{margin:0 4px 9px;color:#64748b;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.mr__showcase_grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mr__showcase_item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:67px;padding:9px;border:1px solid var(--toolbar-border, #d7dde8);border-radius:9px;background:color-mix(in srgb,var(--stats-panel-surface, #fff) 94%,#dbeafe);color:inherit;font:inherit;text-align:left;cursor:grab}.mr__showcase_item:hover{border-color:#60a5fa;background:color-mix(in srgb,#dbeafe 56%,var(--stats-panel-surface, #fff))}.mr__showcase_item strong{font-size:10px}.mr__showcase_item span{color:#64748b;font-size:8.5px;line-height:1.3}:where(:root){--palette-primary-main: #8a8a92;--palette-primary-dark: #68686f;--palette-primary-light: #b0b0b5;--palette-primary-contrast-text: #050505;--palette-secondary-main: #5d5d66;--palette-secondary-dark: #4c4c52;--palette-secondary-light: #8a8a92;--palette-secondary-contrast-text: #f3f3f4;--palette-info-main: #9a9aa1;--palette-info-dark: #68686f;--palette-info-light: #8fcdff;--palette-info-contrast-text: #050505;--palette-warning-main: #9a9aa1;--palette-warning-dark: #68686f;--palette-warning-light: #c6c6ca;--palette-warning-contrast-text: #050505;--palette-error-main: #9a9aa1;--palette-error-dark: #68686f;--palette-error-light: #c6c6ca;--palette-error-contrast-text: #050505;--palette-success-main: #9a9aa1;--palette-success-dark: #68686f;--palette-success-light: #c6c6ca;--palette-success-contrast-text: #050505;--text-relationship: rgb(193, 255, 193);--color-neutral-0: #f3f3f4;--color-neutral-100: #d7d7db;--color-neutral-200: #c6c6ca;--color-neutral-300: #b0b0b5;--color-neutral-400: #9a9aa1;--color-neutral-500: #8a8a92;--color-neutral-600: #68686f;--color-neutral-700: #5d5d66;--color-neutral-800: #4c4c52;--color-neutral-850: #3e3e44;--color-neutral-900: #323236;--color-neutral-930: #2a2a2f;--color-neutral-950: #222226;--color-neutral-970: #1c1c1f;--color-neutral-980: #171718;--color-neutral-990: #131316;--color-neutral-995: #111113;--color-neutral-998: #0f0f10;--color-neutral-999: #0a0a0b;--color-neutral-1000: #050505;--color-neutral-white: #ffffff;--text-primary: var(--color-neutral-0);--text-secondary: var(--color-neutral-300);--text-disabled: var(--color-neutral-500);--text-contrast: #050505;--text-error: var(--palette-error-light);--background-default: #070707;--background-paper: var(--color-neutral-998);--background-elevated: var(--color-neutral-980);--background-overlay: var(--color-neutral-995);--background-field: var(--color-neutral-998);--background-interactive: var(--color-neutral-980);--background-interactive-active: var(--color-neutral-970);--gradient-app-background: radial-gradient( circle at top left, var(--color-neutral-970), var(--color-neutral-999) 45%, var(--color-neutral-1000) );--border-section: var(--color-neutral-900);--border-article: var(--color-neutral-930);--border-field: var(--color-neutral-900);--border-interactive: var(--color-neutral-900);--border-strong: var(--color-neutral-850);--outline-focus: #2d7cff;--state-hover-overlay: rgba(255, 255, 255, .04);--state-active-overlay: rgba(255, 255, 255, .08);--state-selected-overlay: color-mix( in srgb, var(--palette-primary-main) 16%, transparent );--state-drop-overlay: color-mix( in srgb, var(--palette-primary-main) 20%, transparent );--state-highlight-soft: color-mix( in srgb, var(--palette-primary-main) 12%, transparent );--state-highlight-edge: color-mix( in srgb, var(--palette-primary-main) 52%, transparent );--state-active-indicator: color-mix( in srgb, var(--palette-primary-main) 68%, var(--color-neutral-100) 32% );--shadow-1: 0 8px 18px rgba(0, 0, 0, .42);--shadow-2: 0 12px 30px rgba(0, 0, 0, .46);--shadow-3: 0 14px 32px rgba(0, 0, 0, .45);--radius-none: 0;--radius-xs: 4px;--radius-sm: 5px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 14px;--radius-pill: 999px;--space-0: 0;--space-1: .12rem;--space-2: .2rem;--space-3: .24rem;--space-4: .28rem;--space-5: .3rem;--space-6: .35rem;--space-7: .4rem;--space-8: .46rem;--space-9: .5rem;--space-10: .55rem;--space-11: .58rem;--space-12: .6rem;--space-13: .62rem;--space-14: .7rem;--space-15: 1rem;--space-16: 1.2rem;--size-scrollbar: 8px;--size-splitter: 5px;--size-context-menu-min-width: 170px;--sizing-font-normal: 1rem;--heading-1-size: 1.55rem;--heading-2-size: 1.35rem;--heading-3-size: 1.18rem;--heading-4-size: 1.04rem;--heading-5-size: .96rem;--heading-6-size: .88rem;--active-highlight: var(--palette-primary-main);--active-highlight-edge: color-mix( in srgb, var(--active-highlight) 52%, transparent );--active-highlight-soft: color-mix( in srgb, var(--active-highlight) 12%, transparent );--active-highlight-selection: color-mix( in srgb, var(--active-highlight) 16%, transparent );--active-highlight-drop: color-mix( in srgb, var(--active-highlight) 20%, transparent );--active-highlight-tab-line: color-mix( in srgb, var(--active-highlight) 68%, var(--color-neutral-100) 32% );--diagram-background: var(--background-elevated);--diagram-surface: var(--background-paper);--diagram-text: var(--text-primary);--diagram-node-fill: var(--background-interactive);--diagram-node-stroke: var(--diagram-edge-stroke);--diagram-node-text: var(--text-primary);--diagram-node-font-family: "Inter", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--diagram-node-font-size: 12px;--diagram-gateway-fill: color-mix( in srgb, var(--text-secondary) 52%, var(--background-paper) 48% );--diagram-gateway-hover: color-mix( in srgb, var(--text-primary) 62%, var(--background-paper) 38% );--diagram-edge-stroke: var(--text-primary);--diagram-edge-hover-stroke: color-mix( in srgb, var(--diagram-edge-stroke) 85%, var(--background-paper) 15% );--diagram-edge-dragger-stroke: color-mix( in srgb, var(--diagram-edge-stroke) 78%, var(--background-paper) 22% );--diagram-edge-dragger-hover-stroke: var(--diagram-edge-hover-stroke);--diagram-edge-stroke-width: 2px;--diagram-edge-hover-stroke-width: 2.25px;--diagram-selection-border: var(--active-highlight);--diagram-selection-fill: color-mix( in srgb, var(--active-highlight) 20%, transparent );--diagram-node-select-shadow: color-mix( in srgb, var(--active-highlight) 50%, transparent );--diagram-node-select-stroke: var(--active-highlight);--diagram-node-select-ring: color-mix( in srgb, var(--active-highlight) 25%, transparent );--diagram-node-select-fill-tint: color-mix( in srgb, var(--active-highlight) 12%, transparent );--diagram-grid-thin: var(--color-neutral-700);--diagram-grid-strong: #68686f;--diagram-grid-minor-min-weight: 62%;--diagram-grid-major-min-weight: 78%;--diagram-scrollbar-track: var(--background-paper);--diagram-scrollbar-thumb: var(--color-neutral-800);--diagram-scrollbar-thumb-hover: var(--color-neutral-700);--diagram-toolbar-border: var(--border-section);--diagram-toolbar-tool-border: var(--border-section);--diagram-tool-disabled-fg: var(--text-disabled);--diagram-tool-selected-bg: var(--state-selected-overlay);--diagram-tool-active-bg: var(--state-active-overlay);--diagram-context-menu-bg: var(--background-elevated);--diagram-context-menu-color: var(--text-primary);--diagram-context-menu-border: var(--border-section);--diagram-context-menu-hover-bg: var(--state-selected-overlay);--diagram-context-menu-danger: var(--text-error);--diagram-form-bg: var(--background-field);--diagram-form-border: var(--border-field);--diagram-form-text: var(--text-primary);--diagram-form-focus: var(--outline-focus);--diagram-stats-bg: var(--background-overlay);--diagram-stats-color: var(--text-primary);--diagram-stats-panel-surface: color-mix( in srgb, var(--background-elevated) 82%, var(--background-default) 18% );--diagram-stats-panel-surface-soft: color-mix( in srgb, var(--background-elevated) 92%, var(--background-paper) 8% );--diagram-stats-panel-border: var(--border-strong);--diagram-stats-panel-muted: var(--text-secondary);--diagram-stats-panel-shadow: var(--shadow-1);--diagram-alignment-suggestion: color-mix( in srgb, var(--palette-info-light) 30%, transparent );--diagram-distance-balance-suggestion: color-mix( in srgb, var(--palette-success-light) 45%, transparent );--diagram-path-finding-grid-edge: var(--palette-warning-main);--diagram-path-finding-grid-edge-highlight: var(--text-primary);--diagram-button-size: 20px;--diagram-node-tool-icon-size: 32px;--diagram-lane-toolbar-bg: var(--background-elevated);--diagram-lane-toolbar-fg: var(--text-primary);--diagram-lane-toolbar-border: var(--border-strong);--diagram-lane-toolbar-shadow: var(--shadow-2);--diagram-lane-toolbar-size: 24px;--diagram-resizer-highlight: color-mix( in srgb, var(--outline-focus) 72%, transparent );--diagram-edge-label-text: var(--diagram-edge-stroke);--diagram-edge-label-input-border: var(--outline-focus)}:where(body.light){--diagram-background: #f8fafc;--diagram-text: #0f172a;--diagram-gateway-fill: #0f172a;--diagram-gateway-hover: #2563eb;--diagram-node-fill: #ffffff;--diagram-node-stroke: #334155;--diagram-node-text: #0f172a;--diagram-edge-stroke: #334155;--diagram-edge-dragger-stroke: #64748b;--diagram-edge-dragger-hover-stroke: #2563eb;--diagram-node-select-shadow: rgba(37, 99, 235, .25);--diagram-node-select-stroke: #2563eb;--diagram-node-select-ring: rgba(37, 99, 235, .36);--diagram-node-select-fill-tint: #60a5fa;--diagram-grid-thin: #cbd5e1;--diagram-grid-strong: #94a3b8;--diagram-grid-minor-min-weight: 48%;--diagram-grid-major-min-weight: 66%;--diagram-stats-bg: #ffffff;--diagram-stats-color: #0f172a;--diagram-scrollbar-track: #e2e8f0;--diagram-scrollbar-thumb: #94a3b8;--diagram-scrollbar-thumb-hover: #64748b;--diagram-toolbar-border: #cbd5e1;--diagram-toolbar-tool-border: #cbd5e1;--diagram-context-menu-bg: #ffffff;--diagram-context-menu-color: #0f172a;--diagram-context-menu-border: #cbd5e1;--diagram-context-menu-hover-bg: #f1f5f9;--diagram-context-menu-danger: #dc2626;--diagram-tool-disabled-fg: #94a3b8;--diagram-tool-selected-bg: #dbeafe;--diagram-tool-active-bg: #bfdbfe;--diagram-lane-toolbar-bg: #ffffff;--diagram-lane-toolbar-fg: #0f172a;--diagram-lane-toolbar-border: #cbd5e1;--diagram-lane-toolbar-shadow: 0 6px 16px rgba(15, 23, 42, .16);--diagram-form-bg: #ffffff;--diagram-form-border: #cbd5e1;--diagram-form-text: #0f172a;--diagram-form-focus: #2563eb;--diagram-stats-panel-surface: #ffffff;--diagram-stats-panel-surface-soft: #f8fafc;--diagram-stats-panel-border: #cbd5e1;--diagram-stats-panel-muted: #64748b;--diagram-stats-panel-shadow: 0 8px 20px rgba(15, 23, 42, .08);--diagram-selection-border: #2563eb;--diagram-selection-fill: rgba(37, 99, 235, .12);--diagram-alignment-suggestion: #16a34a;--diagram-distance-balance-suggestion: #d97706;--diagram-path-finding-grid-edge: rgba(100, 116, 139, .18);--diagram-path-finding-grid-edge-highlight: #d97706;--diagram-resizer-highlight: #2563eb;--diagram-edge-label-text: #0f172a;--diagram-edge-label-input-border: #2563eb}:where(.stage,.canvas__frame,.diagram__left_panel_shell,.toolbar,.diagram__context_menu,.diagram__editor_mode_switcher){--bg: var(--diagram-background);--text: var(--diagram-text);--gateway-fill: var(--diagram-gateway-fill);--gateway-hover: var(--diagram-gateway-hover);--node-fill: var(--diagram-node-fill);--node-stroke: var(--diagram-node-stroke);--node-color: var(--diagram-node-text);--node-font-family: var(--diagram-node-font-family);--node-font-size: var(--diagram-node-font-size);--edge-stroke: var(--diagram-edge-stroke);--edge-dragger-stroke: var(--diagram-edge-dragger-stroke);--edge-dragger-hover-stroke: var(--diagram-edge-dragger-hover-stroke);--node-select-shadow: var(--diagram-node-select-shadow);--node-select-stroke: var(--diagram-node-select-stroke);--node-select-ring: var(--diagram-node-select-ring);--node-select-fill-tint: var(--diagram-node-select-fill-tint);--grid-thin: var(--diagram-grid-thin);--grid-strong: var(--diagram-grid-strong);--stats-bg: var(--diagram-stats-bg);--stats-color: var(--diagram-stats-color);--scrollbar-track: var(--diagram-scrollbar-track);--scrollbar-thumb: var(--diagram-scrollbar-thumb);--scrollbar-thumb-hover: var(--diagram-scrollbar-thumb-hover);--toolbar-border: var(--diagram-toolbar-border);--toolbar-tool-border: var(--diagram-toolbar-tool-border);--context-menu-bg: var(--diagram-context-menu-bg);--context-menu-color: var(--diagram-context-menu-color);--context-menu-border: var(--diagram-context-menu-border);--context-menu-hover-bg: var(--diagram-context-menu-hover-bg);--context-menu-danger: var(--diagram-context-menu-danger);--tool-disabled-fg: var(--diagram-tool-disabled-fg);--tool-selected-bg: var(--diagram-tool-selected-bg);--tool-active-bg: var(--diagram-tool-active-bg);--form-bg: var(--diagram-form-bg);--form-border: var(--diagram-form-border);--form-text: var(--diagram-form-text);--form-focus: var(--diagram-form-focus);--stats-panel-surface: var(--diagram-stats-panel-surface);--stats-panel-surface-soft: var(--diagram-stats-panel-surface-soft);--stats-panel-border: var(--diagram-stats-panel-border);--stats-panel-muted: var(--diagram-stats-panel-muted);--stats-panel-shadow: var(--diagram-stats-panel-shadow);--selection-border: var(--diagram-selection-border);--selection-fill: var(--diagram-selection-fill);--alignment-sugestion: var(--diagram-alignment-suggestion);--distance-balance-sugestion: var(--diagram-distance-balance-suggestion);--path-finding-grid-edge: var(--diagram-path-finding-grid-edge);--path-finding-grid-edge--highlight: var( --diagram-path-finding-grid-edge-highlight );--diagram-button: var(--diagram-button-size);--node-tool-icon-size: var(--diagram-node-tool-icon-size)}.grid_line{stroke:var(--grid-thin)}.grid_line.strong{stroke:var(--grid-strong)}.selection_square path{stroke:var(--selection-border);fill:var(--selection-fill)}.canvas__frame{background:var(--bg);overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.canvas__frame--grid{--grid-thin-weight: calc( var(--diagram-grid-minor-min-weight, 62%) + var(--diagram-grid-zoom-ratio, 1) * (100% - var(--diagram-grid-minor-min-weight, 62%)) );--grid-strong-weight: calc( var(--diagram-grid-major-min-weight, 78%) + var(--diagram-grid-zoom-ratio, 1) * (100% - var(--diagram-grid-major-min-weight, 78%)) );--grid-thin-visible: color-mix( in srgb, var(--grid-thin) var(--grid-thin-weight), var(--bg) );--grid-strong-visible: color-mix( in srgb, var(--grid-strong) var(--grid-strong-weight), var(--bg) );background-color:var(--bg);background-image:linear-gradient(to right,var(--grid-strong-visible) 0 1px,transparent 1px),linear-gradient(to bottom,var(--grid-strong-visible) 0 1px,transparent 1px),linear-gradient(to right,var(--grid-thin-visible) 0 1px,transparent 1px),linear-gradient(to bottom,var(--grid-thin-visible) 0 1px,transparent 1px);background-position:var(--diagram-grid-offset-x, 0) var(--diagram-grid-offset-y, 0),var(--diagram-grid-offset-x, 0) var(--diagram-grid-offset-y, 0),var(--diagram-grid-offset-x, 0) var(--diagram-grid-offset-y, 0),var(--diagram-grid-offset-x, 0) var(--diagram-grid-offset-y, 0);background-size:var(--diagram-major-grid-size, 500px) var(--diagram-major-grid-size, 500px),var(--diagram-major-grid-size, 500px) var(--diagram-major-grid-size, 500px),var(--diagram-grid-size, 50px) var(--diagram-grid-size, 50px),var(--diagram-grid-size, 50px) var(--diagram-grid-size, 50px);background-repeat:repeat}.canvas__frame .foreground{z-index:1000}.canvas__frame .background{z-index:0}.canvas__frame .scalable_components{position:relative;z-index:100}.screen_renderers{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:900}.edge-screen-label{position:absolute;left:calc(var(--diagram-canvas-translate-x, 0px) + var(--edge-label-x) * var(--diagram-canvas-scale, 1));top:calc(var(--diagram-canvas-translate-y, 0px) + var(--edge-label-y) * var(--diagram-canvas-scale, 1));z-index:20;display:block;width:max-content;min-width:1ch;max-width:min(30ch,calc(100vw - 32px));height:auto;min-height:1.2em;box-sizing:border-box;transform:none;border:0;outline:0;background:transparent;color:var(--diagram-edge-label-text);font-family:var(--node-font-family);font-size:calc(16px * var(--diagram-canvas-scale, 1));line-height:1.2;max-width:none;overflow:visible;overflow-wrap:anywhere;white-space:pre-wrap;text-align:var(--edge-label-text-align, left);pointer-events:all;cursor:move;-webkit-user-select:none;user-select:none}.edge-screen-label--editing{width:1ch;height:1.2em;max-width:calc(100vw - 32px);padding:0;border:0;outline:0;background:transparent;cursor:text;overflow:auto;overflow-wrap:normal;resize:none;scrollbar-width:none;-webkit-user-select:text;user-select:text;white-space:pre}.edge-screen-label{scrollbar-width:none}.edge-screen-label::-webkit-scrollbar{display:none}.edge-label-editor{position:absolute;left:calc(var(--diagram-canvas-translate-x, 0px) + var(--edge-label-x) * var(--diagram-canvas-scale, 1));top:calc(var(--diagram-canvas-translate-y, 0px) + var(--edge-label-y) * var(--diagram-canvas-scale, 1));z-index:20;color:var(--diagram-edge-label-text);font-family:var(--node-font-family);font-size:calc(16px * var(--diagram-canvas-scale, 1));line-height:1.2;width:max-content;height:auto;pointer-events:all}.edge-label-editor .edge-screen-label--editing{position:relative;left:0;top:0;display:block;width:1ch;max-width:calc(100vw - 32px);height:1.2em;box-sizing:border-box;transform:none;overflow:auto;resize:none}.edge-label-editor__measure{position:absolute;width:max-content;height:auto;padding:0;visibility:hidden;white-space:pre;pointer-events:none}.edge-label-editor__toolbar{position:absolute;top:0;left:calc(100% + 12px);display:flex;flex-direction:column;gap:2px;padding:3px;border:1px solid var(--diagram-lane-toolbar-border);border-radius:7px;background:var(--diagram-lane-toolbar-bg);box-shadow:var(--diagram-lane-toolbar-shadow);color:var(--diagram-lane-toolbar-fg)}.edge-label-editor__toolbar button{display:grid;width:26px;height:26px;padding:4px;place-items:center;border:0;border-radius:4px;background:transparent;color:inherit;cursor:pointer}.edge-label-editor__toolbar button:hover,.edge-label-editor__toolbar button.selected{background:var(--diagram-context-menu-hover-bg)}.edge-label-editor__toolbar button.selected{background:var(--tool-selected-bg)}.edge-label-editor__toolbar button svg{width:100%;height:100%}.node__screenLabel,.lane__screenHeader,.lane__screenWidthResizeBar,.lane__screenWidthResize,.lane__screenHeightResize{position:absolute;left:calc(var(--diagram-canvas-translate-x, 0px) + var(--screen-renderer-x) * var(--diagram-canvas-scale, 1));top:calc(var(--diagram-canvas-translate-y, 0px) + var(--screen-renderer-y) * var(--diagram-canvas-scale, 1));z-index:var(--screen-renderer-z-index);width:calc(var(--screen-renderer-width) * var(--diagram-canvas-scale, 1));height:calc(var(--screen-renderer-height) * var(--diagram-canvas-scale, 1))}.node__screenLabel{display:flex;align-items:center;justify-content:center;margin:0;overflow:hidden;color:var(--node-color);font-family:var(--node-font-family);font-size:calc(var(--screen-label-font-size) * var(--diagram-canvas-scale, 1));font-weight:500;font-kerning:normal;font-variant-ligatures:contextual;line-height:1.18;letter-spacing:0;text-align:center;white-space:pre-wrap;pointer-events:all}.node__screenLabel[data-node-label-drag-handle=true]{cursor:move}.node__screenLabel.selected{font-weight:600}.node__screenLabel.editable__label{box-sizing:border-box;font-family:var(--node-font-family);font-size:calc(var(--screen-label-font-size) * var(--diagram-canvas-scale, 1));font-weight:500;font-kerning:normal;font-variant-ligatures:contextual;line-height:1.18;letter-spacing:0;padding-block:max(0px,calc((var(--screen-renderer-height) * var(--diagram-canvas-scale, 1) - var(--screen-label-font-size) * var(--diagram-canvas-scale, 1) * 1.18) / 2));padding-inline:0;border:0;outline:0;resize:none;overflow:hidden;pointer-events:all}.node__screenLabel.editable__label.selected{font-weight:600}.avoid-selection *{-webkit-user-select:none;user-select:none}.diagram__panzoom,.diagram__tools{width:0;height:0;position:absolute;inset:0}.diagram__extra{position:absolute;pointer-events:none;width:100%;height:100%;inset:0}.diagram__extension_ui{position:absolute;z-index:20;inset:0;overflow:hidden;pointer-events:none}.diagram__node{-webkit-user-select:none;user-select:none;cursor:pointer;transition:filter .2s ease;box-sizing:border-box}.diagram__node:is(div){background:var(--node-fill);border:2px solid var(--node-stroke);color:var(--node-color);font-family:var(--node-font-family);display:flex;align-items:center;justify-content:center;transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease}.diagram__node path{fill:var(--node-fill);stroke:var(--node-stroke);transition:fill .22s ease,stroke .22s ease,stroke-width .22s ease}.diagram__node text{fill:var(--node-color);font-family:var(--node-font-family);font-size:var(--node-font-size)}.diagram__node.selected:not(div){z-index:1;filter:drop-shadow(0 0 7px var(--node-select-shadow)) drop-shadow(0 0 14px var(--node-select-ring))}.diagram__node.selected:is(div){z-index:1;filter:none;border-color:var(--node-select-stroke);background:color-mix(in oklab,var(--node-fill) 85%,var(--node-select-fill-tint) 15%);box-shadow:0 0 0 2px var(--node-select-ring),0 0 0 4px color-mix(in oklab,var(--node-select-ring) 70%,transparent 30%)}.diagram__node.selected path{stroke:var(--node-select-stroke);stroke-width:3.5px;fill:color-mix(in oklab,var(--node-fill) 86%,var(--node-select-fill-tint) 14%)}.diagram__node.selected text{font-weight:600}.base_shape{pointer-events:auto}.diagram__node__gateway{pointer-events:auto;z-index:2}.diagram__node__gateway path{fill:var(--gateway-fill)}.diagram__node__gateway:hover{cursor:pointer}.diagram__node__gateway:hover path{fill:var(--gateway-hover);stroke:var(--gateway-hover)}.diagram__node__edge_gateway{cursor:crosshair;pointer-events:stroke}.diagram__node_tools{position:absolute;background-color:var(--bg);color:var(--text);display:flex;align-items:center;transform:translateY(-50%)}.diagram__node_tool{cursor:pointer}.diagram__node_tool:hover path{color:var(--diagram-tool-disabled-fg)}.--selected-node{z-index:1;overflow:hidden;border-color:transparent}.--selected-node:before{content:"";position:absolute;inset:0 -4px;border-radius:inherit;padding:3px;background:repeating-linear-gradient(90deg,var(--text) 0 10px,transparent 10px 20px);background-size:20px 20px;animation:move-horizontal 1.8s linear infinite;-webkit-mask-composite:xor;mask-composite:exclude}.--selected-node:after{content:"";position:absolute;inset:-4px 0;border-radius:inherit;padding:3px;background:repeating-linear-gradient(0deg,var(--text) 0 10px,transparent 10px 20px);background-size:20px 20px;animation:move-vertical 1.8s linear infinite;-webkit-mask-composite:xor;mask-composite:exclude}@keyframes move-horizontal{0%{background-position:0 0}to{background-position:20px 0}}@keyframes move-vertical{0%{background-position:0 0}to{background-position:0 20px}}.diagram__stats>*{position:fixed;right:5px;bottom:5px;-webkit-user-select:none;user-select:none;background:var(--stats-bg);color:var(--stats-color);padding:8px 12px;border-radius:6px;transition:opacity .3s}.diagram__stats>*:hover{opacity:.05;pointer-events:none}.diagram__left_panel_shell{display:flex;flex-direction:column;padding:0;height:100%;min-height:0;background:var(--stats-bg);color:var(--stats-color);border-right:1px solid var(--toolbar-border);position:relative;flex-shrink:0;overflow:hidden}.diagram__left_panel_content{display:flex;flex:1 1 auto;min-height:0;overflow:hidden}.diagram__left_tabs{display:inline-flex;gap:6px;padding:6px 8px;border:none;background:var(--stats-bg);width:auto;border-bottom:1px solid var(--toolbar-border)}.diagram__left_tab{appearance:none;border:1px solid var(--toolbar-border);border-radius:4px;background:transparent;color:var(--text);font:inherit;font-size:12px;padding:6px 10px;cursor:pointer}.diagram__left_tab.active{background:var(--tool-selected-bg)}.diagram__left_panel_resizer{position:absolute;inset:0 0 0 auto;width:10px;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;border-right:3px solid transparent;transition:border-color .5s}.diagram__left_panel_resizer:hover{border-right:3px solid var(--diagram-resizer-highlight)}.stage{display:flex;flex-direction:row;align-items:stretch;height:100%;position:fixed;inset:0;background:var(--bg)}.h_stack>*{height:100%}.h_stack>:last-child{flex:1 1 auto;min-width:0}.collapsible_panel{pointer-events:auto;display:flex;flex-direction:column;min-width:0;max-width:none;flex-shrink:0;height:100%;min-height:0;background:var(--bg);color:var(--text);border:1px solid var(--toolbar-border);overflow-y:auto;overflow-x:hidden;position:relative;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}.diagram__plain_panel{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:var(--space-4)}.diagram__stats_section{display:grid;gap:var(--space-2)}.diagram__stats_actions{display:flex;gap:var(--space-2)}.diagram__stats_grid_2{display:grid;gap:var(--space-2);grid-template-columns:1fr 1fr}.diagram__stats_label{display:grid;gap:var(--space-1);font-size:12px}.diagram__stats_meta{font-size:12px;opacity:.9}.diagram__stats_meta_error{color:var(--context-menu-danger)}.diagram__stats_checkbox{display:flex;gap:var(--space-2);align-items:center}#BPMNStatisticsPanel,#BPMNShapesShowcasePanel{padding:var(--space-2) var(--space-2) var(--space-4)}#BPMNStatisticsPanel .collapsible_panel__header{margin-top:var(--space-2);padding:7px 10px;border:1px solid var(--stats-panel-border);border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--stats-panel-surface);box-shadow:var(--stats-panel-shadow)}#BPMNStatisticsPanel>.collapsible_panel__header:first-child{margin-top:0}#BPMNStatisticsPanel .collapsible_panel__title{font-size:14px;letter-spacing:.1px}#BPMNStatisticsPanel .collapsible_panel__content{border:1px solid var(--stats-panel-border);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:none;padding:10px;background:var(--stats-panel-surface-soft);box-shadow:var(--stats-panel-shadow)}#BPMNShapesShowcasePanel .node__tools{display:none}#BPMNShapesShowcasePanel{padding:12px 10px 20px}#BPMNShapesShowcasePanel .bpmn__showcase_section+.bpmn__showcase_section{margin-top:14px;padding-top:14px;border-top:1px solid color-mix(in oklab,var(--toolbar-border) 72%,transparent)}#BPMNShapesShowcasePanel .bpmn__showcase_heading{margin:0 0 5px;padding:0 8px;color:var(--stats-panel-muted);font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;font-size:10px;font-weight:700;line-height:18px;letter-spacing:.09em;text-transform:uppercase}#BPMNShapesShowcasePanel .bpmn__showcase_content{min-width:0}#BPMNStatisticsPanel .diagram__stats_label{font-size:12px;color:var(--stats-panel-muted)}#BPMNStatisticsPanel .diagram__stats_label>input,#BPMNStatisticsPanel .diagram__stats_label>select,#BPMNStatisticsPanel .diagram__stats_label>textarea{color:var(--form-text)}#BPMNStatisticsPanel .diagram__stats_actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}#BPMNStatisticsPanel .diagram__stats_actions>button{width:100%;min-height:34px;border-radius:var(--radius-sm)}#BPMNStatisticsPanel input[type=file]{background:var(--stats-panel-surface);border-color:var(--stats-panel-border)}#BPMNStatisticsPanel input[type=file]::file-selector-button{background:color-mix(in oklab,var(--stats-panel-surface) 60%,white 40%);border-color:var(--stats-panel-border);border-radius:var(--radius-sm)}#BPMNStatisticsPanel .diagram__stats_meta{color:var(--stats-panel-muted)}#BPMNStatisticsPanel .diagram__stats_checkbox{font-size:13px}#BPMNStatisticsPanel .diagram__stats_grid_2 input[type=color]{min-height:36px;padding:var(--space-1)}#BPMNShapesShowcasePanel .diagram__showcase_nodes{display:flex;flex-direction:column;gap:2px}#BPMNShapesShowcasePanel .diagram__showcase_groups{display:grid;grid-template-columns:1fr}#BPMNShapesShowcasePanel .diagram__showcase_item{width:100%;min-height:32px;display:flex;align-items:center;justify-content:flex-start;gap:9px;box-sizing:border-box;padding:6px 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;font-weight:500;font-size:12px;text-align:left;cursor:grab}#BPMNShapesShowcasePanel .diagram__showcase_item:hover,#BPMNShapesShowcasePanel .diagram__showcase_item:focus-visible{background:var(--diagram-context-menu-hover-bg);outline:none}#BPMNShapesShowcasePanel .diagram__showcase_item:active{cursor:grabbing}#BPMNShapesShowcasePanel .diagram__showcase_item>svg{width:17px;height:17px;flex:0 0 17px}@media(max-width:420px){#BPMNShapesShowcasePanel .diagram__showcase_nodes{grid-template-columns:1fr}}@media(max-width:420px){#BPMNStatisticsPanel .diagram__stats_grid_2{grid-template-columns:1fr}}.diagram__left_panel_content>.collapsible_panel{padding-bottom:100px;height:100%;flex:0 0 auto}.collapsible_panel::-webkit-scrollbar,.canvas__frame::-webkit-scrollbar,*::-webkit-scrollbar{width:10px;height:10px}.collapsible_panel::-webkit-scrollbar-track,.canvas__frame::-webkit-scrollbar-track,*::-webkit-scrollbar-track{background:var(--scrollbar-track)}.collapsible_panel::-webkit-scrollbar-thumb,.canvas__frame::-webkit-scrollbar-thumb,*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px}.collapsible_panel::-webkit-scrollbar-thumb:hover,.canvas__frame::-webkit-scrollbar-thumb:hover,*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.collapsible_panel.collapsed{min-width:unset;max-width:unset}.collapsible_panel__header{color:inherit;padding:8px 10px;display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.collapsible_panel__title{font-weight:600;font-size:14px}.collapsible_panel__content{border-top:1px solid var(--toolbar-border);padding:10px}.collapsible_panel input,.collapsible_panel select,.collapsible_panel button,.collapsible_panel textarea,.diagram__plain_panel input,.diagram__plain_panel select,.diagram__plain_panel button,.diagram__plain_panel textarea{font:inherit;color:var(--form-text);background:var(--form-bg);border:1px solid var(--form-border);border-radius:6px}.collapsible_panel input,.collapsible_panel select,.collapsible_panel textarea,.diagram__plain_panel input,.diagram__plain_panel select,.diagram__plain_panel textarea{width:100%;min-height:34px;padding:6px 10px;box-sizing:border-box}.collapsible_panel input[type=checkbox],.diagram__plain_panel input[type=checkbox]{width:16px;min-height:16px;height:16px;padding:0}.collapsible_panel input[type=color],.diagram__plain_panel input[type=color]{min-height:34px;padding:3px}.collapsible_panel input[type=file],.diagram__plain_panel input[type=file]{padding:5px 6px}.collapsible_panel input[type=file]::file-selector-button,.diagram__plain_panel input[type=file]::file-selector-button{font:inherit;color:var(--form-text);background:color-mix(in oklab,var(--form-bg) 70%,white 30%);border:1px solid var(--form-border);border-radius:6px;padding:4px 8px;margin-right:8px;cursor:pointer}.collapsible_panel button,.diagram__plain_panel button{padding:7px 10px;min-height:34px;cursor:pointer}.collapsible_panel button:disabled,.diagram__plain_panel button:disabled{opacity:.45;cursor:not-allowed}.collapsible_panel input:focus,.collapsible_panel select:focus,.collapsible_panel textarea:focus,.collapsible_panel button:focus-visible,.diagram__plain_panel input:focus,.diagram__plain_panel select:focus,.diagram__plain_panel textarea:focus,.diagram__plain_panel button:focus-visible{outline:2px solid var(--form-focus);outline-offset:1px}.collapsible_panel__resizer{position:absolute;inset:0 0 0 auto;width:10px;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none}.collapsible_panel--resizer-left .collapsible_panel__resizer{inset:0 auto 0 0;border-left:3px solid transparent;border-color:transparent;transition:border-color .5s}.collapsible_panel--resizer-left .collapsible_panel__resizer:hover{border-left:3px solid var(--diagram-resizer-highlight)}.collapsible_panel--resizer-right .collapsible_panel__resizer{border-right:3px solid transparent;border-color:transparent;transition:border-color .5s}.collapsible_panel--resizer-right .collapsible_panel__resizer:hover{border-right:3px solid var(--diagram-resizer-highlight)}.collapsible_panel.collapsed .collapsible_panel__content{display:none}.toolbar{inset:unset;position:fixed;bottom:5px;right:5px;display:flex;gap:3px;padding:3px;background:var(--bg);border:1px solid var(--toolbar-border);border-radius:4px;align-items:center}.toolbar .separator{border-left:1px solid var(--toolbar-border);border-right:1px solid var(--toolbar-border);padding-left:1px;height:25px;margin:0 3px}.toolbar .tool{cursor:pointer;padding:6px;border:1px solid var(--toolbar-tool-border);border-radius:4px;color:var(--text);transition:background-color .2s}.toolbar .tool.disabled path{color:var(--tool-disabled-fg)}.toolbar button.tool{background:transparent;font:inherit}.toolbar button.tool:disabled{cursor:not-allowed;color:var(--tool-disabled-fg)}.toolbar button.tool:disabled svg{opacity:.65}.toolbar .tool:active{background:var(--tool-active-bg)}.toolbar .tool.selected{background:var(--tool-selected-bg)}.diagram__context_menu_layer{position:fixed;inset:0;pointer-events:none;z-index:999}.diagram__context_menu{position:fixed;min-width:220px;max-width:280px;padding:3px;border-radius:4px;background:var(--context-menu-bg);color:var(--context-menu-color);border:1px solid var(--context-menu-border);overflow:visible;pointer-events:auto;-webkit-user-select:none;user-select:none}.diagram__context_menu--nested{position:static}.diagram__context_menu_list{list-style:none;margin:0;padding:0}.diagram__context_menu_item{position:relative}.diagram__context_menu_button{width:100%;border:none;border-radius:3px;background:transparent;color:inherit;padding:7px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;font:inherit;cursor:pointer}.diagram__context_menu_item:hover>.diagram__context_menu_button,.diagram__context_menu_item:focus-within>.diagram__context_menu_button,.diagram__context_menu_item.submenu_open>.diagram__context_menu_button{background:var(--context-menu-hover-bg)}.diagram__context_menu_item.disabled>.diagram__context_menu_button{opacity:.45;cursor:not-allowed}.diagram__context_menu_item.danger>.diagram__context_menu_button .diagram__context_menu_label{color:var(--context-menu-danger);font-weight:600}.diagram__context_menu_chevron{opacity:.8;font-size:12px}.diagram__context_menu_submenu{position:absolute;z-index:2}.diagram__editor_mode_switcher{position:fixed;top:8px;right:8px;z-index:1001;display:inline-flex;gap:6px;padding:4px;border-radius:6px;border:1px solid var(--toolbar-border);background:color-mix(in oklab,var(--bg) 85%,white 15%)}.diagram__editor_mode_switcher>button{font:inherit;border:1px solid var(--toolbar-border);border-radius:4px;background:transparent;color:var(--text);padding:5px 10px;cursor:pointer}.diagram__editor_mode_switcher>button.active{background:var(--tool-selected-bg)}.edge{pointer-events:auto}.edge_marker_path{fill:var(--edge-stroke);transition:fill .22s ease,stroke .22s ease}.edge path{stroke:var(--edge-stroke);transition:stroke .22s ease,stroke-width .22s ease,fill .22s ease}.edge path.edge-hover-area{pointer-events:stroke;stroke:transparent;transition:none}.edge path.edge-path{pointer-events:none}:is(.edge:hover,.edge.hover,.edge.dragging) .edge_drag_point{cursor:pointer;fill:var(--edge-dragger-hover-stroke)}:is(.edge:hover,.edge.hover,.edge.dragging) path.edge-hover-area{cursor:pointer;stroke:transparent}:is(.edge:hover,.edge.hover,.edge.dragging) path.edge-path{stroke:var(--edge-dragger-hover-stroke);stroke-width:var( --edge-hover-stroke-width, var(--diagram-edge-hover-stroke-width) )}.edge.selected path.edge-path{stroke:var(--node-select-stroke);stroke-width:var(--edge-selected-stroke-width, 4px);filter:drop-shadow(0 0 2px var(--node-select-shadow)) drop-shadow(0 0 5px var(--node-select-ring))}.edge.selected .edge_marker_path{fill:var(--node-select-stroke)}.edge.selected .edge_marker_outline{stroke:var(--node-select-stroke)}.edge_drag_point{width:12px;height:12px;fill:var(--edge-stroke)}.edge_endpoint_drag_handle{cursor:pointer}.edge_endpoint_drag_hit_area{fill:transparent;pointer-events:all;stroke:transparent}.edge_endpoint_drag_point{fill:var(--bg);pointer-events:none;stroke:var(--edge-dragger-stroke);stroke-width:2px;transition:r .12s ease,stroke-width .12s ease}.edge_endpoint_drag_handle:hover .edge_endpoint_drag_point{r:10px;stroke-width:3px}.edge.selected .edge_endpoint_drag_point,.edge.dragging .edge_endpoint_drag_point{stroke:var(--edge-dragger-hover-stroke)}.measurement marker path{stroke:var(--diagram-path-finding-grid-edge-highlight);stroke-width:3px}.measurement path{stroke:var(--edge-stroke);stroke-width:1px}.alignment_sugestion path{stroke:var(--alignment-sugestion);stroke-width:1px;stroke-dasharray:10 10}.distance_balance_sugestion path{stroke:var(--distance-balance-sugestion);stroke-width:1px}.path_finding_grid_edge path{stroke:var(--path-finding-grid-edge);stroke-width:1px}.path_finding_grid_edge_chosen path{stroke:var(--path-finding-grid-edge--highlight);stroke-width:1px}.node__tools{position:absolute;left:calc(100% + 10px);top:0;width:200px}.node__tools svg{width:var(--node-tool-icon-size);height:var(--node-tool-icon-size)}.node__tools svg path{fill:var(--node-stroke)}.diagram-pointer-dragging{touch-action:none;-webkit-user-select:none;user-select:none}.diagram-reference-highlight{outline:4px solid var(--diagram-focus-color, #1fb7ff);outline-offset:4px}.diagram-reference-attribute{background:color-mix(in srgb,var(--diagram-focus-color, #1fb7ff) 24%,transparent)}.diagram-attribute-related{outline:2px solid var(--diagram-focus-color, #1fb7ff)}.edge.diagram-attribute-edge path.edge-path{stroke:var(--diagram-focus-color, #1fb7ff);stroke-width:3px}.edge.diagram-attribute-edge .edge_marker_path{stroke:var(--diagram-focus-color, #1fb7ff)}
|
|
1
|
+
.editable__label{background:none;color:inherit;border:none;text-align:center;outline:none;font-size:inherit;font-family:var(--node-font-family, var(--diagram-node-font-family));font-weight:500;font-kerning:normal;font-variant-ligatures:contextual;line-height:1.18;letter-spacing:0;overflow:visible}.editable__label::-webkit-scrollbar{width:4px;height:4px}.editable__label::-webkit-scrollbar-track{background:transparent}.editable__label::-webkit-scrollbar-thumb{background-color:#64748b59;border-radius:4px}.editable__label::-webkit-scrollbar-thumb:hover{background-color:#64748b99}.agent__node{text-align:center;padding:8px}.agent__node .editable__label{margin:0;white-space:pre-wrap;line-height:1.2;width:100%}.agent__trigger{border-radius:999px}.agent__action{border-radius:10px}.agent__outcome{border-radius:14px;border-style:dashed}.diagram__node.agent__condition{border:none;background:none;position:relative;padding:0}.diagram__node.agent__condition svg{display:block;width:100%;height:100%}.diagram__node.agent__condition svg polygon{fill:var(--node-fill);stroke:var(--node-stroke);stroke-width:2px}.diagram__node.agent__condition .editable__label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70%}#AgentFlowPanel,#AgentShapesShowcasePanel{padding:var(--space-2) var(--space-2) var(--space-4)}#AgentFlowPanel .collapsible_panel__header,#AgentShapesShowcasePanel .collapsible_panel__header{margin-top:var(--space-2);padding:7px 10px;border:1px solid var(--stats-panel-border);border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--stats-panel-surface);box-shadow:var(--stats-panel-shadow)}#AgentFlowPanel>.collapsible_panel__header:first-child,#AgentShapesShowcasePanel>.collapsible_panel__header:first-child{margin-top:0}#AgentFlowPanel .collapsible_panel__title,#AgentShapesShowcasePanel .collapsible_panel__title{font-size:14px;letter-spacing:.1px}#AgentFlowPanel .collapsible_panel__content,#AgentShapesShowcasePanel .collapsible_panel__content{border:1px solid var(--stats-panel-border);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:none;padding:10px;background:var(--stats-panel-surface-soft);box-shadow:var(--stats-panel-shadow)}#AgentFlowPanel .diagram__stats_actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}#AgentFlowPanel .diagram__stats_actions>button{width:100%;min-height:34px;border-radius:var(--radius-sm)}#AgentFlowPanel .diagram__stats_label{font-size:12px;color:var(--stats-panel-muted)}#AgentShapesShowcasePanel .diagram__showcase_nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}#AgentShapesShowcasePanel .diagram__showcase_item{position:relative;border-radius:var(--radius-sm);padding:var(--space-1);min-height:116px;display:flex;align-items:center;justify-content:center}#AgentShapesShowcasePanel .diagram__showcase_item>.diagram__node{left:50%!important;top:50%!important;transform:translate(-50%,-50%)}#AgentShapesShowcasePanel .diagram__showcase_item .editable__label{pointer-events:none}@media(max-width:420px){#AgentFlowPanel .diagram__stats_grid_2,#AgentShapesShowcasePanel .diagram__showcase_nodes{grid-template-columns:1fr}}#Showcase .collapsible_panel__content{display:grid;gap:32px;padding:32px;grid-template-columns:1fr 1fr}#Showcase .bpm__node{justify-self:center;position:static!important}#Showcase .bpm__node .label{position:static;top:0}#Showcase .bpmn__event,#Showcase .bpmn__task,#Showcase .bpmn__gate{width:80px!important;height:80px!important}#Showcase .collapsible_panel__content.groups{display:flex;flex-direction:column}#Showcase .bpm__lanes{pointer-events:all!important;justify-self:stretch;width:100%!important;height:60px!important;padding:0!important}#Showcase .node__tools{display:none}#BPMNShapesShowcasePanel,#BPMNShapesShowcasePanel button,#BPMNShapesShowcasePanel input,#BPMNShapesShowcasePanel select{font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif}.bpm__node.bpmn__task{border-radius:8px}.bpm__node.bpmn__event{border-radius:100%;position:relative}.bpm__node.bpmn__event .editable__label{position:absolute;top:70px}.bpm__node.bpmn__gate{border:none;background:none;position:relative;fill:var(--node-fill);stroke:var(--node-stroke);stroke-width:2px}.bpm__node.bpmn__gate .editable__label{position:absolute;top:70px}.bpm__node.bpmn__unknown{border:2px dashed var(--node-stroke);border-radius:8px;position:relative;background:#ffffff73}.bpm__node.bpmn__unknown .bpmn__unknown__marker{position:absolute;left:50%;top:50%;transform:translate(-50%,-55%);font-size:28px;font-weight:700;line-height:1;opacity:.75;pointer-events:none}.bpmn__task_marker,.bpmn__event_marker,.bpmn__gate_marker,.bpmn__data_store_icon,.bpmn__document_icon{color:var(--node-color);pointer-events:none}.bpm__node .bpmn__task_marker path,.bpm__node .bpmn__event_marker path,.bpm__node .bpmn__data_store_icon path{fill:currentColor;stroke:none}.bpm__node .bpmn__gate_marker path,.bpm__node .bpmn__gate_marker circle{fill:none;stroke:currentColor}.bpmn__message_icon .bpmn__message_body{stroke:currentColor;stroke-linejoin:round;stroke-width:1.5}.bpmn__message_icon .bpmn__message_fold{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.bpmn__message_icon--receive .bpmn__message_body{fill:transparent}.bpmn__message_icon--send .bpmn__message_body{fill:currentColor}.bpmn__message_icon--send .bpmn__message_fold{stroke:var(--node-fill, var(--context-menu-bg))}:where(body.light) .bpmn__message_icon{color:#000}:where(body:not(.light)) .bpmn__message_icon{color:#fff}.bpm__node .bpmn__message_icon .bpmn__message_body{stroke:currentColor}.bpm__node .bpmn__message_icon--receive .bpmn__message_body{fill:transparent}.bpm__node .bpmn__message_icon--send .bpmn__message_body{fill:currentColor}.bpm__node .bpmn__message_icon .bpmn__message_fold{fill:none;stroke:currentColor}.bpm__node .bpmn__message_icon--send .bpmn__message_fold{stroke:var(--node-fill)}.bpm__node .bpmn__event_marker .bpmn__event_symbol_outline,.bpm__node .bpmn__event_marker--catch .bpmn__event_symbol_fillable{fill:none;stroke:currentColor}.bpm__node .bpmn__event_marker--throw .bpmn__event_symbol_fillable{fill:currentColor;stroke:currentColor}.bpm__node.bpmn__event .bpmn__event_symbol--signal{stroke-width:1.65px}.bpm__node.bpmn__event .bpmn__event_symbol--compensation,.bpm__node.bpmn__event .bpmn__event_symbol--error{stroke-width:1.55px}.bpm__node.bpmn__event .bpmn__event_symbol--conditional-frame{stroke-width:1.45px}.bpm__node.bpmn__event .bpmn__event_symbol--conditional-lines{stroke-width:1.25px}.bpm__node.bpmn__event .bpmn__message_body,.bpm__node.bpmn__event .bpmn__message_fold{stroke-width:1.5px}.bpm__node.bpmn__event.selected .bpmn__event_marker{inset:4px;width:calc(100% - 8px);height:calc(100% - 8px)}.bpm__node.bpmn__event.selected .bpmn__event_marker .bpmn__event_symbol_outline,.bpm__node.bpmn__event.selected .bpmn__event_marker--catch .bpmn__event_symbol_fillable{fill:none;stroke:currentColor}.bpm__node.bpmn__event.selected .bpmn__event_marker--throw .bpmn__event_symbol_fillable{fill:currentColor;stroke:currentColor}.bpm__node.bpmn__task.selected,.bpm__node.bpmn__event.selected{border-color:var(--node-stroke);background:var(--node-fill);box-shadow:0 0 0 2px var(--node-select-stroke),0 0 0 5px var(--node-select-ring),0 0 14px var(--node-select-shadow)}.bpm__node.bpmn__gate.selected{border:none;background:none;box-shadow:none;filter:drop-shadow(0 0 2px var(--node-select-stroke)) drop-shadow(0 0 8px var(--node-select-shadow))}.bpm__node.selected .bpmn__gate_marker path{fill:none;stroke:currentColor}.bpm__node.selected .bpmn__gate_marker--exclusive path,.bpm__node.selected .bpmn__gate_marker--parallel path{stroke-width:2.2px}.bpm__node.selected .bpmn__gate_marker--eventBased path{stroke-width:.82px}.node__screenLabel.bpmn__node-label.selected,.node__screenLabel.editable__label.bpmn__node-label.selected{font-weight:500}:where(body:not(.light)) .bpm__node .bpmn__event_marker,:where(body:not(.light)) .bpm__node .bpmn__gate_marker{color:var(--node-stroke)}.bpmn__task_marker{position:absolute;top:8px;left:8px;width:26px;height:26px}.bpmn__task_plus{position:absolute;bottom:0;left:50%;display:grid;width:16px;height:16px;place-items:center;border:1px solid var(--node-stroke);border-radius:2px;color:var(--node-color);font-size:15px;font-weight:700;line-height:1;pointer-events:none;transform:translate(-50%)}.bpmn__task_bottom_markers{position:absolute;bottom:0;left:50%;display:flex;align-items:center;gap:5px;color:var(--node-color);pointer-events:none;transform:translate(-50%)}.bpmn__task_bottom_markers .bpmn__task_plus{position:static;flex:0 0 16px;transform:none}.bpmn__task_multi_instance,.bpmn__task_loop,.bpmn__task_compensation,.bpmn__task_ad_hoc{width:24px;height:16px;color:var(--node-color)}.bpmn__task_loop,.bpmn__task_loop path{fill:currentColor;opacity:1;stroke:none}.bpm__node.bpmn__task .bpmn__task_marker path{fill:currentColor;stroke:none}.bpm__node.bpmn__task .bpmn__task_loop,.bpm__node.bpmn__task .bpmn__task_loop path{fill:currentColor;opacity:1;stroke:none;stroke-width:0}.bpm__node.bpmn__task .bpmn__task_multi_instance path,.bpm__node.bpmn__task .bpmn__task_compensation path,.bpm__node.bpmn__task .bpmn__task_ad_hoc path{fill:none;stroke:currentColor;stroke-width:2px}.bpmn__event_marker{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px)}.bpmn__gate_marker{width:100%;height:100%;padding:12px;box-sizing:border-box;color:var(--node-stroke)}.bpm__node.bpmn__task.bpmn--callActivity{border-width:4px}.bpm__node.bpmn__task.bpmn--subprocess{border:2px solid var(--node-stroke);background:var(--node-fill)}.bpm__node.bpmn__task.bpmn--transaction{border:5px double var(--node-stroke)}.bpm__node.bpmn__task.bpmn--eventSubprocess{border-width:2px;border-style:dashed;border-color:var(--node-stroke)}.bpm__node.bpmn__task.bpmn--event-drop-inside{background:color-mix(in oklab,var(--node-fill) 72%,var(--node-select-fill-tint) 28%)}.bpm__node.bpmn__task.bpmn--event-drop-attach{border-color:var(--node-select-stroke)}.bpm__node.bpmn__event{border:2px solid var(--node-stroke);background:var(--node-fill)}.bpm__node.bpmn__event.bpmn__event__end{border-width:5px}.bpm__node.bpmn__event.bpmn__event__intermediate{box-shadow:inset 0 0 0 3px var(--node-fill),inset 0 0 0 5px var(--node-stroke)}.bpm__node.bpmn__event.bpmn--boundary{border-width:2px;border-style:solid;box-shadow:none}.bpm__node.bpmn__event.bpmn--boundary:before{position:absolute;z-index:0;inset:3px;border:2px solid var(--node-stroke);border-radius:50%;content:"";pointer-events:none}.bpm__node.bpmn__event.bpmn--boundary.bpmn--non-interrupting,.bpm__node.bpmn__event.bpmn--boundary.bpmn--non-interrupting:before{border-style:dashed}.bpm__node.bpmn__event.bpmn--subprocess-start{border-width:2px;border-style:dashed;box-shadow:none}.bpm__node.bpmn__black_box_pool,.bpm__node.bpmn__document_annotation{border:0;border-radius:0;background:transparent}.node__screenLabel.bpmn__black_box_pool_label,.node__screenLabel.bpmn__document_annotation_label{color:var(--node-color);-webkit-text-fill-color:var(--node-color)}.node__screenLabel.bpmn__black_box_pool_label{align-items:center;justify-content:center}.node__screenLabel.bpmn__document_annotation_label{align-items:center;justify-content:center;text-align:center}.bpm__node.bpmn__data_store,.bpm__node.bpmn__document{border:0;background:transparent}.bpmn__data_store_icon,.bpmn__document_icon{width:100%;height:100%;color:var(--node-stroke)}.bpm__node .bpmn__data_store_icon .bpmn__data_store_body{fill:var(--diagram-node-fill);stroke:var(--edge-stroke);stroke-linejoin:round;stroke-width:1.25}.bpm__node .bpmn__data_store_icon .bpmn__data_store_lines{fill:none;stroke:var(--edge-stroke);stroke-linecap:round;stroke-width:1.25}.bpm__node .bpmn__document_icon .bpmn__document_body{fill:var(--diagram-node-fill);stroke:var(--edge-stroke);stroke-linejoin:round;stroke-width:1.35}.bpm__node .bpmn__document_icon .bpmn__document_fold{fill:none;stroke:var(--edge-stroke);stroke-linejoin:round;stroke-width:1.35}.bpm__node .bpmn__document_icon .bpmn__data_object_state{fill:none;stroke:var(--edge-stroke);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.bpm__node.bpmn__text_annotation{border:0;border-left:3px solid var(--node-stroke);border-radius:0;background:transparent}.bpm__node.bpmn__text_annotation:before,.bpm__node.bpmn__text_annotation:after{position:absolute;left:0;width:18px;height:3px;background:var(--node-stroke);content:""}.bpm__node.bpmn__text_annotation:before{top:0}.bpm__node.bpmn__text_annotation:after{bottom:0}.bpmn__selection_toolbar{position:absolute;left:calc(var(--diagram-canvas-translate-x, 0px) + var(--screen-renderer-x) * var(--diagram-canvas-scale, 1));top:calc(var(--diagram-canvas-translate-y, 0px) + var(--screen-renderer-y) * var(--diagram-canvas-scale, 1));z-index:var(--screen-renderer-z-index);display:flex;flex-direction:column;gap:2px;padding:3px;border:1px solid var(--diagram-lane-toolbar-border);border-radius:7px;background:var(--diagram-lane-toolbar-bg);box-shadow:var(--diagram-lane-toolbar-shadow);color:var(--diagram-lane-toolbar-fg);pointer-events:all;transform:translateY(-50%)}.bpmn__selection_toolbar--edge{transform:translate(calc(10px + var(--bpmn-edge-toolbar-offset-x, 0px)),calc(-50% + var(--bpmn-edge-toolbar-offset-y, 0px)))}.bpmn__selection_toolbar_drag_handle{position:absolute;top:-15px;left:50%;display:grid;width:28px;height:15px;padding:0;place-items:center;transform:translate(-50%);border:1px solid var(--diagram-lane-toolbar-border);border-bottom:0;border-radius:6px 6px 0 0;background:var(--diagram-lane-toolbar-bg);color:var(--diagram-lane-toolbar-fg);cursor:grab;font-size:12px;line-height:1;touch-action:none}.bpmn__selection_toolbar_drag_handle:active{cursor:grabbing}.bpmn__selection_toolbar--below-external-label{flex-direction:row;transform:translate(-50%)}.bpmn__toolbar_group{position:relative;display:flex}.bpmn__toolbar_group>button{display:grid;width:30px;height:30px;padding:5px;place-items:center;border:0;border-radius:5px;background:transparent;color:inherit;cursor:pointer}.bpmn__toolbar_group>button:hover,.bpmn__toolbar_group>button:focus-visible{background:var(--diagram-context-menu-hover-bg);outline:none}.bpmn__toolbar_group>button svg{width:100%;height:100%}.bpmn__element_menu{position:absolute;z-index:8;top:var(--bpmn-menu-top, -4px);left:100%;display:flex;min-width:190px;max-height:310px;flex-direction:column;gap:1px;padding:5px;overflow:auto;border:1px solid var(--context-menu-border);border-radius:8px;background:var(--context-menu-bg);box-shadow:var(--stats-panel-shadow);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-4px);transition:opacity .1s ease,transform .1s ease,visibility .1s}.bpmn__element_menu--searchable{overflow:visible}.bpmn__toolbar_group--menu-left>.bpmn__element_menu{right:100%;left:auto}.bpmn__element_menu:before{position:absolute;top:0;right:100%;width:8px;height:100%;content:""}.bpmn__toolbar_group--menu-left>.bpmn__element_menu:before{right:auto;left:100%}.bpmn__toolbar_group:focus-within>.bpmn__element_menu,.bpmn__toolbar_group--open>.bpmn__element_menu{opacity:1;visibility:visible;pointer-events:all;transform:translate(0)}.bpmn__element_menu_item[aria-current=true]{background:var(--tool-selected-bg);color:var(--text);font-weight:650}.bpmn__element_menu_search{min-height:30px;box-sizing:border-box;flex:0 0 auto;padding:5px 8px;border:1px solid var(--form-border);border-radius:5px;outline:none;background:var(--form-bg);color:var(--form-text);font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;font-size:12px}.bpmn__element_menu_search:focus{border-color:var(--form-focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--form-focus) 24%,transparent)}.bpmn__element_menu_search::placeholder{color:var(--context-menu-color);opacity:.65}.bpmn__element_menu_items{display:flex;max-height:269px;flex-direction:column;gap:1px;overflow-y:auto}.bpmn__element_menu_item{display:flex;min-height:30px;align-items:center;gap:8px;padding:5px 7px;border:0;border-radius:5px;background:transparent;color:var(--context-menu-color);font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;font-weight:500;font-size:12px;text-align:left;white-space:nowrap;cursor:pointer}.bpmn__element_menu_item:hover,.bpmn__element_menu_item:focus-visible{background:var(--context-menu-hover-bg);outline:none}.bpmn__element_menu_item svg{width:17px;height:17px;flex:0 0 17px}.bpmn__properties_panel{position:absolute;top:14px;right:14px;bottom:14px;width:min(320px,calc(100% - 28px));box-sizing:border-box;padding:16px;overflow:auto;border:1px solid var(--stats-panel-border);border-radius:12px;background:var(--stats-panel-surface);box-shadow:var(--stats-panel-shadow);color:var(--text);font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;opacity:0;pointer-events:none;transform:translate(calc(100% + 24px));transition:transform .18s ease,opacity .15s ease}.diagram__extension_ui:has(.bpmn__properties_panel--open){z-index:1100}.bpmn__properties_panel--open{opacity:1;pointer-events:all;transform:translate(0)}.bpmn__properties_panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--stats-panel-border)}.bpmn__properties_panel>header div{display:flex;flex-direction:column;gap:3px}.bpmn__properties_panel>header span{color:color-mix(in srgb,var(--text) 74%,transparent);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.bpmn__properties_panel>header strong{color:var(--text);font-size:15px;font-weight:650}.bpmn__properties_panel>header button{width:28px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer}.bpmn__properties_panel>header button:hover{background:var(--diagram-context-menu-hover-bg)}.bpmn__properties_fields{display:flex;flex-direction:column;gap:18px;min-inline-size:0;margin:0;border:0;padding-inline:0;padding-top:16px}.bpmn__properties_panel--readonly .bpmn__properties_fields{opacity:.78}.bpmn__properties_fields:disabled{opacity:.72}.bpmn__properties_fields>label:not(.bpmn__properties_checkbox){display:flex;flex-direction:column;gap:7px;color:color-mix(in srgb,var(--text) 76%,transparent);font-size:13px;line-height:1.35}.bpmn__properties_fields input:not([type=checkbox]):not([type=radio]):not([type=color]),.bpmn__properties_fields select,.bpmn__properties_fields textarea{width:100%;min-height:44px;box-sizing:border-box;padding:10px 12px;border:1px solid var(--form-border);border-radius:8px;background:var(--form-bg);color:var(--form-text);font:inherit;font-size:14px;line-height:1.4;outline:none;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.bpmn__properties_fields select{padding-right:38px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%23647569' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px}.bpmn__properties_fields textarea{min-height:88px;resize:vertical;scrollbar-color:color-mix(in srgb,var(--text) 30%,transparent) transparent;scrollbar-width:thin}.bpmn__properties_fields input[type=color]{width:100%;height:44px;box-sizing:border-box;padding:4px;border:1px solid var(--form-border);border-radius:8px;background:var(--form-bg);cursor:pointer}.bpmn__properties_fields input:not([type=checkbox]):not([type=radio]):hover:not(:disabled),.bpmn__properties_fields select:hover:not(:disabled),.bpmn__properties_fields textarea:hover:not(:disabled),.bpmn__properties_fields input[type=color]:hover:not(:disabled){border-color:color-mix(in srgb,var(--form-border) 58%,var(--form-focus))}.bpmn__properties_fields input:focus,.bpmn__properties_fields select:focus,.bpmn__properties_fields textarea:focus{border-color:var(--form-focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--form-focus) 24%,transparent)}.bpmn__properties_checkbox{display:flex;align-items:center;min-height:24px;gap:10px;font-size:13px;line-height:1.35;color:var(--text)}.bpmn__properties_checkbox input[type=checkbox],.bpmn__properties_checkbox input[type=radio]{width:17px;height:17px;flex:0 0 17px;margin:0;accent-color:var(--form-focus)}.node__screenLabel.bpmn__axis-label{align-items:flex-start}.node__screenLabel.bpmn__axis-label[data-node-label-position=top]{align-items:flex-end}.node__screenLabel.bpmn__axis-label[data-node-label-position=bottom]{align-items:flex-start}.node__screenLabel.bpmn__axis-label[data-node-label-position=left]{align-items:center;justify-content:flex-end;text-align:right}.node__screenLabel.bpmn__axis-label[data-node-label-position=right]{align-items:center;justify-content:flex-start;text-align:left}.node__screenLabel.editable__label.bpmn__axis-label{padding-block:0;color:var(--node-color);-webkit-text-fill-color:var(--node-color)}.node__screenLabel.editable__label.bpmn__axis-label[data-node-label-position=top]{padding-block-start:max(0px,calc(var(--screen-renderer-height) * var(--diagram-canvas-scale, 1) - var(--screen-label-font-size) * var(--diagram-canvas-scale, 1) * 1.18));padding-block-end:0}.node__screenLabel.editable__label.bpmn__axis-label[data-node-label-position=bottom]{padding-block-start:0;padding-block-end:max(0px,calc(var(--screen-renderer-height) * var(--diagram-canvas-scale, 1) - var(--screen-label-font-size) * var(--diagram-canvas-scale, 1) * 1.18))}.node__screenLabel.editable__label.bpmn__axis-label[data-node-label-position=left]{text-align:right}.node__screenLabel.editable__label.bpmn__axis-label[data-node-label-position=right]{text-align:left}.node__screenLabel.bpmn__text-annotation-label{box-sizing:border-box;align-items:flex-start;justify-content:flex-start;padding:12px 14px;text-align:left}.node__screenLabel.editable__label.bpmn__text-annotation-label{background:transparent;padding:12px 14px}.diagram__node.bpm__lanes{background:none;border:none;position:relative;pointer-events:none}.diagram__node.bpm__lanes .lane__svg{width:100%;height:100%;overflow:visible;pointer-events:none}.diagram__node.bpm__lanes .lane__background{fill:color-mix(in oklab,var(--node-fill) 78%,transparent);stroke:none;pointer-events:all;cursor:move}.diagram__node.bpm__lanes .lane__head,.diagram__node.bpm__lanes .lane__content{fill:transparent;stroke:var(--node-stroke);stroke-width:1px;vector-effect:non-scaling-stroke}.diagram__node.bpm__lanes .lane__head{pointer-events:all;cursor:move}.diagram__node.bpm__lanes .node__tools{top:0;pointer-events:all}.lane__screenWidthResizeBar,.lane__screenWidthResize,.lane__screenHeightResize{pointer-events:all}.lane__screenWidthResizeBar,.lane__screenWidthResize{cursor:col-resize}.lane__screenWidthResize{box-sizing:border-box;border:1px solid var(--node-stroke);background:var(--diagram-lane-toolbar-bg);opacity:0;transition:opacity .12s ease}.lane__screenWidthResize:hover{opacity:1}.lane__screenWidthResizeBar:hover+.lane__screenWidthResize{opacity:1}.lane__screenHeightResize{cursor:row-resize}.lane__screenHeightResize:after{content:"";position:absolute;top:50%;right:0;left:0;height:max(1px,calc(2px * var(--diagram-canvas-scale, 1)));border-radius:999px;background:var(--node-select-stroke);opacity:0;transform:translateY(-50%);transition:opacity .12s ease}.lane__screenHeightResize:hover:after{opacity:1}.lane__screenHeader{--lane-toolbar-size: calc( var(--diagram-lane-toolbar-size) * var(--diagram-canvas-scale, 1) );z-index:calc(var(--screen-renderer-z-index) + 1);display:flex;align-items:center;justify-content:center;pointer-events:all;cursor:move}.lane__screenHeader .lane__screenLabel{color:var(--node-color);font-family:var(--node-font-family);font-weight:500;line-height:1;white-space:nowrap;pointer-events:none;transform:rotate(-90deg)}.lane__screenHeader .lane__screenLabelInput{position:absolute;top:50%;left:50%;width:calc(var(--screen-renderer-height) * var(--diagram-canvas-scale, 1));height:calc(var(--screen-renderer-width) * var(--diagram-canvas-scale, 1));box-sizing:border-box;padding:0 calc(8px * var(--diagram-canvas-scale, 1));border:0;outline:0;background:transparent;color:var(--node-color);font-family:var(--node-font-family);font-size:calc(14px * var(--diagram-canvas-scale, 1));font-weight:inherit;font-kerning:normal;font-variant-ligatures:contextual;line-height:1;letter-spacing:0;text-align:center;pointer-events:all;transform:translate(-50%,-50%) rotate(-90deg);transform-origin:center}.lane__screenHeader.selected .lane__screenLabel,.lane__screenHeader.selected .lane__screenLabelInput{font-weight:600}.lane__screenHeader .lane__headerTools{position:absolute;z-index:3;top:50%;left:50%;display:flex;flex-direction:column;gap:calc(2px * var(--diagram-canvas-scale, 1));padding:calc(3px * var(--diagram-canvas-scale, 1));border:1px solid var(--diagram-lane-toolbar-border);border-radius:calc(6px * var(--diagram-canvas-scale, 1));background:var(--diagram-lane-toolbar-bg);box-shadow:var(--diagram-lane-toolbar-shadow);color:var(--diagram-lane-toolbar-fg);opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.96);transition:opacity .12s ease,transform .12s ease}.lane__screenHeader .lane__headerTools button{display:grid;width:var(--lane-toolbar-size);height:var(--lane-toolbar-size);padding:0;place-items:center;border:0;border-radius:calc(4px * var(--diagram-canvas-scale, 1));background:transparent;color:var(--diagram-lane-toolbar-fg);cursor:pointer}.lane__screenHeader .lane__headerTools button svg{width:calc(var(--lane-toolbar-size) * .57);height:calc(var(--lane-toolbar-size) * .57)}.lane__screenHeader .lane__headerTools button svg path{fill:var(--diagram-lane-toolbar-fg);stroke:none}.lane__screenHeader .lane__headerTools button:hover,.lane__screenHeader .lane__headerTools button:focus-visible{background:color-mix(in srgb,var(--diagram-lane-toolbar-fg) 14%,transparent);outline:none}.lane__screenHeader:hover .lane__headerTools,.lane__screenHeader:focus-within .lane__headerTools{opacity:1;pointer-events:all;transform:translate(-50%,-50%) scale(1)}.lane__screenHeader.lane__screenHeader--editing .lane__headerTools{opacity:0;pointer-events:none}.bpmn-execution__markers{position:absolute;left:calc(var(--diagram-canvas-translate-x, 0px) + (var(--screen-renderer-x) + var(--screen-renderer-width)) * var(--diagram-canvas-scale, 1));top:calc(var(--diagram-canvas-translate-y, 0px) + var(--screen-renderer-y) * var(--diagram-canvas-scale, 1));z-index:calc(var(--screen-renderer-z-index) + 20);display:flex;gap:calc(4px * var(--diagram-canvas-scale, 1));pointer-events:none;transform:translate(-42%,-42%)}.bpmn-execution__marker{position:relative;display:grid;min-width:calc(22px * var(--diagram-canvas-scale, 1));height:calc(22px * var(--diagram-canvas-scale, 1));box-sizing:border-box;padding:0 calc(5px * var(--diagram-canvas-scale, 1));place-items:center;border:calc(2px * var(--diagram-canvas-scale, 1)) solid white;border-radius:999px;background:var(--execution-marker-color);box-shadow:0 1px 4px #0f172a59;color:#fff;font-family:Inter,Segoe UI,sans-serif;font-size:calc(12px * var(--diagram-canvas-scale, 1));font-weight:750;line-height:1}.bpmn-execution__marker svg{display:block;width:calc(13px * var(--diagram-canvas-scale, 1));height:calc(13px * var(--diagram-canvas-scale, 1))}.bpmn-execution__marker--error{font-size:calc(15px * var(--diagram-canvas-scale, 1))}.bpmn-execution__marker--has-tooltip{cursor:help;pointer-events:auto}.bpmn-execution__marker--waiting,.bpmn-execution__marker--completed{padding:0}.bpmn-execution__marker--has-tooltip:focus-visible{outline:2px solid color-mix(in srgb,var(--execution-marker-color) 48%,white);outline-offset:2px}.bpmn-execution__marker_tooltip{position:absolute;right:-6px;bottom:calc(100% + 9px);z-index:1;width:max-content;max-width:min(280px,calc(100vw - 40px));box-sizing:border-box;padding:8px 10px;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:7px;background:var(--stats-panel-surface);box-shadow:0 8px 24px #0f172a33;color:var(--text);font-size:12px;font-weight:500;line-height:1.4;opacity:0;pointer-events:none;text-align:left;transform:translateY(4px);transition:opacity .13s ease,transform .13s ease,visibility .13s;visibility:hidden;white-space:normal}.bpmn-execution__marker_tooltip:after{position:absolute;top:100%;right:10px;width:8px;height:8px;border-right:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-bottom:1px solid color-mix(in srgb,var(--text) 14%,transparent);background:var(--stats-panel-surface);content:"";transform:translateY(-4px) rotate(45deg)}.bpmn-execution__marker--has-tooltip:hover .bpmn-execution__marker_tooltip,.bpmn-execution__marker--has-tooltip:focus-visible .bpmn-execution__marker_tooltip{opacity:1;transform:translateY(0);visibility:visible}.bpmn__properties_sections{display:grid;padding-top:4px}.bpmn__properties_section{border:0;background:transparent}.bpmn__properties_section+.bpmn__properties_section{border-top:1px solid var(--stats-panel-border)}.bpmn__properties_section_toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;gap:10px;padding:0;border:0;background:transparent;color:var(--text);cursor:pointer;font-family:inherit;font-size:13px;font-weight:650;line-height:1.35;text-align:left;-webkit-user-select:none;user-select:none}.bpmn__properties_section_toggle:hover{color:color-mix(in srgb,var(--text) 82%,var(--form-focus))}.bpmn__properties_section_toggle:focus-visible{border-radius:4px;outline:2px solid color-mix(in srgb,var(--form-focus) 42%,transparent);outline-offset:3px}.bpmn__properties_section_icon{display:grid;width:20px;height:20px;flex:0 0 20px;place-items:center}.bpmn__properties_section_icon:before{width:7px;height:7px;border-right:1.5px solid currentcolor;border-bottom:1.5px solid currentcolor;content:"";transform:rotate(-45deg);transform-origin:center;transition:transform .18s ease}.bpmn__properties_section_toggle[aria-expanded=true] .bpmn__properties_section_icon:before{transform:rotate(45deg)}.bpmn__properties_section_collapsible{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .22s cubic-bezier(.4,0,.2,1),opacity .15s ease}.bpmn__properties_section_collapsible--open{grid-template-rows:1fr;opacity:1}.bpmn__properties_section_clip{min-height:0;overflow:hidden}.bpmn__properties_section_content{padding:0 0 16px}.bpmn__properties_section_content .bpmn__properties_fields{padding-top:0}@media(prefers-reduced-motion:reduce){.bpmn__properties_section_collapsible,.bpmn__properties_section_icon:before,.bpmn-execution__marker_tooltip{transition:none}}.communication__node{display:flex;flex-direction:column;justify-content:center;gap:8px;border:2px solid var(--node-stroke, #222);background:var(--node-fill, #fff);border-radius:12px;padding:10px 12px;box-sizing:border-box;color:var(--node-color, #111);box-shadow:0 1px 3px #0000001f}.communication__node.selected{box-shadow:0 0 0 2px #2563eb40,0 4px 12px #0000001f}.communication__node-badge{align-self:flex-start;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid currentColor;border-radius:999px;padding:2px 8px;opacity:.85}.communication__node .editable__label{margin:0;width:100%;min-height:20px;border:none;background:transparent;color:inherit;font:600 14px/1.35 var(--node-font-family, var(--diagram-node-font-family));white-space:pre-wrap;overflow:hidden}.communication__node .editable__label:focus{outline:none}.communication__node--actor{border-radius:999px}.communication__node--controller{border-style:dashed}.mr__table{box-sizing:border-box;overflow:hidden;border:1.5px solid #64748b;border-radius:10px;background:var(--node-fill, #ffffff);color:var(--text, #172033);box-shadow:0 10px 26px #0f172a17,0 2px 6px #0f172a14;font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif}.mr__table.selected{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33,0 14px 32px #0f172a24}.mr__table--view{border-style:dashed}.mr__table--junction .mr__table_header{background:linear-gradient(135deg,#312e81,#4f46e5)}.mr__table_header{display:grid;grid-template-columns:1fr auto;gap:2px 10px;min-height:58px;box-sizing:border-box;padding:9px 13px 10px;background:linear-gradient(135deg,#0f172a,#334155);color:#f8fafc}.mr__table_header strong{grid-column:1;overflow:hidden;font-size:16px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.mr__table_header small{grid-column:2;grid-row:1 / 3;align-self:center;color:#cbd5e1;font-size:10px}.mr__table_stereotype{color:#93c5fd;font-size:10px;font-weight:650;letter-spacing:.07em;text-transform:uppercase}.mr__attribute_list{background:color-mix(in srgb,var(--node-fill, #fff) 96%,#e2e8f0)}.mr__attribute,.mr__attribute_empty{display:grid;grid-template-columns:52px minmax(76px,1fr) auto 32px;align-items:center;height:var(--mr-grid-size, 50px);min-height:var(--mr-grid-size, 50px);box-sizing:border-box;padding:5px 10px;border-bottom:1px solid color-mix(in srgb,#94a3b8 28%,transparent);font-size:11px}.mr__attribute_empty{display:block;padding:14px;color:#94a3b8;font-style:italic;text-align:center}.mr__attribute_keys{display:flex;gap:3px}.mr__attribute_keys b{padding:2px 3px;border-radius:3px;background:#dbeafe;color:#1d4ed8;font-size:8px;letter-spacing:.02em}.mr__attribute_name{overflow:hidden;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.mr__attribute code{color:#475569;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:9.5px}.mr__attribute_null{color:#94a3b8;font-size:8px;font-weight:700;text-align:right}.mr__constraint_badges{display:flex;gap:5px;overflow:hidden;min-height:34px;box-sizing:border-box;padding:7px 10px;background:color-mix(in srgb,#e2e8f0 42%,transparent)}.mr__constraint_badges span{overflow:hidden;padding:3px 6px;border:1px solid #cbd5e1;border-radius:999px;color:#475569;font-size:8px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.mr__properties_panel{position:absolute;z-index:1100;top:14px;right:14px;bottom:14px;width:min(620px,calc(100% - 28px));min-width:min(420px,calc(100% - 28px));overflow:hidden;border:1px solid var(--stats-panel-border, #d7dde8);border-radius:14px;background:var(--stats-panel-surface, #fff);box-shadow:var(--stats-panel-shadow, 0 18px 48px rgba(15, 23, 42, .18));color:var(--text, #172033);font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;opacity:0;pointer-events:none;transform:translate(calc(100% + 30px));transition:transform .18s ease,opacity .15s ease}.mr__properties_resize_handle{position:absolute;z-index:4;top:12px;bottom:12px;left:-6px;width:12px;border-radius:999px;cursor:ew-resize;touch-action:none}.mr__properties_resize_handle:after{position:absolute;top:50%;left:5px;width:2px;height:48px;border-radius:999px;background:color-mix(in srgb,#64748b 45%,transparent);content:"";transform:translateY(-50%);transition:height .12s ease,background .12s ease}.mr__properties_resize_handle:hover:after,.mr__properties_resize_handle:active:after{height:72px;background:#2563eb}.mr__properties_panel--open{opacity:1;pointer-events:auto;transform:translate(0)}.mr__properties_panel>header{display:flex;align-items:center;justify-content:space-between;min-height:58px;box-sizing:border-box;padding:12px 16px;border-bottom:1px solid var(--stats-panel-border, #d7dde8)}.mr__properties_panel>header div{display:flex;flex-direction:column;gap:2px}.mr__properties_panel>header span,.mr__properties_panel>header small{color:#64748b;font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.mr__properties_panel>header strong{font-size:15px}.mr__properties_content{height:calc(100% - 58px);overflow:auto;padding:0 16px 22px;box-sizing:border-box}.mr__property_section{display:flex;flex-direction:column;gap:10px;padding:16px 0;border-bottom:1px solid var(--stats-panel-border, #e2e8f0)}.mr__property_section h3{margin:0;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.mr__property_section_header{display:flex;align-items:center;justify-content:space-between}.mr__property_section button{padding:6px 9px;border:1px solid #cbd5e1;border-radius:7px;background:color-mix(in srgb,var(--stats-panel-surface, #fff) 90%,#dbeafe);color:inherit;font:inherit;font-size:11px;font-weight:650;cursor:pointer}.mr__property_section button:disabled{cursor:not-allowed;opacity:.5}.mr__property_section label,.mr__property_card_body label{display:flex;flex-direction:column;gap:5px;color:#64748b;font-size:10px;font-weight:600}.mr__property_section input[type=text],.mr__property_section select,.mr__property_section textarea,.mr__property_card_body input[type=text],.mr__property_card_body select,.mr__property_card_body textarea{width:100%;min-width:0;box-sizing:border-box;padding:7px 8px;border:1px solid var(--form-border, #cbd5e1);border-radius:7px;background:var(--form-background, #fff);color:var(--text, #172033);font:11px/1.35 Inter,Segoe UI,sans-serif}.mr__property_section select[multiple],.mr__property_card_body select[multiple]{min-height:70px}.mr__property_grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}.mr__attribute_table_scroller{max-width:100%;overflow:auto;border:1px solid var(--stats-panel-border, #d7dde8);border-radius:9px;background:var(--form-background, #fff)}.mr__attribute_table{width:100%;min-width:1280px;border-spacing:0;table-layout:fixed;color:var(--text, #172033);font-size:10px}.mr__attribute_table th{position:sticky;z-index:2;top:0;height:34px;box-sizing:border-box;padding:6px 7px;border-right:1px solid var(--stats-panel-border, #d7dde8);border-bottom:1px solid var(--stats-panel-border, #d7dde8);background:color-mix(in srgb,var(--stats-panel-surface, #fff) 90%,#e2e8f0);color:#64748b;font-size:9px;font-weight:700;letter-spacing:.025em;text-align:left;white-space:nowrap}.mr__attribute_table td{height:43px;box-sizing:border-box;padding:5px;border-right:1px solid color-mix(in srgb,#cbd5e1 60%,transparent);border-bottom:1px solid color-mix(in srgb,#cbd5e1 60%,transparent);background:var(--form-background, #fff);vertical-align:middle}.mr__attribute_table tbody tr:last-child td{border-bottom:0}.mr__attribute_table th:first-child,.mr__attribute_table td:first-child{position:sticky;z-index:3;left:0;width:74px;min-width:74px;background:color-mix(in srgb,var(--stats-panel-surface, #fff) 94%,#e2e8f0)}.mr__attribute_table th:nth-child(2){width:150px}.mr__attribute_table th:nth-child(3){width:140px}.mr__attribute_table th:nth-child(4){width:116px}.mr__attribute_table th:nth-child(5){width:170px}.mr__attribute_table th:nth-child(6),.mr__attribute_table th:nth-child(7),.mr__attribute_table th:nth-child(8),.mr__attribute_table th:nth-child(9){width:42px;text-align:center}.mr__attribute_table th:nth-child(10){width:180px}.mr__attribute_table th:nth-child(11){width:165px}.mr__attribute_table th:nth-child(12){width:185px}.mr__attribute_table input[type=text]{height:31px;padding:5px 7px;border-radius:5px;font-size:10px}.mr__attribute_table td:nth-child(6),.mr__attribute_table td:nth-child(7),.mr__attribute_table td:nth-child(8),.mr__attribute_table td:nth-child(9){text-align:center}.mr__attribute_table input[type=checkbox]{width:15px;height:15px;margin:0}.mr__attribute_actions{display:flex;align-items:center;justify-content:center;gap:4px}.mr__property_section .mr__attribute_actions button{display:inline-grid;place-items:center;width:27px;height:27px;padding:0;border:0;border-radius:5px;background:transparent}.mr__attribute_actions button:disabled{opacity:.35}.mr__attribute_actions svg{width:16px;height:16px;fill:currentColor}.mr__attribute_drag{color:#64748b!important;cursor:grab!important}.mr__attribute_drag:active{cursor:grabbing!important}.mr__attribute_delete{color:#dc2626!important;cursor:pointer!important}.mr__attribute_delete svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45}.mr__attribute_actions button:hover:not(:disabled){background:color-mix(in srgb,currentColor 12%,transparent)}.mr__attribute_table_row--dragging td{opacity:.5}.mr__property_checks{display:flex;flex-wrap:wrap;gap:8px 12px}.mr__property_checkbox{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:5px!important;color:var(--text, #172033)!important}.mr__property_checkbox input{margin:0}.mr__property_card{overflow:hidden;border:1px solid var(--stats-panel-border, #d7dde8);border-radius:9px;background:color-mix(in srgb,var(--stats-panel-surface, #fff) 96%,#e2e8f0)}.mr__property_card summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;font-size:10px;font-weight:700;cursor:pointer}.mr__property_card summary code{color:#64748b;font-size:9px}.mr__property_card_body{display:flex;flex-direction:column;gap:10px;padding:10px;border-top:1px solid var(--stats-panel-border, #d7dde8)}.mr__danger_button{align-self:flex-start;border-color:#fecaca!important;color:#b91c1c!important}.mr__property_empty{margin:0;color:#94a3b8;font-size:10px;line-height:1.45}.mr__mapping_warning{margin:0;padding:8px 9px;border:1px solid #fde68a;border-radius:8px;background:#fffbeb;color:#92400e;font-size:9px;line-height:1.4}.mr__relationship_summary{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:8px;border-radius:8px;background:color-mix(in srgb,#dbeafe 55%,transparent);font-size:10px;text-align:center}.mr__showcase{flex:0 0 292px;width:292px;min-width:292px;overflow:auto;border-right:1px solid var(--toolbar-border, #d7dde8);background:var(--stats-panel-surface, #fff);color:var(--text, #172033);font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;transition:flex-basis .16s ease,width .16s ease,min-width .16s ease}.mr__showcase--collapsed{flex-basis:48px;width:48px;min-width:48px;overflow:hidden}.mr__showcase_header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:18px 16px 13px;border-bottom:1px solid var(--toolbar-border, #d7dde8)}.mr__showcase_header>div{min-width:0}.mr__showcase_header h1{margin:0 0 5px;font-size:17px}.mr__showcase_header p{margin:0;color:#64748b;font-size:10px;line-height:1.45}.mr__showcase_header button{display:grid;flex:0 0 27px;place-items:center;width:27px;height:27px;padding:0;border:1px solid var(--toolbar-border, #d7dde8);border-radius:7px;background:transparent;color:#64748b;cursor:pointer}.mr__showcase_header button:hover{border-color:#60a5fa;color:#2563eb}.mr__showcase_header button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transition:transform .16s ease}.mr__showcase--collapsed .mr__showcase_header{justify-content:center;padding:12px 10px;border-bottom:0}.mr__showcase--collapsed .mr__showcase_header>div,.mr__showcase--collapsed .mr__showcase_section{display:none}.mr__showcase--collapsed .mr__showcase_header button{flex-basis:28px}.mr__showcase--collapsed .mr__showcase_header button svg{transform:rotate(180deg)}.mr__showcase_section{padding:14px 12px 4px}.mr__showcase_section h2{margin:0 4px 9px;color:#64748b;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.mr__showcase_grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mr__showcase_item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:67px;padding:9px;border:1px solid var(--toolbar-border, #d7dde8);border-radius:9px;background:color-mix(in srgb,var(--stats-panel-surface, #fff) 94%,#dbeafe);color:inherit;font:inherit;text-align:left;cursor:grab}.mr__showcase_item:hover{border-color:#60a5fa;background:color-mix(in srgb,#dbeafe 56%,var(--stats-panel-surface, #fff))}.mr__showcase_item strong{font-size:10px}.mr__showcase_item span{color:#64748b;font-size:8.5px;line-height:1.3}:where(:root){--palette-primary-main: #8a8a92;--palette-primary-dark: #68686f;--palette-primary-light: #b0b0b5;--palette-primary-contrast-text: #050505;--palette-secondary-main: #5d5d66;--palette-secondary-dark: #4c4c52;--palette-secondary-light: #8a8a92;--palette-secondary-contrast-text: #f3f3f4;--palette-info-main: #9a9aa1;--palette-info-dark: #68686f;--palette-info-light: #8fcdff;--palette-info-contrast-text: #050505;--palette-warning-main: #9a9aa1;--palette-warning-dark: #68686f;--palette-warning-light: #c6c6ca;--palette-warning-contrast-text: #050505;--palette-error-main: #9a9aa1;--palette-error-dark: #68686f;--palette-error-light: #c6c6ca;--palette-error-contrast-text: #050505;--palette-success-main: #9a9aa1;--palette-success-dark: #68686f;--palette-success-light: #c6c6ca;--palette-success-contrast-text: #050505;--text-relationship: rgb(193, 255, 193);--color-neutral-0: #f3f3f4;--color-neutral-100: #d7d7db;--color-neutral-200: #c6c6ca;--color-neutral-300: #b0b0b5;--color-neutral-400: #9a9aa1;--color-neutral-500: #8a8a92;--color-neutral-600: #68686f;--color-neutral-700: #5d5d66;--color-neutral-800: #4c4c52;--color-neutral-850: #3e3e44;--color-neutral-900: #323236;--color-neutral-930: #2a2a2f;--color-neutral-950: #222226;--color-neutral-970: #1c1c1f;--color-neutral-980: #171718;--color-neutral-990: #131316;--color-neutral-995: #111113;--color-neutral-998: #0f0f10;--color-neutral-999: #0a0a0b;--color-neutral-1000: #050505;--color-neutral-white: #ffffff;--text-primary: var(--color-neutral-0);--text-secondary: var(--color-neutral-300);--text-disabled: var(--color-neutral-500);--text-contrast: #050505;--text-error: var(--palette-error-light);--background-default: #070707;--background-paper: var(--color-neutral-998);--background-elevated: var(--color-neutral-980);--background-overlay: var(--color-neutral-995);--background-field: var(--color-neutral-998);--background-interactive: var(--color-neutral-980);--background-interactive-active: var(--color-neutral-970);--gradient-app-background: radial-gradient( circle at top left, var(--color-neutral-970), var(--color-neutral-999) 45%, var(--color-neutral-1000) );--border-section: var(--color-neutral-900);--border-article: var(--color-neutral-930);--border-field: var(--color-neutral-900);--border-interactive: var(--color-neutral-900);--border-strong: var(--color-neutral-850);--outline-focus: #2d7cff;--state-hover-overlay: rgba(255, 255, 255, .04);--state-active-overlay: rgba(255, 255, 255, .08);--state-selected-overlay: color-mix( in srgb, var(--palette-primary-main) 16%, transparent );--state-drop-overlay: color-mix( in srgb, var(--palette-primary-main) 20%, transparent );--state-highlight-soft: color-mix( in srgb, var(--palette-primary-main) 12%, transparent );--state-highlight-edge: color-mix( in srgb, var(--palette-primary-main) 52%, transparent );--state-active-indicator: color-mix( in srgb, var(--palette-primary-main) 68%, var(--color-neutral-100) 32% );--shadow-1: 0 8px 18px rgba(0, 0, 0, .42);--shadow-2: 0 12px 30px rgba(0, 0, 0, .46);--shadow-3: 0 14px 32px rgba(0, 0, 0, .45);--radius-none: 0;--radius-xs: 4px;--radius-sm: 5px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 14px;--radius-pill: 999px;--space-0: 0;--space-1: .12rem;--space-2: .2rem;--space-3: .24rem;--space-4: .28rem;--space-5: .3rem;--space-6: .35rem;--space-7: .4rem;--space-8: .46rem;--space-9: .5rem;--space-10: .55rem;--space-11: .58rem;--space-12: .6rem;--space-13: .62rem;--space-14: .7rem;--space-15: 1rem;--space-16: 1.2rem;--size-scrollbar: 8px;--size-splitter: 5px;--size-context-menu-min-width: 170px;--sizing-font-normal: 1rem;--heading-1-size: 1.55rem;--heading-2-size: 1.35rem;--heading-3-size: 1.18rem;--heading-4-size: 1.04rem;--heading-5-size: .96rem;--heading-6-size: .88rem;--active-highlight: var(--palette-primary-main);--active-highlight-edge: color-mix( in srgb, var(--active-highlight) 52%, transparent );--active-highlight-soft: color-mix( in srgb, var(--active-highlight) 12%, transparent );--active-highlight-selection: color-mix( in srgb, var(--active-highlight) 16%, transparent );--active-highlight-drop: color-mix( in srgb, var(--active-highlight) 20%, transparent );--active-highlight-tab-line: color-mix( in srgb, var(--active-highlight) 68%, var(--color-neutral-100) 32% );--diagram-background: var(--background-elevated);--diagram-surface: var(--background-paper);--diagram-text: var(--text-primary);--diagram-node-fill: var(--background-interactive);--diagram-node-stroke: var(--diagram-edge-stroke);--diagram-node-text: var(--text-primary);--diagram-node-font-family: "Inter", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--diagram-node-font-size: 12px;--diagram-gateway-fill: color-mix( in srgb, var(--text-secondary) 52%, var(--background-paper) 48% );--diagram-gateway-hover: color-mix( in srgb, var(--text-primary) 62%, var(--background-paper) 38% );--diagram-edge-stroke: var(--text-primary);--diagram-edge-hover-stroke: color-mix( in srgb, var(--diagram-edge-stroke) 85%, var(--background-paper) 15% );--diagram-edge-dragger-stroke: color-mix( in srgb, var(--diagram-edge-stroke) 78%, var(--background-paper) 22% );--diagram-edge-dragger-hover-stroke: var(--diagram-edge-hover-stroke);--diagram-edge-stroke-width: 2px;--diagram-edge-hover-stroke-width: 2.25px;--diagram-selection-border: var(--active-highlight);--diagram-selection-fill: color-mix( in srgb, var(--active-highlight) 20%, transparent );--diagram-node-select-shadow: color-mix( in srgb, var(--active-highlight) 50%, transparent );--diagram-node-select-stroke: var(--active-highlight);--diagram-node-select-ring: color-mix( in srgb, var(--active-highlight) 25%, transparent );--diagram-node-select-fill-tint: color-mix( in srgb, var(--active-highlight) 12%, transparent );--diagram-grid-thin: var(--color-neutral-700);--diagram-grid-strong: #68686f;--diagram-grid-minor-min-weight: 62%;--diagram-grid-major-min-weight: 78%;--diagram-scrollbar-track: var(--background-paper);--diagram-scrollbar-thumb: var(--color-neutral-800);--diagram-scrollbar-thumb-hover: var(--color-neutral-700);--diagram-toolbar-border: var(--border-section);--diagram-toolbar-tool-border: var(--border-section);--diagram-tool-disabled-fg: var(--text-disabled);--diagram-tool-selected-bg: var(--state-selected-overlay);--diagram-tool-active-bg: var(--state-active-overlay);--diagram-context-menu-bg: var(--background-elevated);--diagram-context-menu-color: var(--text-primary);--diagram-context-menu-border: var(--border-section);--diagram-context-menu-hover-bg: var(--state-selected-overlay);--diagram-context-menu-danger: var(--text-error);--diagram-form-bg: var(--background-field);--diagram-form-border: var(--border-field);--diagram-form-text: var(--text-primary);--diagram-form-focus: var(--outline-focus);--diagram-stats-bg: var(--background-overlay);--diagram-stats-color: var(--text-primary);--diagram-stats-panel-surface: color-mix( in srgb, var(--background-elevated) 82%, var(--background-default) 18% );--diagram-stats-panel-surface-soft: color-mix( in srgb, var(--background-elevated) 92%, var(--background-paper) 8% );--diagram-stats-panel-border: var(--border-strong);--diagram-stats-panel-muted: var(--text-secondary);--diagram-stats-panel-shadow: var(--shadow-1);--diagram-alignment-suggestion: color-mix( in srgb, var(--palette-info-light) 30%, transparent );--diagram-distance-balance-suggestion: color-mix( in srgb, var(--palette-success-light) 45%, transparent );--diagram-path-finding-grid-edge: var(--palette-warning-main);--diagram-path-finding-grid-edge-highlight: var(--text-primary);--diagram-button-size: 20px;--diagram-node-tool-icon-size: 32px;--diagram-lane-toolbar-bg: var(--background-elevated);--diagram-lane-toolbar-fg: var(--text-primary);--diagram-lane-toolbar-border: var(--border-strong);--diagram-lane-toolbar-shadow: var(--shadow-2);--diagram-lane-toolbar-size: 24px;--diagram-resizer-highlight: color-mix( in srgb, var(--outline-focus) 72%, transparent );--diagram-edge-label-text: var(--diagram-edge-stroke);--diagram-edge-label-input-border: var(--outline-focus)}:where(body.light){--diagram-background: #f8fafc;--diagram-text: #0f172a;--diagram-gateway-fill: #0f172a;--diagram-gateway-hover: #2563eb;--diagram-node-fill: #ffffff;--diagram-node-stroke: #334155;--diagram-node-text: #0f172a;--diagram-edge-stroke: #334155;--diagram-edge-dragger-stroke: #64748b;--diagram-edge-dragger-hover-stroke: #2563eb;--diagram-node-select-shadow: rgba(37, 99, 235, .25);--diagram-node-select-stroke: #2563eb;--diagram-node-select-ring: rgba(37, 99, 235, .36);--diagram-node-select-fill-tint: #60a5fa;--diagram-grid-thin: #cbd5e1;--diagram-grid-strong: #94a3b8;--diagram-grid-minor-min-weight: 48%;--diagram-grid-major-min-weight: 66%;--diagram-stats-bg: #ffffff;--diagram-stats-color: #0f172a;--diagram-scrollbar-track: #e2e8f0;--diagram-scrollbar-thumb: #94a3b8;--diagram-scrollbar-thumb-hover: #64748b;--diagram-toolbar-border: #cbd5e1;--diagram-toolbar-tool-border: #cbd5e1;--diagram-context-menu-bg: #ffffff;--diagram-context-menu-color: #0f172a;--diagram-context-menu-border: #cbd5e1;--diagram-context-menu-hover-bg: #f1f5f9;--diagram-context-menu-danger: #dc2626;--diagram-tool-disabled-fg: #94a3b8;--diagram-tool-selected-bg: #dbeafe;--diagram-tool-active-bg: #bfdbfe;--diagram-lane-toolbar-bg: #ffffff;--diagram-lane-toolbar-fg: #0f172a;--diagram-lane-toolbar-border: #cbd5e1;--diagram-lane-toolbar-shadow: 0 6px 16px rgba(15, 23, 42, .16);--diagram-form-bg: #ffffff;--diagram-form-border: #cbd5e1;--diagram-form-text: #0f172a;--diagram-form-focus: #2563eb;--diagram-stats-panel-surface: #ffffff;--diagram-stats-panel-surface-soft: #f8fafc;--diagram-stats-panel-border: #cbd5e1;--diagram-stats-panel-muted: #64748b;--diagram-stats-panel-shadow: 0 8px 20px rgba(15, 23, 42, .08);--diagram-selection-border: #2563eb;--diagram-selection-fill: rgba(37, 99, 235, .12);--diagram-alignment-suggestion: #16a34a;--diagram-distance-balance-suggestion: #d97706;--diagram-path-finding-grid-edge: rgba(100, 116, 139, .18);--diagram-path-finding-grid-edge-highlight: #d97706;--diagram-resizer-highlight: #2563eb;--diagram-edge-label-text: #0f172a;--diagram-edge-label-input-border: #2563eb}:where(.stage,.canvas__frame,.diagram__left_panel_shell,.toolbar,.diagram__context_menu,.diagram__editor_mode_switcher){--bg: var(--diagram-background);--text: var(--diagram-text);--gateway-fill: var(--diagram-gateway-fill);--gateway-hover: var(--diagram-gateway-hover);--node-fill: var(--diagram-node-fill);--node-stroke: var(--diagram-node-stroke);--node-color: var(--diagram-node-text);--node-font-family: var(--diagram-node-font-family);--node-font-size: var(--diagram-node-font-size);--edge-stroke: var(--diagram-edge-stroke);--edge-dragger-stroke: var(--diagram-edge-dragger-stroke);--edge-dragger-hover-stroke: var(--diagram-edge-dragger-hover-stroke);--node-select-shadow: var(--diagram-node-select-shadow);--node-select-stroke: var(--diagram-node-select-stroke);--node-select-ring: var(--diagram-node-select-ring);--node-select-fill-tint: var(--diagram-node-select-fill-tint);--grid-thin: var(--diagram-grid-thin);--grid-strong: var(--diagram-grid-strong);--stats-bg: var(--diagram-stats-bg);--stats-color: var(--diagram-stats-color);--scrollbar-track: var(--diagram-scrollbar-track);--scrollbar-thumb: var(--diagram-scrollbar-thumb);--scrollbar-thumb-hover: var(--diagram-scrollbar-thumb-hover);--toolbar-border: var(--diagram-toolbar-border);--toolbar-tool-border: var(--diagram-toolbar-tool-border);--context-menu-bg: var(--diagram-context-menu-bg);--context-menu-color: var(--diagram-context-menu-color);--context-menu-border: var(--diagram-context-menu-border);--context-menu-hover-bg: var(--diagram-context-menu-hover-bg);--context-menu-danger: var(--diagram-context-menu-danger);--tool-disabled-fg: var(--diagram-tool-disabled-fg);--tool-selected-bg: var(--diagram-tool-selected-bg);--tool-active-bg: var(--diagram-tool-active-bg);--form-bg: var(--diagram-form-bg);--form-border: var(--diagram-form-border);--form-text: var(--diagram-form-text);--form-focus: var(--diagram-form-focus);--stats-panel-surface: var(--diagram-stats-panel-surface);--stats-panel-surface-soft: var(--diagram-stats-panel-surface-soft);--stats-panel-border: var(--diagram-stats-panel-border);--stats-panel-muted: var(--diagram-stats-panel-muted);--stats-panel-shadow: var(--diagram-stats-panel-shadow);--selection-border: var(--diagram-selection-border);--selection-fill: var(--diagram-selection-fill);--alignment-sugestion: var(--diagram-alignment-suggestion);--distance-balance-sugestion: var(--diagram-distance-balance-suggestion);--path-finding-grid-edge: var(--diagram-path-finding-grid-edge);--path-finding-grid-edge--highlight: var( --diagram-path-finding-grid-edge-highlight );--diagram-button: var(--diagram-button-size);--node-tool-icon-size: var(--diagram-node-tool-icon-size)}.grid_line{stroke:var(--grid-thin)}.grid_line.strong{stroke:var(--grid-strong)}.selection_square path{stroke:var(--selection-border);fill:var(--selection-fill)}.canvas__frame{background:var(--bg);overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.canvas__frame--grid{--grid-thin-weight: calc( var(--diagram-grid-minor-min-weight, 62%) + var(--diagram-grid-zoom-ratio, 1) * (100% - var(--diagram-grid-minor-min-weight, 62%)) );--grid-strong-weight: calc( var(--diagram-grid-major-min-weight, 78%) + var(--diagram-grid-zoom-ratio, 1) * (100% - var(--diagram-grid-major-min-weight, 78%)) );--grid-thin-visible: color-mix( in srgb, var(--grid-thin) var(--grid-thin-weight), var(--bg) );--grid-strong-visible: color-mix( in srgb, var(--grid-strong) var(--grid-strong-weight), var(--bg) );background-color:var(--bg);background-image:linear-gradient(to right,var(--grid-strong-visible) 0 1px,transparent 1px),linear-gradient(to bottom,var(--grid-strong-visible) 0 1px,transparent 1px),linear-gradient(to right,var(--grid-thin-visible) 0 1px,transparent 1px),linear-gradient(to bottom,var(--grid-thin-visible) 0 1px,transparent 1px);background-position:var(--diagram-grid-offset-x, 0) var(--diagram-grid-offset-y, 0),var(--diagram-grid-offset-x, 0) var(--diagram-grid-offset-y, 0),var(--diagram-grid-offset-x, 0) var(--diagram-grid-offset-y, 0),var(--diagram-grid-offset-x, 0) var(--diagram-grid-offset-y, 0);background-size:var(--diagram-major-grid-size, 500px) var(--diagram-major-grid-size, 500px),var(--diagram-major-grid-size, 500px) var(--diagram-major-grid-size, 500px),var(--diagram-grid-size, 50px) var(--diagram-grid-size, 50px),var(--diagram-grid-size, 50px) var(--diagram-grid-size, 50px);background-repeat:repeat}.canvas__frame .foreground{z-index:1000}.canvas__frame .background{z-index:0}.canvas__frame .scalable_components{position:relative;z-index:100}.screen_renderers{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:900}.edge-screen-label{position:absolute;left:calc(var(--diagram-canvas-translate-x, 0px) + var(--edge-label-x) * var(--diagram-canvas-scale, 1));top:calc(var(--diagram-canvas-translate-y, 0px) + var(--edge-label-y) * var(--diagram-canvas-scale, 1));z-index:20;display:block;width:max-content;min-width:1ch;max-width:min(30ch,calc(100vw - 32px));height:auto;min-height:1.2em;box-sizing:border-box;transform:none;border:0;outline:0;background:transparent;color:var(--diagram-edge-label-text);font-family:var(--node-font-family);font-size:calc(16px * var(--diagram-canvas-scale, 1));line-height:1.2;max-width:none;overflow:visible;overflow-wrap:anywhere;white-space:pre-wrap;text-align:var(--edge-label-text-align, left);pointer-events:all;cursor:move;-webkit-user-select:none;user-select:none}.edge-screen-label--editing{width:1ch;height:1.2em;max-width:calc(100vw - 32px);padding:0;border:0;outline:0;background:transparent;cursor:text;overflow:auto;overflow-wrap:normal;resize:none;scrollbar-width:none;-webkit-user-select:text;user-select:text;white-space:pre}.edge-screen-label{scrollbar-width:none}.edge-screen-label::-webkit-scrollbar{display:none}.edge-label-editor{position:absolute;left:calc(var(--diagram-canvas-translate-x, 0px) + var(--edge-label-x) * var(--diagram-canvas-scale, 1));top:calc(var(--diagram-canvas-translate-y, 0px) + var(--edge-label-y) * var(--diagram-canvas-scale, 1));z-index:20;color:var(--diagram-edge-label-text);font-family:var(--node-font-family);font-size:calc(16px * var(--diagram-canvas-scale, 1));line-height:1.2;width:max-content;height:auto;pointer-events:all}.edge-label-editor .edge-screen-label--editing{position:relative;left:0;top:0;display:block;width:1ch;max-width:calc(100vw - 32px);height:1.2em;box-sizing:border-box;transform:none;overflow:auto;resize:none}.edge-label-measure{--diagram-canvas-scale: 1;position:absolute;left:-100000px;top:0;width:max-content;height:auto;padding:0;visibility:hidden;white-space:pre;pointer-events:none}.edge-label-editor__toolbar{position:absolute;top:0;left:calc(100% + 12px);display:flex;flex-direction:column;gap:2px;padding:3px;border:1px solid var(--diagram-lane-toolbar-border);border-radius:7px;background:var(--diagram-lane-toolbar-bg);box-shadow:var(--diagram-lane-toolbar-shadow);color:var(--diagram-lane-toolbar-fg)}.edge-label-editor__toolbar button{display:grid;width:26px;height:26px;padding:4px;place-items:center;border:0;border-radius:4px;background:transparent;color:inherit;cursor:pointer}.edge-label-editor__toolbar button:hover,.edge-label-editor__toolbar button.selected{background:var(--diagram-context-menu-hover-bg)}.edge-label-editor__toolbar button.selected{background:var(--tool-selected-bg)}.edge-label-editor__toolbar button svg{width:100%;height:100%}.node__screenLabel,.lane__screenHeader,.lane__screenWidthResizeBar,.lane__screenWidthResize,.lane__screenHeightResize{position:absolute;left:calc(var(--diagram-canvas-translate-x, 0px) + var(--screen-renderer-x) * var(--diagram-canvas-scale, 1));top:calc(var(--diagram-canvas-translate-y, 0px) + var(--screen-renderer-y) * var(--diagram-canvas-scale, 1));z-index:var(--screen-renderer-z-index);width:calc(var(--screen-renderer-width) * var(--diagram-canvas-scale, 1));height:calc(var(--screen-renderer-height) * var(--diagram-canvas-scale, 1))}.node__screenLabel{display:flex;align-items:center;justify-content:center;margin:0;overflow:hidden;color:var(--node-color);font-family:var(--node-font-family);font-size:calc(var(--screen-label-font-size) * var(--diagram-canvas-scale, 1));font-weight:500;font-kerning:normal;font-variant-ligatures:contextual;line-height:1.18;letter-spacing:0;text-align:center;white-space:pre-wrap;pointer-events:all}.node__screenLabel[data-node-label-drag-handle=true]{cursor:move}.node__screenLabel.selected{font-weight:600}.node__screenLabel.editable__label{box-sizing:border-box;font-family:var(--node-font-family);font-size:calc(var(--screen-label-font-size) * var(--diagram-canvas-scale, 1));font-weight:500;font-kerning:normal;font-variant-ligatures:contextual;line-height:1.18;letter-spacing:0;padding-block:max(0px,calc((var(--screen-renderer-height) * var(--diagram-canvas-scale, 1) - var(--screen-label-font-size) * var(--diagram-canvas-scale, 1) * 1.18) / 2));padding-inline:0;border:0;outline:0;resize:none;overflow:hidden;pointer-events:all}.node__screenLabel.editable__label.selected{font-weight:600}.avoid-selection *{-webkit-user-select:none;user-select:none}.diagram__panzoom,.diagram__tools{width:0;height:0;position:absolute;inset:0}.diagram__extra{position:absolute;pointer-events:none;width:100%;height:100%;inset:0}.diagram__extension_ui{position:absolute;z-index:20;inset:0;overflow:hidden;pointer-events:none}.diagram__node{-webkit-user-select:none;user-select:none;cursor:pointer;transition:filter .2s ease;box-sizing:border-box}.diagram__node:is(div){background:var(--node-fill);border:2px solid var(--node-stroke);color:var(--node-color);font-family:var(--node-font-family);display:flex;align-items:center;justify-content:center;transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease}.diagram__node path{fill:var(--node-fill);stroke:var(--node-stroke);transition:fill .22s ease,stroke .22s ease,stroke-width .22s ease}.diagram__node text{fill:var(--node-color);font-family:var(--node-font-family);font-size:var(--node-font-size)}.diagram__node.selected:not(div){z-index:1;filter:drop-shadow(0 0 7px var(--node-select-shadow)) drop-shadow(0 0 14px var(--node-select-ring))}.diagram__node.selected:is(div){z-index:1;filter:none;border-color:var(--node-select-stroke);background:color-mix(in oklab,var(--node-fill) 85%,var(--node-select-fill-tint) 15%);box-shadow:0 0 0 2px var(--node-select-ring),0 0 0 4px color-mix(in oklab,var(--node-select-ring) 70%,transparent 30%)}.diagram__node.selected path{stroke:var(--node-select-stroke);stroke-width:3.5px;fill:color-mix(in oklab,var(--node-fill) 86%,var(--node-select-fill-tint) 14%)}.diagram__node.selected text{font-weight:600}.base_shape{pointer-events:auto}.diagram__node__gateway{pointer-events:auto;z-index:2}.diagram__node__gateway path{fill:var(--gateway-fill)}.diagram__node__gateway:hover{cursor:pointer}.diagram__node__gateway:hover path{fill:var(--gateway-hover);stroke:var(--gateway-hover)}.diagram__node__edge_gateway{cursor:crosshair;pointer-events:stroke}.diagram__node_tools{position:absolute;background-color:var(--bg);color:var(--text);display:flex;align-items:center;transform:translateY(-50%)}.diagram__node_tool{cursor:pointer}.diagram__node_tool:hover path{color:var(--diagram-tool-disabled-fg)}.--selected-node{z-index:1;overflow:hidden;border-color:transparent}.--selected-node:before{content:"";position:absolute;inset:0 -4px;border-radius:inherit;padding:3px;background:repeating-linear-gradient(90deg,var(--text) 0 10px,transparent 10px 20px);background-size:20px 20px;animation:move-horizontal 1.8s linear infinite;-webkit-mask-composite:xor;mask-composite:exclude}.--selected-node:after{content:"";position:absolute;inset:-4px 0;border-radius:inherit;padding:3px;background:repeating-linear-gradient(0deg,var(--text) 0 10px,transparent 10px 20px);background-size:20px 20px;animation:move-vertical 1.8s linear infinite;-webkit-mask-composite:xor;mask-composite:exclude}@keyframes move-horizontal{0%{background-position:0 0}to{background-position:20px 0}}@keyframes move-vertical{0%{background-position:0 0}to{background-position:0 20px}}.diagram__stats>*{position:fixed;right:5px;bottom:5px;-webkit-user-select:none;user-select:none;background:var(--stats-bg);color:var(--stats-color);padding:8px 12px;border-radius:6px;transition:opacity .3s}.diagram__stats>*:hover{opacity:.05;pointer-events:none}.diagram__left_panel_shell{display:flex;flex-direction:column;padding:0;height:100%;min-height:0;background:var(--stats-bg);color:var(--stats-color);border-right:1px solid var(--toolbar-border);position:relative;flex-shrink:0;overflow:hidden}.diagram__left_panel_content{display:flex;flex:1 1 auto;min-height:0;overflow:hidden}.diagram__left_tabs{display:inline-flex;gap:6px;padding:6px 8px;border:none;background:var(--stats-bg);width:auto;border-bottom:1px solid var(--toolbar-border)}.diagram__left_tab{appearance:none;border:1px solid var(--toolbar-border);border-radius:4px;background:transparent;color:var(--text);font:inherit;font-size:12px;padding:6px 10px;cursor:pointer}.diagram__left_tab.active{background:var(--tool-selected-bg)}.diagram__left_panel_resizer{position:absolute;inset:0 0 0 auto;width:10px;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;border-right:3px solid transparent;transition:border-color .5s}.diagram__left_panel_resizer:hover{border-right:3px solid var(--diagram-resizer-highlight)}.stage{display:flex;flex-direction:row;align-items:stretch;height:100%;position:fixed;inset:0;background:var(--bg)}.h_stack>*{height:100%}.h_stack>:last-child{flex:1 1 auto;min-width:0}.collapsible_panel{pointer-events:auto;display:flex;flex-direction:column;min-width:0;max-width:none;flex-shrink:0;height:100%;min-height:0;background:var(--bg);color:var(--text);border:1px solid var(--toolbar-border);overflow-y:auto;overflow-x:hidden;position:relative;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}.diagram__plain_panel{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:var(--space-4)}.diagram__stats_section{display:grid;gap:var(--space-2)}.diagram__stats_actions{display:flex;gap:var(--space-2)}.diagram__stats_grid_2{display:grid;gap:var(--space-2);grid-template-columns:1fr 1fr}.diagram__stats_label{display:grid;gap:var(--space-1);font-size:12px}.diagram__stats_meta{font-size:12px;opacity:.9}.diagram__stats_meta_error{color:var(--context-menu-danger)}.diagram__stats_checkbox{display:flex;gap:var(--space-2);align-items:center}#BPMNStatisticsPanel,#BPMNShapesShowcasePanel{padding:var(--space-2) var(--space-2) var(--space-4)}#BPMNStatisticsPanel .collapsible_panel__header{margin-top:var(--space-2);padding:7px 10px;border:1px solid var(--stats-panel-border);border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--stats-panel-surface);box-shadow:var(--stats-panel-shadow)}#BPMNStatisticsPanel>.collapsible_panel__header:first-child{margin-top:0}#BPMNStatisticsPanel .collapsible_panel__title{font-size:14px;letter-spacing:.1px}#BPMNStatisticsPanel .collapsible_panel__content{border:1px solid var(--stats-panel-border);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:none;padding:10px;background:var(--stats-panel-surface-soft);box-shadow:var(--stats-panel-shadow)}#BPMNShapesShowcasePanel .node__tools{display:none}#BPMNShapesShowcasePanel{padding:12px 10px 20px}#BPMNShapesShowcasePanel .bpmn__showcase_section+.bpmn__showcase_section{margin-top:14px;padding-top:14px;border-top:1px solid color-mix(in oklab,var(--toolbar-border) 72%,transparent)}#BPMNShapesShowcasePanel .bpmn__showcase_heading{margin:0 0 5px;padding:0 8px;color:var(--stats-panel-muted);font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;font-size:10px;font-weight:700;line-height:18px;letter-spacing:.09em;text-transform:uppercase}#BPMNShapesShowcasePanel .bpmn__showcase_content{min-width:0}#BPMNStatisticsPanel .diagram__stats_label{font-size:12px;color:var(--stats-panel-muted)}#BPMNStatisticsPanel .diagram__stats_label>input,#BPMNStatisticsPanel .diagram__stats_label>select,#BPMNStatisticsPanel .diagram__stats_label>textarea{color:var(--form-text)}#BPMNStatisticsPanel .diagram__stats_actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}#BPMNStatisticsPanel .diagram__stats_actions>button{width:100%;min-height:34px;border-radius:var(--radius-sm)}#BPMNStatisticsPanel input[type=file]{background:var(--stats-panel-surface);border-color:var(--stats-panel-border)}#BPMNStatisticsPanel input[type=file]::file-selector-button{background:color-mix(in oklab,var(--stats-panel-surface) 60%,white 40%);border-color:var(--stats-panel-border);border-radius:var(--radius-sm)}#BPMNStatisticsPanel .diagram__stats_meta{color:var(--stats-panel-muted)}#BPMNStatisticsPanel .diagram__stats_checkbox{font-size:13px}#BPMNStatisticsPanel .diagram__stats_grid_2 input[type=color]{min-height:36px;padding:var(--space-1)}#BPMNShapesShowcasePanel .diagram__showcase_nodes{display:flex;flex-direction:column;gap:2px}#BPMNShapesShowcasePanel .diagram__showcase_groups{display:grid;grid-template-columns:1fr}#BPMNShapesShowcasePanel .diagram__showcase_item{width:100%;min-height:32px;display:flex;align-items:center;justify-content:flex-start;gap:9px;box-sizing:border-box;padding:6px 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;font-weight:500;font-size:12px;text-align:left;cursor:grab}#BPMNShapesShowcasePanel .diagram__showcase_item:hover,#BPMNShapesShowcasePanel .diagram__showcase_item:focus-visible{background:var(--diagram-context-menu-hover-bg);outline:none}#BPMNShapesShowcasePanel .diagram__showcase_item:active{cursor:grabbing}#BPMNShapesShowcasePanel .diagram__showcase_item>svg{width:17px;height:17px;flex:0 0 17px}@media(max-width:420px){#BPMNShapesShowcasePanel .diagram__showcase_nodes{grid-template-columns:1fr}}@media(max-width:420px){#BPMNStatisticsPanel .diagram__stats_grid_2{grid-template-columns:1fr}}.diagram__left_panel_content>.collapsible_panel{padding-bottom:100px;height:100%;flex:0 0 auto}.collapsible_panel::-webkit-scrollbar,.canvas__frame::-webkit-scrollbar,*::-webkit-scrollbar{width:10px;height:10px}.collapsible_panel::-webkit-scrollbar-track,.canvas__frame::-webkit-scrollbar-track,*::-webkit-scrollbar-track{background:var(--scrollbar-track)}.collapsible_panel::-webkit-scrollbar-thumb,.canvas__frame::-webkit-scrollbar-thumb,*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px}.collapsible_panel::-webkit-scrollbar-thumb:hover,.canvas__frame::-webkit-scrollbar-thumb:hover,*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.collapsible_panel.collapsed{min-width:unset;max-width:unset}.collapsible_panel__header{color:inherit;padding:8px 10px;display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.collapsible_panel__title{font-weight:600;font-size:14px}.collapsible_panel__content{border-top:1px solid var(--toolbar-border);padding:10px}.collapsible_panel input,.collapsible_panel select,.collapsible_panel button,.collapsible_panel textarea,.diagram__plain_panel input,.diagram__plain_panel select,.diagram__plain_panel button,.diagram__plain_panel textarea{font:inherit;color:var(--form-text);background:var(--form-bg);border:1px solid var(--form-border);border-radius:6px}.collapsible_panel input,.collapsible_panel select,.collapsible_panel textarea,.diagram__plain_panel input,.diagram__plain_panel select,.diagram__plain_panel textarea{width:100%;min-height:34px;padding:6px 10px;box-sizing:border-box}.collapsible_panel input[type=checkbox],.diagram__plain_panel input[type=checkbox]{width:16px;min-height:16px;height:16px;padding:0}.collapsible_panel input[type=color],.diagram__plain_panel input[type=color]{min-height:34px;padding:3px}.collapsible_panel input[type=file],.diagram__plain_panel input[type=file]{padding:5px 6px}.collapsible_panel input[type=file]::file-selector-button,.diagram__plain_panel input[type=file]::file-selector-button{font:inherit;color:var(--form-text);background:color-mix(in oklab,var(--form-bg) 70%,white 30%);border:1px solid var(--form-border);border-radius:6px;padding:4px 8px;margin-right:8px;cursor:pointer}.collapsible_panel button,.diagram__plain_panel button{padding:7px 10px;min-height:34px;cursor:pointer}.collapsible_panel button:disabled,.diagram__plain_panel button:disabled{opacity:.45;cursor:not-allowed}.collapsible_panel input:focus,.collapsible_panel select:focus,.collapsible_panel textarea:focus,.collapsible_panel button:focus-visible,.diagram__plain_panel input:focus,.diagram__plain_panel select:focus,.diagram__plain_panel textarea:focus,.diagram__plain_panel button:focus-visible{outline:2px solid var(--form-focus);outline-offset:1px}.collapsible_panel__resizer{position:absolute;inset:0 0 0 auto;width:10px;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none}.collapsible_panel--resizer-left .collapsible_panel__resizer{inset:0 auto 0 0;border-left:3px solid transparent;border-color:transparent;transition:border-color .5s}.collapsible_panel--resizer-left .collapsible_panel__resizer:hover{border-left:3px solid var(--diagram-resizer-highlight)}.collapsible_panel--resizer-right .collapsible_panel__resizer{border-right:3px solid transparent;border-color:transparent;transition:border-color .5s}.collapsible_panel--resizer-right .collapsible_panel__resizer:hover{border-right:3px solid var(--diagram-resizer-highlight)}.collapsible_panel.collapsed .collapsible_panel__content{display:none}.toolbar{inset:unset;position:fixed;bottom:5px;right:5px;display:flex;gap:3px;padding:3px;background:var(--bg);border:1px solid var(--toolbar-border);border-radius:4px;align-items:center}.toolbar .separator{border-left:1px solid var(--toolbar-border);border-right:1px solid var(--toolbar-border);padding-left:1px;height:25px;margin:0 3px}.toolbar .tool{cursor:pointer;padding:6px;border:1px solid var(--toolbar-tool-border);border-radius:4px;color:var(--text);transition:background-color .2s}.toolbar .tool.disabled path{color:var(--tool-disabled-fg)}.toolbar button.tool{background:transparent;font:inherit}.toolbar button.tool:disabled{cursor:not-allowed;color:var(--tool-disabled-fg)}.toolbar button.tool:disabled svg{opacity:.65}.toolbar .tool:active{background:var(--tool-active-bg)}.toolbar .tool.selected{background:var(--tool-selected-bg)}.diagram__context_menu_layer{position:fixed;inset:0;pointer-events:none;z-index:999}.diagram__context_menu{position:fixed;min-width:220px;max-width:280px;padding:3px;border-radius:4px;background:var(--context-menu-bg);color:var(--context-menu-color);border:1px solid var(--context-menu-border);overflow:visible;pointer-events:auto;-webkit-user-select:none;user-select:none}.diagram__context_menu--nested{position:static}.diagram__context_menu_list{list-style:none;margin:0;padding:0}.diagram__context_menu_item{position:relative}.diagram__context_menu_button{width:100%;border:none;border-radius:3px;background:transparent;color:inherit;padding:7px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;font:inherit;cursor:pointer}.diagram__context_menu_item:hover>.diagram__context_menu_button,.diagram__context_menu_item:focus-within>.diagram__context_menu_button,.diagram__context_menu_item.submenu_open>.diagram__context_menu_button{background:var(--context-menu-hover-bg)}.diagram__context_menu_item.disabled>.diagram__context_menu_button{opacity:.45;cursor:not-allowed}.diagram__context_menu_item.danger>.diagram__context_menu_button .diagram__context_menu_label{color:var(--context-menu-danger);font-weight:600}.diagram__context_menu_chevron{opacity:.8;font-size:12px}.diagram__context_menu_submenu{position:absolute;z-index:2}.diagram__editor_mode_switcher{position:fixed;top:8px;right:8px;z-index:1001;display:inline-flex;gap:6px;padding:4px;border-radius:6px;border:1px solid var(--toolbar-border);background:color-mix(in oklab,var(--bg) 85%,white 15%)}.diagram__editor_mode_switcher>button{font:inherit;border:1px solid var(--toolbar-border);border-radius:4px;background:transparent;color:var(--text);padding:5px 10px;cursor:pointer}.diagram__editor_mode_switcher>button.active{background:var(--tool-selected-bg)}.edge{pointer-events:auto}.edge_marker_path{fill:var(--edge-stroke);transition:fill .22s ease,stroke .22s ease}.edge path{stroke:var(--edge-stroke);transition:stroke .22s ease,stroke-width .22s ease,fill .22s ease}.edge path.edge-hover-area{pointer-events:stroke;stroke:transparent;transition:none}.edge path.edge-path{pointer-events:none}:is(.edge:hover,.edge.hover,.edge.dragging) .edge_drag_point{cursor:pointer;fill:var(--edge-dragger-hover-stroke)}:is(.edge:hover,.edge.hover,.edge.dragging) path.edge-hover-area{cursor:pointer;stroke:transparent}:is(.edge:hover,.edge.hover,.edge.dragging) path.edge-path{stroke:var(--edge-dragger-hover-stroke);stroke-width:var( --edge-hover-stroke-width, var(--diagram-edge-hover-stroke-width) )}.edge.selected path.edge-path{stroke:var(--node-select-stroke);stroke-width:var(--edge-selected-stroke-width, 4px);filter:drop-shadow(0 0 2px var(--node-select-shadow)) drop-shadow(0 0 5px var(--node-select-ring))}.edge.selected .edge_marker_path{fill:var(--node-select-stroke)}.edge.selected .edge_marker_outline{stroke:var(--node-select-stroke)}.edge_drag_point{width:12px;height:12px;fill:var(--edge-stroke)}.edge_endpoint_drag_handle{cursor:pointer}.edge_endpoint_drag_hit_area{fill:transparent;pointer-events:all;stroke:transparent}.edge_endpoint_drag_point{fill:var(--bg);pointer-events:none;stroke:var(--edge-dragger-stroke);stroke-width:2px;transition:r .12s ease,stroke-width .12s ease}.edge_endpoint_drag_handle:hover .edge_endpoint_drag_point{r:10px;stroke-width:3px}.edge.selected .edge_endpoint_drag_point,.edge.dragging .edge_endpoint_drag_point{stroke:var(--edge-dragger-hover-stroke)}.measurement marker path{stroke:var(--diagram-path-finding-grid-edge-highlight);stroke-width:3px}.measurement path{stroke:var(--edge-stroke);stroke-width:1px}.alignment_sugestion path{stroke:var(--alignment-sugestion);stroke-width:1px;stroke-dasharray:10 10}.distance_balance_sugestion path{stroke:var(--distance-balance-sugestion);stroke-width:1px}.path_finding_grid_edge path{stroke:var(--path-finding-grid-edge);stroke-width:1px}.path_finding_grid_edge_chosen path{stroke:var(--path-finding-grid-edge--highlight);stroke-width:1px}.node__tools{position:absolute;left:calc(100% + 10px);top:0;width:200px}.node__tools svg{width:var(--node-tool-icon-size);height:var(--node-tool-icon-size)}.node__tools svg path{fill:var(--node-stroke)}.diagram-pointer-dragging{touch-action:none;-webkit-user-select:none;user-select:none}.diagram-reference-highlight{outline:4px solid var(--diagram-focus-color, #1fb7ff);outline-offset:4px}.diagram-reference-attribute{background:color-mix(in srgb,var(--diagram-focus-color, #1fb7ff) 24%,transparent)}.diagram-attribute-related{outline:2px solid var(--diagram-focus-color, #1fb7ff)}.edge.diagram-attribute-edge path.edge-path{stroke:var(--diagram-focus-color, #1fb7ff);stroke-width:3px}.edge.diagram-attribute-edge .edge_marker_path{stroke:var(--diagram-focus-color, #1fb7ff)}
|