
:root{
  --wx-accent:#576B95;
  --wx-text:#1a1a1a;
  --wx-sub:#333333;
  --wx-gray:#888888;
  --wx-faint:#b2b2b2;
  --wx-line:#e7e7e7;
  --wx-line-soft:#f0f0f0;
  --bg:#ffffff;
  --fs:17px;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--wx-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  font-size:var(--fs);line-height:1.8;letter-spacing:.034em;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none;}
.wrap{max-width:750px;margin:0 auto;padding:0 20px;}

/* ---------- 顶栏 ---------- */
.topbar{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);
  backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--wx-line-soft);
}
.topbar-in{display:flex;align-items:center;gap:16px;height:50px;max-width:750px;margin:0 auto;padding:0 20px;}
.brand{font-size:15px;font-weight:700;letter-spacing:0;flex:none;white-space:nowrap;}
.brand span{color:var(--wx-accent);}
.nav{display:flex;gap:18px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;}
.nav::-webkit-scrollbar{display:none;}
.nav a{font-size:13.5px;color:var(--wx-gray);white-space:nowrap;padding:2px 0;border-bottom:2px solid transparent;transition:color .15s;}
.nav a:hover{color:var(--wx-text);}
.nav a.on{color:var(--wx-text);font-weight:600;border-bottom-color:var(--wx-accent);}
.tools{display:flex;align-items:center;gap:14px;flex:none;}
.tools a{font-size:13.5px;color:var(--wx-gray);}
.tools a:hover{color:var(--wx-accent);}

/* ---------- 首页 / 列表 ---------- */
.page-head{padding:34px 0 20px;border-bottom:1px solid var(--wx-line);}
.page-title{font-size:20px;font-weight:700;margin:0 0 8px;letter-spacing:0;line-height:1.4;}
.page-desc{font-size:13.5px;color:var(--wx-gray);margin:0;line-height:1.7;}
.page-count{font-size:12.5px;color:var(--wx-faint);margin-top:6px;}

