/* ========= 资料下载 Banner ========= */
.dl-hero{position:relative;display:flex;align-items:center;min-height:352px;padding:56px 0 64px;background:linear-gradient(120deg,#0f2540 0%,#1a3a6c 55%,#2a5a9c 100%);color:#fff;overflow:hidden}
.dl-hero::before{content:"";position:absolute;inset:0;z-index:0;background-image:radial-gradient(circle at 16% 26%,rgba(232,168,56,.18) 0%,transparent 50%),radial-gradient(circle at 84% 74%,rgba(42,90,156,.35) 0%,transparent 52%);pointer-events:none}
.dl-hero::after{content:"";position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}
.dl-hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,18,42,.82) 0%,rgba(6,18,42,.52) 58%,rgba(6,18,42,.3) 100%);opacity:0;pointer-events:none}
.dl-hero-bg .dl-hero-scrim{opacity:1}
.dl-hero-overlay{position:absolute;inset:0;z-index:2}
.dl-hero-inner{position:relative;z-index:3;text-align:center}
.dl-hero-crumb{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:22px;font-size:14px;color:rgba(255,255,255,.62);letter-spacing:.5px}
.dl-hero-crumb a{color:rgba(255,255,255,.82);text-decoration:none;transition:color .3s}
.dl-hero-crumb a:hover{color:#ffd98a}
.dl-crumb-sep{opacity:.4}
.dl-hero-title{font-size:42px;font-weight:700;line-height:1.5;letter-spacing:2px;margin:0 0 16px}
.dl-hero-sub{margin:0 auto;max-width:800px;font-size:16px;line-height:2;letter-spacing:.5px;color:rgba(255,255,255,.74)}

/* ========= 浅色正文区 ========= */
.dl-wrap{--dl-accent:#1a3a6c;--dl-accent-2:#e8a838;--dl-line:#e3eaf5;--dl-text:#334155;--dl-muted:#5a6b82;position:relative;overflow:hidden;background:#fff;color:var(--dl-text);padding:0 0 96px;font-family:"Noto Sans SC",system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
.dl-wrap::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#e3eaf5 20%,#e3eaf5 80%,transparent);pointer-events:none}
.dl-shell{position:relative;z-index:1}

.dl-kicker{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--dl-accent)}
.dl-kicker::before{content:"";width:28px;height:1px;background:var(--dl-accent)}

.dl-intro{padding:76px 0 0}
.dl-intro-title{margin:0 0 18px;font-size:clamp(28px,3.6vw,44px);font-weight:800;line-height:1.24;letter-spacing:.5px;color:#0f2540}
.dl-intro-desc{margin:0;max-width:880px;font-size:16px;line-height:2.05;color:var(--dl-muted)}
.dl-stats{display:flex;flex-wrap:wrap;gap:32px;margin-top:26px}
.dl-stat{display:inline-flex;align-items:baseline;gap:8px;font-size:14px;color:var(--dl-muted)}
.dl-stat strong{font-family:ui-monospace,Consolas,monospace;font-size:28px;font-weight:800;line-height:1;color:var(--dl-accent)}

/* ========= 工具栏 ========= */
.dl-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:44px;padding-bottom:22px;border-bottom:1px solid var(--dl-line)}
.dl-tabs{display:flex;flex-wrap:wrap;gap:10px}
.dl-tab{display:inline-flex;align-items:center;padding:10px 20px;border:1px solid var(--dl-line);background:#fff;color:#3b4a5e;font-size:14px;text-decoration:none;transition:border-color .25s,color .25s,background .25s}
.dl-tab:hover{border-color:var(--dl-accent);background:#f1f5fb;color:#0f2540}
.dl-tab.is-active{border-color:var(--dl-accent);background:var(--dl-accent);color:#fff}
.dl-search{display:flex;align-items:center;gap:10px;min-width:300px;padding:11px 18px;border:1px solid var(--dl-line);background:#fff;transition:border-color .25s,box-shadow .25s}
.dl-search:focus-within{border-color:var(--dl-accent);box-shadow:0 6px 18px rgba(26,58,108,.1)}
.dl-search svg{flex:0 0 auto;color:#94a3b8}
.dl-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:14px;color:#1e293b;font-family:inherit}
.dl-search input::placeholder{color:#94a3b8}

/* ========= 分组 ========= */
.dl-group{margin-top:64px;scroll-margin-top:120px}
.dl-group-head{display:flex;align-items:flex-start;gap:20px;padding-bottom:20px;border-bottom:2px solid var(--dl-line)}
.dl-group-no{flex:0 0 auto;font-family:ui-monospace,Consolas,monospace;font-size:40px;font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(26,58,108,.45)}
.dl-group-text{flex:1;min-width:0}
.dl-group-title{margin:4px 0 0;font-size:clamp(20px,2.4vw,28px);font-weight:800;letter-spacing:.5px;color:#0f2540}
.dl-group-desc{margin:8px 0 0;font-size:14.5px;line-height:1.9;color:var(--dl-muted)}
.dl-group-count{flex:0 0 auto;align-self:center;padding:7px 16px;border:1px solid var(--dl-line);background:#f6f8fc;font-size:13px;font-weight:600;color:var(--dl-accent);white-space:nowrap}

/* ========= 资料列表 ========= */
.dl-list{margin:0;padding:0;list-style:none}
.dl-item{display:flex;align-items:center;gap:22px;padding:24px 4px;border-bottom:1px solid #eef2f8;transition:background .25s}
.dl-item:hover{background:#f8fafd}
.dl-item-icon{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:60px;height:68px;border:1.5px solid;border-radius:12px;font-family:ui-monospace,Consolas,monospace;font-size:13px;font-weight:800;letter-spacing:.5px}
.dl-item-body{flex:1;min-width:0}
.dl-item-title{margin:0 0 8px;font-size:17px;font-weight:700;line-height:1.5;color:#0f2540}
.dl-item-summary{margin:0 0 12px;font-size:14px;line-height:1.75;color:var(--dl-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dl-item-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.dl-meta{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:#7c8aa0}
.dl-meta svg{flex:0 0 auto;color:#a3b1c6}
.dl-item-actions{flex:0 0 auto;display:flex;align-items:center;gap:10px}

/* 文件类型配色 */
.dl-t-pdf{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.dl-t-doc,.dl-t-docx{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.dl-t-xls,.dl-t-xlsx{background:#ecfdf5;border-color:#bbf7d0;color:#047857}
.dl-t-ppt,.dl-t-pptx{background:#fff7ed;border-color:#fed7aa;color:#c2410c}
.dl-t-zip,.dl-t-rar,.dl-t-7z{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}
.dl-t-img{background:#f0f9ff;border-color:#bae6fd;color:#0369a1}
.dl-t-video{background:#f5f3ff;border-color:#ddd6fe;color:#6d28d9}
.dl-t-audio{background:#fdf4ff;border-color:#f5d0fe;color:#a21caf}
.dl-t-dwg{background:#fffbeb;border-color:#fde68a;color:#b45309}
.dl-t-3d{background:#f0fdfa;border-color:#99f6e4;color:#115e59}
.dl-t-txt{background:#f8fafc;border-color:#cbd5e1;color:#475569}
.dl-t-exe,.dl-t-apk{background:#f1f5f9;border-color:#cbd5e1;color:#334155}
.dl-t-file{background:#f8fafc;border-color:#cbd5e1;color:#64748b}

/* ========= 按钮 ========= */
.dl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:1px solid transparent;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .25s,color .25s,border-color .25s,box-shadow .25s}
.dl-btn-primary{background:linear-gradient(135deg,#e8a838,#e07a2a);color:#fff}
.dl-btn-primary:hover{box-shadow:0 12px 26px rgba(232,168,56,.36);color:#fff}
.dl-btn-ghost{border-color:rgba(26,58,108,.28);background:#fff;color:var(--dl-accent)}
.dl-btn-ghost:hover{border-color:var(--dl-accent);background:#f1f5fb;color:#0f2540}

/* ========= 空状态 ========= */
.dl-empty{display:flex;flex-direction:column;align-items:center;gap:16px;padding:90px 0 40px;color:#94a3b8}
.dl-empty p{margin:0;font-size:15px;color:var(--dl-muted)}
.dl-noresult{margin-top:40px;text-align:center;font-size:15px;color:var(--dl-muted)}

/* ========= 底部 CTA ========= */
.dl-cta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:26px;margin-top:92px;padding:44px 40px;border:1px solid var(--dl-line);background:linear-gradient(120deg,#f6f8fc 0%,#fff 62%)}
.dl-cta h3{margin:0 0 10px;font-size:clamp(20px,2.4vw,28px);font-weight:800;letter-spacing:.4px;color:#0f2540}
.dl-cta p{margin:0;max-width:680px;font-size:15px;line-height:1.95;color:var(--dl-muted)}
.dl-cta-btns{display:flex;flex-wrap:wrap;gap:14px}

@media(max-width:1199px){
  .dl-intro{padding-top:60px}
  .dl-group{margin-top:52px}
  .dl-item{gap:16px}
  .dl-item-icon{width:54px;height:62px}
}
@media(max-width:768px){
  .dl-hero{min-height:270px;padding:42px 0 50px}
  .dl-hero-title{font-size:26px;letter-spacing:1px}
  .dl-hero-sub{font-size:14px;line-height:1.8}
  .dl-wrap{padding-bottom:64px}
  .dl-intro{padding-top:48px}
  .dl-intro-desc{font-size:15px;line-height:1.95}
  .dl-stats{gap:22px}
  .dl-stat strong{font-size:23px}
  .dl-toolbar{gap:14px;margin-top:30px}
  .dl-tabs{gap:8px}
  .dl-tab{padding:9px 14px;font-size:13px}
  .dl-search{min-width:0;width:100%}
  .dl-group{margin-top:44px}
  .dl-group-head{gap:12px}
  .dl-group-no{font-size:30px}
  .dl-group-count{display:none}
  .dl-item{flex-wrap:wrap;gap:14px;padding:20px 0}
  .dl-item-icon{width:48px;height:56px;font-size:12px}
  .dl-item-body{flex:1 1 100%;order:3}
  .dl-item-title{font-size:16px}
  .dl-item-actions{flex:1 1 auto;order:2;justify-content:flex-end}
  .dl-item-actions .dl-btn{flex:1 1 auto}
  .dl-cta{margin-top:60px;padding:28px 22px}
  .dl-cta-btns{width:100%}
  .dl-cta-btns .dl-btn{flex:1 1 auto}
}