.alignment-guides-svg{pointer-events:none;z-index:999;width:100%;height:100%;position:absolute;top:0;left:0}.alignment-guide-line{stroke-width:1px;stroke-dasharray:5 5;pointer-events:none;opacity:.8;animation:.8s ease-in-out infinite alignmentPulse}.alignment-guide-vertical{stroke:var(--umlstudio-guide-vertical,#d63031)}.alignment-guide-horizontal{stroke:var(--umlstudio-guide-horizontal,#0984e3)}@keyframes alignmentPulse{0%,to{opacity:.8}50%{opacity:.5}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}:root{--safe-area-inset-top:env(safe-area-inset-top,0px);--safe-area-inset-right:env(safe-area-inset-right,0px);--safe-area-inset-bottom:env(safe-area-inset-bottom,0px);--safe-area-inset-left:env(safe-area-inset-left,0px);--primitive-white:#fff;--primitive-black:#000;--primitive-gray-50:#f8f9fa;--primitive-gray-100:#e9ecef;--primitive-gray-200:#dee2e6;--primitive-gray-700:#495057;--color-palette-lavender-veil:#f1e3f3;--color-palette-periwinkle:#c2bbf0;--color-palette-baby-blue:#8fb8ed;--color-palette-deep-sky:#62bfed;--color-palette-dodger-blue:#3590f3;--lavender-veil:#f1e3f3;--periwinkle:#c2bbf0;--baby-blue-ice:#8fb8ed;--deep-sky-blue:#62bfed;--dodger-blue:#3590f3;--color-palette-lavender-veil-hsl:293 40% 92%;--color-palette-periwinkle-hsl:248 64% 84%;--color-palette-baby-blue-hsl:214 72% 75%;--color-palette-deep-sky-hsl:200 79% 66%;--color-palette-dodger-blue-hsl:211 89% 58%;--lavender-veil-hsl:#f1e2f3;--periwinkle-hsl:#c3bcf0;--baby-blue-ice-hsl:#91b9ed;--deep-sky-blue-hsl:#64bfed;--dodger-blue-hsl:#3591f3;--primitive-brand-primary:var(--color-palette-dodger-blue);--primitive-brand-accent:var(--color-palette-deep-sky);--primitive-brand-soft:var(--color-palette-baby-blue);--primitive-brand-periwinkle:var(--color-palette-periwinkle);--primitive-brand-highlight:var(--color-palette-lavender-veil);--gradient-top:linear-gradient(0deg, #f1e3f3, #c2bbf0, #8fb8ed, #62bfed, #3590f3);--gradient-right:linear-gradient(90deg, #f1e3f3, #c2bbf0, #8fb8ed, #62bfed, #3590f3);--gradient-bottom:linear-gradient(180deg, #f1e3f3, #c2bbf0, #8fb8ed, #62bfed, #3590f3);--gradient-left:linear-gradient(270deg, #f1e3f3, #c2bbf0, #8fb8ed, #62bfed, #3590f3);--gradient-top-right:linear-gradient(45deg, #f1e3f3, #c2bbf0, #8fb8ed, #62bfed, #3590f3);--gradient-bottom-right:linear-gradient(135deg, #f1e3f3, #c2bbf0, #8fb8ed, #62bfed, #3590f3);--gradient-top-left:linear-gradient(225deg, #f1e3f3, #c2bbf0, #8fb8ed, #62bfed, #3590f3);--gradient-bottom-left:linear-gradient(315deg, #f1e3f3, #c2bbf0, #8fb8ed, #62bfed, #3590f3);--gradient-radial:radial-gradient(#f1e3f3, #c2bbf0, #8fb8ed, #62bfed, #3590f3);--gradient-brand-horizontal:var(--gradient-right);--gradient-brand-vertical:var(--gradient-bottom);--gradient-brand-diagonal:var(--gradient-bottom-right);--gradient-brand-subtle:linear-gradient(135deg, #c2bbf04d, #62bfed40);--gradient-brand-radial:radial-gradient(circle at 50% 50%, #c2bbf0 0%, #3590f3 100%);--gradient-brand-glow:radial-gradient(circle at top, #62bfed33, transparent 70%);--primitive-success-base:#10b981;--primitive-warning-yellow:#f59e0b;--primitive-warning-bg:#fff3cd;--primitive-warning-border:#ffeeba;--primitive-danger-color:#ef4444;--primitive-danger-bg:#f8d7da;--primitive-danger-border:#f5c6cb;--primitive-info-base:#0ea5e9;--primitive-guide-vertical:#d63031;--primitive-guide-horizontal:var(--color-palette-dodger-blue);--primitive-grid:#24272414;--primitive-swatch-slate:#64748b;--primitive-swatch-red:#dc2626;--primitive-swatch-orange:#ea580c;--primitive-swatch-amber:#d97706;--primitive-swatch-green:#16a34a;--primitive-swatch-teal:#0d9488;--primitive-swatch-blue:var(--color-palette-dodger-blue);--primitive-swatch-violet:var(--color-palette-periwinkle);--primitive-swatch-pink:#db2777;--primitive-interactive-selection:var(--color-palette-dodger-blue);--primitive-dropzone-accent:var(--color-palette-dodger-blue);--primitive-collab-1:#ffb61e;--primitive-collab-2:#37b24d;--primitive-collab-3:#1c7ed6;--primitive-collab-4:#f03e3e;--primitive-collab-5:var(--color-palette-periwinkle);--primitive-collab-6:#0ca678;--primitive-collab-7:#f76707;--primitive-collab-8:#1098ad;--primitive-assessment-positive-text:#166534;--primitive-assessment-positive-bg:#dcfce7;--primitive-assessment-negative-text:#991b1b;--primitive-assessment-negative-bg:#fee2e2;--primitive-assessment-zero-text:#1e40af;--primitive-assessment-zero-bg:#dbeafe;--primitive-assessment-ungraded-text:#475569;--primitive-assessment-ungraded-bg:#f1f5f9;--primitive-banner-warning-bg:#fff7e6;--primitive-banner-warning-border:#f6d28b;--primitive-banner-warning-icon:#b7791f;--primitive-banner-warning-text:#122038;--primitive-banner-warning-muted:#4e5e79;--primitive-banner-warning-btn-bg:#f7faff;--primitive-banner-warning-btn-text:#8c5a10;--primitive-banner-warning-btn-border:#f6d28b;--primitive-banner-warning-btn-hover:#f5e8c8;--primitive-toast-success:#197d4e;--primitive-toast-error:#c33640;--primitive-toast-warning:#b7791f;--primitive-toast-info:#1f5e9e;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--text-display:1.5rem;--text-display-lh:1.3;--text-title:1.125rem;--text-title-lh:1.35;--text-node-title:.9375rem;--text-node-title-lh:1.4;--text-body:.875rem;--text-body-lh:1.5;--text-member:.8125rem;--text-member-lh:1.45;--text-caption:.6875rem;--text-caption-lh:1.25;--tracking-tight:-.02em;--tracking-normal:0em;--tracking-wide:.04em;--tracking-stereotype:.06em;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--umlstudio-radius:var(--radius-md);--umlstudio-radius-sm:var(--radius-sm);--umlstudio-radius-md:var(--radius-md);--umlstudio-radius-lg:var(--radius-lg);--home-radius-sm:var(--radius-xs);--home-radius-md:var(--radius-md);--home-radius-lg:var(--radius-lg);--home-radius-xl:15px;--umlstudio-chrome-radius-sm:var(--radius-md);--umlstudio-chrome-radius-md:var(--radius-lg);--umlstudio-chrome-radius-lg:var(--radius-xl);--umlstudio-chrome-edge:10px;--umlstudio-chrome-gap:8px;--umlstudio-chrome-btn:32px;--umlstudio-chrome-pad:6px;--umlstudio-chrome-hit:44px;--umlstudio-chrome-icon:18px;--umlstudio-chrome-island-h:calc(var(--umlstudio-chrome-btn) + 2 * var(--umlstudio-chrome-pad) + 2px);--shadow-subtle:0 1px 2px 0 #0000000d;--shadow-card:0 1px 3px 0 #0f172a14, 0 1px 2px -1px #0f172a14;--shadow-card-hover:0 4px 6px -1px #0f172a1f, 0 2px 4px -2px #0f172a14;--shadow-node:0 2px 8px -2px #0f172a1f, 0 1px 4px -1px #0f172a0f;--shadow-node-active:0 0 0 2px var(--color-palette-dodger-blue), 0 8px 16px -4px #3590f340;--shadow-floating:0 10px 25px -5px #0f172a26, 0 8px 10px -6px #0f172a1a;--shadow-overlay:#0000002e;--umlstudio-shadow:0 4px 12px var(--shadow-overlay);--home-shadow-card-hover:#0000001a;--home-shadow-overlay:var(--shadow-overlay);--home-shadow-md:var(--umlstudio-shadow);--home-shadow-overlay-box:0 8px 20px var(--home-shadow-overlay);--duration-fast:.12s;--duration-normal:.18s;--duration-slow:.28s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-decelerate:cubic-bezier(.05, .7, .1, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--umlstudio-chrome-duration-hover:var(--duration-fast);--umlstudio-chrome-duration-enter:var(--duration-slow);--umlstudio-chrome-ease-standard:var(--ease-standard);--umlstudio-chrome-ease-decelerate:var(--ease-decelerate)}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--umlstudio-background:#fff;--umlstudio-background-variant:#f8fafc;--umlstudio-surface:#fff;--umlstudio-surface-sunken:#f1f5f9;--umlstudio-surface-hover:#f1f5fa;--umlstudio-surface-active:#e6eef8;--umlstudio-primary:var(--color-palette-dodger-blue);--umlstudio-primary-foreground:#fff;--umlstudio-secondary:#54606f;--umlstudio-accent:var(--color-palette-deep-sky);--umlstudio-accent-soft:var(--color-palette-baby-blue);--umlstudio-tint:var(--color-palette-periwinkle);--umlstudio-foreground:#12161f;--umlstudio-text-secondary:#54606f;--umlstudio-text-muted:#64748b;--umlstudio-gray:var(--primitive-gray-100);--umlstudio-gray-variant:var(--primitive-gray-700);--umlstudio-border:#cbd5e1;--umlstudio-border-subtle:#e2e8f0;--umlstudio-border-strong:#94a3b8;--umlstudio-success:var(--primitive-success-base);--umlstudio-warning:var(--primitive-warning-yellow);--umlstudio-danger:var(--primitive-danger-color);--umlstudio-info:var(--primitive-info-base);--home-surface-base:var(--umlstudio-background);--home-surface-sunken:var(--umlstudio-surface-sunken);--home-surface-raised:var(--umlstudio-surface);--home-surface-raised-hover:var(--umlstudio-surface-hover);--home-surface-raised-active:var(--umlstudio-surface-active);--home-surface-row-alt:var(--umlstudio-background-variant);--home-text-primary:var(--umlstudio-foreground);--home-text-secondary:var(--umlstudio-text-secondary);--home-text-strong:var(--umlstudio-foreground);--home-text-muted:var(--umlstudio-text-muted);--home-border-default:var(--umlstudio-border);--home-border-strong:var(--umlstudio-border-strong);--home-border-subtle:var(--umlstudio-border-subtle);--home-accent-base:var(--umlstudio-primary);--home-accent-soft:#d3e7fb;--home-accent-strong:var(--color-palette-dodger-blue);--home-accent-ring:var(--color-palette-dodger-blue);--home-accent-contrast:#fff;--primitive-badge-bg:#dbeafe;--primitive-badge-fold:var(--color-palette-dodger-blue);--primitive-text-on-badge:#1e3a8a;--home-badge-bg:var(--primitive-badge-bg);--home-badge-fold:var(--primitive-badge-fold);--home-text-on-badge:var(--primitive-text-on-badge);--primitive-tag-type-bg:var(--color-palette-dodger-blue)}@supports (color:color-mix(in lab, red, red)){:root,[data-theme=light]{--primitive-tag-type-bg:color-mix(in srgb, var(--color-palette-dodger-blue) 12%, transparent)}}:root,[data-theme=light]{--primitive-tag-type-text:var(--color-palette-dodger-blue);--primitive-tag-local-bg:#fef3c7;--primitive-tag-local-text:#92400e;--primitive-tag-shared-bg:#ccfbf1;--primitive-tag-shared-text:#115e59;--home-tag-type-bg:var(--primitive-tag-type-bg);--home-tag-type-text:var(--primitive-tag-type-text);--home-tag-local-bg:var(--primitive-tag-local-bg);--home-tag-local-text:var(--primitive-tag-local-text);--home-tag-shared-bg:var(--primitive-tag-shared-bg);--home-tag-shared-text:var(--primitive-tag-shared-text);--umlstudio-chrome-surface:#fff;--umlstudio-chrome-surface-hover:#f1f5f9;--umlstudio-chrome-surface-active:#e2e8f0;--umlstudio-chrome-border:#0f172a1f;--umlstudio-chrome-border-strong:#0f172a40;--umlstudio-chrome-text:#0f172a;--umlstudio-chrome-text-muted:#64748b;--umlstudio-chrome-accent:var(--color-palette-dodger-blue);--umlstudio-chrome-glass:#ffffffd9;--umlstudio-chrome-glass-solid:#fff;--umlstudio-grid:var(--primitive-grid);--umlstudio-swatch-slate:var(--primitive-swatch-slate);--umlstudio-swatch-red:var(--primitive-swatch-red);--umlstudio-swatch-orange:var(--primitive-swatch-orange);--umlstudio-swatch-amber:var(--primitive-swatch-amber);--umlstudio-swatch-green:var(--primitive-swatch-green);--umlstudio-swatch-teal:var(--primitive-swatch-teal);--umlstudio-swatch-blue:var(--primitive-swatch-blue);--umlstudio-swatch-violet:var(--primitive-swatch-violet);--umlstudio-swatch-pink:var(--primitive-swatch-pink)}:root[data-theme=dark],[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--umlstudio-background:#0b0f19;--umlstudio-background-variant:#101626;--umlstudio-surface:#151d2e;--umlstudio-surface-sunken:#0c101a;--umlstudio-surface-hover:#1e293f;--umlstudio-surface-active:#273550;--umlstudio-primary:var(--color-palette-dodger-blue);--umlstudio-primary-foreground:#fff;--umlstudio-secondary:#94a3b8;--umlstudio-accent:var(--color-palette-deep-sky);--umlstudio-accent-soft:#62bfed33;--umlstudio-tint:var(--color-palette-periwinkle);--umlstudio-foreground:#f8fafc;--umlstudio-text-secondary:#cbd5e1;--umlstudio-text-muted:#94a3b8;--umlstudio-gray:#1e293b;--umlstudio-gray-variant:#475569;--umlstudio-border:#243046;--umlstudio-border-subtle:#192233;--umlstudio-border-strong:#3b4c68;--umlstudio-success:#34d399;--umlstudio-warning:#fbbf24;--umlstudio-danger:#f87171;--umlstudio-info:#38bdf8;--primitive-grid:#62bfed14;--home-surface-base:var(--umlstudio-background);--home-surface-sunken:var(--umlstudio-surface-sunken);--home-surface-raised:var(--umlstudio-surface);--home-surface-raised-hover:var(--umlstudio-surface-hover);--home-surface-raised-active:var(--umlstudio-surface-active);--home-surface-row-alt:var(--umlstudio-background-variant);--home-text-primary:var(--umlstudio-foreground);--home-text-secondary:var(--umlstudio-text-secondary);--home-text-strong:#fff;--home-text-muted:var(--umlstudio-text-muted);--home-border-default:var(--umlstudio-border);--home-border-strong:var(--umlstudio-border-strong);--home-border-subtle:var(--umlstudio-border-subtle);--home-accent-base:var(--color-palette-dodger-blue);--home-accent-soft:#3590f333;--home-accent-strong:#fff;--home-accent-ring:var(--color-palette-dodger-blue);--home-accent-contrast:#fff;--primitive-badge-bg:#1e293b;--primitive-badge-fold:var(--color-palette-dodger-blue);--primitive-text-on-badge:#e2e8f0;--home-badge-bg:var(--primitive-badge-bg);--home-badge-fold:var(--primitive-badge-fold);--home-text-on-badge:var(--primitive-text-on-badge);--primitive-tag-type-bg:#1e1b4b;--primitive-tag-type-text:#c7d2fe;--primitive-tag-local-bg:#451a03;--primitive-tag-local-text:#fde68a;--primitive-tag-shared-bg:#134e4a;--primitive-tag-shared-text:#99f6e4;--home-tag-type-bg:var(--primitive-tag-type-bg);--home-tag-type-text:var(--primitive-tag-type-text);--home-tag-local-bg:var(--primitive-tag-local-bg);--home-tag-local-text:var(--primitive-tag-local-text);--home-tag-shared-bg:var(--primitive-tag-shared-bg);--home-tag-shared-text:var(--primitive-tag-shared-text);--umlstudio-chrome-surface:#161d2ee0;--umlstudio-chrome-surface-hover:#1e293feb;--umlstudio-chrome-surface-active:#273550f2;--umlstudio-chrome-border:#62bfed33;--umlstudio-chrome-border-strong:#62bfed66;--umlstudio-chrome-text:#f8fafc;--umlstudio-chrome-text-muted:#94a3b8;--umlstudio-chrome-accent:var(--color-palette-dodger-blue);--umlstudio-chrome-glass:#151d2ebf;--umlstudio-chrome-glass-solid:#151d2e;--umlstudio-grid:var(--primitive-grid);--umlstudio-swatch-slate:var(--primitive-swatch-slate);--umlstudio-swatch-red:var(--primitive-swatch-red);--umlstudio-swatch-orange:var(--primitive-swatch-orange);--umlstudio-swatch-amber:var(--primitive-swatch-amber);--umlstudio-swatch-green:var(--primitive-swatch-green);--umlstudio-swatch-teal:var(--primitive-swatch-teal);--umlstudio-swatch-blue:var(--primitive-swatch-blue);--umlstudio-swatch-violet:var(--primitive-swatch-violet);--umlstudio-swatch-pink:var(--primitive-swatch-pink)}:root,[data-theme=light]{--uml-node-bg:#fff;--uml-node-bg-hover:#f8fafc;--uml-node-border:#cbd5e1;--uml-node-border-active:var(--color-palette-dodger-blue);--uml-node-border-width:1.5px;--uml-node-radius:var(--radius-lg);--uml-node-shadow:var(--shadow-node);--uml-node-shadow-active:var(--shadow-node-active);--uml-node-header-bg:#f1f5f9;--uml-node-header-border:#e2e8f0;--uml-node-header-title:#0f172a;--uml-node-stereotype-color:var(--color-palette-dodger-blue);--uml-node-stereotype-bg:#c2bbf040;--uml-visibility-public:#059669;--uml-visibility-private:#dc2626;--uml-visibility-protected:#d97706;--uml-visibility-package:var(--color-palette-baby-blue);--uml-edge-stroke:#64748b;--uml-edge-stroke-active:var(--color-palette-dodger-blue);--uml-edge-width:2px;--uml-edge-marker-fill:#fff;--uml-edge-marker-stroke:#64748b;--uml-handle-size:8px;--uml-handle-bg:var(--color-palette-dodger-blue);--uml-handle-border:#fff;--uml-handle-glow:#3590f366}:root[data-theme=dark],[data-theme=dark]{--uml-node-bg:#151d2e;--uml-node-bg-hover:#1b253b;--uml-node-border:#293548;--uml-node-border-active:var(--color-palette-dodger-blue);--uml-node-border-width:1.5px;--uml-node-radius:var(--radius-lg);--uml-node-shadow:0 4px 16px -2px #0006;--uml-node-shadow-active:0 0 0 2px var(--color-palette-dodger-blue), 0 0 20px #62bfed59;--uml-node-header-bg:#192338;--uml-node-header-border:#243046;--uml-node-header-title:#f8fafc;--uml-node-stereotype-color:var(--color-palette-periwinkle);--uml-node-stereotype-bg:#c2bbf026;--uml-visibility-public:#34d399;--uml-visibility-private:#f87171;--uml-visibility-protected:#fbbf24;--uml-visibility-package:var(--color-palette-baby-blue);--uml-edge-stroke:#94a3b8;--uml-edge-stroke-active:var(--color-palette-deep-sky);--uml-edge-width:2px;--uml-edge-marker-fill:#0b0f19;--uml-edge-marker-stroke:#94a3b8;--uml-handle-size:8px;--uml-handle-bg:var(--color-palette-deep-sky);--uml-handle-border:#0b0f19;--uml-handle-glow:#62bfed99}:root{--umlstudio-chrome-glass-blur:none}.umlstudio-editor{--home-surface-sunken:var(--umlstudio-surface-sunken);--home-surface-raised:var(--umlstudio-surface);--home-border-default:var(--umlstudio-border);--home-text-secondary:var(--umlstudio-text-secondary);--home-text-muted:var(--umlstudio-text-muted);--home-accent-contrast:var(--umlstudio-primary-foreground);--home-shadow-overlay:var(--shadow-overlay);--home-radius-md:var(--umlstudio-radius-md);--home-radius-lg:var(--umlstudio-radius-lg)}@media (pointer:coarse){:root{--umlstudio-chrome-pad:4px}}@layer base{[data-slot],[data-slot] *,[data-slot] :before,[data-slot] :after{border-color:var(--color-border);box-sizing:border-box}}@layer components{[data-slot=button]{border-radius:var(--radius-lg);border-style:var(--tw-border-style);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);white-space:nowrap;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-outline-style:none;-webkit-user-select:none;user-select:none;background-clip:padding-box;border-width:1px;border-color:#0000;outline-style:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}[data-slot=button]:focus-visible{border-color:var(--umlstudio-primary);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=button]:focus-visible{--tw-ring-color:var(--umlstudio-primary)}@supports (color:color-mix(in lab, red, red)){[data-slot=button]:focus-visible{--tw-ring-color:color-mix(in oklab, var(--umlstudio-primary) 50%, transparent)}}[data-slot=button]:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}[data-slot=button]:disabled{pointer-events:none;opacity:.5}[data-slot=button][aria-invalid=true]{border-color:var(--umlstudio-danger);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=button][aria-invalid=true]{--tw-ring-color:var(--umlstudio-danger)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--umlstudio-danger) 20%, transparent)}}[data-slot=button]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:var(--umlstudio-danger)}@supports (color:color-mix(in lab, red, red)){[data-slot=button]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--umlstudio-danger) 50%, transparent)}}[data-slot=button]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:var(--umlstudio-danger)}@supports (color:color-mix(in lab, red, red)){[data-slot=button]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--umlstudio-danger) 40%, transparent)}}[data-slot=button] svg{pointer-events:none;flex-shrink:0}[data-slot=button] svg:not([class*=size-]){width:calc(var(--spacing,.25rem) * 4);height:calc(var(--spacing,.25rem) * 4)}[data-slot=button][data-variant=default]{background-color:var(--umlstudio-primary);color:var(--home-accent-contrast)}@media (hover:hover){[data-slot=button][data-variant=default]:hover{background-color:var(--umlstudio-primary)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=default]:hover{background-color:color-mix(in oklab, var(--umlstudio-primary) 80%, transparent)}}}[data-slot=button][data-variant=outline]{border-color:var(--home-border-default);background-color:var(--umlstudio-background)}@media (hover:hover){[data-slot=button][data-variant=outline]:hover{background-color:var(--home-surface-sunken)}}@media (hover:hover){[data-slot=button][data-variant=outline]:hover{color:var(--umlstudio-foreground)}}[data-slot=button][data-variant=outline][aria-expanded=true]{background-color:var(--home-surface-sunken);color:var(--umlstudio-foreground)}[data-slot=button][data-variant=outline]:where([data-theme=dark],[data-theme=dark] *){border-color:var(--home-border-default)}[data-slot=button][data-variant=outline]:where([data-theme=dark],[data-theme=dark] *){background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=outline]:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--home-border-default) 30%, transparent)}}@media (hover:hover){[data-slot=button][data-variant=outline]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=outline]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:color-mix(in oklab, var(--home-border-default) 50%, transparent)}}}[data-slot=button][data-variant=secondary]{background-color:var(--home-surface-raised);color:var(--home-text-secondary)}[data-slot=button][data-variant=secondary][aria-expanded=true]{background-color:var(--home-surface-raised);color:var(--home-text-secondary)}[data-slot=button][data-variant=secondary]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=secondary]:hover{background-color:color-mix(in oklch, var(--secondary), var(--foreground) 5%)}}@media (hover:hover){[data-slot=button][data-variant=ghost]:hover{background-color:var(--home-surface-sunken)}}@media (hover:hover){[data-slot=button][data-variant=ghost]:hover{color:var(--umlstudio-foreground)}}[data-slot=button][data-variant=ghost][aria-expanded=true]{background-color:var(--home-surface-sunken);color:var(--umlstudio-foreground)}@media (hover:hover){[data-slot=button][data-variant=ghost]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--home-surface-sunken)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=ghost]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:color-mix(in oklab, var(--home-surface-sunken) 50%, transparent)}}}[data-slot=button][data-variant=destructive]{background-color:var(--umlstudio-danger)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]{background-color:color-mix(in oklab, var(--umlstudio-danger) 10%, transparent)}}[data-slot=button][data-variant=destructive]{color:var(--umlstudio-danger)}@media (hover:hover){[data-slot=button][data-variant=destructive]:hover{background-color:var(--umlstudio-danger)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:hover{background-color:color-mix(in oklab, var(--umlstudio-danger) 20%, transparent)}}}[data-slot=button][data-variant=destructive]:focus-visible{border-color:var(--umlstudio-danger)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:focus-visible{border-color:color-mix(in oklab, var(--umlstudio-danger) 40%, transparent)}}[data-slot=button][data-variant=destructive]:focus-visible{--tw-ring-color:var(--umlstudio-danger)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:focus-visible{--tw-ring-color:color-mix(in oklab, var(--umlstudio-danger) 20%, transparent)}}[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *){background-color:var(--umlstudio-danger)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--umlstudio-danger) 20%, transparent)}}@media (hover:hover){[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--umlstudio-danger)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:color-mix(in oklab, var(--umlstudio-danger) 30%, transparent)}}}[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *):focus-visible{--tw-ring-color:var(--umlstudio-danger)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--umlstudio-danger) 40%, transparent)}}[data-slot=button][data-variant=link]{color:var(--umlstudio-primary);text-underline-offset:4px}@media (hover:hover){[data-slot=button][data-variant=link]:hover{text-decoration-line:underline}}[data-slot=button][data-size=default]{height:calc(var(--spacing,.25rem) * 9);gap:calc(var(--spacing,.25rem) * 1.5);padding-inline:calc(var(--spacing,.25rem) * 2.5)}[data-slot=button][data-size=default]:has([data-icon=inline-end]){padding-right:calc(var(--spacing,.25rem) * 2)}[data-slot=button][data-size=default]:has([data-icon=inline-start]){padding-left:calc(var(--spacing,.25rem) * 2)}[data-slot=button][data-size=xs]{height:calc(var(--spacing,.25rem) * 6);gap:var(--spacing,.25rem);border-radius:min(var(--radius-md), 10px);padding-inline:calc(var(--spacing,.25rem) * 2);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)))}:where([data-slot=button-group]) [data-slot=button][data-size=xs]{border-radius:var(--radius-lg)}[data-slot=button][data-size=xs]:has([data-icon=inline-end]){padding-right:calc(var(--spacing,.25rem) * 1.5)}[data-slot=button][data-size=xs]:has([data-icon=inline-start]){padding-left:calc(var(--spacing,.25rem) * 1.5)}[data-slot=button][data-size=xs] svg:not([class*=size-]){width:calc(var(--spacing,.25rem) * 3);height:calc(var(--spacing,.25rem) * 3)}[data-slot=button][data-size=sm]{height:calc(var(--spacing,.25rem) * 7);gap:var(--spacing,.25rem);border-radius:min(var(--radius-md), 12px);padding-inline:calc(var(--spacing,.25rem) * 2.5);font-size:.8rem}:where([data-slot=button-group]) [data-slot=button][data-size=sm]{border-radius:var(--radius-lg)}[data-slot=button][data-size=sm]:has([data-icon=inline-end]){padding-right:calc(var(--spacing,.25rem) * 1.5)}[data-slot=button][data-size=sm]:has([data-icon=inline-start]){padding-left:calc(var(--spacing,.25rem) * 1.5)}[data-slot=button][data-size=sm] svg:not([class*=size-]){width:calc(var(--spacing,.25rem) * 3.5);height:calc(var(--spacing,.25rem) * 3.5)}[data-slot=button][data-size=lg]{height:calc(var(--spacing,.25rem) * 9);gap:calc(var(--spacing,.25rem) * 1.5);padding-inline:calc(var(--spacing,.25rem) * 2.5)}[data-slot=button][data-size=lg]:has([data-icon=inline-end]){padding-right:calc(var(--spacing,.25rem) * 2)}[data-slot=button][data-size=lg]:has([data-icon=inline-start]){padding-left:calc(var(--spacing,.25rem) * 2)}[data-slot=button][data-size=icon]{width:calc(var(--spacing,.25rem) * 8);height:calc(var(--spacing,.25rem) * 8)}[data-slot=button][data-size=icon-xs]{width:calc(var(--spacing,.25rem) * 6);height:calc(var(--spacing,.25rem) * 6);border-radius:min(var(--radius-md), 10px)}:where([data-slot=button-group]) [data-slot=button][data-size=icon-xs]{border-radius:var(--radius-lg)}[data-slot=button][data-size=icon-xs] svg:not([class*=size-]){width:calc(var(--spacing,.25rem) * 3);height:calc(var(--spacing,.25rem) * 3)}[data-slot=button][data-size=icon-sm]{width:calc(var(--spacing,.25rem) * 7);height:calc(var(--spacing,.25rem) * 7);border-radius:min(var(--radius-md), 12px)}:where([data-slot=button-group]) [data-slot=button][data-size=icon-sm]{border-radius:var(--radius-lg)}[data-slot=button][data-size=icon-lg]{width:calc(var(--spacing,.25rem) * 9);height:calc(var(--spacing,.25rem) * 9)}[data-slot=icon-button]{border-radius:var(--umlstudio-radius-sm);cursor:pointer;width:28px;height:28px;color:var(--umlstudio-foreground);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background-color .12s;display:inline-flex}[data-slot=icon-button]:hover{background-color:var(--umlstudio-hover-neutral,var(--umlstudio-foreground))}@supports (color:color-mix(in lab, red, red)){[data-slot=icon-button]:hover{background-color:var(--umlstudio-hover-neutral,color-mix(in srgb, var(--umlstudio-foreground) 7.5%, transparent))}}[data-slot=icon-button]:focus-visible{outline:2px solid var(--umlstudio-primary);outline-offset:2px}[data-slot=icon-button][aria-expanded=true]{background-color:var(--umlstudio-primary)}@supports (color:color-mix(in lab, red, red)){[data-slot=icon-button][aria-expanded=true]{background-color:color-mix(in srgb, var(--umlstudio-primary) 20%, transparent)}}[data-slot=button-group]{align-items:stretch;width:fit-content;display:inline-flex}[data-slot=button-group][data-orientation=vertical]{flex-direction:column}[data-slot=button-group]>:focus-visible{z-index:1;position:relative}[data-slot=input]{height:calc(var(--spacing,.25rem) * 9);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--home-border-default);width:100%;min-width:0;padding-inline:calc(var(--spacing,.25rem) * 2.5);padding-block:var(--spacing,.25rem);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height,calc(1.5 / 1)));color:inherit;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-outline-style:none;background-color:#0000;outline-style:none}[data-slot=input]::placeholder{color:var(--home-text-muted)}[data-slot=input]:focus-visible{border-color:var(--umlstudio-primary);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=input]:focus-visible{--tw-ring-color:var(--umlstudio-primary)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:focus-visible{--tw-ring-color:color-mix(in oklab, var(--umlstudio-primary) 50%, transparent)}}[data-slot=input]:disabled{pointer-events:none;cursor:not-allowed}[data-slot=input]:disabled{background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:disabled{background-color:color-mix(in oklab, var(--home-border-default) 50%, transparent)}}[data-slot=input]:disabled{opacity:.5}[data-slot=input][aria-invalid=true]{border-color:var(--umlstudio-danger);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=input][aria-invalid=true]{--tw-ring-color:var(--umlstudio-danger)}@supports (color:color-mix(in lab, red, red)){[data-slot=input][aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--umlstudio-danger) 20%, transparent)}}@media (width>=48rem){[data-slot=input]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)))}}[data-slot=input]:where([data-theme=dark],[data-theme=dark] *){background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--home-border-default) 30%, transparent)}}[data-slot=input]:where([data-theme=dark],[data-theme=dark] *):disabled{background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:where([data-theme=dark],[data-theme=dark] *):disabled{background-color:color-mix(in oklab, var(--home-border-default) 80%, transparent)}}[data-slot=input]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:var(--umlstudio-danger)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--umlstudio-danger) 50%, transparent)}}[data-slot=input]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:var(--umlstudio-danger)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--umlstudio-danger) 40%, transparent)}}[data-slot=textarea]{field-sizing:content;min-height:calc(var(--spacing,.25rem) * 16);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--home-border-default);width:100%;padding-inline:calc(var(--spacing,.25rem) * 2.5);padding-block:calc(var(--spacing,.25rem) * 2);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height,calc(1.5 / 1)));color:inherit;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-outline-style:none;background-color:#0000;outline-style:none;display:flex}[data-slot=textarea]::placeholder{color:var(--home-text-muted)}[data-slot=textarea]:focus-visible{border-color:var(--umlstudio-primary);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=textarea]:focus-visible{--tw-ring-color:var(--umlstudio-primary)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:focus-visible{--tw-ring-color:color-mix(in oklab, var(--umlstudio-primary) 50%, transparent)}}[data-slot=textarea]:disabled{cursor:not-allowed}[data-slot=textarea]:disabled{background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:disabled{background-color:color-mix(in oklab, var(--home-border-default) 50%, transparent)}}[data-slot=textarea]:disabled{opacity:.5}[data-slot=textarea][aria-invalid=true]{border-color:var(--umlstudio-danger);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=textarea][aria-invalid=true]{--tw-ring-color:var(--umlstudio-danger)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea][aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--umlstudio-danger) 20%, transparent)}}@media (width>=48rem){[data-slot=textarea]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)))}}[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *){background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--home-border-default) 30%, transparent)}}[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *):disabled{background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *):disabled{background-color:color-mix(in oklab, var(--home-border-default) 80%, transparent)}}[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:var(--umlstudio-danger)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--umlstudio-danger) 50%, transparent)}}[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:var(--umlstudio-danger)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--umlstudio-danger) 40%, transparent)}}[data-slot=tooltip-positioner]{isolation:isolate;z-index:50}[data-slot=tooltip-content]{z-index:50;width:fit-content;max-width:var(--container-xs,20rem);transform-origin:var(--transform-origin);align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);border-radius:var(--radius-md);background-color:var(--umlstudio-foreground);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--umlstudio-background);display:inline-flex}[data-slot=tooltip-content] [data-slot=tooltip-arrow]{z-index:50;width:calc(var(--spacing,.25rem) * 2.5);height:calc(var(--spacing,.25rem) * 2.5);--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y);background-color:var(--umlstudio-foreground);fill:var(--umlstudio-foreground);border-radius:2px;rotate:45deg}[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=bottom]{top:var(--spacing,.25rem)}[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=inline-end]{top:50%;left:calc(var(--spacing,.25rem) * -1);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=inline-start],[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=left]{top:50%;right:calc(var(--spacing,.25rem) * -1);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=right]{top:50%;left:calc(var(--spacing,.25rem) * -1);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=top]{bottom:calc(var(--spacing,.25rem) * -2.5)}}.umlstudio-glass{background-color:var(--umlstudio-chrome-glass);-webkit-backdrop-filter:var(--umlstudio-chrome-glass-blur);backdrop-filter:var(--umlstudio-chrome-glass-blur);border:1px solid var(--umlstudio-chrome-border);box-shadow:var(--umlstudio-chrome-shadow-floating), var(--umlstudio-chrome-inset-hairline);border-radius:var(--umlstudio-chrome-radius-lg)}@media (prefers-reduced-transparency:reduce){.umlstudio-glass{background-color:var(--umlstudio-chrome-surface);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){.umlstudio-glass{border-color:var(--umlstudio-chrome-border-strong)}}.umlstudio-chrome-iconbtn{box-sizing:border-box;width:var(--umlstudio-chrome-btn);height:var(--umlstudio-chrome-btn);border-radius:var(--umlstudio-chrome-radius-sm);color:var(--umlstudio-chrome-text);cursor:pointer;transition:background-color var(--umlstudio-chrome-duration-hover) var(--umlstudio-chrome-ease-standard);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.umlstudio-chrome-iconbtn:before{content:"";inset:calc((var(--umlstudio-chrome-btn) - var(--umlstudio-chrome-hit)) / 2);position:absolute}.umlstudio-chrome-iconbtn:disabled{opacity:.4;cursor:not-allowed}.umlstudio-chrome-iconbtn:focus-visible{box-shadow:0 0 0 2px var(--umlstudio-chrome-accent);outline:none}@supports (color:color-mix(in lab, red, red)){.umlstudio-chrome-iconbtn:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--umlstudio-chrome-accent) 45%, transparent)}}.umlstudio-chrome-iconbtn:hover:not(:disabled){background:var(--umlstudio-chrome-surface-hover)}.umlstudio-chrome-iconbtn:active:not(:disabled){background:var(--umlstudio-chrome-surface-active)}.umlstudio-chrome-actionbtn{box-sizing:border-box;min-width:0;height:var(--umlstudio-chrome-btn);border-radius:var(--umlstudio-chrome-radius-sm);color:var(--umlstudio-chrome-text);cursor:pointer;font:inherit;white-space:nowrap;transition:background-color var(--umlstudio-chrome-duration-hover) var(--umlstudio-chrome-ease-standard);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:13px;font-weight:500;line-height:1;display:inline-flex}.umlstudio-chrome-actionbtn:disabled{opacity:.4;cursor:not-allowed}.umlstudio-chrome-actionbtn:focus-visible{box-shadow:0 0 0 2px var(--umlstudio-chrome-accent);outline:none}@supports (color:color-mix(in lab, red, red)){.umlstudio-chrome-actionbtn:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--umlstudio-chrome-accent) 45%, transparent)}}.umlstudio-chrome-actionbtn:hover:not(:disabled){background:var(--umlstudio-chrome-surface-hover)}.umlstudio-chrome-actionbtn:active:not(:disabled){background:var(--umlstudio-chrome-surface-active)}.umlstudio-chrome-iconbtn--readout{font-variant-numeric:tabular-nums;width:auto;min-width:48px;padding:0 8px;font-size:13px;font-weight:600}button.umlstudio-chrome-accent-btn,a.umlstudio-chrome-accent-btn{background:var(--umlstudio-chrome-accent);color:var(--umlstudio-chrome-accent-contrast);transition:background-color var(--umlstudio-chrome-duration-hover) var(--umlstudio-chrome-ease-standard)}button.umlstudio-chrome-accent-btn:hover:not(:disabled),a.umlstudio-chrome-accent-btn:hover:not(:disabled){background:var(--umlstudio-chrome-accent)}@supports (color:color-mix(in lab, red, red)){button.umlstudio-chrome-accent-btn:hover:not(:disabled),a.umlstudio-chrome-accent-btn:hover:not(:disabled){background:color-mix(in srgb, var(--umlstudio-chrome-accent) 88%, black)}}button.umlstudio-chrome-accent-btn:active:not(:disabled),a.umlstudio-chrome-accent-btn:active:not(:disabled){background:var(--umlstudio-chrome-accent)}@supports (color:color-mix(in lab, red, red)){button.umlstudio-chrome-accent-btn:active:not(:disabled),a.umlstudio-chrome-accent-btn:active:not(:disabled){background:color-mix(in srgb, var(--umlstudio-chrome-accent) 80%, black)}}.umlstudio-chrome-title-island:focus-within{border-color:var(--umlstudio-chrome-accent);box-shadow:0 0 0 2px var(--umlstudio-chrome-accent), var(--umlstudio-chrome-shadow-floating)}@supports (color:color-mix(in lab, red, red)){.umlstudio-chrome-title-island:focus-within{box-shadow:0 0 0 2px color-mix(in srgb, var(--umlstudio-chrome-accent) 35%, transparent), var(--umlstudio-chrome-shadow-floating)}}.umlstudio-chrome-title-input::placeholder{color:var(--umlstudio-chrome-text-muted);opacity:1}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Inter-Regular-DynwSBbR.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/Inter-Bold-BaP-8Cy_.woff2)format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/Inter-Italic-CJf0Sfax.woff2)format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:700;font-display:swap;src:url(/assets/Inter-BoldItalic-8XiHW_c5.woff2)format("woff2")}.react-flow{--panel-background:var(--umlstudio-background,#fff);--panel-shadow:var(--umlstudio-shadow,0 4px 12px #0000002e);--text:var(--umlstudio-foreground,#000);--xy-edge-stroke:var(--umlstudio-foreground,#000);--xy-edge-stroke-width:2px;--xy-controls-button-background-color:var(--umlstudio-background,#fff);--xy-controls-button-border-color:transparent}.umlstudio-editor{background-color:var(--umlstudio-background,#fff);color:var(--umlstudio-foreground,#000);--popover-divider:color-mix(in srgb, var(--umlstudio-foreground,#000) 10%, transparent);isolation:isolate;--umlstudio-z-chrome:10005}.umlstudio-overlay-grid{z-index:var(--umlstudio-z-chrome)}.umlstudio-editor__portal-root{z-index:var(--umlstudio-z-chrome);pointer-events:none;position:absolute;inset:0}.umlstudio-editor__portal-root>*{pointer-events:auto}.umlstudio-overlay-grid{pointer-events:none;padding-top:var(--safe-area-inset-top,0);padding-left:var(--safe-area-inset-left,0);padding-right:var(--safe-area-inset-right,0);padding-bottom:calc(var(--safe-area-inset-bottom,0px) + var(--umlstudio-keyboard-inset,0px));grid-template:"header header header""topleft topcenter topright""leftrail center rightrail"minmax(0,1fr)"botleft botcenter botright""footer footer footer"/fit-content(45%) minmax(0,1fr) fit-content(45%);display:grid;position:absolute;inset:0}.umlstudio-canvas{flex:1;min-width:0;height:100%;position:relative;overflow:hidden}.umlstudio-collaboration-presence-bar{pointer-events:auto;align-items:center;display:flex}.umlstudio-collaboration-presence-bar [role=button]:focus-visible{outline:2px solid var(--umlstudio-primary,#3590f3);outline-offset:2px}.umlstudio-collaboration-follower-badge{box-sizing:border-box;border-radius:var(--umlstudio-radius-lg,8px);background-color:var(--umlstudio-background,#fff);min-width:14px;height:14px;color:var(--umlstudio-foreground,#000);border:2px solid;justify-content:center;align-items:center;padding:0 3px;font-size:8px;font-weight:700;display:flex;position:absolute;bottom:-4px;left:-4px}.umlstudio-collaboration-follow-frame{pointer-events:none;z-index:10001;position:absolute;inset:0}.umlstudio-collaboration-follow-banner{background-color:var(--umlstudio-background,#fff);max-width:min(100% - 32px,420px);color:var(--umlstudio-foreground,#000);box-shadow:0 2px 12px color-mix(in srgb, var(--umlstudio-foreground,#000) 22%, transparent);white-space:nowrap;z-index:10004;pointer-events:auto;border:1px solid;border-radius:999px;align-items:center;gap:8px;padding:6px 6px 6px 14px;font-size:13px;font-weight:500;animation:.16s ease-out umlstudio-collaboration-follow-banner-in;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}@keyframes umlstudio-collaboration-follow-banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.umlstudio-collaboration-follow-banner{animation:none}}.umlstudio-collaboration-follow-banner-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.umlstudio-collaboration-follow-banner-text{text-overflow:ellipsis;overflow:hidden}.umlstudio-collaboration-follow-banner-stop{appearance:none;cursor:pointer;font:inherit;background-color:var(--umlstudio-foreground,#000);color:var(--umlstudio-background,#fff);border:none;border-radius:999px;flex-shrink:0;padding:3px 12px;font-weight:600}.umlstudio-collaboration-follow-banner-stop:hover{opacity:.85}.umlstudio-collaboration-follow-banner-stop:focus-visible{outline:2px solid var(--umlstudio-primary,#3590f3);outline-offset:2px}.umlstudio-collaboration-cursors{pointer-events:none;z-index:10003;position:absolute;inset:0;overflow:hidden}.umlstudio-collaboration-cursor{position:absolute}.umlstudio-collaboration-cursor-label{border-radius:var(--umlstudio-radius-md,6px);color:var(--umlstudio-on-collaboration-cursor,#fff);white-space:nowrap;margin-top:4px;padding:2px 6px;font-size:12px}.react-flow__node.umlstudio-collaboration-highlighted{box-shadow:0 0 0 4px var(--umlstudio-collaboration-highlight-color), 0 0 16px 3px var(--umlstudio-collaboration-highlight-color)!important;border-color:var(--umlstudio-collaboration-highlight-color)!important}.react-flow__edge.umlstudio-collaboration-highlighted path{filter:drop-shadow(0 0 4px var(--umlstudio-collaboration-highlight-color));stroke:var(--umlstudio-collaboration-highlight-color)!important;stroke-width:4.5px!important}.umlstudio-palette{box-sizing:border-box;margin-top:var(--umlstudio-chrome-gap);margin-bottom:var(--umlstudio-chrome-gap);margin-left:var(--umlstudio-chrome-edge);gap:var(--umlstudio-chrome-gap);padding:var(--umlstudio-chrome-pad);height:calc(100% - 2 * var(--umlstudio-chrome-gap));overscroll-behavior:contain;background:var(--umlstudio-chrome-glass);min-height:480px;-webkit-backdrop-filter:var(--umlstudio-chrome-glass-blur);backdrop-filter:var(--umlstudio-chrome-glass-blur);color:var(--umlstudio-chrome-text);border:1px solid var(--umlstudio-chrome-border);border-radius:var(--umlstudio-chrome-radius-lg);box-shadow:var(--umlstudio-chrome-shadow-floating), var(--umlstudio-chrome-inset-hairline);flex-direction:column;align-items:center;display:flex;overflow-y:auto}.umlstudio-palette__entries{flex:1;place-content:start center;display:grid}.umlstudio-palette__cell{appearance:none;font:inherit;color:inherit;text-align:inherit;cursor:inherit;background:0 0;border:0;margin:0;padding:0;display:block}.umlstudio-palette__cell:focus-visible{outline:2px solid var(--umlstudio-primary,#3590f3);outline-offset:2px;border-radius:var(--umlstudio-chrome-radius-sm)}.umlstudio-palette__entry{cursor:grab;border-radius:var(--umlstudio-chrome-radius-sm);justify-content:center;align-items:center;transition:background-color .12s;display:flex}.umlstudio-palette__entry:hover{background:var(--umlstudio-chrome-surface-hover)}.umlstudio-palette__entry:active{cursor:grabbing}.umlstudio-palette__view-switch{flex-direction:column;gap:4px;width:100%;display:flex}.umlstudio-palette__view-button{border-radius:var(--umlstudio-chrome-radius-md);border:1px solid var(--umlstudio-chrome-border-strong);color:var(--umlstudio-chrome-text);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 8px;font-size:13px;font-weight:600}.umlstudio-palette__view-button:hover{background:var(--umlstudio-chrome-surface-hover)}.umlstudio-palette__view-button--active,.umlstudio-palette__view-button--active:hover{background:var(--umlstudio-chrome-accent);color:var(--umlstudio-chrome-accent-contrast);border-color:var(--umlstudio-chrome-accent)}.umlstudio-palette__hint{box-sizing:border-box;width:100%;max-width:160px;padding:4px;font-size:13px;line-height:1.4}.react-flow__panel.top{margin-top:calc(var(--umlstudio-chrome-edge) + var(--safe-area-inset-top,0px) + var(--umlstudio-inset-top,0px))}.react-flow__panel.bottom{margin-bottom:calc(var(--umlstudio-chrome-edge-safe-bottom) + var(--umlstudio-keyboard-inset,0px) + var(--umlstudio-inset-bottom,0px))}.react-flow__panel.left{margin-left:var(--umlstudio-chrome-edge-safe-left)}.react-flow__panel.right{margin-right:var(--umlstudio-chrome-edge-safe-right)}.umlstudio-chrome-header-row{align-items:flex-start;gap:var(--umlstudio-chrome-gap);box-sizing:border-box;width:100%;padding-top:var(--umlstudio-chrome-edge);padding-left:var(--umlstudio-chrome-edge-safe-left);padding-right:var(--umlstudio-chrome-edge-safe-right);pointer-events:none;display:flex}.umlstudio-chrome-header-row>:not(.umlstudio-chrome-header-spacer){flex-shrink:0}.umlstudio-chrome-header-spacer{flex:auto;justify-content:flex-start;min-width:0;display:flex}@media (width<=950px) and (height<=500px){:root{--umlstudio-chrome-island-h:36px;--umlstudio-chrome-pad:2px}.umlstudio-collaboration-presence-bar{right:var(--umlstudio-chrome-edge-safe-right)}}.umlstudio-chrome-iconbtn--toggle[aria-pressed=true]{background:color-mix(in srgb, var(--umlstudio-chrome-accent) 18%, transparent);color:var(--umlstudio-chrome-accent)}.umlstudio-chrome-iconbtn--toggle[aria-pressed=true]:hover:not(:disabled){background:color-mix(in srgb, var(--umlstudio-chrome-accent) 26%, transparent)}.umlstudio-chrome-iconbtn--toggle[aria-pressed=true]:active:not(:disabled){background:color-mix(in srgb, var(--umlstudio-chrome-accent) 34%, transparent)}@media (forced-colors:active){.umlstudio-chrome-iconbtn--toggle[aria-pressed=true],.umlstudio-chrome-iconbtn--toggle[aria-pressed=true]:hover:not(:disabled),.umlstudio-chrome-iconbtn--toggle[aria-pressed=true]:active:not(:disabled){color:highlighttext;background:highlight}}.react-flow__minimap.umlstudio-minimap{border-radius:var(--umlstudio-chrome-radius-lg);overflow:hidden}.umlstudio-mm-shell{position:relative}.react-flow__panel.umlstudio-mm-panel,.react-flow__minimap.umlstudio-mm{margin:0;position:static}.umlstudio-chrome-toolbar{align-items:center;gap:var(--umlstudio-chrome-gap);display:flex}.umlstudio-chrome-toolbar--vertical{margin-bottom:var(--umlstudio-chrome-gap);flex-direction:column;align-self:flex-end;margin-left:6px;overflow:visible}.umlstudio-chrome-cluster{padding:var(--umlstudio-chrome-pad);align-items:center;gap:2px;display:flex}.umlstudio-chrome-cluster--vertical{flex-direction:column;gap:4px;padding:4px 2px}.react-flow__controls-button{width:var(--umlstudio-chrome-btn);height:var(--umlstudio-chrome-btn);border-radius:var(--umlstudio-chrome-radius-sm);color:var(--umlstudio-chrome-text);transition:background-color var(--umlstudio-chrome-duration-hover) var(--umlstudio-chrome-ease-standard);background:0 0;border:0;padding:0;position:relative}.react-flow__controls-button:before{content:"";inset:calc((var(--umlstudio-chrome-btn) - var(--umlstudio-chrome-hit)) / 2);position:absolute}.react-flow__controls-button:hover{background:var(--umlstudio-chrome-surface-hover)}.react-flow__controls-button>svg{fill:currentColor;max-width:18px;max-height:18px}.react-flow__panel,.react-flow__node-toolbar{background-color:var(--umlstudio-chrome-glass);-webkit-backdrop-filter:var(--umlstudio-chrome-glass-blur);backdrop-filter:var(--umlstudio-chrome-glass-blur);border:1px solid var(--umlstudio-chrome-border);box-shadow:var(--umlstudio-chrome-shadow-floating), var(--umlstudio-chrome-inset-hairline);border-radius:var(--umlstudio-chrome-radius-lg);padding:var(--umlstudio-chrome-pad)}.umlstudio-history-panel{background-color:var(--umlstudio-chrome-glass-solid)}.umlstudio-overlay-band,.umlstudio-overlay-corner{-webkit-backdrop-filter:none;backdrop-filter:none;min-width:0;max-width:100%;box-shadow:none;background-color:#0000;border:0;border-radius:0;padding:0}.umlstudio-overlay-corner{margin:var(--umlstudio-chrome-edge)}@keyframes umlstudio-island-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.umlstudio-chrome-island{animation:umlstudio-island-in var(--umlstudio-chrome-duration-enter) var(--umlstudio-chrome-ease-decelerate)}@media (prefers-reduced-motion:reduce){.umlstudio-chrome-island{animation:none}}@media (prefers-reduced-transparency:reduce){.react-flow__panel,.react-flow__node-toolbar,.umlstudio-palette{background-color:var(--umlstudio-chrome-surface);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){.react-flow__panel,.react-flow__node-toolbar,.umlstudio-palette{border-color:var(--umlstudio-chrome-border-strong)}}.react-flow svg{display:block}.react-flow__node-toolbar{gap:8px;display:flex}.react-flow__handle{background-color:#0000}.react-flow__handle.umlstudio-arc-handle:before{content:"";box-sizing:border-box;pointer-events:all;cursor:crosshair;--arc-long:calc(28px * var(--arc-scale,1));--arc-short:calc(14px * var(--arc-scale,1));--arc-radius:calc(14px * var(--arc-scale,1));background-color:#0000;position:absolute}.react-flow__handle.umlstudio-arc-handle--top:before{width:var(--arc-long);height:var(--arc-short);border-radius:var(--arc-radius) var(--arc-radius) 0 0;top:50%;left:50%;transform:translate(-50%,-100%)}.react-flow__handle.umlstudio-arc-handle--right:before{width:var(--arc-short);height:var(--arc-long);border-radius:0 var(--arc-radius) var(--arc-radius) 0;top:50%;left:50%;transform:translateY(-50%)}.react-flow__handle.umlstudio-arc-handle--bottom:before{width:var(--arc-long);height:var(--arc-short);border-radius:0 0 var(--arc-radius) var(--arc-radius);top:50%;left:50%;transform:translate(-50%)}.react-flow__handle.umlstudio-arc-handle--left:before{width:var(--arc-short);height:var(--arc-long);border-radius:var(--arc-radius) 0 0 var(--arc-radius);top:50%;left:50%;transform:translate(-100%,-50%)}.react-flow__resize-control.handle{z-index:20}.react-flow__resize-control.line{z-index:9}.umlstudio-editor{--umlstudio-grab-target:24px;--umlstudio-grab-band:14px}.umlstudio-resize-line:before{content:"";inset:calc((1px - var(--umlstudio-grab-band) * var(--arc-scale,1)) / 2);position:absolute}.umlstudio-resize-handle:before{content:"";inset:calc((10px - var(--umlstudio-grab-target)) / 2);position:absolute}.react-flow__resize-control.nodrag.handle.umlstudio-resize-corner--x{cursor:ew-resize}.react-flow__resize-control.nodrag.handle.umlstudio-resize-corner--y{cursor:ns-resize}.react-flow__resize-control{pointer-events:none;background-color:#0000;border-color:#0000}.react-flow__node:hover .react-flow__resize-control{pointer-events:all}.react-flow__node:hover .react-flow__resize-control.handle,.react-flow__node.selected .react-flow__resize-control.handle{background-color:var(--umlstudio-primary,#3590f3);border-color:var(--umlstudio-background,#fff)}.react-flow__node:hover .react-flow__resize-control.line,.react-flow__node.selected .react-flow__resize-control.line{border-color:var(--umlstudio-primary,#3590f3)}.react-flow__handle.connectionindicator{pointer-events:none}.umlstudio-editor--assessment .react-flow__handle.umlstudio-arc-handle:before{pointer-events:none!important;background-color:#0000!important}.umlstudio-editor--assessment .react-flow__handle,.umlstudio-editor--assessment .react-flow__handle.connectionindicator{pointer-events:none!important;cursor:default!important;background-color:#0000!important;border-color:#0000!important}.react-flow__node:hover .react-flow__handle,.umlstudio-editor--connection-guidance .react-flow__handle.connectionindicator,.react-flow__node:hover .react-flow__handle.connectionindicator{pointer-events:all}.react-flow__node:hover .react-flow__handle{cursor:crosshair;background-color:#0000}.react-flow__node:hover .react-flow__handle.umlstudio-arc-handle:before,.react-flow__node.selected .react-flow__handle.umlstudio-arc-handle:before{background-color:color-mix(in srgb, var(--umlstudio-primary,#3590f3) 40%, transparent)}.react-flow__node.selected .react-flow__handle{background-color:#0000}.react-flow__node.selected:not(:hover) .react-flow__handle.umlstudio-arc-handle:before{pointer-events:none}.umlstudio-editor--assessment .react-flow__node:hover .react-flow__handle.umlstudio-arc-handle:before{pointer-events:none!important;background-color:#0000!important}.umlstudio-editor--assessment .react-flow__node:hover .react-flow__handle{pointer-events:none!important;cursor:default!important;background-color:#0000!important;border-color:#0000!important}.umlstudio-editor--connection-guidance .react-flow__handle.umlstudio-arc-handle:before{pointer-events:none;background-color:#0000}@media (hover:none),(pointer:coarse){.react-flow__node.selected .react-flow__handle.connectionindicator,.react-flow__node.selected .react-flow__resize-control,.umlstudio-editor:not(.umlstudio-editor--connection-guidance) .react-flow__node.selected .react-flow__handle.umlstudio-arc-handle:before{pointer-events:all}}.react-flow__node{z-index:9998;box-shadow:0 0 0 2px #0000}.react-flow__node:hover,.react-flow__node.selected{box-shadow:0 0 0 2px var(--umlstudio-primary,#3590f3)}:is(.umlstudio-editor--connection-guidance .react-flow__node:has(.umlstudio-connection-guidance-source),.umlstudio-editor--connection-guidance .react-flow__node:has(.react-flow__handle.connectionindicator.connectingto)){z-index:10001!important}.umlstudio-editor--connection-guidance .react-flow__handle.connectionindicator{border:2px solid var(--umlstudio-primary,#3590f3);background-color:var(--umlstudio-background,#fff);box-sizing:border-box;border-radius:999px;width:10px!important;height:10px!important}.umlstudio-editor--connection-guidance .react-flow__handle.connectionindicator.connectingfrom,.umlstudio-editor--connection-guidance .react-flow__handle.umlstudio-connection-guidance-source{pointer-events:none!important;background-color:#0000!important;border-color:#0000!important}.umlstudio-editor--connection-guidance .react-flow__handle.connectionindicator.valid{background-color:var(--umlstudio-primary,#3590f3)!important}.umlstudio-editor--connection-guidance:has(.react-flow__connectionline) .react-flow__handle.connectionindicator{background-color:#0000!important;border-color:#0000!important}.edge-bend-handle{opacity:0;stroke:none;fill:color-mix(in srgb, var(--umlstudio-primary,#3590f3) 34%, var(--umlstudio-background,#fff));vector-effect:non-scaling-stroke;transition:fill .12s}.edge-endpoint-grip{opacity:0;fill:var(--umlstudio-background,#fff);stroke:var(--umlstudio-primary,#3590f3);paint-order:stroke;transition:fill .12s,stroke .12s}.edge-endpoint-handle{fill:#0000;stroke:#0000;stroke-width:0;cursor:move;vector-effect:non-scaling-stroke}.edge-endpoint-handle--disabled{cursor:default}.react-flow__edge:hover .edge-bend-handle,.react-flow__edge.selected .edge-bend-handle{opacity:1;fill:var(--umlstudio-primary,#3590f3)}.react-flow__edge:hover .edge-endpoint-grip,.react-flow__edge.selected .edge-endpoint-grip{opacity:1}.react-flow__edge.selected .edge-endpoint-grip{fill:color-mix(in srgb, var(--umlstudio-primary,#3590f3) 18%, var(--umlstudio-background,#fff))}.react-flow__edge:hover .edge-bend-handle:hover,.react-flow__edge.selected .edge-bend-handle:hover{fill:color-mix(in srgb, var(--umlstudio-primary,#3590f3) 70%, #000)}.edge-waypoint-handle{opacity:0;fill:var(--umlstudio-primary,#3590f3);stroke:var(--umlstudio-primary,#3590f3);paint-order:stroke;transition:fill .12s,stroke .12s}.react-flow__edge:hover .edge-waypoint-handle,.react-flow__edge.selected .edge-waypoint-handle{opacity:1}.edge-waypoint-handle--active{opacity:1;fill:color-mix(in srgb, var(--umlstudio-primary,#3590f3) 70%, #000)}.react-flow__edge g:has(.edge-waypoint-hit-target:hover,.edge-waypoint-hit-target:focus-visible,.edge-waypoint-hit-target:active) .edge-waypoint-handle{opacity:1;fill:color-mix(in srgb, var(--umlstudio-primary,#3590f3) 70%, #000)}.edge-waypoint-hit-target,.edge-waypoint-hit-target:focus,.edge-waypoint-hit-target:focus-visible{outline:none}.edge-waypoint-hit-target:active{cursor:grabbing!important}.umlstudio-editor--assessment .edge-overlay{stroke-width:32px}.react-flow__edge:hover .edge-overlay,.react-flow__edge.selected .edge-overlay{opacity:0}.umlstudio-edge-highlight .react-flow__edge-path,.umlstudio-edge-highlight [data-inline-marker]{filter:drop-shadow(0 0 2px var(--umlstudio-edge-highlight)) drop-shadow(0 0 2px var(--umlstudio-edge-highlight))}.umlstudio-highlight--selected .react-flow__edge-path,.umlstudio-highlight--highlighted .react-flow__edge-path{stroke-width:3px}.react-flow__edge:hover .react-flow__edge-path,.react-flow__edge:hover [data-inline-marker]{stroke:color-mix(in srgb, var(--umlstudio-primary,#3590f3) 70%, #000)!important}.react-flow__edge:hover [data-inline-marker-filled=true]{fill:color-mix(in srgb, var(--umlstudio-primary,#3590f3) 70%, #000)!important}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selected [data-inline-marker]{stroke:var(--umlstudio-primary,#3590f3)!important}.react-flow__edge.selected [data-inline-marker-filled=true]{fill:var(--umlstudio-primary,#3590f3)!important}.umlstudio-editor--assessment .react-flow__edge.selected .react-flow__edge-path,.umlstudio-editor--assessment .react-flow__edge.selected [data-inline-marker],.umlstudio-editor--assessment .react-flow__edge.umlstudio-assessment-focus .react-flow__edge-path,.umlstudio-editor--assessment .react-flow__edge.umlstudio-assessment-focus [data-inline-marker]{stroke:var(--umlstudio-interactive-selection,#f39c12)!important}.umlstudio-editor--assessment .react-flow__edge.selected [data-inline-marker-filled=true],.umlstudio-editor--assessment .react-flow__edge.umlstudio-assessment-focus [data-inline-marker-filled=true]{fill:var(--umlstudio-interactive-selection,#f39c12)!important}.umlstudio-editor--assessment .react-flow__node.selected,.umlstudio-editor--assessment .react-flow__node.umlstudio-assessment-focus{box-shadow:0 0 0 2px var(--umlstudio-interactive-selection,#f39c12)}.umlstudio-editor--assessment .react-flow__edge.umlstudio-assessment-focus .react-flow__edge-path,.umlstudio-editor--assessment .react-flow__edge.umlstudio-assessment-focus [data-inline-marker]{stroke:var(--umlstudio-interactive-selection,#f39c12)}.umlstudio-highlight{--umlstudio-highlight-color:var(--umlstudio-interactive-selection,#f39c12)}.umlstudio-highlight--selected,.umlstudio-highlight--highlighted{box-shadow:0 0 0 2px var(--umlstudio-highlight-color)}.umlstudio-highlight--selected{background-color:color-mix(in srgb, var(--umlstudio-highlight-color) 18%, transparent)}.umlstudio-highlight--highlighted{background-color:color-mix(in srgb, var(--umlstudio-highlight-color) 50%, transparent)}.umlstudio-highlight--selected [stroke]:not([stroke=none]):not(.umlstudio-assessment-icon *),.umlstudio-highlight--highlighted [stroke]:not([stroke=none]):not(.umlstudio-assessment-icon *){stroke:var(--umlstudio-highlight-color)}.umlstudio-highlight--picker.umlstudio-highlight--selected .edge-overlay{opacity:.45;stroke:var(--umlstudio-highlight-color);stroke-width:15px}.react-flow__edges{z-index:9999}svg.react-flow__connectionline{z-index:10000}.react-flow__connection-path{stroke:var(--xy-edge-stroke);stroke-width:var(--xy-edge-stroke-width);opacity:.5}.react-flow__minimap-mask{fill:var(--umlstudio-chrome-text-muted);opacity:.15}.prevent-select{-webkit-user-select:none;user-select:none}.umlstudio-checkbox-label{color:var(--umlstudio-foreground,#000);cursor:pointer;align-items:center;gap:8px;font-size:.875rem;display:inline-flex}.umlstudio-checkbox{accent-color:var(--umlstudio-primary,#3590f3);cursor:pointer;width:16px;height:16px}[data-slot=checkbox-label]{color:var(--umlstudio-foreground,#000);cursor:pointer;align-items:center;gap:8px;font-size:.875rem;display:inline-flex}[data-slot=checkbox]{border:1px solid color-mix(in srgb, var(--umlstudio-primary,#3590f3) 50%, transparent);border-radius:var(--umlstudio-radius-sm,4px);width:16px;height:16px;color:var(--umlstudio-foreground-on-accent,var(--umlstudio-background,#fff));cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .12s,border-color .12s;display:inline-flex}[data-slot=checkbox][data-checked]{background-color:var(--umlstudio-primary,#3590f3);border-color:var(--umlstudio-primary,#3590f3)}[data-slot=checkbox]:focus-visible{outline:2px solid var(--umlstudio-primary,#3590f3);outline-offset:2px}[data-slot=checkbox][data-disabled]{opacity:.5;cursor:not-allowed}[data-slot=checkbox-label]:has([data-slot=checkbox][data-disabled]){cursor:not-allowed}[data-slot=checkbox-indicator]{color:inherit;justify-content:center;align-items:center;display:inline-flex}[data-slot=typography]{color:var(--umlstudio-foreground,#000)}[data-slot=typography][data-variant=h6]{margin:0;font-size:1.25rem;font-weight:500}[data-slot=typography][data-variant=subtitle1]{margin:0;font-size:1rem;font-weight:400}[data-slot=typography][data-variant=subtitle2]{margin:0;font-size:.875rem;font-weight:500}[data-slot=typography][data-variant=body1]{margin:0;font-size:1rem}[data-slot=typography][data-variant=body2]{margin:0;font-size:.875rem}[data-slot=typography][data-variant=caption]{margin:0;font-size:.75rem}[data-slot=textfield-label]{color:var(--umlstudio-foreground,#000);margin-bottom:2px;font-size:.75rem}[data-slot=textfield-helper]{color:var(--umlstudio-gray-variant,#495057);margin-top:2px;font-size:.75rem}[data-slot=textfield-helper][data-error]{color:var(--umlstudio-danger,#721c24)}[data-slot=assessment-score]{border-radius:var(--umlstudio-radius-md,6px);font-variant-numeric:tabular-nums;align-self:flex-start;align-items:center;gap:6px;padding:2px 10px;font-size:.875rem;font-weight:600;line-height:1.4;display:inline-flex}[data-slot=assessment-score]>svg{flex:none}[data-slot=assessment-score][data-tone=positive]{color:var(--umlstudio-assessment-positive-text,#166534);background-color:var(--umlstudio-assessment-positive-bg,#dcfce7)}[data-slot=assessment-score][data-tone=negative]{color:var(--umlstudio-assessment-negative-text,#991b1b);background-color:var(--umlstudio-assessment-negative-bg,#fee2e2)}[data-slot=assessment-score][data-tone=zero]{color:var(--umlstudio-assessment-zero-text,#1e40af);background-color:var(--umlstudio-assessment-zero-bg,#dbeafe)}[data-slot=assessment-score][data-tone=ungraded]{color:var(--umlstudio-assessment-ungraded-text,#475569);background-color:var(--umlstudio-assessment-ungraded-bg,#f1f5f9)}.umlstudio-assessment-icon{filter:drop-shadow(0 1px 2px color-mix(in srgb, var(--umlstudio-foreground,#000) 28%, transparent))}[data-slot=assessment-feedback]{color:var(--umlstudio-foreground,#000);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.875rem;line-height:1.5}[data-slot=assessment-feedback][data-empty]{color:var(--umlstudio-gray-variant,#495057);font-style:italic}[data-slot=assessment-name-chip]{border-radius:var(--umlstudio-radius-sm,4px);white-space:nowrap;background-color:color-mix(in srgb, var(--umlstudio-primary,#3590f3) 18%, transparent);color:var(--umlstudio-foreground,#000);padding:1px 6px;font-weight:600}[data-slot=divider-line]{width:var(--divider-width,100%);height:var(--divider-height,1px);margin:var(--divider-margin,8px 0);background-color:var(--divider-color,var(--umlstudio-foreground,#000))}.umlstudio-add-row{align-items:center;gap:4px;display:flex}.umlstudio-add-row>:first-child{flex:1;min-width:0}[data-slot=tag-field]{flex-wrap:wrap;align-items:center;gap:4px;display:flex}[data-slot=tag-chip]{border:1px solid var(--popover-divider);border-radius:var(--umlstudio-radius-sm,4px);align-items:center;gap:2px;max-width:100%;padding-left:8px;font-size:12px;line-height:22px;display:inline-flex}[data-slot=tag-chip]>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.umlstudio-tag-picker__popup{box-sizing:border-box;background-color:var(--umlstudio-surface,#fff);width:220px;max-width:90vw;color:var(--umlstudio-foreground,#000);border:1px solid var(--umlstudio-border,#cdd5df);border-radius:var(--umlstudio-radius-lg,8px);box-shadow:var(--umlstudio-shadow,0 4px 12px #0000002e);z-index:10003;flex-direction:column;gap:6px;padding:8px;display:flex}.umlstudio-tag-picker__add{align-items:center;gap:4px;display:flex}.umlstudio-tag-picker__input{box-sizing:border-box;min-width:0;color:var(--umlstudio-foreground,#000);background-color:var(--umlstudio-background,#fff);border:1px solid var(--umlstudio-border,#cdd5df);border-radius:var(--umlstudio-radius-md,6px);flex:1;padding:6px 8px;font-size:.8125rem}.umlstudio-tag-picker__input:focus-visible{outline:2px solid var(--umlstudio-primary,#3590f3);outline-offset:1px}.umlstudio-tag-picker__list{flex-direction:column;gap:1px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.umlstudio-tag-picker__option{width:100%;font:inherit;text-align:left;color:inherit;border-radius:var(--umlstudio-radius-sm,4px);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin:0;padding:6px 8px;font-size:.8125rem;display:flex}.umlstudio-tag-picker__option:hover{background-color:var(--umlstudio-hover-neutral,#0000000d)}.umlstudio-tag-picker__option:focus-visible{outline:2px solid var(--umlstudio-primary,#3590f3);outline-offset:-2px}.umlstudio-tag-picker__option>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.umlstudio-tag-picker__check{opacity:0;flex-shrink:0}.umlstudio-tag-picker__check[data-selected]{opacity:1;color:var(--umlstudio-primary,#3590f3)}.umlstudio-tag-picker__empty{color:var(--umlstudio-secondary,#6c757d);padding:6px 8px;font-size:.8125rem}.umlstudio-drag-handle{cursor:grab;color:var(--umlstudio-gray-variant,#495057)}.umlstudio-drag-handle:active{cursor:grabbing}.react-flow__node-toolbar.umlstudio-element-toolbar-host,.react-flow__edge-toolbar.umlstudio-element-toolbar-host{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;pointer-events:none;background:0 0;border:0;border-radius:0;padding:0}.umlstudio-element-toolbar{background:var(--umlstudio-surface,#fff);border:1px solid var(--umlstudio-border,#cdd5df);border-radius:var(--umlstudio-radius-md,6px);box-shadow:var(--umlstudio-shadow,0 4px 12px #0000002e);pointer-events:none;padding:2px}.umlstudio-element-toolbar [data-slot=icon-button]{pointer-events:auto}.umlstudio-popover{box-sizing:border-box;background-color:var(--umlstudio-surface,#fff);color:var(--umlstudio-foreground,#000);border-radius:var(--umlstudio-radius-lg,8px);border:1px solid var(--umlstudio-border,#cdd5df);box-shadow:var(--umlstudio-shadow,0 4px 12px #0000002e);transform-origin:var(--transform-origin,center);z-index:10003;flex-direction:column;flex:1;padding:10px;display:flex}.umlstudio-popover__content{box-sizing:border-box;scrollbar-gutter:stable;min-height:0;margin:-3px;padding:3px;overflow-y:auto}.umlstudio-assessment-navigation{border-top:1px solid var(--umlstudio-border,#cdd5df);flex:none;justify-content:space-between;align-items:center;gap:8px;padding-top:8px;display:flex}.umlstudio-assessment-navigation>[data-slot=button]{box-sizing:border-box;flex:1 1 0;justify-content:center;width:100%;min-width:0}.umlstudio-popover[data-starting-style],.umlstudio-popover[data-ending-style],.umlstudio-select-content[data-starting-style],.umlstudio-select-content[data-ending-style]{opacity:0;transform:scale(.96)}.umlstudio-select{flex-direction:column;display:inline-flex}.umlstudio-select-label{color:var(--umlstudio-foreground,#000);margin-bottom:2px;font-size:.8125rem}.umlstudio-select-trigger{box-sizing:border-box;text-align:left;width:100%;min-height:36px;color:var(--umlstudio-foreground,#000);background-color:var(--umlstudio-surface-sunken,#fff);border:1px solid var(--umlstudio-border,#cdd5df);border-radius:var(--umlstudio-radius-md,6px);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-family:inherit;font-size:.875rem;display:flex}.umlstudio-select-trigger:focus-visible{border-color:var(--umlstudio-primary,#3590f3);box-shadow:0 0 0 1px var(--umlstudio-primary,#3590f3);outline:none}.umlstudio-select-value{flex:1;min-width:0}.umlstudio-select-placeholder{color:var(--umlstudio-gray-variant,#495057);opacity:.7}.umlstudio-select-icon{color:var(--umlstudio-foreground,#000);flex:none}.umlstudio-select-content{background-color:var(--umlstudio-surface,#fff);color:var(--umlstudio-foreground,#000);border:1px solid var(--umlstudio-border,#cdd5df);border-radius:var(--umlstudio-radius-lg,8px);box-shadow:var(--umlstudio-shadow,0 4px 12px #0000002e);transform-origin:var(--transform-origin,center);z-index:10004;overflow:hidden}.umlstudio-select-listbox{max-height:inherit;-webkit-overflow-scrolling:touch;padding:4px;overflow-y:auto}.umlstudio-select-option{box-sizing:border-box;text-align:left;width:100%;min-height:40px;color:var(--umlstudio-foreground,#000);border-radius:var(--umlstudio-radius-md,6px);cursor:pointer;touch-action:manipulation;background-color:#0000;border:none;align-items:center;padding:8px 10px;font-family:inherit;font-size:.875rem;display:flex}.umlstudio-select-option:hover,.umlstudio-select-option:focus-visible{background-color:color-mix(in srgb, var(--umlstudio-primary,#3590f3) 14%, transparent);outline:none}.umlstudio-select-option--selected{background-color:color-mix(in srgb, var(--umlstudio-primary,#3590f3) 22%, transparent);font-weight:600}.umlstudio-style-editor{flex-direction:column;width:100%;display:flex}.umlstudio-style-editor__header{flex-flow:wrap;flex:1;align-items:center;gap:8px;display:flex}.umlstudio-style-editor__header[data-variant=edge]{flex-wrap:nowrap;justify-content:space-between;gap:5px}.umlstudio-style-editor__header-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.umlstudio-style-editor__header[data-variant=edge] .umlstudio-style-editor__header-actions{margin-left:0}.umlstudio-stereotype-toggle{z-index:1;border:1px solid color-mix(in srgb, var(--umlstudio-primary,#3590f3) 38%, transparent);min-height:28px;color:var(--umlstudio-foreground,#000);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0 10px;font-size:.8125rem;line-height:1;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex;position:relative}.umlstudio-stereotype-toggle:hover{background-color:var(--umlstudio-hover-neutral,color-mix(in srgb, var(--umlstudio-foreground,#000) 7.5%, transparent))}.umlstudio-stereotype-toggle:focus-visible{outline:2px solid var(--umlstudio-primary,#3590f3);outline-offset:2px;z-index:1}.umlstudio-stereotype-toggle[data-state=on]{background-color:color-mix(in srgb, var(--umlstudio-primary,#3590f3) 20%, transparent);border-color:var(--umlstudio-primary,#3590f3);color:color-mix(in srgb, var(--umlstudio-primary,#3590f3) 70%, var(--umlstudio-foreground,#000));z-index:1}.scroll-overlay{z-index:10;pointer-events:none;background-color:#0000;justify-content:center;align-items:center;padding:24px;transition:background-color .16s;display:flex;position:absolute;inset:0}.scroll-overlay--visible{background-color:var(--umlstudio-scroll-lock-veil,#12161f73)}.scroll-overlay__hint{text-align:center;text-wrap:balance;max-width:28rem;color:var(--umlstudio-scroll-lock-text,#fff);text-shadow:0 1px 4px #00000073;margin:0;font-size:1.25rem;font-weight:600;line-height:1.4}
