/* Apple-informed web hierarchy, shared by image, Auto, Merge and Custom. */
:root { --progress-source-blur: 6px; }
.tior-generation-progress {
  --progress-heading: color-mix(in srgb, var(--theme-ink) 78%, var(--theme-canvas));
  --progress-body: color-mix(in srgb, var(--theme-ink) 70%, var(--theme-canvas));
  --progress-caption: color-mix(in srgb, var(--theme-ink) 70%, var(--theme-canvas));
  color: var(--progress-body);
  font-family: var(--font-ui);
  text-align: center;
}
.tior-generation-progress [hidden] { display: none !important; }
.tior-generation-progress [data-progress-title] {
  font: normal 600 1.875rem/1.2 var(--font-ui) !important;
  letter-spacing: 0;
  margin: 0 !important;
  color: var(--progress-heading);
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.tior-generation-progress [data-progress-app],
.tior-generation-progress [data-progress-elapsed],
.tior-generation-progress [data-progress-estimate],
.tior-generation-progress [data-progress-note],
.tior-generation-progress [data-progress-credits] {
  display: block;
  font: 400 .8125rem/1.5 var(--font-ui) !important;
  letter-spacing: 0;
  color: var(--progress-caption);
  margin: 6px 0 0 !important;
  overflow-wrap: anywhere;
}
.tior-generation-progress [data-progress-app] { font-size: .875rem !important; margin-top: 8px !important; }
.tior-generation-progress [data-progress-elapsed] {
  font-size: 1.25rem !important;
  font-weight: 500 !important;
  font-variant-numeric: tabular-nums;
  color: var(--progress-body);
  margin-top: 18px !important;
}
.tior-generation-progress [data-progress-credits] { margin-top: 18px !important; }
/* Eight rounded ticks: activity only, never a fabricated completion percentage. */
.tior-generation-progress .tior-workspace__spinner {
  position: relative;
  display: block;
  width: 32px !important;
  height: 32px !important;
  margin: 0 auto 20px !important;
  border: 0 !important;
  animation: none !important;
  color: var(--progress-body);
}
.tior-generation-progress .tior-workspace__spinner i {
  position: absolute;
  top: 0;
  left: 14px;
  display: block;
  width: 4px;
  height: 9px;
  border-radius: 2px;
  background: currentColor;
  transform-origin: 2px 16px;
  transform: rotate(calc(var(--tick) * 45deg));
  opacity: .25;
  animation: tior-progress-tick 1s linear infinite;
  animation-delay: calc(var(--tick) * .125s - 1s);
}
@keyframes tior-progress-tick { 0% { opacity: 1; } 100% { opacity: .25; } }
/* Recover contrast over photographs without adding a nested glass card. */
.tior-workspace__main-layout--canonical .tior-workspace__preview-stage:has(> .tior-generation-progress:not([hidden]))::after,
.merge-monitor .merge-generation-progress.tior-generation-progress {
  background: color-mix(in srgb, var(--theme-canvas) var(--progress-source-veil, 75%), transparent);
}
/* A white line drawing needs less canvas veil than a photograph.
   Preserve its blurred source in Light; keep Dark and accessibility contrast. */
:root[data-theme="light"] .tior-workspace__main-layout--canonical[data-spatial-workspace="floor-plan"] {
  --progress-source-veil: 45%;
}
.tior-workspace__main-layout--canonical .tior-workspace__preview-stage:has(> .tior-generation-progress:not([hidden])) > .tior-workspace__source-preview img,
.tior-workspace__main-layout--canonical .tior-workspace__preview-stage:has(> .tior-generation-progress:not([hidden])) > .tior-workspace__source-preview video {
  filter: blur(var(--progress-source-blur));
}
.merge-monitor .merge-generation-progress.tior-generation-progress,
.flow-execution-dialog::backdrop { backdrop-filter: blur(var(--progress-source-blur)); }
.tior-workspace__main-layout--canonical .tior-workspace__preview-stage:has(> .tior-generation-progress:not([hidden]))::after { z-index: 3; }
/* Editing frames (especially the floor-plan selection surface) must not leak
   their outline or blurred source outside the shared running-state viewport.
   Scope to visible progress so selection handles and idle outlines recover. */
.tior-workspace__main-layout--canonical[data-workspace-form] .tior-workspace__preview-stage:has(> .tior-generation-progress:not([hidden])),
.tior-workspace__main-layout--canonical[data-workspace-form] .tior-workspace__preview-stage:has(> .tior-generation-progress:not([hidden])) > .tior-workspace__source-preview {
  overflow: hidden;
  box-shadow: none;
}
.tior-workspace__main-layout--canonical[data-workspace-form] .tior-workspace__preview-stage:has(> .tior-generation-progress:not([hidden]))::after {
  border: 0;
}
.tior-workspace__main-layout--canonical .tior-workspace__preview-stage > .tior-generation-progress {
  max-height: calc(100% - 24px);
  overflow-y: auto;
  scrollbar-width: thin;
  pointer-events: auto;
}
@media (max-width:600px) {
  .tior-generation-progress [data-progress-title] { font-size: 1.625rem !important; }
  .tior-generation-progress .tior-workspace__spinner { margin-bottom: 12px !important; }
  .tior-generation-progress [data-progress-elapsed],
  .tior-generation-progress [data-progress-credits] { margin-top: 12px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .tior-generation-progress .tior-workspace__spinner i { animation: none; opacity: .65; }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  .merge-monitor .merge-generation-progress.tior-generation-progress,
  .flow-execution-dialog::backdrop { backdrop-filter: none; }
  .tior-workspace__main-layout--canonical .tior-workspace__preview-stage:has(> .tior-generation-progress:not([hidden]))::after,
  .merge-monitor .merge-generation-progress.tior-generation-progress { background: var(--theme-canvas); }
}
@media (forced-colors: active) {
  .tior-generation-progress { --progress-heading: CanvasText; --progress-body: CanvasText; --progress-caption: CanvasText; }
  .tior-generation-progress .tior-workspace__spinner i { background: CanvasText; }
  .tior-workspace__main-layout--canonical .tior-workspace__preview-stage:has(> .tior-generation-progress:not([hidden]))::after,
  .merge-monitor .merge-generation-progress.tior-generation-progress { background: Canvas; }
}
