/* wave39 · DL-P0-01 左右双卡 + 面包屑（对照参考稿桌面下载中心）
   无假安装包 URL；CSP 外链；只改 candidate */
body.dd-proto .shell-page-main{max-width:1280px}
body.dd-proto .dd-crumb{display:flex;width:fit-content;margin-left:auto;margin-right:auto}
body.dd-proto .dd-left h1{font-size:52px}
body.dd-proto .dd-q strong{font-size:16px}
body.dd-proto #dd-matrix{margin-top:28px}
body.dd-proto #dd-matrix h2{margin:0 0 6px;font-size:28px}
body.dd-proto .dd-matrix-kicker{margin:0 0 6px;color:#64748b;font-size:12px;letter-spacing:.08em;font-weight:700}
body.dd-proto #dd-matrix > p{color:#64748b;margin:0 0 14px}
body.dd-proto .dd-plat{grid-template-columns:repeat(3,minmax(0,1fr))}
.shell-page-main{
  margin:0 auto;padding:88px 32px 48px;max-width:1120px;box-sizing:border-box;
}
.dd-crumb{
  display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin:0 0 22px;padding:8px 16px;border-radius:999px;
  background:#f1f5f9;border:1px solid #e2e8f0;font-size:13px;color:#64748b;
}
.dd-crumb a{color:#6d28d9;text-decoration:none;font-weight:600}
.dd-crumb a:hover{text-decoration:underline}
.dd-crumb-sep{opacity:.45}
.dd-crumb-cur{color:#334155;font-weight:600}

.dd-dual{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:20px;align-items:stretch;
}
.dd-left{
  background:#fff;border:1px solid #e8ecf4;border-radius:20px;padding:32px 28px 28px;
  box-shadow:0 12px 32px rgba(15,23,42,.06),0 1px 4px rgba(15,23,42,.04);
}
.dd-left h1{
  margin:0 0 12px;font-size:clamp(36px,4.5vw,60px);font-weight:750;line-height:1.15;
  letter-spacing:-.035em;color:#0f172a;
}
.dd-title{display:flex;align-items:center;gap:14px;margin:0 0 12px}
.dd-title h1{margin:0}
.dd-title .qian-brand-mark{width:56px;height:56px;flex-shrink:0;object-fit:contain;border-radius:0;background:transparent}
@media(max-width:700px){
  .dd-title{gap:10px}
  .dd-title .qian-brand-mark{width:40px;height:40px}
}
.dd-left .lead{margin:0 0 22px;color:#64748b;font-size:14.5px;line-height:1.65;max-width:36rem}
.dd-left .lead strong{color:#9a3412;font-weight:700}

.dd-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}
.dd-q{
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;
  padding:12px 12px 10px;border-radius:14px;border:1px solid #e8ecf4;background:#f8fafc;
  cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s;
}
.dd-q:hover{border-color:#c4b5fd;background:#faf5ff}
.dd-q[aria-pressed="true"]{border-color:#8b5cf6;background:#f5f3ff;box-shadow:0 0 0 3px #8b5cf618}
.dd-q-ico{
  width:28px;height:28px;border-radius:8px;display:grid;place-items:center;
  font-size:11px;font-weight:800;color:#fff;margin-bottom:4px;
}
.dd-q-modern{background:linear-gradient(135deg,#60a5fa,#2563eb)}
.dd-q-legacy{background:linear-gradient(135deg,#fb923c,#ea580c)}
.dd-q-smart{background:linear-gradient(135deg,#c084fc,#7c3aed)}
.dd-q strong{font-size:13px;color:#0f172a}
.dd-q small{font-size:11px;color:#94a3b8}

.dd-badges{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:8px 14px}
.dd-badges li{
  font-size:12px;color:#15803d;font-weight:600;
  display:inline-flex;align-items:center;gap:6px;
}
.dd-badges li::before{content:'✓';display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#dcfce7;color:#16a34a;font-size:10px}

.notice{
  padding:.75rem 1rem;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;
  color:#9a3412;font-size:.88rem;margin:0 0 14px;line-height:1.55
}
.notice:empty{display:none}

.dd-plat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.card{
  border:1px solid #e8ecf4;border-radius:14px;padding:12px 12px 10px;background:#fff;
  display:flex;flex-direction:column;gap:.65rem;
}
.card .top{display:flex;align-items:center;gap:10px}
.card .plat-ico{
  width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
  background:linear-gradient(135deg,#f5f3ff,#eef2ff);color:#6d28d9;font-weight:700;font-size:12px
}
.card strong{display:block;font-size:.92rem;color:#0f172a}
.card .meta{color:#94a3b8;font-size:.75rem;margin-top:2px}
.cta{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  height:40px;padding:0 .85rem;border-radius:10px;text-decoration:none;font-weight:650;font-size:.88rem;
  box-sizing:border-box;width:100%;text-align:center
}
.cta.ready{background:#0f172a;color:#fff;box-shadow:0 8px 18px rgba(15,23,42,.16)}
.cta.ready:hover{background:#1e293b}
.cta.pending{
  background:#f8fafc;color:#64748b;border:1px dashed #cbd5e1;cursor:not-allowed;pointer-events:none;opacity:.9
}
.cta small{font-size:10px;font-weight:700;letter-spacing:.04em;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:2px 6px;color:#94a3b8}

/* 右卡 · 智能识别（深色） */
.dd-right{
  position:relative;overflow:hidden;border-radius:20px;padding:28px 24px 24px;color:#e2e8f0;
  background:
    linear-gradient(155deg,#1e1b4b 0%,#0f172a 48%,#312e81 100%);
  box-shadow:0 16px 40px rgba(49,46,129,.35);
  display:flex;flex-direction:column;gap:14px;min-height:420px;
}
.dd-right::before{
  content:'';position:absolute;inset:0;opacity:.18;pointer-events:none;
  background-image:
    linear-gradient(#fff1 1px,transparent 1px),
    linear-gradient(90deg,#fff1 1px,transparent 1px);
  background-size:28px 28px;
}
.dd-smart-badge,.dd-right h2,.dd-ua-meta,.dd-reco,.dd-smart-note{position:relative}
.dd-smart-badge{
  display:inline-flex;align-self:flex-start;padding:4px 10px;border-radius:999px;
  font-size:10px;font-weight:800;letter-spacing:.08em;color:#c4b5fd;
  background:#4c1d9580;border:1px solid #7c3aed66;
}
.dd-right h2{margin:4px 0 0;font-size:clamp(22px,2.4vw,30px);font-weight:750;line-height:1.25;color:#fff}
.dd-ua-meta{margin:0;font-size:12.5px;color:#94a3b8}
.dd-reco{
  margin-top:8px;padding:16px;border-radius:16px;background:#ffffff10;border:1px solid #ffffff18;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.dd-reco-label{font-size:10px;font-weight:800;letter-spacing:.1em;color:#a5b4fc;margin-bottom:8px}
.dd-reco-name{font-size:18px;font-weight:700;color:#fff;margin-bottom:10px}
.dd-reco-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.dd-reco-tags span{
  font-size:11px;padding:3px 8px;border-radius:999px;background:#0f172a66;color:#cbd5e1;border:1px solid #ffffff14;
}
.dd-reco-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;
  height:46px;border-radius:12px;text-decoration:none;font-weight:700;font-size:14px;box-sizing:border-box;
}
.dd-reco-cta.pending{
  background:#f8fafc;color:#475569;cursor:not-allowed;pointer-events:none;
}
.dd-reco-cta.pending small{
  font-size:10px;font-weight:800;letter-spacing:.04em;padding:2px 6px;border-radius:6px;
  background:#fff;border:1px solid #e2e8f0;color:#94a3b8;
}
.dd-reco-cta.ready{background:#fff;color:#0f172a}
.dd-reco-cta.ready:hover{background:#eef2ff}
.dd-smart-note{margin:auto 0 0;font-size:11.5px;line-height:1.55;color:#94a3b8}
.dd-smart-note code{font-size:10.5px;color:#c4b5fd}

.dd-foot{margin-top:1.25rem;font-size:.82rem;color:#94a3b8}
.dd-foot a{color:#6d28d9;text-decoration:none;font-weight:500}
.dd-foot a:hover{text-decoration:underline}

@media(max-width:900px){
  .dd-dual{grid-template-columns:1fr}
  .dd-right{min-height:0}
}
@media(max-width:700px){
  .shell-page-main{padding:96px 16px 28px}
  .dd-quick{grid-template-columns:1fr}
  .dd-plat{grid-template-columns:1fr}
  .dd-left{padding:24px 18px}
  .dd-left h1{font-size:clamp(28px,8vw,40px)}
}

/* ========== wave41 · DL-P1 面包屑细量（胶囊高度/字号/与内容宽对齐） ========== */
.dd-crumb{
  display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;
  height:36px;box-sizing:border-box;
  margin:0 0 20px;padding:0 16px;border-radius:999px;
  background:rgba(15,15,16,.04);border:1px solid transparent;
  font-size:13px;color:#64748b;line-height:1;
}
.dd-crumb a{color:#0F0F10;text-decoration:none;font-weight:600}
.dd-crumb a:hover{color:#6d28d9;text-decoration:none}
.dd-crumb-sep{opacity:.4;font-weight:500}
.dd-crumb-cur{color:#334155;font-weight:600}
.shell-page-main{max-width:1024px;padding:88px 24px 48px}
@media(max-width:700px){
  .dd-crumb{height:auto;min-height:36px;padding:8px 14px;line-height:1.35}
  .shell-page-main{padding:96px 16px 28px}
}

/* ========== wave45 · DL 暖米底 + 面包屑条结构壳 ==========
   对照参考稿：页底暖米；顶栏下宽胶囊条（左返回 / 右路径）；下载钮仍 PENDING */
body.shell-header-only[data-shell-active="desktop-download"],
body[data-shell-active="desktop-download"]{
  background:#F6F3EF !important;
}
.dd-crumb{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  width:100%;box-sizing:border-box;
  height:40px;min-height:40px;
  margin:0 0 22px;padding:0 18px;border-radius:999px;
  background:rgba(15,15,16,.045);border:1px solid rgba(15,15,16,.04);
  font-size:13px;color:#64748b;line-height:1;
}
.dd-crumb-back{
  color:#0F0F10;text-decoration:none;font-weight:600;white-space:nowrap;
  flex-shrink:0;
}
.dd-crumb-back:hover{color:#6d28d9;text-decoration:none}
.dd-crumb-path{
  display:inline-flex;align-items:center;gap:8px;
  margin-left:auto;flex-wrap:wrap;justify-content:flex-end;
}
.dd-crumb-brand{color:#64748b;font-weight:600}
.dd-crumb-sep{opacity:.4;font-weight:500}
.dd-crumb-cur{color:#0F0F10;font-weight:650}
.dd-left{
  background:#fff;border:1px solid #efeae4;
  box-shadow:0 4px 18px #0f172a06;
}
.dd-dual{gap:18px}
@media(max-width:700px){
  .dd-crumb{
    height:auto;min-height:40px;padding:10px 14px;line-height:1.35;
    flex-direction:column;align-items:flex-start;justify-content:center;
  }
  .dd-crumb-path{margin-left:0}
}
