.generation-progress-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:20px;background:rgba(15,12,35,.56);backdrop-filter:blur(5px)}
.generation-progress-modal[hidden]{display:none}
.generation-progress-card{position:relative;width:min(560px,100%);max-height:90vh;overflow:auto;padding:30px;border:1px solid #ddd5ff;border-radius:24px;background:#fff;color:#221d3a;text-align:center;box-shadow:0 28px 80px rgba(25,18,62,.28)}
.generation-progress-close{position:absolute;inset:14px 14px auto auto;width:38px;height:38px;border:1px solid #ded8f3;border-radius:50%;background:#fff;color:#4b4268;font-size:24px;cursor:pointer}
.generation-progress-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 12px;border-radius:18px;background:#eee9ff;color:#7048e8;font-size:25px;animation:generationPulse 1.5s ease-in-out infinite}
.generation-progress-card h2{margin:0 0 8px;font-size:22px}.generation-progress-stage{margin:0 0 18px;color:#625a77}
.generation-progress-track{height:12px;overflow:hidden;border-radius:99px;background:#eeeaf8}.generation-progress-track span{display:block;width:6%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7651eb,#9e85fa);transition:width .7s ease}
.generation-progress-times{display:flex;justify-content:space-between;gap:12px;margin:12px 0;font-size:13px;color:#6d6680}.generation-progress-times strong{color:#5842a6}
.generation-progress-note{margin:15px 0;color:#817990;font-size:12px;line-height:1.8}
.generation-progress-result{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:15px}.generation-progress-result img,.generation-progress-result video{width:100%;max-height:330px;border-radius:14px;background:#f5f2fc;object-fit:contain}
.generation-progress-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}.generation-progress-actions a,.generation-progress-actions button{min-height:42px;padding:9px 18px;border-radius:12px;text-decoration:none;cursor:pointer}.generation-progress-actions .primary{border:0;background:#7651eb;color:#fff}.generation-progress-actions .outline{border:1px solid #cfc5f7;background:#fff;color:#5c43bb}
.generation-progress-failed .generation-progress-icon{background:#fff0f0;color:#c43f4f;animation:none}.generation-progress-failed .generation-progress-track span{background:#d65b68}
@keyframes generationPulse{50%{transform:scale(1.08);box-shadow:0 0 0 10px rgba(118,81,235,.08)}}
@media(max-width:540px){.generation-progress-card{padding:26px 18px}.generation-progress-times{flex-direction:column;gap:4px}}
