/* Actual stage completion, with indeterminate activity rather than a guessed percentage. */
.generation-progress{border-radius:12px;padding:26px;border:1px solid var(--line);background:var(--soft);margin-bottom:26px}
.generation-progress .progress-kicker{font-size:13px;font-weight:600;color:#875713;margin:0 0 10px}
.generation-progress h2{font-size:clamp(25px,3vw,34px);line-height:1.2;margin:0 0 24px}
.generation-progress .creation-steps{list-style:none;padding:0;margin:0;display:grid;gap:12px;line-height:1.5}
.creation-step{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:18px;background:rgba(255,255,255,.45);border:1px solid transparent;border-radius:10px}
.creation-step.is-running{background:var(--paper,#fffcf6);border-color:#bd955e}
.creation-step-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid #bdb4a5;border-radius:50%;font-size:14px}
.is-complete .creation-step-icon{background:#e0e8dc;color:#34533a;border-color:#b5c6ae;font-weight:700}
.creation-step-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.creation-step-heading h3{font-family:var(--sans);font-size:16px;font-weight:600;line-height:1.4;letter-spacing:0;margin:0}
.creation-step-status{font-size:12px;font-weight:600;color:#6b604f}
.is-complete .creation-step-status{color:#34533a}.is-running .creation-step-status{color:#875713}
.generation-progress .creation-step p{font-size:14px;line-height:1.5;color:var(--muted);margin:6px 0 0}
.creation-spinner{width:16px;height:16px;border:2px solid #e0d5c3;border-top-color:#875713;border-radius:50%;animation:creation-spin 1s linear infinite}
.creation-activity{height:3px;background:#eee5d8;overflow:hidden;border-radius:3px;margin-top:13px}
.creation-activity span{display:block;width:35%;height:100%;background:#b0803b;animation:creation-travel 2s ease-in-out infinite alternate}
.generation-progress .creation-help{font-size:14px;line-height:1.6;margin:20px 0 0;color:var(--muted)}
@keyframes creation-spin{to{transform:rotate(360deg)}}
@keyframes creation-travel{from{transform:translateX(-100%)}to{transform:translateX(285%)}}
@media(prefers-reduced-motion:reduce){.creation-spinner,.creation-activity span{animation:none}}
@media(max-width:500px){.generation-progress{padding:18px}.creation-step{padding:14px;gap:9px}}
