.ui-colorpicker,
.ui-dialog.ui-colorpicker {
	width:					auto;
    white-space:			nowrap;

	-webkit-touch-callout:	none;
	-webkit-user-select:	none;
	-khtml-user-select:		none;
	-ms-user-select:		none;
	user-select:			none;
}

.ui-colorpicker-inline {
    position:				static;
}

.ui-colorpicker-buttonset {
	float:					left;
	margin-left:			.4em;
}

.ui-colorpicker-buttonset .ui-button {
	margin:					.5em 0 .5em 0;
	cursor:					pointer;
}

.ui-colorpicker-buttonpane {
	background-image:		none;
	margin:					.7em 0 0 0;
	padding:				0 .2em;
	border-left:			0;
	border-right:			0;
	border-bottom:			0;
}

.ui-colorpicker-buttonpane button {
	float:					right;
	margin:					.5em .2em .4em;
	cursor:					pointer;
	padding:				.2em .6em .3em .6em;
	width:					auto;
	overflow:				visible;
}

.ui-colorpicker-buttonpane button.ui-colorpicker-current {
	float:					left;
}

.ui-colorpicker table {
	width:					100%;
    font-size:				100%; /* Reset browser table font-size */
	margin:					0;
}

.ui-colorpicker table td {
	vertical-align:			top;
}

.ui-colorpicker-padding-left {
	padding-left:			10px;
}
.ui-colorpicker-padding-top {
	padding-top:			10px;
}

.ui-colorpicker-border {
	border:					1px inset;
    display:				inline-block;
}

/* Bar & map */
.ui-colorpicker-map > *,
.ui-colorpicker-bar > * {
    position:				absolute;
	cursor:					crosshair;
}

.ui-colorpicker-map-pointer,
.ui-colorpicker-bar-pointer {
    position:				absolute;
	left:					0;
}

/* Map */
.ui-colorpicker-map,
.ui-colorpicker-map > * {
    display:				block;
	width:					256px;
	height:					256px;
	overflow:				hidden;
}

.ui-colorpicker-map-layer-1,
.ui-colorpicker-map-layer-2 {
	background:				url(map.b1dae8c8c80376dd.png) no-repeat;
}

.ui-colorpicker-map-128,
.ui-colorpicker-map-128 > * {
	width:					128px;
	height:					128px;
}

.ui-colorpicker-map-128 .ui-colorpicker-map-layer-1,
.ui-colorpicker-map-128 .ui-colorpicker-map-layer-2 {
	background:				url(map.7114a79e638e78be.png) no-repeat;
}

.ui-colorpicker-map-layer-alpha {
	background:				url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAC1JREFUeNpiPHPmDAM2YGxsjFWciYFEMKqBGMD4//9/rBJnz54dDSX6aQAIMABCtQiAsDRF+wAAAABJRU5ErkJggg==);
}

.ui-colorpicker-map-pointer {
	display:				inline-block;
	width:					15px;
	height:					15px;
	background:				url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPpJREFUeNqkU7sNgzAQPQWJDegYACp2gFSUrMAEzMEKdBR0ERVVuogKKS0UULAGHzn30AkpUT5WOOn57Lv37POP6NksRswoGD1jFl9I3KJXU0rBBYwyiiKVZZlq21ZN07R5jBFHHjzh7xbYtn1P01Qty3LjZMLwGKb4BHHkwZOF9lJLJNhyhoOZ3wDxHDypYNtCjJJkxU/CfQLwZAvxiZtzGIZkGMaF+x19tw488KFD0+NQZG+kAQ98uQWacapyODpiE3zoUPY4DAMmcUnPXOGPEDd1XWPga4p94TcQX6uqonVdI+47P4QOeOBDd/ieD72ww2/7r1/1EGAAV2NksWTZPHwAAAAASUVORK5CYII=) no-repeat;
}

/* Bar */
.ui-colorpicker-bar,
.ui-colorpicker-bar > * {
    display:				block;
    width:					20px;
    height:					256px;
	overflow:				hidden;
    background-repeat:		repeat-x;
}

.ui-colorpicker-bar-128,
.ui-colorpicker-bar-128 > * {
	height:					128px;
}

