/* ==========================================================================
   干货铺 - 全局样式（极简无界风 · 致敬 Apple / Vercel）
   #F9FAFB 极浅灰白 + #FFFFFF 纯白 + 黑色主按钮 + 克莱因蓝链接 + 极淡阴影
   ========================================================================== */

:root{
  /* —— 极简无界风色板（去饱和 + 高级感） —— */
  --bg:#f9fafb; --card:#ffffff;
  --ink:#111827;       /* 主标题：深邃黑 */
  --ink-2:#374151;     /* 正文 */
  --sub:#6b7280;       /* 副标题/描述 */
  --muted:#9ca3af;     /* 辅助文字 */
  --line:#e5e7eb;      /* 边框/分割线 */
  --line-2:#f3f4f6;    /* 极淡分割线 */
  --brand:#111827;     /* 黑色主按钮/Logo */
  --brand-soft:#f3f4f6;/* 黑色淡背景（活跃 tab 等） */
  --link:#2563eb;      /* 克莱因蓝：链接 hover / 可点击强调 */
  --amber:#b45309;     /* hot 标记（降饱和深琥珀） */
  --amber-soft:#fef3c7;/* hot 浅底 */
  --green:#047857;     /* new 标记（降饱和墨绿） */
  --green-soft:#d1fae5;/* new 浅底 */
  --radius:10px; --wrap:1240px;
  --side-nav-width:176px;  /* 左侧固定侧边栏宽度 */
  /* 留白 token */
  --gap-card:12px;     /* 卡片之间的间距 */
  --gap-section:12px;  /* 大区块之间 */
  --gap-inner:12px;    /* 面板内部元素间距 */
  /* 阴影（更克制） */
  --shadow:0 1px 2px rgba(0,0,0,.04),0 4px 12px rgba(0,0,0,.04);
  --shadow-hover:0 2px 4px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.06);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:64px;}
body{
  background:var(--bg);color:var(--ink);
  font:14px/1.6 "Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  margin-left:var(--side-nav-width);
}
a{text-decoration:none;color:inherit;transition:color .15s;}
button{font-family:inherit;}
img{border:0;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px;}
h1,h2,h3,h4{font-weight:700;}

/* ---------------- 左侧固定侧边栏 ---------------- */
.side-nav{
  position:fixed;left:0;top:0;bottom:0;width:var(--side-nav-width);
  background:#fff;border-right:1px solid var(--line-2);
  display:flex;flex-direction:column;
  z-index:100;
}
.sn-brand{
  display:flex;align-items:center;gap:10px;padding:20px 16px 16px;
  border-bottom:1px solid var(--line-2);
  text-decoration:none;color:inherit;
}
.sn-brand .brand-mark{width:38px;height:38px;font-size:19px;border-radius:10px;flex:none;}
.sn-brand .brand-text b{font-size:18px;letter-spacing:.3px;}
.sn-brand .brand-text i{font-size:9px;letter-spacing:1.2px;}

/* 频道导航条（侧边栏版） */
.side-nav .channel-bar{
  flex:1;overflow-y:auto;overflow-x:hidden;padding:14px 10px 10px;
  position:static;z-index:auto;background:transparent;border:0;
}
.sn-group{
  font-size:11px;font-weight:600;letter-spacing:1.2px;
  color:var(--muted);padding:4px 12px 8px;text-transform:uppercase;
}
.side-nav .channel-bar::-webkit-scrollbar{width:4px;}
.side-nav .channel-in{display:flex;flex-direction:column;gap:1px;overflow:visible;padding:0;align-items:stretch;}
.side-nav .channel-in a{
  flex:none;padding:0;line-height:normal;position:static;
}
.side-nav .channel-in a.active::after{display:none;}
.side-nav .channel-bar + .wrap,
.side-nav .channel-bar + main.wrap{margin-top:0;}
.ch-divider{display:none;}

/* 侧边栏导航菜单项 —— 优设风格 */
.sn-item{
  display:flex;align-items:center;gap:10px;padding:9px 12px;
  border-radius:10px;font-size:13.5px;color:var(--sub);font-weight:500;
  transition:background .15s,color .15s;position:relative;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  border-left:2px solid transparent;
}
.sn-item:hover{background:var(--brand-soft);color:var(--ink);}
.sn-item:hover .sn-ico{color:var(--ink);}
.sn-item.active{
  background:#fff;color:var(--ink);font-weight:600;
  box-shadow:0 1px 3px rgba(0,0,0,.06),0 4px 10px rgba(0,0,0,.04);
}
.sn-item.active{border-left-color:var(--ink);}
.sn-item.active .sn-ico{color:var(--ink);}

.sn-ico{
  width:20px;height:20px;flex:none;border-radius:5px;
  display:grid;place-items:center;
  font-size:11px;font-weight:700;line-height:1;
  color:var(--muted);
  background:transparent;border:1px solid var(--line);
  transition:color .15s,border-color .15s,background .15s;
}
.sn-item.active .sn-ico{border-color:var(--ink);background:transparent;}
.sn-txt{min-width:0;}

/* 侧边栏底部 */
.sn-foot{padding:12px 10px;border-top:1px solid var(--line-2);}
.sn-foot-btn{
  display:flex;align-items:center;justify-content:center;gap:6px;
  padding:9px;background:var(--brand-soft);color:var(--ink);border-radius:8px;
  font-size:12.5px;font-weight:600;white-space:nowrap;
  transition:background .15s;
  border:1px solid var(--line);
}
.sn-foot-btn:hover{background:var(--line);}

