.algorithm-learning-workflow {
  --alg-workflow-canvas-width: 760px;
  --alg-workflow-canvas-height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 14rem;
  padding: 1rem;
  overflow: auto;
  border: 1px solid #dbe7f5;
  border-radius: 1rem;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(180deg, #eff6ff, #ffffff) border-box;
}

.algorithm-learning-workflow svg {
  display: block;
  flex: 0 0 auto;
  width: var(--alg-workflow-canvas-width);
  height: var(--alg-workflow-canvas-height);
  max-width: none;
  overflow: visible;
}

.algorithm-learning-workflow[data-diagram-type="flowchart"] .algorithm-learning-workflow__node rect,
.algorithm-learning-workflow[data-diagram-type="flowchart"] .algorithm-learning-workflow__node polygon {
  fill: #ffffff;
  stroke: #1f2d3d;
  stroke-width: 2;
}

.algorithm-learning-workflow[data-diagram-type="flowchart"] .algorithm-learning-workflow__node[data-type="start"] rect,
.algorithm-learning-workflow[data-diagram-type="flowchart"] .algorithm-learning-workflow__node[data-type="end"] rect {
  fill: #eef4ff;
}

.algorithm-learning-workflow[data-diagram-type="flowchart"] .algorithm-learning-workflow__node[data-type="decision"] polygon {
  fill: #f8fbff;
}

.algorithm-learning-workflow[data-diagram-type="flowchart"] .algorithm-learning-workflow__node[data-type="input-output"] polygon,
.algorithm-learning-workflow[data-diagram-type="flowchart"] .algorithm-learning-workflow__node[data-type="io"] polygon,
.algorithm-learning-workflow[data-diagram-type="flowchart"] .algorithm-learning-workflow__node[data-type="data"] polygon {
  fill: #f6f8fb;
}

.algorithm-learning-workflow[data-diagram-type="process-map"] .algorithm-learning-workflow__node rect,
.algorithm-learning-workflow[data-diagram-type="process-map"] .algorithm-learning-workflow__node polygon {
  fill: #ffffff;
  stroke: #0d6efd;
  stroke-width: 2;
}

.algorithm-learning-workflow[data-diagram-type="process-map"] .algorithm-learning-workflow__node[data-type="start"] rect,
.algorithm-learning-workflow[data-diagram-type="process-map"] .algorithm-learning-workflow__node[data-type="end"] rect {
  fill: #e7f1ff;
}

.algorithm-learning-workflow__node text,
.algorithm-learning-workflow__edge-label {
  fill: #1f2d3d;
  font-family: "Pretendard Variable", "SUIT Variable", "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;
  font-size: 16px;
  font-weight: 700;
}

.algorithm-learning-workflow[data-diagram-type="flowchart"] .algorithm-learning-workflow__edge {
  fill: none;
  stroke: rgba(31, 45, 61, 0.82);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.algorithm-learning-workflow[data-diagram-type="process-map"] .algorithm-learning-workflow__edge {
  fill: none;
  stroke: rgba(13, 110, 253, 0.78);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.algorithm-learning-workflow[data-diagram-type="flowchart"] .algorithm-learning-workflow__junction {
  fill: rgba(31, 45, 61, 0.84);
}

.algorithm-learning-workflow[data-diagram-type="process-map"] .algorithm-learning-workflow__junction {
  fill: rgba(13, 110, 253, 0.82);
}

.algorithm-learning-workflow__edge-label {
  paint-order: stroke;
  stroke: #ffffff;
  stroke-width: 5px;
  stroke-linejoin: round;
}

.algorithm-learning-workflow[data-diagram-type="flowchart"] .algorithm-learning-workflow__edge-label {
  font-size: 14px;
  font-weight: 700;
}

.algorithm-learning-workflow__caption {
  margin: 0;
  color: #6c757d;
  font-size: 0.94rem;
  line-height: 1.65;
}

@media (max-width: 900px) {
  .algorithm-learning-workflow {
    align-items: flex-start;
  }

  .algorithm-learning-workflow__node text,
  .algorithm-learning-workflow__edge-label {
    font-size: 15px;
  }
}

@media (max-width: 640px) {
  .algorithm-learning-workflow {
    padding: 0.9rem;
  }

  .algorithm-learning-workflow__node text,
  .algorithm-learning-workflow__edge-label {
    font-size: 14px;
  }
}
