/* traceability 页 traceability-story 模块样式（自 page-traceability.css 按业务边界抽出） */
.traceability-redesign .story-section { padding: var(--wk-space-4) 0; background: var(--wk-gray-bg); }
.traceability-redesign .story-timeline {
  max-width: 860px;
  margin: 0 auto;
}
.traceability-redesign .story-step {
  display: flex;
  gap: var(--wk-space-2xl);
  margin-bottom: 0;
  position: relative;
}
.traceability-redesign .story-step:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 27px;
  top: 56px;
  bottom: -8px;
  width: 2px;
  background: linear-gradient(180deg, var(--wk-brand), var(--wk-border-soft));
}
.traceability-redesign .story-time {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: var(--wk-radius-circle);
  background: var(--wk-brand);
  color: var(--wk-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--wk-text-sm);
  font-weight: 800;
  font-family: var(--wk-font-sans);
  z-index: 2;
  box-shadow: 0 4px 16px var(--wk-brand-tint-md);
}
.traceability-redesign .story-step:nth-child(2) .story-time { background: var(--wk-brand); box-shadow: 0 4px 16px var(--wk-brand-tint-md); }
.traceability-redesign .story-step:nth-child(3) .story-time { background: var(--wk-brand); box-shadow: 0 4px 16px var(--wk-brand-tint-md); }
.traceability-redesign .story-step:nth-child(4) .story-time { background: var(--wk-brand); box-shadow: 0 4px 16px var(--wk-brand-tint-md); }
.traceability-redesign .story-content {
  background: var(--wk-surface);
  border: 1px solid var(--wk-border-soft);
  border-radius: var(--wk-radius-16);
  padding: var(--wk-space-2xl) var(--wk-space-3xl);
  flex: 1;
  margin-bottom: var(--wk-space-lg);
  transition: all 0.3s;
}
.traceability-redesign .story-content:hover {
  box-shadow: 0 8px 32px var(--wk-overlay-soft);
  transform: translateX(4px);
}
.traceability-redesign .story-content h4 {
  font-size: var(--wk-text-h3);
  font-weight: 700;
  color: var(--wk-ink);
  margin-bottom: var(--wk-space-md);
}
.traceability-redesign .story-content p {
  font-size: var(--wk-text-md);
  color: var(--wk-text-secondary);
  line-height: var(--wk-leading);
}
.traceability-redesign .story-content .highlight {
  background: var(--wk-brand-light);
  padding: var(--wk-space-xs) var(--wk-space-sm);
  border-radius: var(--wk-radius-4);
  color: var(--wk-brand-text);
  font-family: var(--wk-font-sans);
  font-weight: 700;
  font-size: var(--wk-text-sm);
}
.traceability-redesign .story-content .danger { color: var(--wk-danger-text); font-weight: 600; }
.traceability-redesign .story-content .success { color: var(--wk-success-text); font-weight: 700; }
.traceability-redesign .story-toggle-wrap {
  text-align: center;
  margin: 0 auto var(--wk-space-2);
}
.traceability-redesign .story-toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--wk-space-md);
  background: var(--wk-brand);
  color: var(--wk-white);
  border: none;
  border-radius: var(--wk-radius-12);
  padding: var(--wk-space-lg) var(--wk-space-2);
  font-size: var(--wk-text-h3);
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: 0 4px 20px var(--wk-brand-tint-md);
  font-family: inherit;
}
.traceability-redesign .story-toggle-btn:hover {
  background: var(--wk-brand-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 32px var(--wk-brand-tint-lg);
}
.traceability-redesign .story-toggle-btn .arrow {
  display: inline-block;
  transition: transform 0.3s;
  font-size: var(--wk-text-sm);
}
.traceability-redesign .story-toggle-btn.expanded .arrow { transform: rotate(180deg); }
.traceability-redesign .story-toggle-hint {
  font-size: var(--wk-text-sm);
  color: var(--wk-text-light);
  margin-top: var(--wk-space-md);
}
.traceability-redesign .story-sim-body {
  display: none;
}
.traceability-redesign .story-sim-body.open {
  display: block;
  animation: trace-story-fadeIn 0.5s;
}
@keyframes trace-story-fadeIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 600px) {
.traceability-redesign .story-step { gap: var(--wk-space-lg); }
.traceability-redesign .story-time { width: 44px; height: 44px; font-size: var(--wk-text-xs); }
.traceability-redesign .story-step:not(:last-child)::after { left: 21px; }
}