/* ---------------- 顶栏 ---------------- */
.site-head{background:#fff;border-bottom:1px solid var(--line-2);position:relative;z-index:60;}

/* ========== 顶部小工具条 ========== */
.top-strip{background:#f7f8fa;border-bottom:1px solid var(--line-2);font-size:12px;}
.top-strip-in{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:0;padding-bottom:0;height:32px;color:var(--muted);
}
.ts-left{display:flex;align-items:center;gap:14px;}
.ts-date{color:var(--ink);font-weight:500;}
.ts-weather{display:inline-flex;align-items:center;gap:4px;color:var(--sub);}
.ts-weather svg{color:var(--amber);flex:none;}
.ts-right{display:flex;align-items:center;gap:18px;}
.ts-lucky,.ts-hint{
  display:inline-flex;align-items:center;gap:6px;
  border:0;background:none;padding:0;margin:0;font:inherit;color:inherit;
  cursor:pointer;white-space:nowrap;transition:color .15s;
}
.ts-lucky:hover,.ts-hint:hover{color:var(--ink);}
.ts-weather{white-space:nowrap;}
.ts-lbl{color:var(--muted);}
.ts-stars{color:var(--amber);letter-spacing:1px;font-size:11.5px;}
.ts-tip{color:var(--sub);}
.ts-hint{color:var(--muted);}

.head-in{display:flex;align-items:center;gap:26px;padding-top:13px;padding-bottom:10px;}
.brand{display:flex;align-items:center;gap:10px;flex:none;}
.brand-mark{
  width:44px;height:44px;border-radius:10px;
  background:#111827;color:#fff;font-size:22px;font-weight:800;
  display:grid;place-items:center;
}
.brand-text b{font-size:23px;font-weight:800;letter-spacing:.5px;color:var(--ink);display:block;line-height:1.2;}
.brand-text i{font-style:normal;font-size:10px;color:var(--ink-2);letter-spacing:1.5px;font-weight:600;}

.search-panel{flex:1;max-width:640px;position:relative;min-width:0;}
.engine-tabs{display:flex;gap:2px;}
.engine-tabs button{
  position:relative;font-size:12.5px;color:var(--sub);padding:3px 10px 5px;background:none;border:0;
  cursor:pointer;
}
.engine-tabs button:hover{color:var(--ink);}
.engine-tabs button.active{color:var(--ink);font-weight:600;}
.engine-tabs button.active::after{
  content:"";position:absolute;left:50%;bottom:0;width:33%;height:2px;background:var(--ink);
  transform:translateX(-50%);
}
.search-row{
  display:flex;height:44px;background:#fff;
  border:1.5px solid var(--line);border-radius:10px;overflow:hidden;
  transition:border-color .2s,box-shadow .2s;
}
.search-row:focus-within{border-color:var(--link);box-shadow:0 0 0 3px rgba(37,99,235,.08);}
.search-row input{
  flex:1;min-width:0;border:0;outline:0;padding:0 14px;
  font-size:14px;color:var(--ink);background:none;
}
.search-row input::placeholder{color:var(--muted);}
.search-btn{
  width:96px;background:var(--ink);color:#fff;border:0;cursor:pointer;
  font-size:14px;font-weight:600;letter-spacing:2px;
  transition:background .15s;
}
.search-btn:hover{background:#000;}
.suggest{
  position:absolute;left:0;right:96px;top:calc(100% - 22px);
  background:#fff;border:1px solid var(--line);border-radius:10px;
  box-shadow:var(--shadow-hover);display:none;z-index:70;overflow:hidden;
}
.suggest.open{display:block;}
.suggest a{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;color:var(--ink-2);}
.suggest a:hover{background:var(--line-2);color:var(--link);}
.suggest .s-cat{margin-left:auto;font-size:11px;color:var(--muted);}
.hot-row{display:flex;flex-wrap:wrap;align-items:center;gap:3px 14px;margin-top:7px;font-size:12px;}
.hot-label{display:inline-flex;align-items:center;gap:3px;color:var(--ink);font-weight:600;}
.hot-label svg{width:12px;height:12px;}
.hot-row a{color:var(--sub);}
.hot-row a:hover{color:var(--link);}
.hot-row a i{font-style:normal;font-size:9px;color:var(--amber);margin-left:2px;font-weight:700;vertical-align:1px;}

.head-tools{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:none;}
.head-tip{font-size:11.5px;color:var(--muted);}
.tool-row{display:flex;gap:8px;align-items:center;}
.tool-btn{
  display:inline-flex;align-items:center;gap:5px;padding:7px 12px;
  border:1px solid var(--line);background:#fff;border-radius:6px;
  font-size:12.5px;color:var(--ink-2);cursor:pointer;white-space:nowrap;
  transition:all .15s;
}
.tool-btn svg{width:13px;height:13px;}
.tool-btn:hover{border-color:var(--ink);color:var(--ink);}
.badge{
  min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--brand);
  color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;line-height:1;
}
.badge[data-zero="1"]{background:#d4d8de;}
.submit-btn{
  display:inline-flex;align-items:center;padding:8px 16px;
  background:var(--ink);color:#fff;border-radius:6px;font-size:13px;font-weight:600;white-space:nowrap;
  transition:background .15s;
}
.submit-btn:hover{background:#000;color:#fff;}
.menu-btn{display:none;width:36px;height:36px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink-2);cursor:pointer;place-items:center;}
.menu-btn svg{width:16px;height:16px;}

/* 移动端 brand（桌面隐藏，移动显示） */
.brand-m{display:none;}

/* === 移动端抽屉导航 === */
.mobile-nav{
  position:fixed;top:0;right:0;bottom:0;
  width:260px;background:#fff;z-index:200;
  display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);
  box-shadow:-8px 0 24px rgba(0,0,0,.08);
}
.mobile-nav.open{transform:translateX(0);}
.mn-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 14px;border-bottom:1px solid var(--line-2);
}
.mn-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;}
.mn-brand .brand-mark{width:32px;height:32px;font-size:16px;border-radius:7px;flex:none;}
.mn-brand .brand-text b{font-size:15px;}
.mn-brand .brand-text i{font-size:9px;letter-spacing:1px;}
.mn-close{width:32px;height:32px;border:0;background:var(--line-2);border-radius:6px;cursor:pointer;font-size:14px;color:var(--sub);}
.mn-body{flex:1;overflow-y:auto;padding:10px 8px;}
.mn-body .sn-item{padding:10px 12px;font-size:14px;}
.mn-foot{padding:12px;border-top:1px solid var(--line-2);}
.mn-mask{
  position:fixed;inset:0;background:rgba(0,0,0,.35);
  z-index:150;opacity:0;pointer-events:none;
  transition:opacity .25s;
}
.mn-mask.show{opacity:1;pointer-events:auto;}

