/* Preview-only paid Astra result recovery. Preserve original progress pill. */
#viewportGenerationProgress .saved-world-resume {
  flex: 0 0 auto;
  border: 1px solid rgba(248,204,73,.48);
  border-radius: 8px;
  background: rgba(248,204,73,.12);
  color: #f8d56c;
  padding: 4px 9px;
  font: inherit;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  margin-left: 6px;
}
#viewportGenerationProgress .saved-world-resume:hover {
  background: rgba(248,204,73,.24);
}
#viewportGenerationProgress .saved-world-resume[hidden] {
  display: none !important;
}
#viewportGenerationProgress[data-stage="restore_error"] [data-world-progress-label] {
  color: #ffca87;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#viewportGenerationProgress[data-stage="restore_error"] .viewport-generation-spinner {
  animation: none !important;
  border-color: #ffa86a !important;
}
#viewportGenerationProgress .viewport-generation-heading {
  min-width: 0;
}
#viewportGenerationProgress .viewport-generation-heading [data-world-progress-label] {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* Keep the recovery action in the foreground of the 3D viewport.
   Scene canvas, transparent interaction overlays and status layers must
   not intercept clicks. The progress pill preserves its existing geometry. */
#viewportGenerationProgress:not([hidden]) {
  z-index: 1200 !important;
  pointer-events: auto !important;
  isolation: isolate;
}
#viewportGenerationProgress:not([hidden]) .viewport-generation-heading {
  pointer-events: auto !important;
}
#viewportGenerationProgress:not([hidden]) #resumeSavedWorldModel:not([hidden]) {
  position: relative !important;
  z-index: 2 !important;
  pointer-events: auto !important;
  touch-action: manipulation;
}
#viewportGenerationProgress:not([hidden]) #resumeSavedWorldModel:not([hidden]):not(:disabled) {
  cursor: pointer !important;
}
