.analysis-flow {
  margin: 30px 0;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  text-align: center;
  font-size: 14px;
}
.analysis-flow-steps {
  list-style: none;
  margin: 0;
  padding: 0;
}
.analysis-flow-card {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 5px;
  opacity: calc(.16 + var(--analysis-step-progress, 1) * .84);
  transform: translateY(calc((1 - var(--analysis-step-progress, 1)) * 6px));
}
.analysis-flow-tools {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  border-color: #a0a0a5;
}
.analysis-flow-result {
  background: #eaffed;
  border-color: #b1eebe;
}
.analysis-flow-connector {
  display: block;
  width: 24px;
  height: 36px;
  margin: 0 auto;
  overflow: visible;
  fill: none;
  stroke: var(--green);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.analysis-flow-track { stroke: #e5e9e5; }
html[data-theme="dark"] .analysis-flow {
  background: #141414;
  color: #fff;
}
html[data-theme="dark"] .analysis-flow-card {
  background: #1d1d1f;
  border-color: #333336;
}
html[data-theme="dark"] .analysis-flow-tools { border-color: #626268; }
html[data-theme="dark"] .analysis-flow-result {
  background: #0b2a12;
  border-color: #00cc2d;
}
html[data-theme="dark"] .analysis-flow-track { stroke: #333336; }
@media (max-width: 600px) {
  .analysis-flow { padding: 18px; font-size: 13px; }
  .analysis-flow-card { padding: 14px 10px; }
  .analysis-flow-tools { gap: 8px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .analysis-flow-card { transform: none; }
}
@media print {
  .analysis-flow-card { opacity: 1 !important; transform: none !important; }
  .analysis-flow [data-analysis-connector] { stroke-dashoffset: 0 !important; }
}
