/* 进度条样式 */

.dp-bar {
  position: absolute; top: 8px; left: 50%; transform: translateX(-50%);
  z-index: 100; display: flex; align-items: center; gap: 8px;
  padding: 6px 14px; border-radius: 999px;
  background: rgba(28, 28, 30, .88); backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 4px 20px rgba(0,0,0,.4);
  font-size: 12px; color: #e8e8ed; white-space: nowrap;
  max-width: 90vw; overflow: hidden;
}
.dp-icon { font-size: 14px; }
.dp-title { font-weight: 600; }
.dp-sep { width: 1px; height: 14px; background: rgba(255,255,255,.15); flex: 0 0 auto; }
.dp-stat { opacity: .75; }
.dp-prog {
  width: 80px; height: 5px; border-radius: 3px;
  background: rgba(255,255,255,.12); overflow: hidden; flex: 0 0 auto;
}
.dp-prog-i {
  height: 100%; border-radius: 3px;
  background: linear-gradient(90deg, #30d158, #34c759);
  transition: width .5s ease;
}
.dp-pct { font-weight: 600; font-size: 11px; min-width: 28px; text-align: right; }
.dp-status { opacity: .65; font-size: 11px; }
.dp-running { color: #30d158 !important; opacity: 1 !important; }
.dp-running::before {
  content: ''; display: inline-block; width: 6px; height: 6px;
  border-radius: 50%; background: #30d158; margin-right: 4px;
  animation: dp-pulse 1.2s infinite;
}
@keyframes dp-pulse { 0%,100% { opacity: .3; } 50% { opacity: 1; } }

/* 浅色主题 */
body.theme-light .dp-bar {
  background: rgba(255,255,255,.92);
  box-shadow: 0 2px 12px rgba(0,0,0,.1);
  color: #1d2129;
}
body.theme-light .dp-sep { background: rgba(0,0,0,.1); }
body.theme-light .dp-prog { background: rgba(0,0,0,.08); }