.list{list-style:none;margin:0;padding:0;}
.item{padding:20px 0;border-bottom:1px solid var(--wx-line-soft);}
.item:last-child{border-bottom:0;}
.item-title{
  font-size:17px;font-weight:600;line-height:1.55;color:var(--wx-text);
  margin:0 0 9px;letter-spacing:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.item-title:hover{color:var(--wx-accent);}
.item-sum{
  font-size:14px;line-height:1.7;color:var(--wx-gray);margin:0 0 10px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.item-meta{font-size:12.5px;color:var(--wx-faint);display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.item-meta .dot{color:#dcdcdc;}
.item-meta .cat{color:var(--wx-accent);}

.tag-r18{
  font-size:10.5px;line-height:1;padding:2.5px 5px;border-radius:3px;
  background:#fdeeee;color:#c0392b;font-weight:600;letter-spacing:.04em;
}

/* ---------- 分页 ---------- */
.pager{display:flex;align-items:center;justify-content:center;gap:6px;padding:34px 0 10px;flex-wrap:wrap;}
.pager a,.pager span{font-size:13.5px;color:var(--wx-gray);padding:6px 11px;border-radius:4px;line-height:1;}
.pager a:hover{background:#f5f5f5;color:var(--wx-text);}
.pager .cur{background:var(--wx-accent);color:#fff;font-weight:600;}
.pager .gap{color:var(--wx-faint);}

/* ---------- 文章页 ---------- */
.crumb{font-size:12.5px;color:var(--wx-faint);margin:0 0 14px;line-height:1.6;}
.crumb a{color:var(--wx-gray);}
.crumb a:hover{color:var(--wx-accent);}
.crumb .sep{margin:0 6px;color:#dcdcdc;}

.article{padding:38px 0 0;}
.wx-title{font-size:22px;font-weight:700;line-height:1.5;margin:0 0 20px;letter-spacing:0;}
.wx-byline{font-size:13.5px;color:var(--wx-faint);margin-bottom:32px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.wx-byline .acct{color:var(--wx-accent);}
.wx-byline .sep{color:#dcdcdc;}

.wx-body{font-size:var(--fs);line-height:1.8;color:var(--wx-sub);}
.wx-body p{margin:0 0 1.5em;}
.wx-body h1{font-size:1.294em;font-weight:700;line-height:1.5;margin:1.6em 0 .7em;color:var(--wx-text);}
.wx-body h2{font-size:1.176em;font-weight:700;line-height:1.5;margin:1.9em 0 .85em;color:var(--wx-text);}
.wx-body h3{font-size:1.059em;font-weight:700;line-height:1.55;margin:1.7em 0 .7em;color:var(--wx-text);}
.wx-body h4{font-size:1em;font-weight:700;margin:1.4em 0 .6em;}
.wx-body h1:first-child,.wx-body h2:first-child{margin-top:0;}
.wx-body a{color:var(--wx-accent);border-bottom:1px solid rgba(87,107,149,.3);}
.wx-body a:hover{border-bottom-color:var(--wx-accent);}
.wx-body img{max-width:100%;height:auto;display:block;margin:1.6em auto;border-radius:3px;background:#fafafa;}
.wx-body figure{margin:1.6em 0;}
.wx-body ul,.wx-body ol{padding-left:1.45em;margin:0 0 1.5em;}
.wx-body li{margin-bottom:.45em;}
.wx-body blockquote{margin:1.6em 0;padding:.15em 0 .15em 1em;border-left:3px solid #dcdcdc;color:#666;}
.wx-body blockquote p{margin-bottom:.9em;}
.wx-body hr{border:0;border-top:1px solid var(--wx-line);margin:2.4em 0;}
.wx-body code{background:#f6f6f6;padding:1px 4px;border-radius:3px;font-size:.9em;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}
.wx-body table{border-collapse:collapse;width:100%;margin:1.6em 0;font-size:.92em;}
.wx-body td,.wx-body th{border:1px solid var(--wx-line);padding:7px 10px;}

.wx-audio{
  width:100%;margin:1.6em 0;height:42px;
  border:1px solid var(--wx-line);border-radius:6px;background:#fafafa;
}

.hide-box{
  margin:1.8em 0;padding:16px 18px;border-radius:6px;
  background:#f8f9fb;border:1px solid #eaeef5;
}
.hide-title{font-size:12.5px;font-weight:600;color:var(--wx-accent);margin-bottom:11px;letter-spacing:.03em;}
.hide-box p:last-child{margin-bottom:0;}

.wx-end{text-align:center;color:var(--wx-faint);font-size:13px;letter-spacing:.1em;margin:46px 0 22px;}
.wx-end::before,.wx-end::after{content:"——";color:#e0e0e0;margin:0 10px;letter-spacing:0;}
.wx-source{
  font-size:12.5px;color:var(--wx-faint);line-height:1.8;
  padding:16px 0 0;border-top:1px solid var(--wx-line-soft);margin-bottom:34px;
}

/* 图片失效占位 */
.img-ph{
  margin:1.4em auto;padding:18px 16px;border-radius:4px;
  background:#fafafa;border:1px dashed #e8e8e8;text-align:center;
}
.img-ph .ph-ico{display:block;font-size:17px;color:#dcdcdc;line-height:1;margin-bottom:8px;}
.img-ph .ph-name{display:block;font-size:11.5px;color:var(--wx-faint);word-break:break-all;line-height:1.6;}
.img-ph .ph-tip{display:block;font-size:10.5px;color:#cfcfcf;margin-top:5px;}

/* 连续失效图折叠 */
.img-ph-run{margin:1.5em 0;padding:13px 16px;border-radius:4px;background:#fafafa;border:1px solid #f0f0f0;}
.img-ph-run .r-head{font-size:12.5px;color:var(--wx-faint);display:flex;align-items:center;justify-content:space-between;gap:12px;line-height:1.5;}
.img-ph-run .r-head button{
  font:inherit;font-size:12px;padding:4px 13px;border-radius:14px;flex:none;
  border:1px solid var(--wx-line);background:#fff;color:var(--wx-gray);cursor:pointer;line-height:1.6;
}
.img-ph-run .r-head button:hover{color:var(--wx-accent);border-color:#d5dded;}
.img-ph-run .r-body{display:none;}
.img-ph-run.open .r-body{display:block;}
.img-ph-run .img-ph{margin:9px 0 0;}

/* ---------- 上一篇 / 下一篇 ---------- */
.pn{display:flex;gap:12px;padding:22px 0;border-top:1px solid var(--wx-line-soft);border-bottom:1px solid var(--wx-line-soft);}
.pn a{flex:1;min-width:0;font-size:13.5px;line-height:1.6;color:var(--wx-gray);}
.pn a:hover{color:var(--wx-accent);}
.pn .k{display:block;font-size:11.5px;color:var(--wx-faint);margin-bottom:4px;}
.pn a b{font-weight:400;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pn .nx{text-align:right;}

/* ---------- 相关阅读 ---------- */
.sec-title{font-size:14px;font-weight:700;color:var(--wx-text);margin:40px 0 4px;letter-spacing:0;}
.sec-title::after{content:"";display:block;width:26px;height:2px;background:var(--wx-accent);margin-top:9px;border-radius:1px;}
.rel{list-style:none;padding:0;margin:16px 0 0;}
.rel li{padding:11px 0;border-bottom:1px solid var(--wx-line-soft);font-size:14.5px;line-height:1.6;}
.rel li:last-child{border-bottom:0;}
.rel a:hover{color:var(--wx-accent);}
.rel .d{font-size:12px;color:var(--wx-faint);margin-left:8px;}

/* ---------- 页脚 ---------- */
.site-foot{
  margin-top:60px;padding:26px 0 46px;border-top:1px solid var(--wx-line-soft);
  font-size:12.5px;color:var(--wx-faint);line-height:2;text-align:center;
}
.site-foot a{color:var(--wx-gray);}
.site-foot a:hover{color:var(--wx-accent);}

/* ---------- R18 遮罩 ---------- */
.r18-mask{
  margin:0 0 30px;padding:40px 24px;border-radius:6px;text-align:center;
  background:#fbfbfb;border:1px solid var(--wx-line);
}
.r18-mask .m-t{font-size:15px;font-weight:700;color:#c0392b;margin-bottom:10px;}
.r18-mask .m-d{font-size:13px;color:var(--wx-gray);line-height:1.9;margin-bottom:20px;}
.r18-mask button{
  font:inherit;font-size:14px;padding:9px 24px;border-radius:6px;
  border:1px solid var(--wx-accent);background:var(--wx-accent);color:#fff;cursor:pointer;
}
.r18-mask button:hover{opacity:.88;}
.r18-mask .m-out{margin-top:16px;font-size:12.5px;color:var(--wx-faint);}
.r18-hide{display:none !important;}

/* ---------- 浮动工具 ---------- */
.fab{
  position:fixed;right:22px;bottom:26px;z-index:60;display:flex;flex-direction:column;gap:8px;
  opacity:0;pointer-events:none;transition:opacity .25s;
}
.fab.show{opacity:1;pointer-events:auto;}
.fab button{
  width:38px;height:38px;border-radius:50%;border:1px solid var(--wx-line);background:#fff;
  color:var(--wx-gray);font:inherit;font-size:13px;cursor:pointer;line-height:1;
  box-shadow:0 1px 6px rgba(0,0,0,.05);display:flex;align-items:center;justify-content:center;
}
.fab button:hover{color:var(--wx-accent);border-color:#d5dded;}

/* ---------- 搜索 ---------- */
.search-box{display:flex;gap:10px;padding:26px 0 6px;}
.search-box input{
  flex:1;font:inherit;font-size:15px;padding:11px 15px;border-radius:6px;
  border:1px solid var(--wx-line);background:#fafafa;color:var(--wx-text);outline:none;
}
.search-box input:focus{border-color:var(--wx-accent);background:#fff;}
.search-box button{
  font:inherit;font-size:14px;padding:0 20px;border-radius:6px;border:1px solid var(--wx-accent);
  background:var(--wx-accent);color:#fff;cursor:pointer;
}
.chips{display:flex;gap:8px;flex-wrap:wrap;padding:16px 0 6px;}
.chips button{
  font:inherit;font-size:13px;padding:5px 13px;border-radius:20px;border:1px solid var(--wx-line);
  background:#fff;color:var(--wx-gray);cursor:pointer;
}
.chips button:hover{border-color:#d5dded;color:var(--wx-accent);}
.chips button.on{background:#f2f5fa;border-color:#c9d6ea;color:var(--wx-accent);font-weight:600;}
.empty{padding:60px 0;text-align:center;color:var(--wx-faint);font-size:14px;}

/* ---------- 归档 ---------- */
.yr{display:flex;align-items:baseline;gap:14px;margin:34px 0 10px;}
.yr h2{font-size:18px;font-weight:700;margin:0;letter-spacing:0;}
.yr span{font-size:12.5px;color:var(--wx-faint);}
.stat{display:flex;gap:26px;flex-wrap:wrap;padding:20px 0 26px;border-bottom:1px solid var(--wx-line);}
.stat div{font-size:13px;color:var(--wx-gray);}
.stat b{display:block;font-size:19px;color:var(--wx-text);font-weight:700;line-height:1.5;}

/* ---------- 分类卡 ---------- */
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:24px 0 6px;}
.cat-card{display:block;padding:17px 18px;border:1px solid var(--wx-line);border-radius:6px;transition:border-color .15s,background .15s;}
.cat-card:hover{border-color:#d5dded;background:#fbfcfe;}
.cat-card .n{font-size:15px;font-weight:600;margin-bottom:5px;display:flex;align-items:center;gap:7px;}
.cat-card .d{font-size:12.5px;color:var(--wx-gray);line-height:1.7;}
.cat-card .c{font-size:12px;color:var(--wx-faint);margin-top:7px;}

@media (max-width:640px){
  .wrap{padding:0 17px;}
  .topbar-in{padding:0 17px;gap:12px;}
  .nav{gap:15px;}
  .wx-title{font-size:20px;}
  .fab{right:14px;bottom:18px;}
}