.ui-colorpicker-bar-layer-1,
.ui-colorpicker-bar-layer-2,
.ui-colorpicker-bar-layer-3,
.ui-colorpicker-bar-layer-4 {
	background:				url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAA84CAYAAADKKOIFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAASBJREFUeNrs2ssOgjAQheFDF77/8xLI2AEENWIo4CWdn8UXtbMprSdtQSZZki6qBZl6S33+klqpGvJleaBy/2pB6sxnX+fzr1Ut+AS05P2rhTxO3qfOg6L1wasD2TBU3ksN5Nk4fZpoSj5tbWhKSnY2FJX8gHRe8c7WoobDxf/+2znFnxutw8Vf48hfcmtDUZZsaFgvfnGRiWQimUgmxslEjUvF+fJNy1xiaVhAAgCEYojFMQl9H00mAkBslmUjmQgArBN1S8L7py1kIgBEjMN354njphoAIBJr7+KQiQAQk+UxNJkIAOHXict5otg7A0DsOHw4T3xeJ45hCQAQiPX3E7k5ABCSlfcTuTkAEHCdOD93Xk4WyUQACLltzl4FGACT38aTA+sZOgAAAABJRU5ErkJggg==) repeat-x;
}

.ui-colorpicker-bar-128 .ui-colorpicker-bar-layer-1,
.ui-colorpicker-bar-128 .ui-colorpicker-bar-layer-2,
.ui-colorpicker-bar-128 .ui-colorpicker-bar-layer-3,
.ui-colorpicker-bar-128 .ui-colorpicker-bar-layer-4 {
	background:				url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAecCAYAAAEMTc8MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA9ZJREFUeNqsk8Fpw0AURIcNQRAnWdvRLQW4BheQGnI1uDFfXEMKSBkpIMes0EEYGcYzCl4w+Kavw9NK+vu0f9gF8VBA7Cl8Ez8g0wG63jUCPoyjwRMT4E/cEhvVp53rfj2TX8ankXPWTDYqxrPxaiwrWuOtjtrbd+talyeBVfRvHv34dOtbVbR3sK7SVfW9WHXG6NUXDWcDi6l9suBPjJEmdOq8R5RPQoU4IKzpBm56lA/F9pkAF9cQqRRjpKnz9kEf5dPNO3EIa1op+liNPlYFs+EUryEqxRjp/06kUgxaJJWiljqENY2GFwFYrWMbhIEYCqAWFCBOKBGCGRiAMRiAlv0yADMwADNQpkhxQleY/x1xKBF0P0UUpbAu9vdTUPTEeleLk1rHtJ+DrwOnH0w9wrB7NWztduHq3mJ/n5xqvD+OSVxWbrYVj3aqyv6HZl9u2pEblHrZ59pUE2f1dv84nJkYfGWDsIkfKuOBPcgyvjASNLvo+EqcpXPevcIwa1gFdyR70Bm2YHKyjBtfMbFFx1eKDeBzL/hodpHL1MBYH3SGMYsu4wH/IUxO0fGVyJfzqAJj2UV/C8CMtewgCAPB8V31oHdPfoAJ//8VePbkB5iUEyQk1J0ttkIIetzLBFrYTqbb3QEJemGoAhlk7BGiAyiZtkPASovbjblRcD8+ALx0k5+MVyKDjF2DrrXkYyNA18nE4s4o5TeIm4vlkFGiBcuwS+CGsE/gUhX9A/Jrh4koLq22HV5t4L0/qyq8XaeJ7SxJN7H4PLXjb34jkj2/mNZBWmnNDWgouzlwPMkte4BJfjRf2qk9HZhdESsRETArovp29oCgPrbhkDlwkolBG59FfvEsgz4bdbAromQiWqubrJ+kvYix2zewByc4/oBojfJjHexrYoBZESuKCJgVka3lLUC7ZrPaMAwE4YmslEIPOhWS938591AQuQXibHesRI5MQuTtdS+D1/KP+NCuR4tBb6ThAb2CK64SfrBDGPmI90K/rEv+kyXjyPV/6BLgPJebX85vRIfoxd+CgVaD9/fKvKG8bYhGvrxPyr5M8my2JdDx7MLdjIV6tEisA7Ge29dwJUNrOWPr8GI78NGG+3/I6h1L+HJCzyY+tGF8gmQJT2DnFPdzDnEDRFKbCkRdiF+YuPgvHHHZJqVDkCUTojhEK0T9JuckChEO0QqRxiYjEaKnsxki05k1USZ+2S+sli6bpFocQhSHaIWo6Zyy1kQ4RCvE0nrOiRA9nc0Q2XpnOjOfA38IcNkoDz5RHKIVYmnFJkKEQ7RCZDonMJ0dojmdFeIfxH5fEDlw4I8AAAAASUVORK5CYII=) repeat-x;
}