/* ---------------- 频道导航条 ---------------- */
.channel-bar{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line-2);}
.channel-in{display:flex;align-items:center;overflow-x:auto;scrollbar-width:none;}
.channel-in::-webkit-scrollbar{display:none;}
.channel-in a{flex:none;padding:0 17px;line-height:44px;font-size:15px;color:var(--ink-2);position:relative;white-space:nowrap;transition:color .15s;}
.channel-in a:hover{color:var(--link);}
.channel-in a.active{color:var(--ink);font-weight:700;}
.channel-in a.active::after{content:"";position:absolute;left:50%;bottom:0;width:33%;height:2px;background:var(--ink);transform:translateX(-50%);}
.ch-divider{width:1px;height:16px;background:var(--line);margin:0 10px;flex:none;}

/* ---------------- 通用卡片 ---------------- */
.panel{background:#fff;border:none;border-radius:var(--radius);box-shadow:var(--shadow);transition:box-shadow .2s,transform .2s;}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line-2);}
.p-title{display:flex;align-items:center;gap:0;min-width:0;}
.p-title h2{font-size:18px;font-weight:700;letter-spacing:.3px;color:var(--ink);}
.p-ico{display:none;}
.p-more{font-size:12.5px;color:var(--muted);flex:none;white-space:nowrap;transition:color .15s;}
.p-more:hover{color:var(--link);}

/* ---------------- 首页三栏 ---------------- */
.home-layout{
  display:grid;grid-template-columns:262px minmax(0,1fr) 300px;
  gap:var(--gap-card);align-items:start;
}
.home-center{display:flex;flex-direction:column;gap:var(--gap-card);min-width:0;}
.rail{display:flex;flex-direction:column;gap:var(--gap-card);min-width:0;}

/* 名站精选 */
.hot-sites{margin-top:0;}
.hs-grid{display:grid;grid-template-columns:repeat(6,1fr);padding:16px 10px 18px;gap:12px;}
.hs-item{
  display:flex;align-items:center;gap:9px;padding:10px 12px;
  border-radius:8px;font-size:13px;color:var(--ink);min-width:0;
  transition:background .15s,color .15s;
}
.hs-item .logo{width:18px;height:18px;font-size:13px;line-height:1;border-radius:4px;}
.hs-item:hover{background:var(--line-2);color:var(--ink);}
.hs-item b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hs-item em,.g-item em{font-style:normal;font-size:10.5px;font-weight:700;color:var(--ink);flex:none;background:var(--brand-soft);padding:0 4px;border-radius:3px;}
.hs-item em.hot,.g-item em.hot{color:var(--amber);background:var(--amber-soft);}
.hs-item em.new,.g-item em.new{color:var(--green);background:var(--green-soft);}

/* 站点图标：保留原色，不再灰度 */

/* 分类目录行（左标签 + 右链接网格） */
.cat-sec .cat-body{display:flex;gap:12px;}
.cat-right{flex:1;min-width:0;}
.sec-tabs{display:flex;flex-wrap:wrap;gap:2px 8px;padding:10px 14px 2px;}
.sec-tabs button{
  border:0;background:none;font-size:12.5px;color:var(--sub);
  padding:4px 9px;border-radius:6px;cursor:pointer;
  transition:background .15s,color .15s;
}
.sec-tabs button:hover{color:var(--ink);background:var(--line-2);}
.sec-tabs button.active{background:var(--brand-soft);color:var(--ink);font-weight:600;}
.sec-tabs button i{font-style:normal;font-size:10.5px;opacity:.55;margin-left:1px;}

.site-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:10px 14px 14px;}
.g-item{
  display:flex;align-items:center;gap:9px;padding:9px 12px;
  font-size:13px;color:var(--ink);border-radius:8px;min-width:0;
  transition:background .15s,color .15s;
}
.g-item .dot{width:6px;height:6px;border-radius:2px;background:var(--c);flex:none;}
.g-item b{font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.g-item:hover{background:var(--line-2);}
.g-item:hover b{color:var(--link);}

/* 站点卡片（分类页 / 搜索结果） */
.site-grid.cat-grid,.site-grid.result-grid{grid-template-columns:repeat(2,1fr);}
.site-card{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;min-width:0;transition:background .15s,color .15s;}
.site-card:hover{background:var(--line-2);}
.site-card:hover .site-name{color:var(--ink);}
.logo{
  width:34px;height:34px;border-radius:7px;background:var(--c);color:#fff;
  display:grid;place-items:center;font-size:14px;font-weight:700;flex:none;
}
.logo.lg{font-size:10.5px;font-weight:600;}
.site-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.site-name{font-size:13.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.site-name em{
  font-style:normal;font-size:10px;color:#fff;background:var(--ink);
  border-radius:3px;padding:0 4px;margin-left:4px;font-weight:600;
}
.site-name em.hot{color:var(--amber);background:var(--amber-soft);}
.site-name em.new{color:var(--green);background:var(--green-soft);}
.site-desc{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.star{
  width:24px;height:24px;border:0;background:none;color:#ccc;
  cursor:pointer;flex:none;display:grid;place-items:center;
}
.star svg{width:15px;height:15px;}
.star:hover,.star.on{color:var(--amber);}

/* ---------------- 侧栏组件 ---------------- */
.rank-list{padding:4px 18px 12px;}
.rank-item{
  display:flex;align-items:center;gap:9px;padding:9px 0;
  font-size:13px;border-bottom:1px dashed var(--line-2);
}
.rank-item:last-child{border-bottom:0;}
.rank-item .no{
  width:17px;font-size:14px;font-weight:800;color:#c0c4cc;
  font-style:italic;font-family:Georgia,serif;text-align:center;flex:none;
}
.rank-item:nth-child(1) .no,.rank-item:nth-child(2) .no,.rank-item:nth-child(3) .no{color:var(--ink);}
.rank-item a{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);transition:color .15s;}
.rank-item a:hover{color:var(--link);}
.rank-item em{font-style:normal;font-size:11px;color:var(--muted);flex:none;}

.news-list{padding:6px 14px 10px;}
.ticker-txt{font-size:12.5px;color:var(--sub);background:var(--line-2);border-radius:6px;padding:8px 10px;margin-bottom:6px;}
.news-item{display:flex;gap:8px;padding:8px 0;border-bottom:1px dashed var(--line-2);font-size:13px;align-items:flex-start;}
.news-item:last-child{border-bottom:0;}
.badge-new{background:var(--ink);color:#fff;font-size:10px;padding:1px 5px;border-radius:3px;flex:none;margin-top:2px;font-weight:600;}
.news-item span:last-child{color:var(--ink-2);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.wx-card{padding:16px 18px;}
.wx-top{display:flex;align-items:center;justify-content:space-between;}
.wx-city{font-size:13px;color:var(--ink-2);}
.wx-temp{font-size:30px;font-weight:800;line-height:1.2;color:var(--ink);}
.wx-temp small{font-size:14px;font-weight:400;color:var(--sub);}
.wx-sun{color:var(--amber);}
.wx-sun svg{width:34px;height:34px;}
.wx-date{font-size:12px;color:var(--muted);margin-top:2px;}
.wx-meta{display:flex;gap:12px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line-2);font-size:12px;color:var(--sub);flex-wrap:wrap;}
.wx-meta b{color:var(--ink);}

.pick-list{padding:4px 12px 10px;}
.pick-item{display:flex;align-items:center;gap:9px;padding:8px 6px;border-radius:6px;min-width:0;transition:background .15s,color .15s;}
.pick-item:hover{background:var(--line-2);}
.pick-item:hover b{color:var(--link);}
.pick-item .logo{width:30px;height:30px;font-size:13px;border-radius:7px;}
.pk-txt{min-width:0;flex:1;}
.pk-txt b{font-size:13px;display:block;line-height:1.4;}
.pk-txt span{font-size:11.5px;color:var(--muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.eff-grid{display:grid;grid-template-columns:1fr 1fr;padding:6px 10px 12px;gap:12px;}
.eff-item{display:flex;align-items:center;gap:7px;padding:8px;font-size:12.5px;border-radius:6px;min-width:0;transition:background .15s,color .15s;}
.eff-item b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eff-item:hover{background:var(--line-2);color:var(--ink);}
.eff-item .logo{width:24px;height:24px;font-size:11px;border-radius:6px;}

.lk-list{padding:8px 16px 14px;display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.lk-list a{font-size:13px;color:var(--ink-2);padding:6px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s;}
.lk-list a:hover{color:var(--link);}
.lk-row{display:flex;flex-wrap:wrap;gap:12px;}

.side-cta{background:var(--ink);border-radius:var(--radius);color:#fff;padding:18px;}
.side-cta b{font-size:15px;}
.side-cta p{font-size:12px;opacity:.85;margin:6px 0 12px;line-height:1.7;}
.side-cta a{display:inline-block;background:#fff;color:var(--ink);font-size:12.5px;font-weight:600;padding:6px 16px;border-radius:5px;transition:opacity .15s;}
.side-cta a:hover{opacity:.85;}

/* ---------------- 广告位 ---------------- */
/* .ad 不再有自己的 margin —— 间距由外层统一控制 */
.ad-tag{
  position:absolute;top:8px;left:10px;font-size:10px;padding:1px 5px;border-radius:3px;
  background:rgba(255,255,255,.25);color:rgba(255,255,255,.9);font-weight:600;
}
.ad-banner-inner{
  position:relative;display:flex;align-items:center;gap:12px;padding:22px 28px;
  border-radius:8px;color:#fff;overflow:hidden;
}
.ad-banner-inner:hover{filter:brightness(1.05);}
.ad-b-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px;}
.ad-b-text b{font-size:22px;font-weight:800;letter-spacing:.5px;}
.ad-b-text small{font-size:13px;opacity:.88;}
.ad-cta{
  background:rgba(255,255,255,.22);padding:10px 22px;border-radius:999px;
  font-size:14px;font-weight:600;white-space:nowrap;backdrop-filter:blur(6px);
}
.ad-card-inner{
  display:flex;align-items:center;gap:12px;padding:14px 18px;position:relative;
}
.ad-card:hover .ad-card-inner{background:#fafbfc;}
.ad-card-inner .ad-tag{background:rgba(226,49,45,.1);color:var(--red);}
.ad-ico{
  width:44px;height:44px;border-radius:10px;background:var(--c);color:#fff;
  display:grid;place-items:center;font-size:18px;font-weight:800;flex:none;
}
.ad-card-body{flex:1;min-width:0;}
.ad-card-body b{font-size:15px;font-weight:700;display:block;}
.ad-card-body p{font-size:12.5px;color:var(--muted);margin:2px 0 0;line-height:1.5;}
.ad-cta-sm{font-size:12.5px;font-weight:600;flex:none;white-space:nowrap;}

.ad-side-inner{
  position:relative;display:flex;flex-direction:column;gap:6px;padding:16px;
  border-radius:var(--radius);color:#fff;
}
.ad-side-inner:hover{filter:brightness(1.05);}
.ad-side-inner b{font-size:15px;font-weight:700;}
.ad-side-inner p{font-size:12px;opacity:.88;line-height:1.6;}
.ad-btn{
  display:inline-block;background:rgba(255,255,255,.25);color:#fff;font-size:12px;
  padding:5px 12px;border-radius:4px;align-self:flex-start;font-weight:600;
}

.ad-native{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;
  position:relative;box-shadow:var(--shadow);
}
.ad-native-head{display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.ad-native-head h3{font-size:14px;font-weight:700;}
.ad-native-head .ad-tag{position:static;background:var(--brand-soft);color:var(--ink);}
.ad-native p{font-size:13px;color:var(--ink-2);line-height:1.8;margin:12px 0;}
.ad-native-cta{color:var(--link);font-size:13px;font-weight:600;transition:color .15s;}
.ad-native-cta:hover{text-decoration:underline;}

/* ---------------- 多列网格广告 ---------------- */
.ad-grid{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:12px 16px;box-shadow:var(--shadow);
}
.ad-grid-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:12px;font-size:12px;color:var(--muted);
}
.ad-grid-head .ad-tag{position:static;}
.ad-grid-more{color:var(--link);font-weight:600;cursor:pointer;transition:color .15s;}
.ad-grid-more:hover{color:#1d4ed8;}
.ad-grid-inner{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
}
.ad-grid-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:10px;border:1px solid transparent;
  transition:background .15s,border-color .15s;
  color:inherit;text-decoration:none;min-width:0;
}
.ad-grid-item:hover{background:#fafbfc;border-color:var(--line);}
.ad-grid-ico{
  width:32px;height:32px;border-radius:8px;flex:none;
  display:grid;place-items:center;font-size:14px;font-weight:700;line-height:1;
}
.ad-grid-item b{font-size:13.5px;font-weight:700;display:block;line-height:1.25;}
.ad-grid-item small{font-size:11.5px;color:var(--muted);display:block;margin-top:2px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}



/* ---------------- 面包屑 ---------------- */
.crumb-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:8px 2px 0;font-size:12.5px;color:var(--muted);flex-wrap:wrap;
}
.crumb{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.crumb a{color:var(--sub);transition:color .15s;}
.crumb a:hover{color:var(--link);}
.crumb i{font-style:normal;color:#d0d3d9;}
.crumb-meta{display:flex;gap:12px;font-size:12px;flex-wrap:wrap;}
.crumb-meta span{display:inline-flex;align-items:center;gap:4px;}
.crumb-meta svg{width:12px;height:12px;}

/* ---------------- 详情页（纯文章式） ---------------- */
.detail-main-wrap{display:flex;flex-direction:column;gap:var(--gap-card);padding-bottom:var(--gap-card);}
.detail-main-wrap > *{margin-top:0;margin-bottom:0;}

/* 详情页统一垂直间距：唯一来源 = flex gap（子元素 margin 全部归零） */
.detail-page{display:flex;flex-direction:column;gap:var(--gap-card);}
.detail-page > *{margin-top:0;margin-bottom:0;}

/* -------- 原始版：Hero + head-card + feat-grid + 两栏 + 侧栏 -------- */

/* 两栏 body */
.detail-body{
  display:grid;grid-template-columns:minmax(0,1fr) 300px;
  gap:var(--gap-card);align-items:start;
}
.detail-main{display:flex;flex-direction:column;gap:var(--gap-card);min-width:0;}
.detail-side{display:flex;flex-direction:column;gap:var(--gap-card);min-width:0;}

/* head-card 标题块（左右两栏） */
.head-card{
  padding:20px 24px;display:flex;gap:28px;align-items:stretch;
}
.hc-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px;}
.hc-right{
  flex:none;width:260px;min-width:0;
  background:var(--bg);border-radius:10px;border:1px solid var(--line-2);
  padding:14px 16px;display:flex;flex-direction:column;justify-content:center;
}
.dh-h1{font-size:26px;font-weight:800;line-height:1.3;color:var(--ink);letter-spacing:.2px;margin-top:2px;}
.dh-tagline{color:var(--sub);font-size:14.5px;font-weight:400;line-height:1.6;margin-bottom:2px;}
.dh-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px;}
.dh-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px;}
.dh-actions .btn{height:36px;padding:0 16px;font-size:13px;line-height:1;border-radius:8px;}
.dh-actions .btn svg{width:14px;height:14px;}
.dh-actions .btn-icon{width:36px;padding:0;justify-content:center;}

/* head-card 内的站点信息 */
.hc-right .info-rows{padding:0;}
.hc-right .info-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;font-size:12.5px;border-bottom:1px dashed var(--line-2);}
.hc-right .info-row:last-child{border-bottom:0;}
.hc-right .info-row .k{color:var(--muted);flex:none;}
.hc-right .info-row .v{color:var(--ink);font-weight:500;text-align:right;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* article 正文 panel */
.article{padding:16px 20px 18px;}
.article .lead{color:var(--ink-2);font-size:15px;line-height:1.9;}
.article p{color:var(--ink-2);font-size:14px;line-height:1.9;}
.article h2{
  font-size:17px;font-weight:700;margin:0;
  padding-left:10px;border-left:4px solid var(--ink);line-height:1.4;color:var(--ink);
}

/* feat-grid 3 列功能卡片 */
.feat-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
}
.feat-item{
  display:flex;gap:10px;align-items:flex-start;
  padding:12px;background:var(--bg);border:1px solid var(--line-2);border-radius:8px;
}
.feat-icon{
  width:36px;height:36px;border-radius:8px;color:#fff;font-size:14px;font-weight:800;
  display:grid;place-items:center;flex:none;
}
.feat-item b{font-size:13px;color:var(--ink);font-weight:600;display:block;}
.feat-item p{font-size:12px;color:var(--muted);margin:3px 0 0;line-height:1.5;}

/* steps 编号步骤 */
.steps{margin:0;padding:0;list-style:none;counter-reset:steps;}
.steps li{
  position:relative;padding:0 0 14px 32px;color:var(--ink-2);font-size:14px;line-height:1.9;
}
.steps li:last-child{padding-bottom:0;}
.steps li::before{
  counter-increment:steps;content:counter(steps);
  position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;
  background:var(--ink);color:#fff;font-size:11px;font-weight:700;
  display:grid;place-items:center;
}

/* ui-figure 教程截图 */
.ui-figure{
  margin:0;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;
  background:var(--bg);
}
.ui-figure .fig-mock img{display:block;width:100%;height:auto;}
.ui-figure figcaption{
  padding:8px;font-size:12px;color:var(--muted);text-align:center;
  border-top:1px solid var(--line-2);background:#fafbfc;
}

/* link-entry 官网入口卡片 */
.link-entry{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 20px;background:var(--bg);border:1px solid var(--line-2);
  border-radius:10px;margin:0;flex-wrap:wrap;
}
.le-left{display:flex;align-items:center;gap:12px;min-width:0;}
.le-mark{
  width:40px;height:40px;border-radius:10px;color:#fff;
  display:grid;place-items:center;font-size:16px;font-weight:800;flex:none;
}
.le-info{min-width:0;}
.le-domain{font-size:14.5px;font-weight:700;color:var(--ink);}
.le-sub{font-size:12px;color:var(--muted);margin-top:2px;}
.le-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:8px 18px;background:var(--ink);color:#fff;border-radius:6px;
  font-size:13px;font-weight:600;white-space:nowrap;transition:background .15s;
}
.le-btn:hover{background:#000;color:#fff;}

/* notice 温馨提示（卡片式） */
.notice{
  display:flex;gap:8px;background:#f9fafb;border:1px solid var(--line-2);border-radius:8px;
  padding:10px 14px;font-size:12.5px;color:var(--sub);margin:0;line-height:1.8;
}
.notice svg{width:14px;height:14px;flex:none;margin-top:4px;color:var(--ink);}

/* ===== 详情页内部统一间距（唯一来源，放在组件之后以覆盖各组件自带 margin） ===== */
.article > *,
.head-card > *{margin-top:0;margin-bottom:0;}
.article > * + *{margin-top:var(--gap-inner);}
.article > * + h2{margin-top:var(--gap-card);}

/* --- 按钮 / 标签通用 --- */
.btn{
  display:inline-flex;align-items:center;gap:6px;padding:9px 20px;
  border-radius:6px;font-size:13.5px;cursor:pointer;border:1px solid transparent;transition:all .15s;
  font-family:inherit;
}
.btn svg{width:14px;height:14px;flex:none;}
.btn-primary{background:var(--ink);color:#fff;font-weight:600;}
.btn-primary:hover{background:#000;color:#fff;}
.btn-line{background:#fff;border-color:var(--line);color:var(--ink-2);}
.btn-line:hover{border-color:var(--ink);color:var(--ink);}
.btn-line.on{border-color:var(--amber);color:var(--amber);}
.btn-soft{background:var(--line-2);color:var(--ink-2);}
.btn-soft:hover{color:var(--ink);background:var(--brand-soft);}
.tag-chip{background:var(--line-2);color:var(--ink-2);padding:3px 10px;border-radius:4px;font-size:12px;transition:background .15s,color .15s;}
.tag-chip:hover{background:var(--ink);color:#fff;}

/* --- 侧栏 --- */
.side-actions{
  display:flex;gap:8px;padding:12px 16px 16px;flex-wrap:wrap;border-top:1px dashed var(--line-2);
}
.side-actions .btn{padding:7px 14px;font-size:12.5px;flex:1;justify-content:center;min-width:0;}

.block-title{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line-2);}
.block-title h3{font-size:15.5px;font-weight:700;}
.block-title .bar{width:4px;height:14px;background:var(--ink);border-radius:2px;flex:none;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:transparent;}
.related-card{background:#fff;padding:12px 14px;min-width:0;transition:background .15s,color .15s;}
.related-card:hover{background:#fbfbfc;}
.related-card:hover b{color:var(--link);}
.related-top{display:flex;gap:8px;align-items:center;font-size:13.5px;min-width:0;}
.related-top .logo{width:26px;height:26px;font-size:12px;border-radius:6px;}
.related-top b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;}
.related-card p{font-size:12px;color:var(--muted);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.comment-form{display:flex;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line-2);}
.avatar{
  width:34px;height:34px;border-radius:50%;background:var(--c,#c9cfdb);color:#fff;
  display:grid;place-items:center;font-size:13px;flex:none;font-weight:600;
}
.cf-body{flex:1;min-width:0;}
.cf-body textarea{
  width:100%;height:64px;border:1px solid var(--line);border-radius:6px;
  padding:8px 10px;font-size:13px;resize:vertical;outline:none;font-family:inherit;
  transition:border-color .15s,box-shadow .15s;
}
.cf-body textarea:focus{border-color:var(--link);box-shadow:0 0 0 3px rgba(37,99,235,.08);}
.cf-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:10px;flex-wrap:wrap;}
.cf-foot>span{font-size:11.5px;color:var(--muted);}
.cf-foot .btn{padding:7px 16px;}
.comment-item{display:flex;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line-2);}
.comment-item:last-child{border-bottom:0;}
.comment-main{flex:1;min-width:0;}
.comment-top{display:flex;gap:8px;align-items:center;font-size:13px;flex-wrap:wrap;}
.comment-top time{color:var(--muted);font-size:11.5px;}
.vip{background:var(--brand-soft);color:var(--ink);font-size:10px;padding:1px 6px;border-radius:3px;font-weight:600;}
.comment-text{font-size:13.5px;color:var(--ink-2);margin:6px 0;line-height:1.8;}
.comment-ops button{border:0;background:none;font-size:12px;color:var(--muted);cursor:pointer;margin-right:14px;padding:0;transition:color .15s;}
.comment-ops button:hover{color:var(--link);}

/* --- 侧栏/面板通用（首页仍用） --- */
.side-card{background:#fff;border:none;border-radius:var(--radius);box-shadow:var(--shadow);}
.side-title{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line-2);font-size:15px;font-weight:700;}
.side-title .bar{width:4px;height:14px;background:var(--ink);border-radius:2px;flex:none;}
.info-rows{padding:4px 16px;}
.info-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;font-size:12.5px;border-bottom:1px dashed var(--line-2);}
.info-row:last-child{border-bottom:0;}
.info-row .k{color:var(--muted);flex:none;}
.info-row .v{color:var(--ink);text-align:right;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.info-row .v.score{color:var(--ink);font-weight:700;display:inline-flex;align-items:center;gap:3px;}
.info-row .v.score svg{width:12px;height:12px;color:var(--amber);}
.info-tags{padding:10px 16px 14px;display:flex;flex-wrap:wrap;gap:6px;}
.mini-list{padding:4px 10px 10px;}
.mini-item{display:flex;gap:9px;align-items:center;padding:7px 6px;border-radius:6px;min-width:0;transition:background .15s,color .15s;}
.mini-item:hover{background:var(--line-2);}
.mini-item:hover b{color:var(--link);}
.mini-item .logo{width:28px;height:28px;font-size:12px;border-radius:6px;}
.mi-txt{min-width:0;flex:1;}
.mi-txt b{font-size:13px;display:block;line-height:1.4;font-weight:600;}
.mi-txt span{font-size:11.5px;color:var(--muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ---------------- 分类页 ---------------- */
.cat-hero{background:#fff;border:none;border-radius:var(--radius);padding:20px 24px;box-shadow:var(--shadow);}
.breadcrumb{font-size:12.5px;color:var(--muted);margin-bottom:12px;display:flex;gap:6px;align-items:center;}
.breadcrumb a{color:var(--sub);}
.breadcrumb a:hover{color:var(--link);}
.breadcrumb span{color:#d0d3d9;}
.cat-hero h1{font-size:24px;font-weight:800;display:inline-block;margin-right:12px;color:var(--ink);}
.cat-hero p{color:var(--sub);font-size:13px;margin:4px 0 12px;}
.cat-hero .stat{
  display:inline-flex;gap:5px;align-items:center;font-size:12px;color:var(--ink);
  background:var(--brand-soft);padding:4px 10px;border-radius:4px;
}
.cat-hero .stat svg{width:12px;height:12px;}
.cat-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--gap-card);align-items:start;}
.cat-side{display:flex;flex-direction:column;gap:var(--gap-card);min-width:0;}

/* ---------------- 搜索页 ---------------- */
.page-main{display:flex;flex-direction:column;gap:var(--gap-card);padding-bottom:var(--gap-card);}
.page-main > *{margin-top:0;margin-bottom:0;}
.results-head{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line-2);font-size:13px;color:var(--sub);flex-wrap:wrap;}
.results-head b{color:var(--ink);}
.empty-box{padding:60px 20px;text-align:center;color:var(--muted);font-size:13px;}
.empty-box a{color:var(--link);}
.em-ico{font-size:34px;margin-bottom:12px;}

/* ---------------- 表单页 ---------------- */
.form-card{padding:24px 26px;max-width:760px;margin:0 auto;}
.form-intro{font-size:13px;color:var(--muted);margin:12px 0;}
.form-row{margin-bottom:12px;}
.form-row label{font-size:13px;color:var(--ink-2);font-weight:500;display:block;margin-bottom:6px;}
.form-row label i{color:var(--ink);font-style:normal;margin-left:3px;font-weight:700;}
.form-row input,.form-row select,.form-row textarea{
  width:100%;border:1px solid var(--line);border-radius:6px;
  padding:9px 12px;font-size:13px;outline:none;background:#fff;color:var(--ink);
  font-family:inherit;transition:border-color .15s,box-shadow .15s;
}
.form-row textarea{height:104px;resize:vertical;line-height:1.7;}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--link);box-shadow:0 0 0 3px rgba(37,99,235,.08);}
.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-tip{font-size:12px;color:var(--muted);margin:12px 0;}
.form-card .btn-primary{width:100%;justify-content:center;padding:11px;font-size:14.5px;}

/* ---------------- 页脚 ---------------- */
.site-foot{background:#fff;border-top:1px solid var(--line-2);margin-top:var(--gap-section);}
.foot-top{display:flex;gap:12px;padding:28px 0 20px;flex-wrap:wrap;}
.foot-brand{max-width:340px;}
.foot-brand .brand{margin-bottom:12px;}
.foot-brand .brand-mark{width:34px;height:34px;font-size:16px;border-radius:7px;}
.foot-brand .brand-text b{font-size:17px;}
.foot-brand p{font-size:12px;color:var(--muted);line-height:1.8;}
.foot-links{display:flex;gap:12px;margin-left:auto;flex-wrap:wrap;}
.foot-col h4{font-size:13.5px;margin-bottom:8px;color:var(--ink);}
.foot-col a{display:block;font-size:12.5px;color:var(--sub);padding:3px 0;transition:color .15s;}
.foot-col a:hover{color:var(--link);}
.foot-bottom{
  border-top:1px solid var(--line-2);padding:12px 0;display:flex;
  justify-content:space-between;font-size:12px;color:var(--muted);flex-wrap:wrap;gap:6px;
}

/* ---------------- 弹层 ---------------- */
.mask{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:all .2s;z-index:90;}
.mask.on{opacity:1;visibility:visible;}
.drawer{
  position:fixed;top:0;right:-360px;width:340px;max-width:92vw;height:100%;
  background:#fff;z-index:95;transition:right .24s;display:flex;flex-direction:column;
  box-shadow:var(--shadow-hover);
}
.drawer.on{right:0;}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line-2);font-size:15px;font-weight:700;}
.close{border:0;background:none;color:var(--muted);cursor:pointer;padding:4px;}
.close svg{width:16px;height:16px;}
.drawer-body{flex:1;overflow:auto;padding:8px 12px;}
.drawer-item{display:flex;gap:9px;align-items:center;padding:8px;border-radius:6px;position:relative;min-width:0;transition:background .15s,color .15s;}
.drawer-item:hover{background:var(--line-2);}
.drawer-item:hover b{color:var(--link);}
.di-txt{min-width:0;flex:1;}
.di-txt b{font-size:13px;display:block;line-height:1.4;font-weight:600;}
.di-txt span{font-size:11.5px;color:var(--muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rm{border:0;background:none;color:#c8ccd4;cursor:pointer;font-size:13px;padding:4px;flex:none;transition:color .15s;}
.rm:hover{color:var(--ink);}
.drawer-empty{text-align:center;color:var(--muted);font-size:13px;padding:60px 20px;line-height:2;}
.de-ico{font-size:30px;margin-bottom:6px;color:#d8dce4;}
.drawer-foot{padding:12px;border-top:1px solid var(--line-2);}
.modal{
  position:fixed;left:50%;top:20%;transform:translateX(-50%);width:420px;max-width:92vw;
  background:#fff;border-radius:10px;z-index:96;padding:22px;display:none;
  box-shadow:var(--shadow-hover);
}
.modal.on{display:block;}
.close-x{position:absolute;top:10px;right:10px;border:0;background:none;color:var(--muted);cursor:pointer;padding:4px;}
.close-x svg{width:16px;height:16px;}
.modal h3{font-size:16px;margin-bottom:8px;color:var(--ink);}
.modal p{font-size:13px;color:var(--sub);margin-bottom:12px;line-height:1.8;}
.modal textarea{
  width:100%;height:80px;border:1px solid var(--line);border-radius:6px;
  padding:8px 10px;font-size:13px;outline:none;resize:vertical;font-family:inherit;display:none;
}
.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:12px;}
.toast{
  position:fixed;left:50%;bottom:60px;transform:translateX(-50%) translateY(16px);
  background:rgba(17,24,39,.92);color:#fff;font-size:13px;padding:9px 18px;border-radius:6px;
  opacity:0;visibility:hidden;transition:all .24s;z-index:99;max-width:86vw;
}
.toast.on{opacity:1;visibility:visible;transform:translateX(-50%);}
.backtop{
  position:fixed;right:26px;bottom:80px;width:40px;height:40px;border-radius:8px;
  background:#fff;border:1px solid var(--line);color:var(--ink-2);cursor:pointer;
  opacity:0;visibility:hidden;transition:all .2s;z-index:80;display:grid;place-items:center;
}
.backtop.on{opacity:1;visibility:visible;}
.backtop:hover{color:var(--ink);border-color:var(--ink);}
.backtop svg{width:16px;height:16px;}

/* ========== 统一顶层容器垂直间距 ==========
   策略：只在"独立顶层容器之间"设 margin-top，
   删除所有内部 panel / ad / section 的冗余 margin。 */

/* 独立容器之间（首页多个 div.wrap + main.wrap 的情况） */
.wrap + .wrap,
.wrap + main.wrap,
main.wrap + .wrap { margin-top: var(--gap-card); }

/* .site-foot 的 margin-top:var(--gap-section) 已在自身规则中，保持 48px 大间距 */

/* ---------------- 响应式 ---------------- */
@media (max-width:1180px){
  .home-layout{grid-template-columns:minmax(0,1fr);}
  .rail{display:grid;grid-template-columns:1fr 1fr;align-items:start;}
  .rail>*{min-width:0;}
  .hs-grid{grid-template-columns:repeat(4,1fr);}
  .site-grid{grid-template-columns:repeat(3,1fr);}
  .detail-body,.cat-layout{grid-template-columns:minmax(0,1fr);}
  .head-card{flex-direction:column;}
  .hc-right{width:100%;align-self:auto;}
}
@media (max-width:900px){
  .side-nav{display:none;}
  body{margin-left:0;}
  .brand-m{display:flex;}
  .head-in{flex-wrap:nowrap;gap:10px;padding-top:10px;padding-bottom:10px;}
  .search-panel{flex:1;min-width:0;max-width:none;}
  .engine-tabs{display:none;}
  .head-tools{flex:none;margin-left:0;}
  .head-tip{display:none;}
  .tool-btn span.txt{display:none;}
  .submit-btn{display:none;}
  .menu-btn{display:grid;}
  .cat-body{flex-direction:column;}
  .related-grid{grid-template-columns:1fr 1fr;}
  .ad-grid-inner{grid-template-columns:repeat(2,1fr);}
  .feature-list{grid-template-columns:1fr;}
  .foot-top{flex-direction:column;gap:12px;}
  .foot-links{margin-left:0;gap:12px;}
}
@media (max-width:560px){
  .top-strip{display:none;}
  .hs-grid{grid-template-columns:repeat(2,1fr);}
  .site-grid,.site-grid.cat-grid,.site-grid.result-grid{grid-template-columns:1fr;}
  .rail{grid-template-columns:1fr;}
  .brand-mark{width:32px;height:32px;font-size:16px;border-radius:7px;}
  .brand-text b{font-size:15px;}
  .search-row{height:40px;}
  .search-btn{width:68px;font-size:13px;}
  .suggest{right:68px;}
  .hot-row{display:none;}
  .head-card{flex-direction:column;gap:14px;padding:14px;}
  .hc-right{width:100%;align-self:auto;}
  .dh-h1{font-size:22px;}
  .dh-tagline{font-size:14px;}
  .panel{border-radius:8px;}
  .article,.head-card{padding:14px 14px 16px;}
  .site-foot{padding:20px 14px;}
}
@media (hover:none){
  .site-card:hover,.g-item:hover,.hs-item:hover,.pick-item:hover,.mini-item:hover{background:none;}
  .site-card:hover .site-name,.g-item:hover b,.hs-item:hover,.pick-item:hover b,.mini-item:hover b{color:inherit;}
}

/* ========== 侧栏 ad-grid 特化（放在文件末尾确保最高优先级） ========== */
.detail-side .ad-grid{padding:10px 12px;}
.detail-side .ad-grid-head{margin-bottom:10px;}
.detail-side .ad-grid-inner{grid-template-columns:1fr;gap:8px;}
.detail-side .ad-grid-item{padding:7px 9px;border-radius:8px;gap:8px;}
.detail-side .ad-grid-ico{width:26px;height:26px;font-size:12px;border-radius:6px;}
.detail-side .ad-grid-item b{font-size:12.5px;}
.detail-side .ad-grid-item small{font-size:11px;margin-top:1px;}
