/* 资机库 v2 改版样式表：仅新增文件，不覆盖 v1 的 style.css */
:root{
  --zjk-accent:#2f6fed;
  --zjk-accent-soft:#eaf1ff;
  --zjk-bg:#f5f6f8;
  --zjk-card:#fff;
  --zjk-line:#e8eaee;
  --zjk-txt:#1c2027;
  --zjk-sub:#69727f;
  --zjk-radius:14px;
  --zjk-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 20px rgba(16,24,40,.06);
  --zjk-shadow-h:0 2px 6px rgba(16,24,40,.08),0 14px 32px rgba(16,24,40,.12);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--zjk-bg);color:var(--zjk-txt);
  font:15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;border:0;vertical-align:middle}
h1,h2,h3,h4,p,ul,ol,dl,dd{margin:0;padding:0}
ul{list-style:none}
.zjk-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}

/* ---------- 头部 ---------- */
.zjk-head{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--zjk-line)}
.zjk-head .zjk-wrap{max-width:1360px}
.zjk-head-in{display:flex;align-items:center;gap:18px;height:64px}
.zjk-logo{display:flex;align-items:baseline;gap:8px;flex:0 0 auto}
.zjk-logo-mark{width:26px;height:26px;border-radius:7px;background:var(--zjk-accent);color:#fff;font-size:14px;display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.zjk-logo-txt{font-size:19px;font-weight:700;letter-spacing:.5px}
.zjk-logo-sub{font-size:12px;color:var(--zjk-sub)}
.zjk-nav{flex:1 1 auto;min-width:0}
.zjk-nav-ul{display:flex;align-items:center;gap:2px;height:64px;flex-wrap:nowrap}
.zjk-nav-li{position:relative;height:64px;display:flex;align-items:center;flex:0 0 auto}
.zjk-nav-a{padding:6px 8px;border-radius:8px;font-size:13px;color:#3c4453;white-space:nowrap;transition:.15s}
.zjk-nav-a:hover,.zjk-nav-li.on>.zjk-nav-a{background:var(--zjk-accent-soft);color:var(--zjk-accent)}
.zjk-nav-li.has-sub>.zjk-nav-a::after{content:"";display:inline-block;width:0;height:0;margin-left:6px;border:4px solid transparent;border-top-color:currentColor;vertical-align:middle}
.zjk-sub{position:absolute;left:50%;top:100%;transform:translateX(-50%) translateY(6px);opacity:0;visibility:hidden;transition:.16s;padding-top:6px}
.zjk-nav-li:hover .zjk-sub,.zjk-nav-li:focus-within .zjk-sub{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.zjk-sub-in{background:#fff;border:1px solid var(--zjk-line);border-radius:var(--zjk-radius);box-shadow:var(--zjk-shadow-h);padding:12px;display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:4px;min-width:380px}
.zjk-sub-a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:9px;font-size:13.5px;color:#3c4453;white-space:nowrap}
.zjk-sub-a i{font-size:16px;color:var(--zjk-accent)}
.zjk-sub-a:hover,.zjk-sub-a.on{background:var(--zjk-accent-soft);color:var(--zjk-accent)}
.zjk-search{display:flex;flex:0 1 170px;min-width:0;height:38px;border:1px solid var(--zjk-line);border-radius:10px;overflow:hidden;background:#fafbfc}
.zjk-search input{flex:1;border:0;outline:0;background:transparent;padding:0 12px;font-size:14px;min-width:0}
.zjk-search button{width:42px;border:0;background:var(--zjk-accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.zjk-menu-btn{display:none;width:38px;height:38px;border:1px solid var(--zjk-line);border-radius:9px;background:#fff;color:#3c4453;font-size:18px;cursor:pointer}
/* 块级搜索框：.zjk-search 的 flex-basis 是给顶栏（横向）用的，
   放进 column 容器会变成高度，块级场景必须显式取消 */
.zjk-search--block{flex:none;width:100%;max-width:520px;height:42px}
.zjk-search--block.zjk-search--mt{margin-top:16px}
.zjk-search--block input{font-size:14.5px;padding:0 14px}
.zjk-search--block button{width:46px}

/* ---------- 通用块 ---------- */
.zjk-main{padding:22px 0 40px}
.zjk-block{background:var(--zjk-card);border:1px solid var(--zjk-line);border-radius:var(--zjk-radius);box-shadow:var(--zjk-shadow)}
.zjk-block-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--zjk-line)}
.zjk-block-hd h1,.zjk-block-hd h2{font-size:17px;font-weight:700;display:flex;align-items:center;gap:8px}
.zjk-block-hd h1 i,.zjk-block-hd h2 i{color:var(--zjk-accent);font-size:19px}
.zjk-block-hd .sub{font-size:12.5px;color:var(--zjk-sub);font-weight:400}
.zjk-more{font-size:13px;color:var(--zjk-sub)}
.zjk-more:hover{color:var(--zjk-accent)}
.zjk-bread{padding:12px 0;font-size:13px;color:var(--zjk-sub)}
.zjk-bread a{color:var(--zjk-sub)}
.zjk-bread a:hover{color:var(--zjk-accent)}
.zjk-bread span{margin:0 6px;opacity:.5}

/* 筛选条（平台 × 分类） */
.zjk-filters{display:flex;flex-direction:column;gap:10px;padding:14px 18px;border-bottom:1px solid var(--zjk-line)}
.zjk-frow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.zjk-flabel{font-size:12.5px;color:var(--zjk-sub);flex:0 0 auto}
.zjk-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--zjk-line);border-radius:999px;font-size:13px;color:#3c4453;background:#fff;transition:.15s}
.zjk-chip:hover{border-color:var(--zjk-accent);color:var(--zjk-accent)}
.zjk-chip.on{background:var(--zjk-accent);border-color:var(--zjk-accent);color:#fff}

/* ---------- 软件卡片 ---------- */
.zjk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:18px}
.zjk-card{display:flex;gap:12px;padding:14px;border:1px solid var(--zjk-line);border-radius:12px;background:#fff;transition:.16s;position:relative}
.zjk-card:hover{border-color:var(--zjk-accent);box-shadow:var(--zjk-shadow-h);transform:translateY(-2px)}
.zjk-card-ic{width:52px;height:52px;flex:0 0 52px;border-radius:12px;background:#f4f6f9;display:flex;align-items:center;justify-content:center;overflow:hidden}
.zjk-card-ic img{width:100%;height:100%;object-fit:contain}
.zjk-card-ic b{font-size:20px;font-weight:600;color:#98a1af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zjk-card-t{min-width:0;flex:1}
.zjk-card-n{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zjk-card-d{margin-top:4px;font-size:12.5px;line-height:1.5;color:var(--zjk-sub);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:38px}
.zjk-card-m{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap;font-size:11.5px;color:#7b8493}
.zjk-card-m em{font-style:normal;background:#f2f4f7;border-radius:5px;padding:1px 6px}
.zjk-badge{position:absolute;top:-1px;right:-1px;background:var(--zjk-accent);color:#fff;font-size:11px;padding:2px 8px;border-radius:0 12px 0 10px}

/* 列表行（紧凑模式） */
.zjk-list{padding:8px 18px 14px}
.zjk-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px dashed var(--zjk-line)}
.zjk-row:last-child{border-bottom:0}
.zjk-row .no{width:22px;flex:0 0 22px;text-align:center;font-size:13px;color:#a3abb8;font-variant-numeric:tabular-nums}
.zjk-row .no.hot{color:var(--zjk-accent);font-weight:700}
.zjk-row img{width:40px;height:40px;flex:0 0 40px;border-radius:9px;background:#f4f6f9;object-fit:contain}
.zjk-row .g{flex:1 1 auto;min-width:0}
/* .t/.m 是行内 span，必须块级化才会换行并让 ellipsis 生效 */
.zjk-row .t{display:block;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zjk-row .m{display:block;font-size:12px;color:var(--zjk-sub);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zjk-row:hover .t{color:var(--zjk-accent)}
.zjk-row .d{flex:0 0 auto;font-size:12.5px;color:var(--zjk-accent);border:1px solid var(--zjk-accent);border-radius:7px;padding:4px 10px;white-space:nowrap}
.zjk-row .d:hover{background:var(--zjk-accent);color:#fff}

/* ---------- 详情页 ---------- */
.zjk-hero{display:flex;gap:18px;padding:22px}
.zjk-hero-ic{width:96px;height:96px;flex:0 0 96px;border-radius:20px;background:#f4f6f9;display:flex;align-items:center;justify-content:center;overflow:hidden}
.zjk-hero-ic img{width:100%;height:100%;object-fit:contain}
.zjk-hero-b{flex:1;min-width:0}
.zjk-hero-b h1{font-size:22px;font-weight:700;line-height:1.35}
/* 纯文字头图（专题详情）：.zjk-hero 是横向 flex，会把 h1/芯片/简介排成一行 */
.zjk-hero-text{display:block;padding:22px 22px 18px;border-bottom:1px solid var(--zjk-line)}
.zjk-hero-text h1{font-size:22px;font-weight:700;line-height:1.35}
.zjk-hero-text .zjk-desc{margin-top:12px}
.zjk-hero-b h1 .ver{font-size:14px;color:var(--zjk-sub);font-weight:400;margin-left:8px}
.zjk-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:12.5px;color:#4b5563}
.zjk-meta span{background:#f4f6f9;border-radius:7px;padding:4px 10px}
.zjk-meta a:hover{color:var(--zjk-accent)}
.zjk-desc{margin-top:14px;font-size:14px;color:#39414f;line-height:1.75}
.zjk-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.zjk-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:10px;font-size:14.5px;transition:.15s}
.zjk-btn.pri{background:var(--zjk-accent);color:#fff}
.zjk-btn.pri:hover{filter:brightness(1.08)}
.zjk-btn.sec{border:1px solid var(--zjk-line);background:#fff;color:#3c4453}
.zjk-btn.sec:hover{border-color:var(--zjk-accent);color:var(--zjk-accent)}
.zjk-downs{padding:6px 22px 20px}
.zjk-down-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px dashed var(--zjk-line);font-size:14px}
.zjk-down-row:last-child{border-bottom:0}
.zjk-down-row .zjk-btn{padding:6px 14px;font-size:13.5px}
.zjk-down-row .lab{flex:1;min-width:0;color:#39414f}
.zjk-down-row .code{font-size:12.5px;color:var(--zjk-sub)}
.zjk-down-row .code b{color:var(--zjk-accent);letter-spacing:1px}
/* 截图轮播：单图左右切换，不出现横向滚动条 */
.zjk-shots{position:relative;overflow:hidden;padding:18px 22px}
.zjk-track{display:flex;transition:transform .3s ease;will-change:transform}
.zjk-shot{position:relative;flex:0 0 100%;min-width:0;display:flex;justify-content:center;margin:0}
.zjk-shots img{max-width:100%;max-height:440px;width:auto;height:auto;border-radius:10px;border:1px solid var(--zjk-line);background:#fff;cursor:zoom-in;transition:.16s}
.zjk-shot img:hover,.zjk-shot img:focus-visible{outline:2px solid var(--zjk-accent);outline-offset:2px;box-shadow:var(--zjk-shadow-h)}
/* data-nozoom：只做轮播、不放大（专题主图），去掉可点击放大的视觉暗示 */
.zjk-shots[data-nozoom] img{cursor:default}
.zjk-shots[data-nozoom] .zjk-shot img:hover,.zjk-shots[data-nozoom] .zjk-shot img:focus-visible{outline:none;box-shadow:none}
.zjk-shot::after{content:attr(data-hint);position:absolute;right:calc(50% - 220px);bottom:26px;background:rgba(28,32,39,.72);color:#fff;font-size:11.5px;line-height:1;padding:5px 8px;border-radius:6px;pointer-events:none;opacity:0;transition:.16s}
.zjk-shot:hover::after,.zjk-shot:focus-within::after{opacity:1}
.zjk-car-btn{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:54px;border:0;border-radius:9px;background:rgba(28,32,39,.42);color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
.zjk-car-btn:hover{background:var(--zjk-accent)}
.zjk-car-prev{left:12px}
.zjk-car-next{right:12px}
.zjk-car-idx{position:absolute;right:16px;bottom:14px;background:rgba(28,32,39,.6);color:#fff;font-size:12px;line-height:1;padding:5px 9px;border-radius:999px;font-variant-numeric:tabular-nums}
.zjk-shots.zjk-car-single .zjk-car-btn,.zjk-shots.zjk-car-single .zjk-car-idx{display:none}

/* ---------- 截图灯箱 ---------- */
.zjk-noscroll{overflow:hidden}
.zjk-lb{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.18s}
.zjk-lb.on{opacity:1;visibility:visible}
.zjk-lb-mask{position:absolute;inset:0;background:rgba(15,18,23,.88);cursor:zoom-out}
.zjk-lb-fig{position:relative;margin:0;display:flex;flex-direction:column;align-items:center;gap:12px}
.zjk-lb-img{max-width:min(92vw,1120px);max-height:78vh;object-fit:contain;background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.zjk-lb-btn{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
.zjk-lb-btn:hover{background:var(--zjk-accent)}
.zjk-lb-prev{left:-64px}
.zjk-lb-next{right:-64px}
.zjk-lb-close{position:absolute;top:-6px;right:-6px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:15px;cursor:pointer}
.zjk-lb-close:hover{background:var(--zjk-accent)}
.zjk-lb-cap{display:flex;gap:14px;align-items:center;color:#c9d1dc;font-size:12.5px}
.zjk-lb-count{font-variant-numeric:tabular-nums;color:#fff;font-size:13.5px}
.zjk-lb-single .zjk-lb-btn,.zjk-lb-single .zjk-lb-count{display:none}
.zjk-body{padding:20px 22px;font-size:15px;line-height:1.85;color:#2b323d}
.zjk-body p{margin:0 0 12px}
.zjk-body img{border-radius:10px;margin:8px 0}
.zjk-body h2,.zjk-body h3{font-size:17px;margin:18px 0 10px}
.zjk-note{font-size:12.5px;color:var(--zjk-sub);padding:12px 22px;border-top:1px solid var(--zjk-line)}
.zjk-cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}

/* ---------- 分页 ---------- */
.zjk-page{display:flex;align-items:center;justify-content:center;gap:6px;padding:18px;flex-wrap:wrap}
.zjk-page a,.zjk-page span{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--zjk-line);border-radius:8px;background:#fff;font-size:13.5px;color:#3c4453;padding:0 8px}
.zjk-page a:hover{border-color:var(--zjk-accent);color:var(--zjk-accent)}
.zjk-page .current{background:var(--zjk-accent);border-color:var(--zjk-accent);color:#fff}
.zjk-page .empty{opacity:.4;pointer-events:none}

/* ---------- 首页 ---------- */
.zjk-hero-band{background:linear-gradient(135deg,#1f4bb6 0%,#2f6fed 45%,#4a8dff 100%);color:#fff;border-radius:var(--zjk-radius);padding:26px 28px;margin-bottom:18px}
.zjk-hero-band h1{font-size:24px;font-weight:700}
.zjk-hero-band p{margin-top:8px;font-size:14px;opacity:.9;max-width:640px}
.zjk-hero-band .zjk-search{flex:none;margin-top:16px;background:#fff;border:0;max-width:460px;height:44px}
.zjk-catnav{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:18px}
/* 平台专区 6 格：必须走类而不是内联样式，内联会压过下面的媒体查询导致窄屏横向溢出 */
.zjk-catnav-6{grid-template-columns:repeat(6,1fr)}
.zjk-catnav a{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--zjk-line);border-radius:12px;transition:.16s}
.zjk-catnav a:hover{border-color:var(--zjk-accent);box-shadow:var(--zjk-shadow-h);transform:translateY(-2px)}
.zjk-catnav i{font-size:22px;color:var(--zjk-accent)}
.zjk-catnav b{font-size:14.5px;font-weight:600}
.zjk-catnav em{font-style:normal;font-size:12px;color:var(--zjk-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zjk-topic{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:18px}
.zjk-topic a{display:block;border:1px solid var(--zjk-line);border-radius:12px;overflow:hidden;transition:.16s}
.zjk-topic a:hover{border-color:var(--zjk-accent);box-shadow:var(--zjk-shadow-h)}
.zjk-topic .ph{height:112px;background:#eef2f8 center/cover no-repeat;display:flex;align-items:flex-end}
.zjk-topic .tt{padding:10px 12px;font-size:14px;font-weight:600}
.zjk-topic .dd{padding:0 12px 12px;font-size:12.5px;color:var(--zjk-sub);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- 页脚：全站统一精简，首页只多一行友情链接 ---------- */
.zjk-foot{margin-top:30px;background:#1c2027;color:#aeb6c2;padding:18px 0;font-size:13px}
.zjk-foot a{color:#aeb6c2}
.zjk-foot a:hover{color:#fff}
.zjk-foot-links{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #2e343d}
.zjk-foot-links .zjk-flabel{color:#8b95a5;font-size:12.5px}
.zjk-foot-links a{font-size:12.5px}
.zjk-foot-btm{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#8b95a5;font-size:12.5px}

/* ---------- 响应式 ---------- */
@media (max-width:1200px){
  .zjk-grid{grid-template-columns:repeat(3,1fr)}
  .zjk-catnav{grid-template-columns:repeat(4,1fr)}
  .zjk-catnav-6{grid-template-columns:repeat(3,1fr)}
}
/* 头部宽度预算：8 个导航项约 820px，若沿用 .zjk-wrap 的 1200px 上限必然溢出，
   故头部单独放宽到 1360；1240 以下把搜索框折成图标（聚焦即展开） */
@media (max-width:1240px){
  .zjk-head .zjk-search{flex:0 0 auto;width:44px}
  .zjk-head .zjk-search input{display:none}
  .zjk-head .zjk-search:focus-within{position:absolute;left:auto;right:16px;top:10px;width:auto;z-index:60;background:#fff;border:1px solid var(--zjk-line)}
  .zjk-head .zjk-search:focus-within input{display:block}
}
@media (max-width:1180px){
  .zjk-logo-sub{display:none}
}
@media (max-width:1024px){
  /* 必须保留 minmax(0,1fr)：裸 1fr 等于 minmax(auto,1fr)，
     列宽会被截图行里的宽图顶开，造成整页横向溢出 */
  .zjk-cols{grid-template-columns:minmax(0,1fr)}
  .zjk-sub-in{grid-template-columns:repeat(2,minmax(120px,1fr));min-width:300px}
}
.zjk-cols>*{min-width:0}
/* 1120 以下 8 个导航项放不下，收进汉堡菜单（头部单独一档，栅格规则留在 860） */
@media (max-width:1120px){
  .zjk-head-in{height:56px;gap:12px}
  .zjk-nav-ul{height:56px}
  .zjk-menu-btn{display:flex;align-items:center;justify-content:center;margin-left:auto;order:3}
  .zjk-nav{order:4;flex-basis:100%;display:none}
  .zjk-head.open .zjk-nav{display:block;position:absolute;left:0;right:0;top:56px;background:#fff;border-bottom:1px solid var(--zjk-line);box-shadow:var(--zjk-shadow-h);padding:8px 16px 16px}
  .zjk-head.open .zjk-nav-ul{flex-direction:column;align-items:stretch;height:auto;gap:0}
  .zjk-head.open .zjk-nav-li{height:auto;flex-direction:column;align-items:stretch}
  .zjk-head.open .zjk-nav-a{padding:11px 4px;border-bottom:1px solid var(--zjk-line)}
  .zjk-head.open .zjk-sub{position:static;transform:none;opacity:1;visibility:visible;padding:0}
  .zjk-head.open .zjk-sub-in{display:flex;flex-wrap:wrap;gap:4px;border:0;box-shadow:none;padding:6px 0 10px;min-width:0}
  .zjk-head.open .zjk-sub-a{padding:6px 10px;background:#f5f7fa;border-radius:8px;font-size:13px}
}
@media (max-width:860px){
  .zjk-grid{grid-template-columns:repeat(2,1fr)}
  .zjk-catnav{grid-template-columns:repeat(2,1fr)}
  .zjk-topic{grid-template-columns:1fr}
  .zjk-hero{flex-direction:column;align-items:flex-start}
  /* 窄屏下箭头移到图内，避免 -64px 伸出视口 */
  .zjk-lb-prev{left:8px}
  .zjk-lb-next{right:8px}
  .zjk-lb-btn{width:40px;height:40px;font-size:22px}
  .zjk-lb-img{max-height:66vh;max-width:94vw}
}
@media (max-width:480px){
  .zjk-grid{grid-template-columns:1fr}
  .zjk-shots{padding:14px}
  .zjk-shots img{max-height:70vh}
  .zjk-car-btn{width:32px;height:44px;font-size:20px}
  .zjk-car-prev{left:6px}
  .zjk-car-next{right:6px}
  .zjk-logo-sub{display:none}
}
