/* prettier-ignore */
:host {
  --bce-con1:var(--bce-con1-surface);
  --bce-con2:var(--bce-con2-surface);
  --bce-con3:var(--bce-con3-surface);
  --bce-con4:var(--bce-con4-surface);
  --bce-c-surface:var(--bce-c001-surface);
  z-index: 1;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  position: relative;
  display: block;
  margin-bottom: 0.5rem;
  padding: 1rem;
  border-radius: 4px;
  background-color: var(--bce-c-surface);
  color: var(--bce-con1-surface);
  overflow: auto;
}
:host > div {
  position: relative;
  margin: 0 auto;
}
:host [data-edge] polyline {
  fill: none;
  stroke: var(--bce-con2-surface);
}
:host [data-edge][data-hover] > polyline {
  stroke: var(--bce-c500);
}
:host [data-edge-control] {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 -15px;
  opacity: 0;
}
:host [data-edge-control][data-hover] {
  opacity: 1;
}
:host [data-node] {
  --bce-c300:var(--bce-c300-primary);
  --bce-c400:var(--bce-c400-primary);
  --bce-c500:var(--bce-c500-primary);
  --bce-c600:var(--bce-c600-primary);
  --bce-c700:var(--bce-c700-primary);
  --bce-con1:var(--bce-con1-primary);
  --bce-con2:var(--bce-con2-primary);
  --bce-con3:var(--bce-con3-primary);
  --bce-con4:var(--bce-con4-primary);
  position: absolute;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-end;
  align-items: center;
}
:host [data-node] > :first-child {
  position: absolute;
  top: 25px;
  bottom: 25px;
  left: 15px;
  right: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--bce-c500);
  color: var(--bce-con1);
  font-size: 0.9rem;
  user-select: none;
  border: solid 1px var(--bce-con2-surface);
  border-radius: 5px;
  cursor: pointer;
}
:host [data-node] > :first-child[data-blueprint] {
  background-color: var(--bce-c500-light);
  color: var(--bce-con1-light);
}
:host [data-node] > :first-child[data-current] {
  background-color: var(--bce-c500);
}
:host [data-node] > :first-child[data-start], :host [data-node] > :first-child[data-end] {
  top: 35px;
  bottom: 35px;
  left: 35px;
  right: 35px;
  background-color: var(--bce-c-surface);
  border-radius: 50%;
  cursor: default;
}
:host [data-node] > :first-child[data-start] {
  border-width: 2px;
}
:host [data-node] > :first-child[data-end] {
  border-width: 4px;
}
:host [data-node] [data-node-control] {
  margin: 0 -12px -16px;
  opacity: 0;
}
:host [data-node]:hover [data-node-control] {
  opacity: 1;
}
:host [data-linking] [data-node] > :first-child:not([data-linkable]) {
  border-color: var(--bce-con4-light);
  background-color: var(--bce-c700-light);
  color: var(--bce-con4-light);
}
:host [data-linking] [data-node] > :first-child[data-linking],
:host [data-linking] [data-node] > :first-child[data-linkable]:hover {
  border-color: var(--bce-c500);
  border-width: 2px;
  background-color: var(--bce-c500-light);
  color: var(--bce-c500);
}