/* NUCLEAR UNIVERSAL STYLES */

.nuclear-universal-status,
[data-nuclear-universal],
.nuclear-status,
.status.nuclear-updated {
  position: relative !important;
  z-index: 9999 !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  padding: 12px 20px !important;
  margin: 15px 0 !important;
  border-radius: 8px !important;
  font-weight: bold !important;
  text-align: center !important;
  font-size: 14px !important;
  border: 2px solid transparent !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
  animation: nuclear-pulse 2s infinite !important;
}

.nuclear-universal-status.processing,
[data-nuclear-processing] {
  background: linear-gradient(135deg, #2196F3, #0d8bf2) !important;
  color: white !important;
  border-color: #1976D2 !important;
}

.nuclear-universal-status.complete,
[data-nuclear-complete] {
  background: linear-gradient(135deg, #4CAF50, #2E7D32) !important;
  color: white !important;
  border-color: #388E3C !important;
}

.nuclear-universal-download,
.nuclear-download,
[download].nuclear,
a[href*="blob"].nuclear {
  display: inline-block !important;
  position: relative !important;
  z-index: 10000 !important;
  opacity: 1 !important;
  visibility: visible !important;
  padding: 14px 28px !important;
  margin: 20px auto !important;
  background: linear-gradient(135deg, #4CAF50, #2E7D32) !important;
  color: white !important;
  text-decoration: none !important;
  border-radius: 10px !important;
  font-weight: bold !important;
  font-size: 16px !important;
  border: 3px solid #45a049 !important;
  cursor: pointer !important;
  box-shadow: 0 6px 20px rgba(76, 175, 80, 0.4) !important;
  text-align: center !important;
  min-width: 300px !important;
  max-width: 100% !important;
  transition: all 0.3s ease !important;
}

.nuclear-universal-download:hover,
.nuclear-download:hover {
  transform: translateY(-3px) scale(1.05) !important;
  box-shadow: 0 10px 25px rgba(76, 175, 80, 0.6) !important;
  background: linear-gradient(135deg, #45a049, #1b5e20) !important;
}

.nuclear-universal-progress,
.progress-bar.nuclear {
  width: 100% !important;
  height: 20px !important;
  background: linear-gradient(90deg, #f0f0f0, #e0e0e0) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin: 15px 0 !important;
  position: relative !important;
}

.nuclear-universal-progress .fill {
  height: 100% !important;
  background: linear-gradient(90deg, #2196F3, #0d8bf2) !important;
  border-radius: 10px !important;
  transition: width 0.3s ease !important;
  position: relative !important;
}

@keyframes nuclear-pulse {
  0% { box-shadow: 0 4px 15px rgba(33, 150, 243, 0.4); }
  50% { box-shadow: 0 4px 25px rgba(33, 150, 243, 0.8); }
  100% { box-shadow: 0 4px 15px rgba(33, 150, 243, 0.4); }
}

@keyframes nuclear-attention {
  0% { transform: scale(1); }
  50% { transform: scale(1.02); }
  100% { transform: scale(1); }
}

.nuclear-force-repaint * {
  transform: translateZ(0) !important;
  backface-visibility: hidden !important;
}

.nuclear-global-progress {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 10001;
  width: 280px;
  padding: 10px 12px;
  background: rgba(15, 23, 42, 0.95);
  color: #e2e8f0;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
  font-size: 12px;
  display: none;
}

/* ===== Img-any opt-out: prevent nuclear pulse + white blocks ===== */
#tool-img-any .nuclear-universal-status,
#tool-img-any [data-nuclear-universal],
#tool-img-any .nuclear-status,
#tool-img-any .status.nuclear-updated,
#tool-img-any [data-nuclear-processing],
#tool-img-any [data-nuclear-complete] {
  animation: none !important;
  background: rgba(12, 18, 28, 0.6) !important;
  color: rgba(255, 255, 255, 0.9) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

#tool-img-any .nuclear-universal-download,
#tool-img-any .nuclear-download,
#tool-img-any [download].nuclear,
#tool-img-any a[href*="blob"].nuclear {
  animation: none !important;
  transform: none !important;
  box-shadow: none !important;
}

#tool-img-any .nuclear-universal-progress,
#tool-img-any .progress-bar.nuclear {
  background: rgba(255, 255, 255, 0.08) !important;
}

.nuclear-global-progress__label {
  margin-bottom: 8px;
  font-weight: 600;
}

.nuclear-global-progress__bar {
  height: 8px;
  background: rgba(148, 163, 184, 0.2);
  border-radius: 999px;
  overflow: hidden;
}

.nuclear-global-progress__fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #22c55e, #16a34a);
  border-radius: 999px;
  transition: width 0.3s ease;
}

[data-nuclear-tool].processing,
.tool-container.processing {
  border-left: 5px solid #2196F3 !important;
  animation: nuclear-attention 2s infinite !important;
}

/* Img-any: hard disable universal processing UI (lines + breathing) */
body[data-cc-tool="img-any"] [data-nuclear-tool].processing,
body[data-cc-tool="img-any"] .tool-container.processing,
#tool-img-any [data-nuclear-tool].processing,
#tool-img-any .tool-container.processing {
  border-left: 0 !important;
  animation: none !important;
}

body[data-cc-tool="img-any"] .nuclear-universal-status,
body[data-cc-tool="img-any"] .nuclear-universal-progress,
body[data-cc-tool="img-any"] .nuclear-global-progress,
#tool-img-any .nuclear-universal-status,
#tool-img-any .nuclear-universal-progress,
#tool-img-any .nuclear-global-progress {
  display: none !important;
  animation: none !important;
}

@media (prefers-color-scheme: dark) {
  .nuclear-universal-status {
    background: linear-gradient(135deg, #1565C0, #0D47A1) !important;
  }

  .nuclear-universal-download {
    background: linear-gradient(135deg, #2E7D32, #1B5E20) !important;
    border-color: #1B5E20 !important;
  }
}

@media (max-width: 768px) {
  .nuclear-universal-status,
  .nuclear-universal-download {
    width: 90% !important;
    margin-left: 5% !important;
    margin-right: 5% !important;
  }
}
