/* ===== 分类页样式（yszzq风格） ===== */
/* 标题条 */
.cat-hero{background:linear-gradient(#fbfbfb,#f1f1f1);border-bottom:1px solid #e8e8e8;padding:16px 20px;display:flex;align-items:center;gap:10px;margin-top:16px;position:relative;overflow:hidden;}
.cat-hero:before{content:"";position:absolute;right:-30px;top:-40px;width:140px;height:140px;background:rgba(0,0,0,.04);transform:rotate(45deg);}
.cat-hero:after{content:"";position:absolute;right:60px;bottom:-60px;width:100px;height:100px;background:rgba(0,0,0,.03);transform:rotate(45deg);}
.cat-dia{width:22px;height:22px;background:#555;transform:rotate(45deg);display:inline-flex;align-items:center;justify-content:center;flex:none;}
.cat-dia svg{width:12px;height:12px;fill:#fff;transform:rotate(-45deg);}
.cat-h{font-size:20px;font-weight:bold;color:#333;position:relative;z-index:1;}

/* 筛选栏 */
.filter{background:#fff;border:1px solid #eee;border-top:0;padding:6px 18px;}
.filter-row{display:flex;align-items:flex-start;gap:14px;padding:9px 0;border-bottom:1px dashed #f0f0f0;}
.filter-row:last-child{border-bottom:0;}
.filter-label{flex:none;width:70px;font-size:14px;font-weight:bold;color:#333;padding:5px 0;}
.filter-opts{display:flex;flex-wrap:wrap;gap:8px;}
.f-btn{font-size:13px;color:#555;border:1px solid #e5e5e5;border-radius:3px;padding:5px 14px;background:#fff;transition:all .15s;}
.f-btn:hover{color:#3f8af0;border-color:#3f8af0;}
.f-btn.on{background:#3f8af0;border-color:#3f8af0;color:#fff;}

/* 空列表 */
.list-empty{background:#fff;border:1px solid #eee;text-align:center;padding:60px 0;color:#999;font-size:14px;margin-top:14px;}

/* 分页条 */
.pg-wrap{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;padding:22px 0 6px;}
.pg-total{background:#3f8af0;color:#fff;font-size:13px;padding:8px 14px;border-radius:3px;}
.pg,.pg-cur{font-size:13px;padding:8px 14px;border-radius:3px;background:#fff;border:1px solid #e5e5e5;color:#555;}
a.pg:hover{color:#3f8af0;border-color:#3f8af0;}
.pg-cur{background:#3f8af0;border-color:#3f8af0;color:#fff;}

/* 底部标签行 */
.list-tags{background:#f7f9fc;border:1px solid #eee;padding:12px 16px;margin:14px 0 20px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.lt-label{font-size:13px;color:#3f8af0;font-weight:bold;}
.list-tags a{font-size:12px;color:#666;background:#fff;border:1px solid #e8e8e8;border-radius:3px;padding:3px 10px;}
.list-tags a:hover{color:#3f8af0;border-color:#3f8af0;}

/* ===== 教程分类页 ref/05：tab条 + 左列表 + 右侧栏 ===== */
.jt-tabs{background:#fff;border:1px solid #eee;border-radius:4px;margin-top:16px;padding:0 6px;display:flex;flex-wrap:wrap;}
.jt-tab{position:relative;display:block;padding:14px 20px;font-size:15px;color:#555;font-weight:normal;}
.jt-tab:hover{color:#3f8af0;}
.jt-tab.on{color:#3f8af0;font-weight:bold;}
.jt-tab.on:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;background:#3f8af0;border-radius:2px 2px 0 0;}
h1.jt-tab{font-size:15px;}

.jt-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start;margin-top:14px;}
.jt-main{background:#fff;border:1px solid #eee;border-radius:4px;padding:4px 22px;min-width:0;}
.j-item{padding:18px 0;border-bottom:1px solid #f2f2f2;}
.j-item:last-of-type{border-bottom:0;}
.j-t{font-size:17px;font-weight:bold;line-height:1.5;}
.j-t a{color:#333;}
.j-t a:hover{color:#3f8af0;}
.j-intro{margin-top:8px;font-size:13px;color:#777;line-height:1.9;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.j-meta{margin-top:10px;display:flex;gap:18px;font-size:12px;color:#a0a6af;}
.j-meta svg{width:13px;height:13px;fill:#b9c0ca;vertical-align:-2px;margin-right:4px;}
.jt-main .pg-wrap{border-top:1px solid #f2f2f2;}

/* 侧栏（与详情页侧栏同款） */
.jt-side{min-width:0;}
.side-box{background:#fff;border:1px solid #eee;border-radius:4px;padding:14px 16px;}
.side-box + .side-box{margin-top:16px;}
.side-t{font-size:15px;font-weight:bold;color:#333;padding:2px 0 10px;border-bottom:1px solid #f0f0f0;margin-bottom:8px;}
.side-rank li{display:flex;align-items:center;gap:8px;border-bottom:1px dashed #f3f3f3;}
.side-rank li:last-child{border-bottom:0;}
.side-rank li i{flex:none;width:18px;height:18px;border-radius:50%;background:#e6ebf2;color:#8a97a8;font-size:12px;font-style:normal;text-align:center;line-height:18px;}
.side-rank li.top i{background:#3f8af0;color:#fff;}
.side-rank li a{flex:1;min-width:0;padding:8px 0;font-size:13px;color:#555;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.side-rank li a:hover{color:#3f8af0;}
.side-latest{display:grid;grid-template-columns:1fr 1fr;gap:12px 12px;padding-top:4px;}
.sl-card{display:block;min-width:0;}
.sl-thumb{aspect-ratio:16/10;background:#f5f7fa;border-radius:3px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.sl-thumb img{width:100%;height:100%;object-fit:cover;}
.sl-name{display:block;margin-top:6px;font-size:12px;color:#555;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sl-card:hover .sl-name{color:#3f8af0;}
.side-tags{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px;}
.side-tags a{background:#f2f6ff;border:1px solid #cbdbfb;color:#666;border-radius:3px;padding:3px 10px;font-size:12px;}
.side-tags a:hover{color:#3f8af0;border-color:#3f8af0;}

/* 响应式 */
@media (max-width:1000px){
.filter-label{width:60px;}
}
@media (max-width:900px){
.jt-wrap{grid-template-columns:1fr;}
.jt-side{order:2;}
}
@media (max-width:640px){
.filter-row{flex-direction:column;gap:6px;}
.filter-label{width:auto;}
.cat-h{font-size:17px;}
.jt-tab{padding:12px 14px;font-size:14px;}
.j-t{font-size:15px;}
.jt-main{padding:2px 14px;}
}

/* ==================== 第五轮返工追加：资源采集/插件工具 分类页（对照 chajian.html / ziyuan/web） ==================== */
.filter-nav{background:#fff;border:1px solid #eee;border-radius:4px;margin-top:16px;padding:0 20px;}
.fn-title{font-size:18px;font-weight:bold;color:#333;padding:14px 0 12px;border-bottom:1px solid #f0f0f0;}
.filter-nav ul{padding:2px 0;}
.filter-nav li{display:flex;align-items:flex-start;gap:14px;padding:11px 0;border-bottom:1px dashed #f2f2f2;}
.filter-nav li:last-child{border-bottom:0;}
.filter-nav label{flex:none;width:70px;text-align:center;background:#f5f8fc;border-radius:3px;padding:6px 0;font-size:13px;font-weight:bold;color:#555;}
.fn-opts{display:flex;flex-wrap:wrap;gap:8px;min-width:0;}

.fl-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start;margin-top:14px;}
.fl-main{background:#fff;border:1px solid #eee;border-radius:4px;padding:4px 20px;min-width:0;}
.zy-row{border-bottom:1px solid #f4f4f4;}
.zy-row:last-of-type{border-bottom:0;}
.zy-row a{display:flex;gap:14px;padding:16px 0;box-sizing:border-box;}
.zy-row .pic{flex:none;width:150px;height:105px;background:#f5f7fa;border:1px solid #eee;border-radius:3px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.zy-row .pic img{width:100%;height:100%;object-fit:cover;}
.zy-row .pic .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.zy-row .pic .screen{width:78%;height:72px;border-radius:4px 4px 0 0;padding:4px 4px 0;background:#4a4f57;}
.zy-row .pic .screen-inner{width:100%;height:100%;border-radius:2px 2px 0 0;}
.zy-row .pic .base{width:90%;height:6px;background:#b8bfc9;border-radius:0 0 4px 4px;margin-top:-1px;}
.zy-row .txt{flex:1;min-width:0;}
.zy-row .txt h2{font-size:16px;font-weight:bold;color:#333;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.zy-row .txt p{margin-top:8px;font-size:13px;color:#777;line-height:1.8;height:44px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.zy-row .txt .m{display:inline-block;margin-right:16px;margin-top:8px;font-size:12px;color:#a0a6af;}
.zy-row .txt .m svg{width:13px;height:13px;fill:#b9c0ca;vertical-align:-2px;margin-right:4px;}
/* 赞助行高亮（配色同目标站） */
.zy-row.isgood_2 a{background:#ffdcdc;border:1px solid #fb8888;border-radius:4px;padding-left:12px;padding-right:12px;}
.zy-row.isgood_2 .ico{background:#fc5574;}
.zy-row.isgood_1 a{background:#fffbdc;border:1px solid #e0cb25;border-radius:4px;padding-left:12px;padding-right:12px;}
.zy-row.isgood_1 .ico{background:#dcc40b;}
.zy-row a:hover h2{color:#3f8af0;}
.fl-side{min-width:0;}
.fl-side .side-box{background:#fff;border:1px solid #eee;border-radius:4px;padding:14px 16px;}
.fl-side .side-box + .side-box{margin-top:16px;}
.fl-side .side-t{font-size:15px;font-weight:bold;color:#333;padding:2px 0 10px;border-bottom:1px solid #f0f0f0;margin-bottom:8px;}
.fl-main .pg-wrap{border-top:1px solid #f2f2f2;}

@media (max-width:1000px){
.fl-wrap{grid-template-columns:1fr;}
.fl-side{order:2;}
}
@media (max-width:640px){
.filter-nav{padding:0 12px;}
.filter-nav li{flex-direction:column;gap:6px;}
.filter-nav label{width:auto;padding:4px 8px;}
.zy-row .pic{width:110px;height:78px;}
.zy-row .pic .screen{height:52px;}
.zy-row .txt h2{font-size:15px;}
}

/* ===== 第六轮返工 ===== */
/* 1. 通栏广告位（11/12/13/14/15）统一 1300x60，宽度同主容器，移动端等比缩放 */
.ys-ad-bn{max-width:1300px;margin-left:auto;margin-right:auto;}
.ys-ad-bn .ys-ad-ph{height:60px !important;flex-direction:row;align-items:center;justify-content:center;gap:14px;}
.ys-ad-bn .ys-ad-ph b{font-size:14px;}
.ys-ad-bn .ys-ad-ph span{font-size:12px;}
.ys-top-adv{margin-top:8px;}
.ys-nav-adv{margin-top:10px;}
/* 8. 顶部真实广告图轮播 */
.ys-ad-slide{line-height:0;}
.ys-ad-slide a{display:block;line-height:0;}
.ys-ad-slide img{width:100%;max-width:1300px;height:auto;display:block;margin:0 auto;}
/* 8. 对联广告（左右悬浮跟随滚动；窄屏与移动端隐藏） */
.ys-ad-dl{position:fixed;top:140px;width:120px;z-index:990;margin:0;}
.ys-ad-dl-l{left:calc(50% - 650px - 132px);}
.ys-ad-dl-r{right:calc(50% - 650px - 132px);}
.ys-ad-dl .ys-ad-ph{width:120px !important;height:300px !important;flex-direction:column;gap:8px;padding:8px;box-sizing:border-box;}
.ys-ad-dl img{width:120px;display:block;}
@media (max-width:1600px){.ys-ad-dl{display:none !important;}}
/* 3. TOP10 赞助颜色只染标题文字：标题不再带背景条，描述与序号保持默认色 */
.t10-list .t10-t.isgood_1,.t10-list .t10-t.isgood_2,.side-top10 .t10-t.isgood_1,.side-top10 .t10-t.isgood_2{background:transparent !important;border:0 !important;}
/* 6. 赞助标题文字颜色三处统一（一级黄 / 二级红粉） */
.zy-grid .zy-item.isgood_1 h4,.zy-row.isgood_1 h2{color:#b89a0a;}
.zy-grid .zy-item.isgood_2 h4,.zy-row.isgood_2 h2{color:#e0466a;}
.zy-grid .zy-item.isgood_1 a:hover h4,.zy-grid .zy-item.isgood_2 a:hover h4,.zy-row.isgood_1 a:hover h2,.zy-row.isgood_2 a:hover h2{color:#3f8af0;}
/* 2. 面包屑全站统一样式：链接主题蓝可点，当前页灰色加粗 */
.crumb{margin:12px 0 2px;padding:0 2px;font-size:13px;color:#888;line-height:1.8;}
.crumb a{color:#3f8af0;}
.crumb a:hover{color:#2c6fd6;text-decoration:underline;}
.crumb em{font-style:normal;margin:0 8px;color:#bbb;}
.crumb .crumb-cur{color:#666;font-weight:bold;}

/* ===== %s ===== */
.ys-ad-stack{line-height:0;}
.ys-ad-stack .date_span{position:relative;height:70px;max-width:1200px;margin:0 auto 5px;background:#f1f1f1;overflow:hidden;line-height:0;}
.ys-ad-stack .date_span:last-child{margin-bottom:0;}
.ys-ad-stack .date_span a{display:block;line-height:0;}
.ys-ad-stack .date_span img{width:100%;height:100%;display:block;}
.ys-ad-stack .date_span .ad-tag{position:absolute;right:0;bottom:0;background:rgba(0,0,0,.4);color:#fff;font-size:12px;line-height:1.4;padding:2px 4px;z-index:2;}
.ys-ad-bn .ys-ad-ph{height:70px !important;}
.date_lg{width:500px;max-width:100%;flex:none;line-height:0;font-size:0;margin:0 10px;}
.date_lg .ys-ad-stack .date_span{height:auto;max-width:500px;margin:0;}
.date_lg .ys-ad-stack .date_span img{width:100%;max-width:500px;height:auto;display:block;}
.ys-ad-dl{width:150px;top:auto;bottom:60px;z-index:9;}
.ys-ad-dl-l{left:10px;}
.ys-ad-dl-r{right:10px;}
.ys-ad-dl .date_span{width:150px;height:300px;max-width:150px;margin:0;}
.ys-ad-dl .date_span img{width:150px;height:300px;display:block;object-fit:cover;}
.dl-close{width:100%;text-align:center;line-height:25px;cursor:pointer;background:rgba(0,0,0,.45);color:#fff;font-size:12px;letter-spacing:4px;user-select:none;}
.dl-close:hover{background:rgba(0,0,0,.65);}
    @media (max-width:1600px){.ys-ad-dl{display:none !important;}}
/* 第七轮：通栏堆叠/logo旁/对联关闭同步 */
/* ===== 移动端广告自适应（通栏 11-15 / logo旁 18 等比缩放，位18窄屏不隐藏） ===== */
@media (max-width:768px){
  /* 所有堆叠广告图：宽100% 等比缩放，不裁剪不溢出；逐条间隙保留 */
  .ys-ad-stack .date_span{height:auto;margin:0 auto 5px;}
  .ys-ad-stack .date_span:last-child{margin-bottom:0;}
  .ys-ad-stack .date_span img{width:100%;max-width:100%;height:auto;}
  /* 位18：移动端不再隐藏，折行显示在 logo/搜索框下方，全宽自适应（最大500px） */
  .date_lg{display:block !important;order:3;width:100%;max-width:500px;margin:8px auto 0 !important;}
  .date_lg .ys-ad-stack .date_span img{width:100%;max-width:500px;height:auto;}
  /* topbar 允许折行：logo+搜索一行，位18第二行 */
  .topbar .container{flex-wrap:wrap;}
  .topbar .container .date_lg{flex:none;}
}

/* ===== 第八轮：移动端（≤768px）隐藏侧栏模块，正文满宽 ===== */
@media (max-width:768px){
  .fl-side,.jt-side{display:none !important;}
  .fl-wrap,.jt-wrap{grid-template-columns:1fr;}
}

/* ==================== 第四轮 R3：404 页 ==================== */
.ys404{max-width:640px;margin:50px auto 70px;text-align:center;padding:0 16px;}
.ys404-code{font-size:88px;font-weight:800;color:#4285f4;line-height:1.15;}
.ys404-t{font-size:17px;color:#555;margin:10px 0 26px;font-weight:400;}
.ys404-search{display:flex;max-width:440px;margin:0 auto 26px;}
.ys404-search input{flex:1;min-width:0;border:2px solid #4285f4;border-right:none;border-radius:20px 0 0 20px;padding:9px 16px;font-size:14px;outline:none;}
.ys404-search button{border:none;background:#4285f4;color:#fff;border-radius:0 20px 20px 0;padding:0 22px;cursor:pointer;font-size:14px;}
.ys404-cats{margin-bottom:26px;font-size:14px;color:#888;}
.ys404-cats a{margin:0 8px;color:#4285f4;text-decoration:none;}
.ys404-cats a:hover{text-decoration:underline;}
.ys404-home{display:inline-block;padding:9px 28px;background:#4285f4;color:#fff;border-radius:20px;text-decoration:none;font-size:14px;}
@media (max-width:640px){.ys404-code{font-size:64px;}}
