/* ANDAMENTO — модуль «Процесс создания» (v2.10 P1): static/progress.js.
   Один контейнер .gen-progress в разделе: внутри — ход задания (.gp-run) и блок ошибки раздела. */
.gen-progress { display: block; }
.gen-progress .gp-run:empty { display: none; }
.gen-progress .gp-run { text-align: center; padding: var(--sp-8) 0; }
.gen-progress .gp-title { color: var(--text-2); font-size: var(--fs-md); font-weight: 600; }
.gen-progress .gp-meta { color: var(--muted-2); font-size: var(--fs-xs); margin-top: var(--sp-1);
  font-variant-numeric: tabular-nums; display: flex; flex-wrap: wrap; justify-content: center; gap: 0 6px; }
.gen-progress .gp-stage { color: var(--muted); font-size: var(--fs-xs); margin-top: var(--sp-2); }
.gen-progress .gp-faq { display: inline-block; margin-top: var(--sp-4); font-size: var(--fs-xs); color: var(--gold);
  text-decoration: underline dashed; text-underline-offset: 3px; line-height: 1.5; max-width: 320px; }
.gen-progress .gp-faq[hidden], .gen-progress .gp-stage[hidden] { display: none; }
.gen-progress .gp-cancel { display: block; margin: var(--sp-4) auto 0; background: none; border: 1px solid var(--border-2);
  border-radius: var(--r-sm); color: var(--muted); font: inherit; font-size: var(--fs-xs); padding: 6px 14px; cursor: pointer; }
/* разделы с витражным акцентом — ссылка в цвет раздела */
#page-vitrage .gen-progress .gp-faq { color: var(--cobalt-2, var(--gold)); }
#page-graphics .gen-progress .gp-faq { color: var(--patina-2, var(--gold)); }

/* ошибка в том же модуле: общий низ «кредиты вернули · Попробовать ещё раз» */
.gen-progress .gp-fail-foot { margin-top: var(--sp-3); display: flex; flex-direction: column; align-items: center; gap: var(--sp-2); }
.gen-progress .gp-refunded { font-size: var(--fs-xs); color: var(--muted); }
.gen-progress .gp-retry { max-width: 240px; margin: 0; }

/* десктоп: модуль занимает свободную высоту колонки результата, по центру; ошибка — там же */
@media (min-width: 1200px) {
  .gen-side .gen-progress.gp-on, .vitrage-side .gen-progress.gp-on, .gfx-side .gen-progress.gp-on,
  .viz-side .gen-progress.gp-on {
    flex: 1; display: flex; flex-direction: column; justify-content: center; }
  /* отдельным правилом: браузер без :has отбросит только его */
  .gen-side .gen-progress.gp-err:has(> .error-box[style*="block"]),
  .vitrage-side .gen-progress.gp-err:has(> .error-box[style*="block"]),
  .gfx-side .gen-progress.gp-err:has(> .error-box[style*="block"]),
  .viz-side .gen-progress.gp-err:has(> .error-box[style*="block"]) {
    flex: 1; display: flex; flex-direction: column; justify-content: center; }
  .gen-side .gen-progress .gp-run, .vitrage-side .gen-progress .gp-run, .gfx-side .gen-progress .gp-run,
  .viz-side .gen-progress .gp-run {
    padding: var(--sp-10) 0; }
}