.ui-colorpicker-bar-layer-alpha {
	background:				url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAChJREFUeNpiPHPmDAMMGBsbw9lMDDgA6RKM////h3POnj1LCzsAAgwAQtYIcFfEyzkAAAAASUVORK5CYII=);
}

.ui-colorpicker-bar-layer-alphabar {
	background:				url(data:image/png;base64,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);
}

.ui-colorpicker-bar-128 .ui-colorpicker-bar-layer-alphabar {
	background:				url(data:image/png;base64,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);
}

.ui-colorpicker-bar-pointer {
	display:				inline-block;
	width:					20px;
	height:					7px;
	background:				url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGhJREFUeNpiLCnK+s+ABNw9AxkZSAA7t69H0c8CIrp7p8IFSouz/xNrKMgwNL0MTOiKQArQbSXGMDgAeRkbgAYFVoxPDws220FOB3kbiHG6EBQ02FzIhMswQl4GqQGpRQeM1I5lgAADAGvJY88rS+siAAAAAElFTkSuQmCC) no-repeat;
}

/* Preview */
.ui-colorpicker-preview {
	text-align:				center;
	height:					20px;
}

.ui-colorpicker-preview-initial {
    cursor:					pointer;
}

.ui-colorpicker-preview-initial,
.ui-colorpicker-preview-current {
    width:					50px;
    height:					20px;
    display:				inline-block;
}

.ui-colorpicker-preview-initial-alpha,
.ui-colorpicker-preview-current-alpha {
    width:					50px;
    height:					20px;
    display:				inline-block;
	background:				url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAClJREFUeNpiPHPmDAMSMDY2RuYyMeAFNJVm/P//PzL/7Nmzg8VpAAEGALE5CHQT4Ca/AAAAAElFTkSuQmCC) repeat;
}

/* Inputs */
.ui-colorpicker-rgb label,
.ui-colorpicker-hsv label,
.ui-colorpicker-hsl label,
.ui-colorpicker-lab label,
.ui-colorpicker-cmyk label,
.ui-colorpicker-alpha label {
    width:					1.5em;
    display:				inline-block;
}

.ui-colorpicker-number {
	margin:					.1em;
	width:					4em;
}

/* Hex */
.ui-colorpicker-hex {
	text-align:				center;
}

/* Swatches */
.ui-colorpicker-swatches {
	height:					256px;
	overflow:				auto;
	background-color:		#f8f8f8;
}

.ui-colorpicker-swatch {
	cursor:					pointer;
	float:					left;
	width:					11px;
	height:					11px;
    border-right:			1px solid black;
    border-bottom:			1px solid black;
}

.ui-colorpicker-disabled {
	opacity:				.5;
	-ms-filter:				"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
	filter:					alpha(opacity=50);
	pointer-events:			none;
}

.ui-colorpicker-disabled * {
	cursor:					default !important;
}
/* this gets exported as style.css and can be used for the default theming */
/* these are the necessary styles for React/Svelte Flow, they get used by base.css and style.css */
.react-flow {
  direction: ltr;

  --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: rgba(255, 255, 255, 0.5);

  --xy-minimap-background-color-default: #fff;
  --xy-minimap-mask-background-color-default: rgba(240, 240, 240, 0.6);
  --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: rgba(240, 240, 240, 0.25);
  --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, 0.08);
  --xy-node-boxshadow-selected-default: 0 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: rgba(0, 89, 220, 0.08);
  --xy-selection-border-default: 1px dotted rgba(0, 89, 220, 0.8);

  --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 rgba(0, 0, 0, 0.08);

  --xy-edge-label-background-color-default: #ffffff;
  --xy-edge-label-color-default: inherit;
  --xy-resize-background-color-default: #3367d9;
}
.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: rgba(150, 150, 150, 0.25);

  --xy-minimap-background-color-default: #141414;
  --xy-minimap-mask-background-color-default: rgba(60, 60, 60, 0.6);
  --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: rgba(240, 240, 240, 0.25);
  --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, 0.08);
  --xy-node-boxshadow-selected-default: 0 0 0 0.5px #999;

  --xy-handle-background-color-default: #bebebe;
  --xy-handle-border-color-default: #1e1e1e;

  --xy-selection-background-color-default: rgba(200, 200, 220, 0.08);
  --xy-selection-border-default: 1px dotted rgba(200, 200, 220, 0.8);

  --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 rgba(0, 0, 0, 0.08);

  --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 {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.react-flow__pane {
  z-index: 1;
}
.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 {
    overflow: visible;
    position: absolute;
    pointer-events: none;
  }
.react-flow__edge {
  pointer-events: visibleStroke;
}
.react-flow__edge.selectable {
    cursor: pointer;
  }
.react-flow__edge.animated path {
    stroke-dasharray: 5;
    animation: dashdraw 0.5s linear infinite;
  }
.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;
       -moz-user-select: none;
            user-select: none;
  }
