.dag {
  .node {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    background-color: #fff;
    border: 1px solid #c2c8d5;
    border-left: 4px solid #1890ff;
    border-radius: 4px;
    box-shadow: 0 2px 5px 1px rgb(0 0 0 / 6%);

    img {
      flex-shrink: 0;
      width: 20px;
      height: 20px;
      margin-left: 8px;
    }

    .label {
      display: inline-block;
      flex-shrink: 0;
      width: 104px;
      margin-left: 8px;
      color: #666;
      font-size: 12px;
    }

    .status {
      flex-shrink: 0;
    }

    &.success {
      border-left: 4px solid #52c41a;
    }

    &.failed {
      border-left: 4px solid #ff4d4f;
    }

    &.running .status img {
      animation: spin 1s linear infinite;
    }
  }

  .x6-node-selected {
    .node {
      border-color: #1890ff;
      border-radius: 2px;
      box-shadow: 0 0 0 4px #d4e8fe;
    }

    .node.success {
      border-color: #52c41a;
      border-radius: 2px;
      box-shadow: 0 0 0 4px #ccecc0;
    }

    .node.failed {
      border-color: #ff4d4f;
      border-radius: 2px;
      box-shadow: 0 0 0 4px #fedcdc;
    }
  }

  .x6-edge:hover {
    path:nth-child(2) {
      stroke: #1890ff;
      stroke-width: 1px;
    }
  }

  .x6-edge-selected {
    path:nth-child(2) {
      stroke: #1890ff;
      stroke-width: 1.5px !important;
    }
  }
}

@keyframes running-line {
  to {
    stroke-dashoffset: -1000;
  }
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}
