/* ============================================================
 * 老手村 · 软件库内页样式（分类页 / 排行榜页 / 详情页 / 搜索结果页）
 * 来源：2026-09-15 定稿原型（老手村内页-01~04）合并而来
 * ⛔ 改这个文件要 bump 版本号 —— 只在 functions.php 的 wp_enqueue_style 一处
 *    （模板里手写的 link 已删除，见 topic-page-lsc.php 注释）。
 *
 * 【2026-09-15 上线前清理】文件由 4 个原型的 CSS **直接拼接**而成，每段各自带了一份
 *   完整的「旧版顶栏」样式（:root / * / body / a / .wrap / .topbar / .header-main /
 *   .logo img / .searchwrap / .topsearch / .hotsearch / .nav-bar / .nav / footer）。
 *   顶栏早已改由 site-header-lsc.css（作用域 .lsc-sitehead，特异性更高且后加载）接管，
 *   这些副本**全是死代码**（各段取值还互不一致：logo 56/58/56/52px、header-main padding 三种）。
 *   已删除第 2/3/4 段的副本共 103 行（-5.8KB），**保留第 1 段那份**作为通用兜底。
 *   版本 1.0.9 → 1.0.10；备份见同目录 *.predupclean-20260915_232654
 *
 * ⛔ 2026-09-15 老板：**所有新页面统一跟老博客页一样宽（内容 1200，即 113~1313）**。
 *    本文件里 4 处 `.wrap` 原为 `max-width:1200px;padding:0 18px` → 内容只有 1164、
 *    左右各缩 18px（视觉上"两边多出空白"）。已把 padding 归零，内容正好 1200，与
 *    老页面 / 新版首页 / 顶栏 同一条线。⛔ 要留白只调外层 `.site-content`，别在这里加 padding。
 * ============================================================ */