/* Arrowhead marker styles - use CSS custom properties as default */
.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: dashdraw 0.5s linear infinite;
  }
svg.react-flow__connectionline {
  z-index: 1001;
  overflow: visible;
  position: absolute;
}
.react-flow__nodes {
  pointer-events: none;
  transform-origin: 0 0;
}
.react-flow__node {
  position: absolute;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: all;
  transform-origin: 0 0;
  box-sizing: border-box;
  cursor: default;
}
.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: left top;
  pointer-events: none;
}
.react-flow__nodesselection-rect {
    position: absolute;
    pointer-events: all;
    cursor: grab;
  }
.react-flow__handle {
  position: absolute;
  pointer-events: none;
  min-width: 5px;
  min-height: 5px;
  width: 6px;
  height: 6px;
  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%;
}
.react-flow__handle.connectingfrom {
    pointer-events: all;
  }
.react-flow__handle.connectionindicator {
    pointer-events: all;
    cursor: crosshair;
  }
.react-flow__handle-bottom {
    top: auto;
    left: 50%;
    bottom: 0;
    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 {
  position: absolute;
  z-index: 5;
  margin: 15px;
}
.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: translateX(-15px) translateX(-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 {
  font-size: 10px;
  background: var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));
  padding: 2px 3px;
  margin: 0;
}
.react-flow__attribution a {
    text-decoration: none;
    color: #999;
  }
@keyframes dashdraw {
  from {
    stroke-dashoffset: 10;
  }
}
.react-flow__edgelabel-renderer {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  left: 0;
  top: 0;
}
.react-flow__viewport-portal {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.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 {
  display: flex;
  flex-direction: column;
  box-shadow: var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default));
}
.react-flow__controls.horizontal {
    flex-direction: row;
  }
.react-flow__controls-button {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 26px;
    width: 26px;
    padding: 4px;
    border: none;
    background: var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));
    border-bottom: 1px solid
      var(
        --xy-controls-button-border-color-props,
        var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))
      );
    color: var(
      --xy-controls-button-color-props,
      var(--xy-controls-button-color, var(--xy-controls-button-color-default))
    );
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
.react-flow__controls-button svg {
      width: 100%;
      max-width: 12px;
      max-height: 12px;
      fill: currentColor;
    }
.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 {
  padding: 10px;
  border-radius: var(--xy-node-border-radius, var(--xy-node-border-radius-default));
  width: 150px;
  font-size: 12px;
  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));
}
.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: 0.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;
}
/* handle styles */
.react-flow__resize-control.handle {
  width: 5px;
  height: 5px;
  border: 1px solid #fff;
  border-radius: 1px;
  background-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
  translate: -50% -50%;
}
.react-flow__resize-control.handle.left {
  left: 0;
  top: 50%;
}
.react-flow__resize-control.handle.right {
  left: 100%;
  top: 50%;
}
.react-flow__resize-control.handle.top {
  left: 50%;
  top: 0;
}
.react-flow__resize-control.handle.bottom {
  left: 50%;
  top: 100%;
}
.react-flow__resize-control.handle.top.left {
  left: 0;
}
.react-flow__resize-control.handle.bottom.left {
  left: 0;
}
.react-flow__resize-control.handle.top.right {
  left: 100%;
}
.react-flow__resize-control.handle.bottom.right {
  left: 100%;
}
/* line styles */
.react-flow__resize-control.line {
  border-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
  border-width: 0;
  border-style: solid;
}
.react-flow__resize-control.line.left,
.react-flow__resize-control.line.right {
  width: 1px;
  transform: translate(-50%, 0);
  top: 0;
  height: 100%;
}
.react-flow__resize-control.line.left {
  left: 0;
  border-left-width: 1px;
}
.react-flow__resize-control.line.right {
  left: 100%;
  border-right-width: 1px;
}
.react-flow__resize-control.line.top,
.react-flow__resize-control.line.bottom {
  height: 1px;
  transform: translate(0, -50%);
  left: 0;
  width: 100%;
}
.react-flow__resize-control.line.top {
  top: 0;
  border-top-width: 1px;
}
.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));
}

