/* 项目页 11 步清单 + 制作助手没跑完的指令（芦嘉怡 10/27） */
.psteps { margin: 8px 16px 0; padding: 10px 14px; border: 1px solid var(--line, #e5e7eb); border-radius: 12px; background: var(--card, #fff); font-size: 13px; }
.psteps-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.psteps-now { color: var(--muted, #6b7280); flex: 1; min-width: 0; }
.psteps-toggle { margin-left: auto; }
.psteps-bar { display: flex; gap: 4px; list-style: none; margin: 8px 0 0; padding: 0; flex-wrap: wrap; }
.psteps-item { display: flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: 999px; background: #f3f4f6; color: #6b7280; cursor: default; }
.psteps-item.is-link, .psteps-row.is-link { cursor: pointer; }
.psteps-item.is-link:hover { filter: brightness(0.96); box-shadow: inset 0 0 0 1px currentColor; }
.psteps-row.is-link:hover { background: #f9fafb; }
.psteps-flash { animation: psteps-flash 1.6s ease-out; border-radius: 10px; }
@keyframes psteps-flash { 0%, 40% { box-shadow: 0 0 0 3px #1d4ed8; } 100% { box-shadow: 0 0 0 3px transparent; } }
.psteps-item.is-done { background: #ecfdf3; color: #067647; }
.psteps-item.is-current { background: #eff4ff; color: #1d4ed8; font-weight: 600; box-shadow: inset 0 0 0 1.5px #1d4ed8; }
.psteps-item.is-manual { background: #fafafa; color: #9ca3af; border: 1px dashed #d1d5db; }
.psteps-num { display: inline-flex; min-width: 16px; justify-content: center; font-variant-numeric: tabular-nums; }
.psteps-detail { display: none; margin-top: 10px; border-top: 1px solid var(--line, #e5e7eb); padding-top: 8px; }
.psteps.open .psteps-detail { display: grid; gap: 6px; }
.psteps-row { display: flex; gap: 8px; padding: 4px 6px; border-radius: 8px; }
.psteps-row.is-current { background: #eff4ff; }
.psteps-row .psteps-num { width: 20px; color: #6b7280; }
.psteps-row.is-done .psteps-num { color: #067647; }
.psteps-row-title { font-weight: 600; }
.psteps-std { color: #4b5563; }
.psteps-miss { color: #b42318; }
.psteps-manual { color: #9ca3af; }
.proj-failed { display: grid; gap: 6px; margin: 6px 0; }
.pfailed-card { display: flex; gap: 10px; align-items: center; padding: 8px 10px; border-radius: 10px; background: #fef3f2; border: 1px solid #fecdca; font-size: 13px; }
.pfailed-main { flex: 1; min-width: 0; }
.pfailed-why { color: #b42318; }
.pfailed-ins { color: #4b5563; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
