/* DAINO 공통 로딩(새 테마): 페이지 이동 로더 + 오래 걸리는 작업 오버레이.
   서버가 모든 HTML에 기존 로더(dp-page-loader·dp-loading-ui)와 함께 넣어 준다. 서비스 색은 html[data-daino-service]로 나눈다. */
:root {
  --dl-accent: #126bff;
  --dl-accent-2: #7c5cff;
  --dl-ink: #0b1220;
  --dl-ink-2: #4a5568;
  --dl-veil: rgba(244, 246, 251, .78);
}
html[data-daino-service="store"] {
  --dl-accent: #e9562c;
  --dl-accent-2: #f5a524;
  --dl-veil: rgba(246, 244, 241, .8);
}

/* 1. 페이지 이동 */
#dp-page-loader.dp-page-loader {
  background: var(--dl-veil) !important;
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  backdrop-filter: blur(10px) saturate(140%);
}
#dp-page-loader .dp-page-loader__panel {
  gap: 14px; padding: 28px 32px; width: auto !important; min-width: 220px;
  background: rgba(255, 255, 255, .92); border-radius: 24px;
  box-shadow: 0 4px 8px rgba(15, 23, 42, .06), 0 24px 56px rgba(15, 23, 42, .14);
  animation: dlPop .45s cubic-bezier(.2, .9, .3, 1.2) both;
}
#dp-page-loader .dp-load-ring { width: 64px !important; height: 64px !important; margin: 0 !important; filter: none !important; }
#dp-page-loader .dp-load-ring::before, #dp-page-loader .dp-load-ring::after { display: none !important; }
#dp-page-loader .dp-load-ring__track { stroke: #e9edf4 !important; stroke-width: 8 !important; }
#dp-page-loader .dp-load-ring__progress { stroke: var(--dl-accent) !important; stroke-width: 8 !important; filter: none !important; }
#dp-page-loader .dp-page-loader__brand {
  margin: 0 !important; font-family: "Pretendard Variable", Pretendard, -apple-system, sans-serif !important;
  font-size: 20px !important; font-weight: 850 !important; letter-spacing: -.06em !important; color: var(--dl-ink) !important;
  text-shadow: none !important; background: none !important; -webkit-text-fill-color: currentColor !important;
}
#dp-page-loader .dp-page-loader__brand span { margin-left: 6px; font-size: 12px; letter-spacing: .08em; color: var(--dl-accent) !important; -webkit-text-fill-color: currentColor !important; }
#dp-page-loader .dp-page-loader__message { margin: 0 !important; font-size: 14px !important; color: var(--dl-ink-2) !important; }
/* 상단 진행 막대 */
#dp-page-loader::before {
  content: ""; position: fixed; left: 0; top: 0; height: 3px; width: 40%;
  background: linear-gradient(90deg, var(--dl-accent), var(--dl-accent-2));
  border-radius: 0 3px 3px 0; box-shadow: 0 0 12px var(--dl-accent);
  animation: dlTopBar 1.1s cubic-bezier(.4, 0, .2, 1) infinite;
}

/* 2. 작업 진행(분석·진단 등) */
.dp-load-overlay, .analysis-v2-loading-overlay {
  background: var(--dl-veil) !important;
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  backdrop-filter: blur(10px) saturate(140%);
}
.dp-load-panel, .analysis-v2-loading-modal {
  color: var(--dl-ink) !important; background: #fff !important; border: 0 !important; border-radius: 28px !important;
  box-shadow: 0 4px 8px rgba(15, 23, 42, .06), 0 28px 64px rgba(15, 23, 42, .16) !important;
  animation: dlPop .45s cubic-bezier(.2, .9, .3, 1.2) both;
}
.dp-load-eyebrow { color: var(--dl-accent) !important; font-weight: 800 !important; letter-spacing: 0 !important; text-transform: none !important; }
.dp-load-title, .analysis-v2-loading-title { color: var(--dl-ink) !important; font-weight: 800 !important; letter-spacing: -.03em !important; }
.dp-load-step, .analysis-v2-loading-step { color: var(--dl-ink-2) !important; }
.dp-load-ring::before, .dp-load-ring::after { opacity: .35; }
.dp-load-ring__track { stroke: #e9edf4 !important; }
.dp-load-ring__progress, .dp-load-ring__sweep { stroke: var(--dl-accent) !important; filter: none !important; }
.dp-load-ring__pct, .analysis-v2-loading-percent { color: var(--dl-ink) !important; font-weight: 800 !important; text-shadow: none !important; }
.dp-load-bar-track { background: #e9edf4 !important; border-radius: 999px !important; overflow: hidden; }
.dp-load-bar { background: linear-gradient(90deg, var(--dl-accent), var(--dl-accent-2)) !important; border-radius: 999px !important; }

/* 3. 작은 작업 표시(버튼 안) — 새 화면에서 data-loading 속성으로 사용 */
[data-loading="true"] { position: relative; pointer-events: none; color: transparent !important; }
[data-loading="true"]::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px;
  border: 2.5px solid rgba(255, 255, 255, .35); border-top-color: #fff; border-radius: 50%; animation: dlSpin .7s linear infinite;
}

@keyframes dlPop { from { opacity: 0; transform: translateY(10px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes dlTopBar { 0% { transform: translateX(-100%); } 100% { transform: translateX(260%); } }
@keyframes dlSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  #dp-page-loader::before, #dp-page-loader .dp-page-loader__panel, .dp-load-panel { animation: none !important; }
}