/* ==================== 软件分类页 ==================== */
:root{
  --main:#339999; --main-dark:#2A8585; --main-soft:#E1F5EE;
  --brand-teal:#369696; --brand-orange:#ff7e06; --brand-yellow:#ffd206;
  --bg:#fff; --card:#fff; --ink:#1a1a1a; --ink2:#5f5e5a; --ink3:#8a8a85; --line:#e8e8e4;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font:15px/1.65 "Microsoft YaHei UI","Microsoft YaHei","PingFang SC",system-ui,sans-serif}
a{text-decoration:none;color:inherit}
.wrap{max-width:1200px;margin:0 auto;padding:0}




.topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.header-main{padding:18px 0 16px}
.header-main .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px}
.logo img{height:56px;display:block}
.searchwrap{justify-self:center;width:480px;max-width:100%}
.topsearch{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}
.topsearch input{flex:1;border:0;outline:none;padding:10px 15px;font-size:14px;background:transparent}
.topsearch input::placeholder{color:#a8a8a3}
.topsearch button{border:0;background:var(--main);color:#fff;padding:10px 24px;font-size:14px;cursor:pointer;font-weight:600}
.hotsearch{justify-self:end;display:flex;gap:20px;align-items:center;font-size:12.5px;color:var(--ink3);white-space:nowrap}
.hotsearch a{color:var(--ink2)}
.nav-bar{background:var(--main)}
.nav-bar .wrap{display:flex;align-items:stretch;height:44px}
.nav{display:flex;overflow:hidden;align-self:stretch}
.nav a{display:flex;align-items:center;padding:0 16px;font-size:14.5px;letter-spacing:.5px;
  color:rgba(255,255,255,.92);white-space:nowrap;transition:background .15s}
.nav a:hover{background:rgba(0,0,0,.16);color:#fff}
.nav a.on{background:rgba(0,0,0,.3);color:#fff;font-weight:700}

/* 面包屑（带「所在位置：」引导词）
   ⚠️ 2026-09-15 22:0x 老板：「新老两套面包屑要统一 —— 都带蓝字链接、高度以新版为准」。
   `.crumbrow a` 的蓝 **以前是"漏出来的"**（没写 color → 吃父主题 `a{color:#007acc}`）；
   现在**显式写死 #007acc**，且 `line-height:1.75` 也写死（原来靠 body 继承）。
   ⛔ 老页面那套 `.lsc-breadcrumb`（child style.css）已按这里的数值对齐：
      padding-top 14px / line-height 1.75 / 链接色 #007acc —— 改这里记得同步改那里。 */
.crumbrow{padding:14px 0 0;font-size:13px;line-height:1.75;color:var(--ink3)}
.crumbrow .lbl{color:var(--ink3)}
.crumbrow a{color:#007acc;text-decoration:none;transition:color .2s}
.crumbrow a:hover{color:var(--main)}
.crumbrow i{font-style:normal;margin:0 7px;color:#c9c9c4}
.crumbrow b{color:var(--ink2);font-weight:400}

/* 分类头（通栏） */
.cathead{background:#f7fafa;border:1px solid var(--line);border-left:4px solid var(--main);
  border-radius:0 12px 12px 0;padding:20px 24px;margin:14px 0 0}
.cathead .bar3{width:46px;height:3px;border-radius:2px;margin:0 0 11px;
  background:linear-gradient(90deg,var(--brand-teal) 0 50%,var(--brand-orange) 50% 100%)}
.cathead h1{margin:0 0 7px;font-size:26px;font-weight:800;letter-spacing:.3px}
.cathead p{margin:0;color:var(--ink2);font-size:14.5px;max-width:880px}

/* 左右布局 */
.layout{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start;margin-top:18px}
.col-main{min-width:0}
/* 右栏吸顶（2026-09-15 20:2x 修「往下滚它就掉了」）
   原写法 top:104px 是照【原型】抄的 —— 原型页头 .topbar 自己 position:sticky;top:0，高正好 104，
   所以右栏贴在页头下面。但站上的全站顶栏（.lsc-sitehead .topbar）高 159 且**不吸顶**
   （⚠ 原因：它的父级 .lsc-sitehead 只有 159 高，等于自己高度 → sticky 没有可滑动空间，等于没写），
   于是右栏往下滚时凭空在头顶留 104px 空档 = 看起来「掉下去 / 掉了」。
   修法：① top 改成 --rail-top（顶栏不吸顶 → 贴视口顶 16px）
        ② 加 max-height + 自己滚：右栏实测 801px（>700 的笔记本视口会被切掉底部模块）
   ⭐ 以后若把全站顶栏改成真吸顶，只改 --rail-top 一处（= 顶栏高 + 16）即可。 */
.siderail{display:flex;flex-direction:column;gap:16px;position:sticky;
  --rail-top:16px;top:var(--rail-top);
  max-height:calc(100vh - var(--rail-top) - 16px);overflow-y:auto;overscroll-behavior:contain}

.filters{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:16px;
  padding-bottom:14px;border-bottom:1px solid var(--line)}
/* 列表切换 Tab（热门 / 最新）——与排行榜页同款 */
.tab{display:flex;gap:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}
.tab a{padding:7px 26px;font-size:14px;color:var(--ink2);border-right:1px solid var(--line);transition:.15s}
.tab a:last-child{border-right:0}
.tab a:hover{background:#f7fbfb;color:var(--main-dark)}
.tab a.on{background:var(--main);color:#fff;font-weight:600}

/* 软件卡（左栏 2 列，信息比首页更全） */
.softs{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.soft{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;
  flex-direction:column;box-shadow:0 1px 3px rgba(20,40,40,.06);transition:.15s}
.soft:hover{border-color:var(--main);box-shadow:0 6px 18px rgba(0,0,0,.06)}
.soft .info{display:block;color:inherit}
.soft .info:hover h3{color:var(--main-dark)}
.soft .hd{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.ico{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:18px;flex:0 0 auto}
.soft h3{margin:0;font-size:16.5px}
.soft .sub{font-size:12.5px;color:var(--ink3)}
.soft .desc{color:var(--ink2);font-size:13.5px;min-height:42px;margin:0 0 10px}
.soft .plat{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.plat span{font-size:12px;border:1px solid var(--line);border-radius:5px;padding:1px 7px;color:var(--ink2)}
.soft .stat{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--ink3);
  padding-top:10px;border-top:1px dashed #eef1f1;margin-bottom:12px;flex-wrap:wrap}
.soft .stat .n{color:var(--main-dark);font-weight:700}
.soft .stat .badge{background:#fff2e3;color:#b45309;border-radius:4px;padding:1px 7px;font-size:11.5px}
.soft .dl{margin-top:auto}
.soft .dl a{display:block;text-align:center;padding:10px 0;border-radius:8px;font-size:14px;
  font-weight:700;letter-spacing:.3px;background:#162943;color:#fff;transition:.18s}
.soft .dl a:hover{background:#0f1b2c;box-shadow:0 4px 12px rgba(22,41,67,.42);transform:translateY(-1px)}
/* ⛔ 2026-09-15 19:5x：上一版加的 .topicbtn 并列按钮 / .dl{display:flex} 已删（老板："不是两个都在"）。
   卡片只留一个 .primary，去处由 PHP 决定：有已发布专题 → 专题页，否则 → /soft/{slug}。 */

/* 底部：相关问题与教程（内链枢纽，不做成教程卡片区） */
.qbox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-top:18px;
  box-shadow:0 1px 3px rgba(20,40,40,.06)}
.qbox .hd{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.qbox .hd h3{margin:0;font-size:16px}
.qbox .hd .bar{width:4px;height:18px;background:var(--main);border-radius:2px}
.qbox .hd .more{margin-left:auto;font-size:13px;color:var(--main)}
.qlinks{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
.qlinks a{display:block;padding:8px 0;font-size:13.5px;color:var(--ink2);border-bottom:1px dashed #f0f0ec}
.qlinks a:hover{color:var(--main-dark)}
.qlinks a::before{content:"· ";color:var(--main)}

/* 侧栏 */
.sbox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;
  box-shadow:0 1px 3px rgba(20,40,40,.06)}
.sbox h3{margin:0 0 11px;font-size:15px;display:flex;align-items:center;gap:9px}
.sbox h3::before{content:"";width:4px;height:16px;background:var(--main);border-radius:2px}
.sbox h3 i{margin-left:auto;font-style:normal;font-size:12px;color:var(--ink3);font-weight:400}
.ranklist a{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14px;border-bottom:1px dashed #f0f0ec}
.ranklist a:last-child{border-bottom:0}
.ranklist a:hover{color:var(--main-dark)}
.ranklist .no{width:19px;height:19px;border-radius:5px;background:#eef1f1;color:#5f5e5a;font-size:11.5px;
  display:flex;align-items:center;justify-content:center;font-weight:800;flex:0 0 auto}
.ranklist a:nth-child(1) .no{background:#ff7e06;color:#fff}
.ranklist a:nth-child(2) .no{background:#FF9800;color:#fff}
.ranklist a:nth-child(3) .no{background:#FFC107;color:#fff}
.ranklist .n{margin-left:auto;font-size:12px;color:var(--ink3)}
/* 右栏 AI 动态（小文章列表，带日期） */
.newsmini a{display:block;padding:9px 0;border-bottom:1px dashed #f0f0ec;font-size:13.5px;
  color:var(--ink2);line-height:1.6}
.newsmini a:last-child{border-bottom:0}
.newsmini a:hover{color:var(--main-dark)}
.newsmini .nd{font-size:11.5px;color:var(--main-dark);background:var(--main-soft);
  border-radius:4px;padding:1px 6px;margin-right:7px}
.sbox .allbtn{display:block;text-align:center;margin-top:10px;font-size:13px;color:var(--main-dark);
  border:1px solid var(--line);border-radius:8px;padding:7px 0;transition:.15s}
.sbox .allbtn:hover{border-color:var(--main);background:#f7fbfb}
.picks a{display:block;padding:9px 0;font-size:13.5px;color:var(--ink2);border-bottom:1px dashed #f0f0ec}
.picks a:last-child{border-bottom:0}
.picks a:hover{color:var(--main-dark)}
.picks a b{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}
.picks a span{font-size:12px;color:var(--ink3)}

footer{margin-top:40px;background:#1a1a2e;color:#9a9cb5;padding:26px 0;font-size:13px}
footer .wrap{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
footer a{color:#c9cbe0}

@media(max-width:1100px){.layout{grid-template-columns:1fr}.siderail{position:static;max-height:none;overflow-y:visible}
  .hotsearch{display:none}.searchwrap{width:420px}}
@media(max-width:820px){
  .nav{display:none}.header-main .wrap{grid-template-columns:auto 1fr}.searchwrap{width:100%}
  .cathead h1{font-size:22px}.cathead{padding:16px}
  .softs{grid-template-columns:1fr}.qlinks{grid-template-columns:1fr}
  .filters{gap:12px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:12px}
  .filters::-webkit-scrollbar{display:none}
  .crumbrow{font-size:12.5px}
}

/* ==================== 下载排行榜页 ==================== */

.crumb{font-size:13px;color:var(--ink3);padding:16px 0 0}
.crumb a:hover{color:var(--main)}
.crumb .lbl{color:var(--ink3)}
.crumb i{font-style:normal;margin:0 7px;color:#c9c9c4}
.crumb b{color:var(--ink2);font-weight:400}

/* ===== 榜单头 ===== */
.rankhead{background:#f7fafa;border:1px solid var(--line);border-left:4px solid var(--main);
  border-radius:0 12px 12px 0;padding:24px 26px;margin:14px 0 0}
.rankhead .bar3{width:46px;height:3px;border-radius:2px;margin:0 0 12px;
  background:linear-gradient(90deg,var(--brand-teal) 0 50%,var(--brand-orange) 50% 100%)}
.rankhead h1{margin:0 0 8px;font-size:27px;font-weight:800;letter-spacing:.3px}
.rankhead p{margin:0;color:var(--ink2);font-size:14.5px;max-width:880px}
.rankhead .meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:12.5px;color:var(--ink3)}
.rankhead .meta b{color:var(--main-dark);font-weight:700}

/* ===== Tab / 筛选 ===== */
.tabs{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin:20px 0 0;
  padding-bottom:16px;border-bottom:1px solid var(--line)}
.tab{display:flex;gap:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}
.tab a{padding:7px 22px;font-size:14px;color:var(--ink2);border-right:1px solid var(--line);transition:.15s}
.tab a:last-child{border-right:0}
.tab a:hover{background:#f7fbfb}
.tab a.on{background:var(--main);color:#fff;font-weight:600}
.fgroup{display:flex;align-items:center;gap:8px}
.fgroup>span{font-size:13px;color:var(--ink3);flex:0 0 auto}
.pills{display:flex;gap:7px;flex-wrap:wrap}
.pill{font-size:13px;border:1px solid var(--line);border-radius:16px;padding:4px 14px;
  color:var(--ink2);background:#fff;transition:.15s;cursor:pointer}
.pill:hover{border-color:var(--main);color:var(--main-dark)}
.pill.on{background:var(--main);border-color:var(--main);color:#fff;font-weight:600}

section{padding:26px 0 6px}
.sec-head{display:flex;align-items:flex-end;gap:12px;margin-bottom:16px}
.sec-head .bar{width:4px;height:20px;background:var(--main);border-radius:2px}
.sec-head h2{margin:0;font-size:21px}
.sec-head .hint{font-size:12.5px;color:var(--ink3)}
.sec-head .more{margin-left:auto;font-size:13.5px;color:var(--main);white-space:nowrap}

/* ===== 榜单（行式） ===== */
.rank{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;
  box-shadow:0 1px 3px rgba(20,40,40,.06)}
.rank .row{display:flex;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid #f2f4f4;transition:.15s}
.rank .row:last-child{border-bottom:0}
.rank .row:hover{background:#f7fbfb}
/* 前三名轻微高亮 */
.rank .row.top{background:#fcfdfd}
.rank .row.top:hover{background:#f6fbfb}
.rank .no{flex:0 0 auto;width:26px;height:26px;border-radius:7px;background:#eef1f1;color:#5f5e5a;
  font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}
.rank .row:nth-child(1) .no{background:#ff7e06;color:#fff}
.rank .row:nth-child(2) .no{background:#FF9800;color:#fff}
.rank .row:nth-child(3) .no{background:#FFC107;color:#fff}
.rank .ico{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:16px;flex:0 0 auto}
.rank .info{flex:1;min-width:0}
.rank h3{margin:0 0 2px;font-size:15.5px;font-weight:700}
.rank .sub{font-size:12.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank .plat{display:flex;gap:5px;flex:0 0 auto}
.rank .plat span{font-size:11.5px;border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:var(--ink2)}
.rank .num{flex:0 0 auto;text-align:right;min-width:86px}
.rank .num b{display:block;font-size:15px;color:var(--main-dark);font-weight:800;line-height:1.25}
.rank .num i{font-style:normal;font-size:11.5px;color:var(--ink3)}
.rank .trend{flex:0 0 auto;width:44px;text-align:center;font-size:12px;font-weight:700}
.rank .trend.up{color:#ff7e06}.rank .trend.down{color:#8a8a85}.rank .trend.new{color:var(--main);font-size:11.5px}
.rank .dl{flex:0 0 auto}
.rank .dl a{display:inline-block;padding:8px 20px;border-radius:8px;font-size:13.5px;font-weight:700;
  background:#162943;color:#fff;box-shadow:0 1px 4px rgba(22,41,67,.28);transition:.18s;white-space:nowrap}
.rank .dl a:hover{background:#0f1b2c;box-shadow:0 4px 12px rgba(22,41,67,.42);transform:translateY(-1px)}

/* ===== 口径说明（.rule）已删除：2026-09-15 老板定「算法不展示给用户」 ===== */

/* ===== 分类入口 ===== */
.cats{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.cat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:13px 10px;
  text-align:center;transition:.15s;box-shadow:0 1px 3px rgba(20,40,40,.06)}
.cat:hover{border-color:var(--main);box-shadow:0 4px 14px rgba(51,153,153,.13);transform:translateY(-2px)}
.cat i{display:block;font-size:19px;font-style:normal;margin-bottom:5px}
.cat b{display:block;font-size:14px;margin-bottom:2px}
.cat span{font-size:11.5px;color:var(--ink3)}


@media(max-width:1080px){.cats{grid-template-columns:repeat(4,1fr)}.hotsearch{display:none}.searchwrap{width:420px}
  .rank .plat{display:none}}
@media(max-width:820px){
  .nav{display:none}.header-main .wrap{grid-template-columns:auto 1fr}.searchwrap{width:100%}
  .rankhead h1{font-size:22px}.rankhead{padding:18px}.cats{grid-template-columns:repeat(2,1fr)}
  .rank .row{gap:10px;padding:12px 13px;flex-wrap:wrap}
  .rank .plat{display:none}
  .rank .num{min-width:0;text-align:left}
  .rank .num b{font-size:14px}
  .rank .trend{width:auto;min-width:34px}
  .rank .dl{flex:1 1 100%;margin-top:2px}
  .rank .dl a{display:block;text-align:center;padding:9px 0}
  .tab a{padding:7px 16px;font-size:13.5px}
  .tabs{gap:14px}
}

/* ==================== 软件详情页 ==================== */

.crumb{font-size:13px;color:var(--ink3);padding:14px 0 0}
.crumb a:hover{color:var(--main)}
.crumb .lbl{color:var(--ink3)}
.crumb i{font-style:normal;margin:0 7px;color:#c9c9c4}
.crumb b{color:var(--ink2);font-weight:400}

/* ===== 左右布局 ===== */
.layout{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start;margin-top:12px}
.col-main{min-width:0}
/* 右栏吸顶（2026-09-15 20:2x 修「往下滚它就掉了」）
   原写法 top:104px 是照【原型】抄的 —— 原型页头 .topbar 自己 position:sticky;top:0，高正好 104，
   所以右栏贴在页头下面。但站上的全站顶栏（.lsc-sitehead .topbar）高 159 且**不吸顶**
   （⚠ 原因：它的父级 .lsc-sitehead 只有 159 高，等于自己高度 → sticky 没有可滑动空间，等于没写），
   于是右栏往下滚时凭空在头顶留 104px 空档 = 看起来「掉下去 / 掉了」。
   修法：① top 改成 --rail-top（顶栏不吸顶 → 贴视口顶 16px）
        ② 加 max-height + 自己滚：右栏实测 801px（>700 的笔记本视口会被切掉底部模块）
   ⭐ 以后若把全站顶栏改成真吸顶，只改 --rail-top 一处（= 顶栏高 + 16）即可。 */
.siderail{display:flex;flex-direction:column;gap:16px;position:sticky;
  --rail-top:16px;top:var(--rail-top);
  max-height:calc(100vh - var(--rail-top) - 16px);overflow-y:auto;overscroll-behavior:contain}

/* 左栏顶部：软件信息卡（信息 + 下载全在左边） */
.infocard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px;
  box-shadow:0 1px 3px rgba(20,40,40,.06)}
.brandline{width:46px;height:3px;border-radius:2px;margin:0 0 13px;
  background:linear-gradient(90deg,var(--brand-teal) 0 50%,var(--brand-orange) 50% 100%)}
.app-hd{display:flex;gap:15px;align-items:flex-start;margin-bottom:13px}
.app-ico{width:76px;height:76px;border-radius:17px;background:#26282c;color:#fff;font-weight:800;font-size:26px;
  display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.app-hd h1{margin:2px 0 5px;font-size:26px;font-weight:800;letter-spacing:.3px}
.app-hd .vendor{font-size:13.5px;color:var(--ink3)}
.app-hd .vendor b{color:var(--ink2);font-weight:400}
.scoreline{display:flex;align-items:center;gap:9px;margin-top:7px;font-size:12.5px;color:var(--ink3);flex-wrap:wrap}
.stars{display:flex;gap:2px;color:#ffb400;font-size:14px;letter-spacing:1px}
.stars i{font-style:normal}
.stars i.off{color:#dcdcd6}
.scoreline b{color:var(--brand-orange);font-size:15px}
.tagline{margin:0 0 12px;font-size:14.5px;color:var(--ink2)}
.tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}
.tags span{font-size:12.5px;border-radius:5px;padding:2px 9px;background:var(--main-soft);color:var(--main-dark)}
.tags span.g{background:#eef1f1;color:var(--ink2)}
.tags span.o{background:#fff2e3;color:#b45309}

/* 9 字段信息表：3 列网格（对齐华军 info-row 三列） */
.spectable{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);
  border-left:1px solid var(--line)}
.spectable div{display:flex;align-items:baseline;gap:8px;padding:9px 13px;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}
.spectable span{color:var(--ink3);flex:0 0 auto}
.spectable b{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spectable b a{color:var(--main-dark);font-weight:600}

/* 下载按钮区（左栏内，紧跟信息表） */
.dlbar{margin-top:16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.dlbar .bigbtn{display:inline-block;padding:15px 62px;border-radius:10px;font-size:17px;font-weight:800;
  letter-spacing:.5px;background:#162943;color:#fff;box-shadow:0 2px 8px rgba(22,41,67,.28);transition:.18s}
.dlbar .bigbtn:hover{background:#0f1b2c;box-shadow:0 6px 16px rgba(22,41,67,.42);transform:translateY(-1px)}
/* ⛔ 2026-09-15 19:5x：详情页的 .bigbtn.ghost 并列专题按钮已删（老板："二选一，不是两个都在"）。
   专题入口改为信息表里一行文字链「相关专题」，见 soft-detail-pc.php 的 $rowsSpec。 */
.dlbar .note{font-size:12.5px;color:var(--ink3);line-height:1.7}
.dlbar .note b{color:var(--main-dark);font-weight:600}

section{padding:24px 0 4px}
.sec-head{display:flex;align-items:flex-end;gap:12px;margin-bottom:14px}
.sec-head .bar{width:4px;height:20px;background:var(--main);border-radius:2px}
.sec-head h2{margin:0;font-size:20px}
.sec-head .hint{font-size:12.5px;color:var(--ink3)}
.sec-head .more{margin-left:auto;font-size:13.5px;color:var(--main);white-space:nowrap}
.opt{display:inline-block;font-size:11px;background:#eef1f1;color:#6b6b66;border-radius:4px;
  padding:1px 6px;vertical-align:middle;margin-left:8px;font-weight:400}

.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 22px;
  box-shadow:0 1px 3px rgba(20,40,40,.06);font-size:14.5px;color:var(--ink2);line-height:1.85}
.panel p{margin:0 0 11px}
.panel p:last-child{margin-bottom:0}
.panel b{color:var(--ink)}

.review{background:#f7fafa;border-left:4px solid var(--main);border-radius:0 10px 10px 0;
  padding:15px 20px;font-size:14.5px;color:var(--ink2);line-height:1.85}
.review .who{display:block;margin-top:8px;font-size:12.5px;color:var(--ink3)}

.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.shot{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#f4f7f7;
  aspect-ratio:16/10;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;color:#9aa8a8;font-size:12.5px;cursor:zoom-in;transition:.15s}
.shot:hover{border-color:var(--main);background:#eef5f5;color:var(--main-dark)}
.shot em{font-style:normal;font-size:22px;opacity:.5}

.feats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.feat{background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px 15px;
  box-shadow:0 1px 3px rgba(20,40,40,.06)}
.feat h4{margin:0 0 5px;font-size:14.5px;color:var(--ink);display:flex;align-items:center;gap:8px}
.feat h4::before{content:"";width:6px;height:6px;border-radius:2px;background:var(--main);flex:0 0 auto}
.feat p{margin:0;font-size:13.5px;color:var(--ink2)}

.steps{counter-reset:s;display:flex;flex-direction:column}
.step{display:flex;gap:13px;align-items:flex-start;padding:12px 0;border-bottom:1px dashed #eef1f1}
.step:last-child{border-bottom:0}
.step .n{counter-increment:s;flex:0 0 auto;width:25px;height:25px;border-radius:50%;
  background:var(--main);color:#fff;font-size:13px;font-weight:800;
  display:flex;align-items:center;justify-content:center}
.step .n::before{content:counter(s)}
.step h4{margin:0 0 3px;font-size:14.5px;color:var(--ink)}
.step p{margin:0;font-size:13.5px;color:var(--ink2)}
.step p a{color:var(--main-dark)}
.tip{background:#fff8e1;border-radius:8px;padding:10px 14px;font-size:13.5px;color:#8a5a00;margin-top:6px}

.faq .q{background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px 18px;margin-bottom:10px;
  box-shadow:0 1px 3px rgba(20,40,40,.06)}
.faq .q h4{margin:0 0 7px;font-size:14.5px;color:var(--ink);display:flex;gap:9px;align-items:flex-start}
.faq .q h4::before{content:"问";flex:0 0 auto;width:20px;height:20px;border-radius:5px;background:var(--main-soft);
  color:var(--main-dark);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.faq .a{font-size:14px;color:var(--ink2);line-height:1.8;padding-left:29px}

/* 更新日志：后台一个多行文本框，一行一条 → 前台按行拆成编号列表（简单好维护，别做时间轴） */
.logsimple{margin:2px 0 0;padding-left:24px;font-size:14px;color:var(--ink2);line-height:2}
.logsimple li{margin-bottom:2px}
.logsimple li::marker{color:var(--main);font-weight:700}

/* 基本简介内的文中配图：夹在段落之间（不是单独立一块），有官方素材才输出 */
.intropic{margin:14px 0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#f4f7f7}
.intropic .ph{height:190px;display:flex;align-items:center;justify-content:center;
  color:#9aa8a8;font-size:12.5px}

/* 下载地址（左栏靠上，紧跟信息卡） */
.dlsec{background:#f7fafa;border:1px solid #d8ecec;border-radius:12px;padding:18px 20px}
.dlsec .hd-row{display:flex;align-items:center;gap:12px;margin-bottom:13px;flex-wrap:wrap}
.dlsec .hd-row h3{margin:0;font-size:16.5px;font-weight:800}
.dlsec .hd-row .vs{font-size:12.5px;color:var(--ink3)}
.dlsec .hd-row .fb{margin-left:auto;font-size:12.5px;color:var(--ink3)}
.dlsec .hd-row .fb a{color:var(--main-dark);font-weight:600}
.dltable{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border-radius:10px;overflow:hidden}
.dltable th{background:#eef6f6;color:var(--ink2);font-size:12.5px;font-weight:600;text-align:left;
  padding:9px 14px;border-bottom:1px solid #e2efef}
.dltable td{padding:12px 14px;border-bottom:1px solid #f2f4f4;color:var(--ink2);vertical-align:middle}
.dltable tr:last-child td{border-bottom:0}
.dltable .os{font-weight:700;color:var(--ink)}
.dltable .os i{display:block;font-style:normal;font-size:12px;color:var(--ink3);font-weight:400;margin-top:2px}
.dltable a.get{display:inline-block;padding:8px 20px;border-radius:8px;font-size:13.5px;font-weight:700;
  background:#162943;color:#fff;box-shadow:0 1px 4px rgba(22,41,67,.28);transition:.18s;white-space:nowrap}
.dltable a.get:hover{background:#0f1b2c;box-shadow:0 4px 12px rgba(22,41,67,.42);transform:translateY(-1px)}
.hash{margin-top:12px;font-size:12.5px;color:var(--ink3);line-height:1.9;word-break:break-all}
.hash b{color:var(--ink2)}
.hash code{background:#fff;border:1px solid var(--line);border-radius:5px;padding:1px 7px;
  font-family:Consolas,Monaco,monospace;font-size:12px;color:var(--ink2)}

/* 右栏：推荐（前）→ 排行（后） */
.sbox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;
  box-shadow:0 1px 3px rgba(20,40,40,.06)}
.sbox h3{margin:0 0 11px;font-size:15px;display:flex;align-items:center;gap:9px}
.sbox h3::before{content:"";width:4px;height:16px;background:var(--main);border-radius:2px}
.sbox h3 i{margin-left:auto;font-style:normal;font-size:12px;color:var(--ink3);font-weight:400}
.recitem{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px dashed #f0f0ec}
.recitem:last-child{border-bottom:0}
.recitem:hover b{color:var(--main-dark)}
.recitem .ico{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:14px;flex:0 0 auto}
.recitem .t{min-width:0}
.recitem b{display:block;font-size:14px;font-weight:600;color:var(--ink)}
.recitem span{font-size:12px;color:var(--ink3)}
.ranklist a{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14px;border-bottom:1px dashed #f0f0ec}
.ranklist a:last-child{border-bottom:0}
.ranklist a:hover{color:var(--main-dark)}
.ranklist .no{width:19px;height:19px;border-radius:5px;background:#eef1f1;color:#5f5e5a;font-size:11.5px;
  display:flex;align-items:center;justify-content:center;font-weight:800;flex:0 0 auto}
.ranklist a:nth-child(1) .no{background:#ff7e06;color:#fff}
.ranklist a:nth-child(2) .no{background:#FF9800;color:#fff}
.ranklist a:nth-child(3) .no{background:#FFC107;color:#fff}
.ranklist .n{margin-left:auto;font-size:12px;color:var(--ink3)}
.sbox .allbtn{display:block;text-align:center;margin-top:10px;font-size:13px;color:var(--main-dark);
  border:1px solid var(--line);border-radius:8px;padding:7px 0;transition:.15s}
.sbox .allbtn:hover{border-color:var(--main);background:#f7fbfb}

/* ===== 反馈弹窗（前端报错反馈入口，点「点此反馈」打开）===== */
.fbmask{display:none;position:fixed;inset:0;background:rgba(20,30,30,.5);z-index:200;
  align-items:center;justify-content:center;padding:20px}
.fbmask.show{display:flex}
.fbbox{background:#fff;border-radius:14px;width:100%;max-width:470px;padding:22px 24px;
  box-shadow:0 20px 50px rgba(0,0,0,.22);max-height:92vh;overflow:auto}
.fbbox h3{margin:0 0 5px;font-size:18px}
.fbbox .fbsub{margin:0 0 15px;font-size:12.5px;color:var(--ink3);line-height:1.7}
.fbtypes{display:flex;flex-direction:column;gap:8px;margin-bottom:13px}
.fbtypes label{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--ink2);
  border:1px solid var(--line);border-radius:9px;padding:10px 13px;cursor:pointer;transition:.15s}
.fbtypes label:hover{border-color:var(--main);background:#f7fbfb}
.fbtypes input{accent-color:var(--main);width:15px;height:15px;flex:0 0 auto;margin:0}
.fbbox textarea,.fbbox input[type=email]{width:100%;border:1px solid var(--line);border-radius:9px;
  padding:10px 13px;font-size:14px;font-family:inherit;color:var(--ink);outline:none;margin-bottom:10px}
.fbbox textarea{height:80px;resize:vertical}
.fbbox textarea:focus,.fbbox input:focus{border-color:var(--main)}
.fbbtns{display:flex;gap:10px;margin-top:2px}
.fbbtns a{flex:1;text-align:center;padding:11px 0;border-radius:9px;font-size:14.5px;font-weight:700;cursor:pointer}
.fbbtns .cancel{background:#f2f4f4;color:var(--ink2)}
.fbbtns .cancel:hover{background:#e8ecec}
.fbbtns .submit{background:#162943;color:#fff}
.fbbtns .submit:hover{background:#0f1b2c}
.fbnote{margin:11px 0 0;font-size:12px;color:var(--ink3);text-align:center;line-height:1.7}


.stickybar{display:none}

@media(max-width:1100px){.layout{grid-template-columns:1fr}.siderail{position:static;max-height:none;overflow-y:visible}
  .hotsearch{display:none}.searchwrap{width:420px}}
@media(max-width:820px){
  .nav{display:none}.header-main .wrap{grid-template-columns:auto 1fr}.searchwrap{width:100%}
  .infocard{padding:15px}.app-ico{width:58px;height:58px;border-radius:14px;font-size:21px}
  .app-hd h1{font-size:21px}
  .spectable{grid-template-columns:1fr 1fr}
  .dlbar{display:none}                 /* 手机端下载动作走吸底条 */
  .shots,.feats{grid-template-columns:1fr}
  .dltable thead{display:none}
  .dltable,.dltable tbody,.dltable tr,.dltable td{display:block;width:100%}
  .dltable tr{border-bottom:1px solid #f2f4f4;padding:12px 0}
  .dltable td{border:0;padding:3px 0}
  .dltable a.get{display:block;text-align:center;margin-top:7px}
  .stickybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;
    border-top:1px solid var(--line);padding:9px 14px;gap:12px;align-items:center;
    box-shadow:0 -2px 12px rgba(0,0,0,.08)}
  .stickybar .sb-t{flex:1;min-width:0}
  .stickybar .sb-t b{display:block;font-size:14.5px}
  .stickybar .sb-t span{font-size:11.5px;color:var(--ink3)}
  .stickybar a{padding:11px 24px;border-radius:9px;font-size:15px;font-weight:800;
    background:#162943;color:#fff;white-space:nowrap}
}

/* ==================== 搜索结果页 ==================== */

/* 面包屑（对齐华军：带「所在位置：」引导词） */
.crumb{font-size:13px;color:var(--ink3);padding:14px 0 0}
.crumb .lbl{color:var(--ink3)}
.crumb a:hover{color:var(--main)}
.crumb i{font-style:normal;margin:0 7px;color:#c9c9c4}
.crumb b{color:var(--ink2);font-weight:400}

/* 结果头 */
.reshead{background:#f7fafa;border:1px solid var(--line);border-left:4px solid var(--main);
  border-radius:0 12px 12px 0;padding:18px 22px;margin:14px 0 0}
.reshead h1{margin:0 0 6px;font-size:22px;font-weight:800}
.reshead h1 em{font-style:normal;color:var(--brand-orange)}
.reshead p{margin:0;font-size:13.5px;color:var(--ink2)}
.reshead p b{color:var(--main-dark)}

/* 分类检索 Tab（第一层筛选：看哪一类内容） */
.restab{display:flex;gap:0;margin:18px 0 0;border-bottom:2px solid var(--line)}
.restab a{padding:9px 22px;font-size:15px;color:var(--ink2);border-bottom:2px solid transparent;
  margin-bottom:-2px;transition:.15s;white-space:nowrap;cursor:pointer}
.restab a:hover{color:var(--main-dark)}
.restab a.on{color:var(--main-dark);font-weight:700;border-bottom-color:var(--main)}
.restab a span{font-size:12.5px;color:var(--ink3);margin-left:5px}
.restab a.on span{color:var(--main)}

/* 系统检索（第二层筛选：按平台，仅「软件」类显示，对齐华军 searchsid=） */
.platrow{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:14px 0 0;font-size:13px;color:var(--ink3)}
.platrow a{font-size:13px;border:1px solid var(--line);border-radius:13px;padding:2px 13px;
  color:var(--ink2);transition:.15s;cursor:pointer}
.platrow a:hover{border-color:var(--main);color:var(--main-dark)}
.platrow a.on{background:var(--main);border-color:var(--main);color:#fff;font-weight:700}

/* 排序（第三层筛选：这一类里怎么排） */
.sortbar{display:flex;align-items:center;gap:10px;padding:12px 0 14px;font-size:13px;color:var(--ink3)}
.sortbar a{color:var(--ink2);padding:2px 4px;cursor:pointer}
.sortbar a.on{color:var(--main-dark);font-weight:700}
.sortbar .sep{color:#dcdcd6}

/* 左右布局 */
.layout{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start;margin-bottom:10px}
.col-main{min-width:0}
/* 右栏吸顶（2026-09-15 20:2x 修「往下滚它就掉了」）
   原写法 top:104px 是照【原型】抄的 —— 原型页头 .topbar 自己 position:sticky;top:0，高正好 104，
   所以右栏贴在页头下面。但站上的全站顶栏（.lsc-sitehead .topbar）高 159 且**不吸顶**
   （⚠ 原因：它的父级 .lsc-sitehead 只有 159 高，等于自己高度 → sticky 没有可滑动空间，等于没写），
   于是右栏往下滚时凭空在头顶留 104px 空档 = 看起来「掉下去 / 掉了」。
   修法：① top 改成 --rail-top（顶栏不吸顶 → 贴视口顶 16px）
        ② 加 max-height + 自己滚：右栏实测 801px（>700 的笔记本视口会被切掉底部模块）
   ⭐ 以后若把全站顶栏改成真吸顶，只改 --rail-top 一处（= 顶栏高 + 16）即可。 */
.siderail{display:flex;flex-direction:column;gap:16px;position:sticky;
  --rail-top:16px;top:var(--rail-top);
  max-height:calc(100vh - var(--rail-top) - 16px);overflow-y:auto;overscroll-behavior:contain}

/* 结果列表：软件行 */
.reslist{display:flex;flex-direction:column;gap:12px}
.rsoft{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;
  display:flex;gap:14px;align-items:flex-start;box-shadow:0 1px 3px rgba(20,40,40,.06);transition:.15s}
.rsoft:hover{border-color:var(--main);box-shadow:0 6px 18px rgba(0,0,0,.06)}
.rsoft .ico{width:52px;height:52px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:19px;flex:0 0 auto}
.rsoft .bd{flex:1;min-width:0}
.rsoft h3{margin:0 0 3px;font-size:16.5px}
.rsoft h3:hover{color:var(--main-dark)}
.rsoft .sub{font-size:12.5px;color:var(--ink3);margin-bottom:6px}
.rsoft .desc{font-size:13.5px;color:var(--ink2);margin:0 0 9px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rsoft .meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--ink3)}
.rsoft .meta .plat{border:1px solid var(--line);border-radius:5px;padding:1px 7px;color:var(--ink2)}
.rsoft .meta .n{color:var(--main-dark);font-weight:700}
.rsoft .act{flex:0 0 auto;padding-top:4px}
.rsoft .act a{display:block;padding:9px 22px;border-radius:8px;font-size:13.5px;font-weight:700;
  background:#162943;color:#fff;white-space:nowrap;transition:.18s}
.rsoft .act a:hover{background:#0f1b2c;box-shadow:0 4px 12px rgba(22,41,67,.42);transform:translateY(-1px)}

/* 结果列表：文章 / 技能行（带缩略图） */
.rart{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;
  display:flex;gap:12px;align-items:center;box-shadow:0 1px 3px rgba(20,40,40,.06);transition:.15s}
.rart:hover{border-color:var(--main);box-shadow:0 6px 18px rgba(20,40,40,.06)}
.rart .thumb{width:104px;height:70px;border-radius:8px;overflow:hidden;flex:0 0 auto;background:#eef2f2}
.rart .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rart .bd{min-width:0}
.rart h3{margin:0 0 6px;font-size:15px;font-weight:400;line-height:1.55;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rart:hover h3{color:var(--main-dark)}
.rart .meta{display:flex;gap:9px;align-items:center;font-size:12.5px;color:var(--ink3)}
/* 标签（做法 2，2026-09-15 16:51 老板定）：浅青绿底 + 青绿细描边 + 青绿字
   ⛔ 全站只此一种样式（.cat.k 不再单独定义，继承 .cat 即可）；每条内容只挂一个标签
   圆角 6px、内边距 2px 9px */
.rart .meta .cat{background:var(--main-soft);color:var(--main-dark);
  border:1px solid #9CD3C9;border-radius:6px;padding:2px 9px}

/* 分页 */
.pager{display:flex;gap:7px;align-items:center;justify-content:center;padding:24px 0 6px;font-size:14px}
.pager a{border:1px solid var(--line);border-radius:8px;padding:7px 13px;color:var(--ink2);transition:.15s}
.pager a:hover{border-color:var(--main);color:var(--main-dark)}
.pager a.on{background:var(--main);border-color:var(--main);color:#fff;font-weight:700}

/* 侧栏 */
.sbox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;
  box-shadow:0 1px 3px rgba(20,40,40,.06)}
.sbox h3{margin:0 0 11px;font-size:15px;display:flex;align-items:center;gap:9px}
.sbox h3::before{content:"";width:4px;height:16px;background:var(--main);border-radius:2px}
.sbox h3 i{margin-left:auto;font-style:normal;font-size:12px;color:var(--ink3);font-weight:400}
.hotwords{display:flex;gap:8px;flex-wrap:wrap}
.hotwords a{font-size:13px;border:1px solid var(--line);border-radius:14px;padding:3px 12px;color:var(--ink2);transition:.15s}
.hotwords a:hover{border-color:var(--main);color:var(--main-dark);background:#f7fbfb}
.ranklist a{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14px;border-bottom:1px dashed #f0f0ec}
.ranklist a:last-child{border-bottom:0}
.ranklist a:hover{color:var(--main-dark)}
.ranklist .no{width:19px;height:19px;border-radius:5px;background:#eef1f1;color:#5f5e5a;font-size:11.5px;
  display:flex;align-items:center;justify-content:center;font-weight:800;flex:0 0 auto}
.ranklist a:nth-child(1) .no{background:#ff7e06;color:#fff}
.ranklist a:nth-child(2) .no{background:#FF9800;color:#fff}
.ranklist a:nth-child(3) .no{background:#FFC107;color:#fff}
.ranklist .n{margin-left:auto;font-size:12px;color:var(--ink3)}
.sbox .allbtn{display:block;text-align:center;margin-top:10px;font-size:13px;color:var(--main-dark);
  border:1px solid var(--line);border-radius:8px;padding:7px 0;transition:.15s}
.sbox .allbtn:hover{border-color:var(--main);background:#f7fbfb}


@media(max-width:1100px){.layout{grid-template-columns:1fr}.siderail{position:static;max-height:none;overflow-y:visible}
  .hotsearch{display:none}.searchwrap{width:420px}}
@media(max-width:820px){
  .nav{display:none}.header-main .wrap{grid-template-columns:auto 1fr}.searchwrap{width:100%}
  .reshead h1{font-size:19px}.reshead{padding:15px}
  .restab{overflow-x:auto}.restab::-webkit-scrollbar{display:none}
  .restab a{padding:9px 16px;font-size:14.5px}
  .rsoft{flex-wrap:wrap}.rsoft .act{flex:1 1 100%}
  .rsoft .act a{text-align:center}
  .rart .thumb{width:88px;height:62px}
  .crumb{font-size:12.5px}
}

/* ==================== 图标兜底底色（2026-09-15 修） ====================
 * ⛔ .ico 原来只有 color:#fff 没有底色 → 后台没传 icon 时「白字白底」完全隐形。
 *   给四种 .ico 兜底青绿底（原型是色块+首字做法）；传了图则图片 100% 覆盖盖住底色。 */
.ico{background:var(--main)}
.ico img{width:100%;height:100%;border-radius:inherit;object-fit:cover;display:block}


/* ===================================================================
   2026-09-15：大屏内容宽度统一为 1200（与老博客页一致，靠外层 .site-content 的百分比内边距留白）。
   ⛔ 但小屏时外层留白只有 ~6px（父主题手机端 padding 1.5625%）→ 内容会贴屏边。
   这里补 18px；阈值 1260 = 1200 内容 + 两侧 30px，保证 ≥1260 时仍是满 1200、不受影响。
   =================================================================== */
@media (max-width: 1259px) {
  .wrap { padding: 0 18px; }
}
