/* ============================================================
   博客层：公司动态（WP 原生 blog）前台全链路
   覆盖：home(存档) / archive(分类·标签·日期) / author / search / single / 404 / comments
   ★ 不另造轮子：侧边栏走 WP 标准 widgets（register_sidebar + dynamic_sidebar），
     本文件只负责把 WP 默认吐出的 ul/li/select/table 套进玻璃 + 等宽数据风格。
   ★ 视觉沿用既有 token：深底色 + 玻璃 + 青（数据色），品牌黄只在行动按钮出现。
   ============================================================ */

/* ---------- 两栏：正文 + 侧边栏 ---------- */
.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start;margin-top:26px}
@media (max-width:1024px){ .blog-layout{grid-template-columns:minmax(0,1fr)} }

/* ---------- 存档页头：标题 + 计数 + 术语描述 ---------- */
.archive-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;
  padding-bottom:14px;border-bottom:1px solid rgba(5,217,232,.16)}
.archive-head .count{font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--dim)}
.archive-head .count b{color:var(--cyan);font-weight:400}
.archive-desc{margin-top:14px;max-width:720px;font-size:14.5px;line-height:var(--lh-read);color:var(--ink-5)}

/* ---------- 文章列表（横向卡：图 + 正文） ---------- */
.post-list{display:flex;flex-direction:column;gap:16px}

.post-card{position:relative;overflow:hidden;display:grid;grid-template-columns:200px minmax(0,1fr);
  gap:22px;padding:18px 22px 18px 18px;align-items:start;transition:.22s}
.post-card:hover{transform:translateY(-3px);border-color:rgba(5,217,232,.44)}
.post-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
  background:linear-gradient(115deg,transparent 34%,rgba(160,240,255,.08) 50%,transparent 66%);transition:opacity .3s ease}
.post-card:hover::before{opacity:1}
.post-card:hover .rail{box-shadow:0 0 14px rgba(5,217,232,.55)}
.post-card:hover .title a{color:var(--cyan)}

/* 缩略图：无图时用等宽数据块占位，不放灰box
   ★ 本站的文章暂时都没有特色图，所以这个"占位块"实际上是列表页看到的**主视觉**，
     它必须看起来是有意为之的设计，而不是"图没加载出来"。
     做法：经纬网格打底 + 大号日期刻度 + 一条虚线航线，明确表达"这是一份简报"。 */
.post-thumb{position:relative;width:100%;aspect-ratio:4/3;border-radius:11px;overflow:hidden;
  border:1px solid rgba(5,217,232,.18);background:linear-gradient(160deg,rgba(5,217,232,.12),rgba(13,15,18,.42))}
.post-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--e-out)}
.post-card:hover .post-thumb img{transform:scale(1.05)}
.post-thumb.none{isolation:isolate;display:grid;place-items:center;gap:5px;text-align:center;padding:14px;
  background:
    repeating-linear-gradient(to right, rgba(90,175,225,.09) 0 1px, transparent 1px 24px),
    repeating-linear-gradient(to bottom, rgba(90,175,225,.09) 0 1px, transparent 1px 24px),
    linear-gradient(160deg,rgba(5,217,232,.11),rgba(13,15,18,.46))}
/* 虚线航线：横穿色块，说明"运单/简报"，顺便把大面积空白填出方向感 */
.post-thumb.none::before{content:"";position:absolute;left:12%;right:12%;top:50%;height:1px;z-index:0;
  background:repeating-linear-gradient(90deg,rgba(5,217,232,.45) 0 5px,transparent 5px 11px);
  transform:rotate(-6deg)}
/* 航线两端各一个节点：始发用行动色（小面积点缀），到达用数据色 */
.post-thumb.none::after{content:"";position:absolute;left:calc(12% - 3px);top:calc(50% - 3px);z-index:0;
  width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--cta-glow-hover)}
.post-thumb.none .d{position:relative;z-index:1;font-family:var(--mono);font-size:30px;font-weight:700;
  letter-spacing:1px;line-height:1;color:var(--ink-1);text-shadow:0 0 22px rgba(5,217,232,.4)}
.post-thumb.none .m{position:relative;z-index:1;font-family:var(--mono);font-size:10px;letter-spacing:2.2px;color:var(--dim)}
/* 大卡（首篇）无图时不再撑成 16:7 的空盒子，收成一条更有分量的横带 */
.post-card.feature .post-thumb.none{aspect-ratio:auto;min-height:168px}
.post-thumb .no{position:absolute;left:0;top:0;font-family:var(--mono);font-size:9px;letter-spacing:1.6px;
  padding:4px 8px;border-bottom-right-radius:8px;background:rgba(13,15,18,.66);color:#9fd8ea}

.post-card .body{min-width:0;display:flex;flex-direction:column}
.post-card .title{margin-top:0;font-size:18px;font-weight:700;letter-spacing:.3px;line-height:1.45}
.post-card .title a{color:var(--ink-1);transition:color .2s}
.post-card .excerpt{margin-top:10px;font-size:14px;line-height:var(--lh-read);color:var(--ink-6);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* ★ 2026-10-13 排查：整块「Read more」实测只有 13px 高（874×13），低于 24×24。
   纵向补 7px 内边距把它拉到 27px（横向不动，视觉上还是贴着摘要下方的那条链接）。 */
.post-card .more{margin-top:14px;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);
  font-size:10.5px;letter-spacing:2px;color:var(--cyan);text-transform:uppercase;
  min-height:24px;padding:7px 0}
.post-card .more span{display:inline-block;width:18px;height:1px;background:var(--cyan);
  transition:width .22s ease}
.post-card:hover .more span{width:34px}

/* ---------- 通用 meta 行（日期 / 分类 / 阅读时长 / 浏览） ---------- */
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:1.4px;color:var(--dim);text-transform:uppercase}
.post-meta a{color:var(--cyan)}
.post-meta a:hover{color:#fff}
.post-meta i{width:3px;height:3px;border-radius:50%;background:var(--ink-7)}
/* ★ 2026-10-13 排查：分类徽标实测 131×19，同样低于 24×24 —— 它是链接（可点）。
   把纵向内边距从 2px 提到 5px（含边框后 ≈25px），触屏再拉到 44px。
   ★ 视觉上徽标只高了 6px，不会把 meta 行顶散。 */
.post-meta .cat{display:inline-flex;align-items:center;min-height:24px;padding:5px 7px;border-radius:5px;border:1px solid rgba(5,217,232,.24);background:rgba(5,217,232,.07)}
@media (pointer:coarse){ .post-meta .cat{min-height:44px} }

/* ---------- 置顶 / 首发的大卡 ---------- */
.post-card.feature{grid-template-columns:minmax(0,1fr);gap:0}
.post-card.feature .post-thumb{aspect-ratio:16/7;margin-bottom:16px}
.post-card.feature .title{font-size:25px;letter-spacing:.2px}

/* ---------- 分页（paginate_links 输出） ---------- */
.pager{margin-top:30px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pager .page-numbers{font-family:var(--mono);font-size:12px;letter-spacing:1px;color:var(--ink-4);
  padding:8px 13px;border-radius:9px;transition:.18s;
  border:1px solid var(--glass-brd);background:var(--glass-bg)}
.pager .page-numbers:hover{color:#fff;border-color:rgba(5,217,232,.5);background:rgba(5,217,232,.10)}
.pager .page-numbers.current{color:#fff;font-weight:700;border-color:var(--accent-data);
  background:rgba(5,217,232,.14);box-shadow:0 0 16px rgba(5,217,232,.22)}
.pager .page-numbers.dots{border-color:transparent;background:none;color:var(--ink-7)}

/* ---------- 侧边栏：WP 标准小工具的皮肤 ---------- */
aside.blog-side{display:flex;flex-direction:column;gap:18px}
@media (min-width:1025px){ aside.blog-side{position:sticky;top:calc(var(--nav-top) + var(--nav-h) + 18px)} }
@media (max-width:1024px){ aside.blog-side{order:2} }

aside.blog-side .widget{padding:18px 20px 20px;border-radius:14px;
  background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-brd);box-shadow:var(--glass-line)}
aside.blog-side .widget-title{position:relative;padding-left:12px;margin-bottom:14px;
  font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:2px;color:var(--ink-2);text-transform:uppercase}
aside.blog-side .widget-title::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:2px;
  border-radius:2px;background:linear-gradient(180deg,var(--cyan),rgba(5,217,232,.15))}
aside.blog-side ul{list-style:none;display:flex;flex-direction:column;gap:2px}
aside.blog-side li{font-size:13px;line-height:1.6}
aside.blog-side li a{display:block;padding:8px 0;color:var(--ink-4);border-bottom:1px dashed rgba(127,168,201,.14);
  transition:color .18s,padding-left .18s}
aside.blog-side li:last-child a{border-bottom:none}
aside.blog-side li a:hover{color:#fff;padding-left:6px}
aside.blog-side li .post-date{display:block;margin-top:3px;font-family:var(--mono);font-size:10px;
  letter-spacing:1.2px;color:var(--dim)}
aside.blog-side select{max-width:100%;width:100%;padding:10px 12px;font-size:13px;color:var(--ink);
  border-radius:9px;border:1px solid var(--ctl-brd);background:var(--ctl-bg);box-shadow:var(--ctl-src)}
aside.blog-side select option{background:#11151a;color:var(--ink)}
aside.blog-side textarea,aside.blog-side input[type=text],aside.blog-side input[type=search]{
  width:100%;font-family:var(--sans);font-size:13px;color:var(--ink);padding:11px 13px;border-radius:9px;
  border:1px solid var(--ctl-brd);background:var(--ctl-bg);box-shadow:var(--ctl-src);outline:none}
aside.blog-side input:focus,aside.blog-side textarea:focus{border-color:var(--cyan)}
aside.blog-side .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* 搜索：WP 标准 search-form（searchform.php 只包一层） */
.search-form{display:flex;gap:8px;align-items:stretch}
.search-form input[type=search]{flex:1 1 auto;min-width:0}
.search-form .search-submit{font-family:var(--mono);font-size:11px;letter-spacing:1.4px;color:var(--ink-1);
  padding:0 15px;border:1px solid rgba(5,217,232,.32);border-radius:9px;cursor:pointer;
  background:rgba(5,217,232,.10);transition:.18s}
.search-form .search-submit:hover{background:rgba(5,217,232,.20);border-color:var(--cyan)}

/* 标签云 */
.tagcloud{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}
.tagcloud a{font-family:var(--mono);font-size:11px!important;letter-spacing:.6px;color:#bfe6ff;
  padding:5px 10px;border-radius:999px;border:1px solid rgba(5,217,232,.24);background:rgba(5,217,232,.06);
  transition:.18s}
.tagcloud a:hover{color:#fff;border-color:var(--cyan);background:rgba(5,217,232,.16)}

/* 日历小工具（WP_Widget_Calendar 输出 table） */
aside.blog-side .wp-calendar-table{width:100%;border-collapse:collapse;font-size:12px;text-align:center}
aside.blog-side .wp-calendar-table th,aside.blog-side .wp-calendar-table td{padding:5px 0;color:var(--ink-5)}
aside.blog-side .wp-calendar-table a{display:inline-block;min-width:22px;border-radius:6px;color:var(--cyan);
  background:rgba(5,217,232,.12)}
aside.blog-side .wp-calendar-nav{display:flex;justify-content:space-between;margin-top:10px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:1.4px}
aside.blog-side table caption{font-family:var(--mono);font-size:11px;letter-spacing:1.6px;color:var(--ink-2);padding-bottom:8px}

/* 近期评论（有头像） */
aside.blog-side .recentcomments{display:flex;gap:9px;align-items:flex-start;padding:9px 0;
  border-bottom:1px dashed rgba(127,168,201,.14);font-size:12.5px;line-height:1.7;color:var(--ink-5)}
aside.blog-side .recentcomments:last-child{border-bottom:none}
aside.blog-side .recentcomments a{color:var(--ink-2)}
aside.blog-side .recentcomments a:hover{color:var(--cyan)}

/* 文章条目列表（热门文章小工具用的数字刻度） */
.wgt-list{counter-reset:w;list-style:none;display:flex;flex-direction:column}
.wgt-list li{counter-increment:w;display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;
  padding:10px 0;border-bottom:1px dashed rgba(127,168,201,.14)}
.wgt-list li:last-child{border-bottom:none}
.wgt-list li::before{content:counter(w,decimal-leading-zero);font-family:var(--mono);font-size:11px;
  letter-spacing:1px;color:var(--cyan);opacity:.75}
.wgt-list a{font-size:13px;line-height:1.65;color:var(--ink-3);transition:color .18s}
.wgt-list a:hover{color:#fff}
.wgt-list .w-meta{margin-top:4px;font-family:var(--mono);font-size:9.5px;letter-spacing:1.2px;color:var(--dim)}

/* 侧边栏联系卡（自定义小工具） */
.wgt-cta{display:block}
.wgt-cta p{font-size:12.5px;line-height:1.8;color:var(--ink-5);margin-bottom:14px}
.wgt-cta .k{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11px;letter-spacing:.6px;
  color:var(--ink-2);padding:7px 0;border-bottom:1px dashed rgba(127,168,201,.14)}
.wgt-cta .k:last-of-type{border-bottom:none}
.wgt-cta .btn-fuel{width:100%;justify-content:center;margin-top:14px}

/* ---------- 单篇正文排版（全站富文本通用） ---------- */
.entry-content{font-size:16.5px;line-height:var(--lh-read);color:var(--ink-3)}
.entry-content>*:first-child{margin-top:0}
.entry-content>*:last-child{margin-bottom:0}
.entry-content p{margin:0 0 18px}
.entry-content h2{margin:34px 0 16px;font-size:22px;font-weight:700;letter-spacing:.3px;color:var(--ink-1);
  padding-left:12px;border-left:2px solid var(--cyan)}
.entry-content h3{margin:28px 0 12px;font-size:18px;font-weight:700;color:var(--ink-2)}
.entry-content h4{margin:22px 0 10px;font-size:16px;font-weight:700;color:var(--ink-2)}
.entry-content ul,.entry-content ol{margin:0 0 18px;padding-left:22px}
.entry-content li{margin-bottom:8px}
.entry-content li::marker{color:var(--cyan)}
.entry-content a{color:var(--cyan);text-decoration:underline;text-decoration-color:rgba(5,217,232,.4);
  text-underline-offset:3px}
.entry-content a:hover{color:#fff}
.entry-content strong{color:var(--ink-1);font-weight:700}
.entry-content blockquote{margin:22px 0;padding:16px 20px;border-radius:12px;color:var(--ink-2);
  border-left:2px solid var(--cyan);background:rgba(5,217,232,.07)}
.entry-content blockquote p:last-child{margin-bottom:0}
.entry-content pre{margin:20px 0;padding:16px 18px;border-radius:11px;overflow-x:auto;
  font-family:var(--mono);font-size:12.5px;line-height:1.8;color:var(--ink-1);
  background:rgba(13,15,18,.5);border:1px solid rgba(5,217,232,.18)}
.entry-content code{font-family:var(--mono);font-size:12.5px;padding:2px 6px;border-radius:5px;
  background:rgba(5,217,232,.10);color:#b7ecff}
.entry-content pre code{padding:0;background:none}
.entry-content img{max-width:100%;height:auto;border-radius:12px;border:1px solid rgba(5,217,232,.16)}
.entry-content figure{margin:22px 0}
.entry-content figcaption{margin-top:9px;font-family:var(--mono);font-size:10.5px;letter-spacing:1.4px;color:var(--dim)}
.entry-content hr{margin:28px 0;border:0;height:1px;background:linear-gradient(90deg,rgba(5,217,232,.4),transparent)}
.entry-content table{width:100%;border-collapse:collapse;margin:20px 0;font-size:13.5px}
.entry-content th,.entry-content td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(127,168,201,.16)}
.entry-content th{font-family:var(--mono);font-size:11px;letter-spacing:1.4px;color:var(--cyan);text-transform:uppercase}
.entry-content .alignleft{float:left;margin:6px 20px 14px 0}
.entry-content .alignright{float:right;margin:6px 0 14px 20px}
.entry-content .aligncenter{margin:20px auto;display:block}
.entry-content .wp-caption-text{font-family:var(--mono);font-size:11px;letter-spacing:1.2px;color:var(--dim);margin-top:8px}

/* 封面图 */
.post-cover{margin-top:-6px;margin-bottom:24px;border-radius:14px;overflow:hidden;
  border:1px solid rgba(5,217,232,.18)}
.post-cover img{display:block;width:100%;height:auto}

/* 文末标签 */
.post-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:26px;padding-top:20px;
  border-top:1px dashed rgba(127,168,201,.16)}
.post-tags .lbl{font-family:var(--mono);font-size:10.5px;letter-spacing:2px;color:var(--dim);text-transform:uppercase}

/* 文末分享条（2026-10-12：取代原 .author-box —— 本站不宣传作者，作者归档已整站关闭）
   ★ 触摸目标按 44×44 给足：本站此前审计出页脚/面包屑目标偏小，这里不新增同类欠账。
   ★ 用青（数据色）不上黄：全屏唯一的黄留给导航 CTA。 */
.post-share{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:26px;
  padding-top:20px;border-top:1px dashed rgba(127,168,201,.16)}
.post-share .lbl{font-family:var(--mono);font-size:10.5px;letter-spacing:2px;color:var(--dim);text-transform:uppercase}
.sh-row{display:flex;gap:8px;flex-wrap:wrap}
.sh{min-width:44px;height:44px;display:grid;place-items:center;padding:0;cursor:pointer;
  border-radius:12px;border:1px solid rgba(5,217,232,.22);background:rgba(5,217,232,.05);
  color:var(--ink-5);transition:color .2s,border-color .2s,background .2s,transform .12s}
.sh:hover{color:var(--ink-1);border-color:rgba(5,217,232,.5);background:rgba(5,217,232,.12)}
.sh:active{transform:translateY(1px)}
.sh svg{width:16px;height:16px;fill:currentColor}
.sh svg.stroked{width:18px;height:18px;fill:none;stroke:currentColor;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sh-tip{font-family:var(--mono);font-size:11px;letter-spacing:1.2px;color:var(--cyan);
  opacity:0;transition:opacity .25s}
.sh-tip[data-on="1"]{opacity:1}

/* 上一篇 / 下一篇 */
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}
@media (max-width:640px){ .post-nav{grid-template-columns:1fr} }
.pnav{padding:18px 20px;min-height:86px}
.pnav .dir{font-family:var(--mono);font-size:10px;letter-spacing:2px;color:var(--dim);text-transform:uppercase}
.pnav .ttl{margin-top:8px;font-size:14px;font-weight:600;line-height:1.6;color:var(--ink-2);transition:color .2s}
.pnav:hover .ttl{color:var(--cyan)}
.pnav.next{text-align:right}
.pnav.empty{opacity:.45;pointer-events:none}

/* 相关文章 */
.related{margin-top:30px}

/* ---------- 评论区（WP 标准 class，不改结构只上皮肤） ---------- */
.comments-area{margin-top:34px}
.comments-title,.comment-reply-title{font-size:17px;font-weight:700;letter-spacing:.5px;color:var(--ink-1)}
.comments-area .no-comments{font-size:13px;color:var(--ink-6)}
.comment-list{list-style:none;margin-top:18px}
.comment-list li{position:relative;padding:18px 0 18px 0;border-bottom:1px dashed rgba(127,168,201,.14)}
.comment-list li:last-child{border-bottom:none}
.comment-list .children{list-style:none;margin:14px 0 0 26px;padding-left:16px;border-left:1px solid rgba(5,217,232,.16)}
.comment-body{position:relative}
.comment-author{display:flex;align-items:center;gap:10px}
.comment-author .avatar{width:38px;height:38px;border-radius:50%;border:1px solid rgba(5,217,232,.24)}
.comment-author .fn{font-size:14px;font-weight:700;color:var(--ink-1);font-style:normal}
.comment-author .says{display:none}
.comment-metadata{margin-top:4px;font-family:var(--mono);font-size:10.5px;letter-spacing:1.2px;color:var(--dim)}
.comment-metadata a{color:var(--dim)}
.comment-metadata a:hover{color:var(--cyan)}
.comment-content{margin-top:10px;font-size:14.5px;line-height:var(--lh-read);color:var(--ink-4)}
.comment-content p{margin-bottom:8px}
.comment-content p:last-child{margin-bottom:0}
.reply{font-family:var(--mono);font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase}
.reply a{color:var(--cyan)}
.reply a:hover{color:#fff}
.comment-awaiting-moderation{font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--accent);
  margin-top:6px}
.comment-form{margin-top:22px}
.comment-form .comment-notes,.comment-form .logged-in-as{font-family:var(--mono);font-size:11px;
  letter-spacing:1.2px;color:var(--dim);margin-bottom:14px}
.comment-form label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:2px;
  color:var(--dim);margin-bottom:7px;text-transform:uppercase}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],
.comment-form textarea{width:100%;font-family:var(--sans);font-size:14px;color:var(--ink);
  padding:12px 14px;border-radius:10px;border:1px solid var(--ctl-brd);background:var(--ctl-bg);
  box-shadow:var(--ctl-src);outline:none;transition:border-color .18s,box-shadow .18s}
.comment-form input:focus,.comment-form textarea:focus{border-color:var(--cyan)}
.comment-form textarea{min-height:120px;resize:vertical}
.comment-form .comment-form-comment,.comment-form .comment-form-author,
.comment-form .comment-form-email,.comment-form .comment-form-url{margin-bottom:14px}
.comment-form .form-submit{margin-top:6px}
.comment-form .submit{font-family:var(--sans)}
.comment-form .comment-form-cookies-consent{display:flex;gap:8px;align-items:flex-start;
  font-size:12px;color:var(--ink-6);margin-bottom:14px}
.comment-form .comment-form-cookies-consent label{font-family:var(--sans);font-size:12px;letter-spacing:0;
  color:var(--ink-6);text-transform:none;margin:0}
.comment-form .comment-form-cookies-consent input{width:auto;margin-top:3px}
.comment-navigation{display:flex;justify-content:space-between;gap:14px;margin-top:18px;
  font-family:var(--mono);font-size:11px;letter-spacing:1.4px}
.comment-navigation a{color:var(--cyan)}

/* ---------- 空态（无结果 / 404） ---------- */
.empty-state{padding:44px 32px;text-align:center}
.empty-state .code{font-family:var(--mono);font-size:52px;font-weight:700;letter-spacing:4px;
  color:var(--cyan);text-shadow:0 0 30px rgba(5,217,232,.4)}
.empty-state h1,.empty-state h2{margin-top:14px;font-size:20px;font-weight:700;color:var(--ink-1)}
.empty-state p{margin-top:12px;font-size:14.5px;line-height:var(--lh-read);color:var(--ink-5)}
.empty-state .acts{margin-top:24px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* 搜索结果高亮 */
.mark-hl{color:var(--accent);font-weight:700}

/* ---------- 作者存档页卡 ---------- */
.author-card{display:grid;grid-template-columns:66px minmax(0,1fr);gap:18px;align-items:center;margin-top:26px}
.author-card .av{width:66px;height:66px;border-radius:50%;overflow:hidden;display:grid;place-items:center;
  font-family:var(--mono);font-size:22px;color:var(--cyan);border:1px solid rgba(5,217,232,.3);
  background:linear-gradient(160deg,rgba(5,217,232,.14),rgba(13,15,18,.5))}
.author-card .nm{font-size:19px;font-weight:700;color:var(--ink-1)}
.author-card .bio{margin-top:6px;font-size:13px;line-height:1.85;color:var(--ink-6)}

/* ---------- 归档头：标题与计数的层级 ---------- */
.archive-head .a-title{font-size:19px;font-weight:700;letter-spacing:.5px;color:var(--ink-1)}
.archive-head .count{margin-top:6px}
.archive-head .search-form{margin-left:auto;min-width:230px;max-width:300px;flex:0 1 300px}
@media (max-width:640px){ .archive-head .search-form{flex:1 1 100%;min-width:0} }
.search-form label{display:block;flex:1 1 auto;min-width:0}

/* ---------- 相关动态：卡片改成竖版（横向卡放不进三列） ---------- */
.related .post-card{grid-template-columns:minmax(0,1fr);gap:0;padding:16px 18px 18px 16px}
.related .post-card .post-thumb{aspect-ratio:16/9;margin-bottom:14px}
.related .post-card .excerpt{-webkit-line-clamp:2}
@media (max-width:640px){ .post-card{grid-template-columns:1fr;gap:0} .post-card .post-thumb{aspect-ratio:16/9;margin-bottom:14px} }

/* 搜索输入框（归档头也用同一套玻璃槽，不再吃浏览器默认白底） */
.search-form input[type=search]{flex:1 1 auto;min-width:0;font-family:var(--sans);font-size:13px;color:var(--ink);
  padding:11px 13px;border-radius:9px;border:1px solid var(--ctl-brd);
  background:var(--ctl-bg);box-shadow:var(--ctl-src);outline:none;
  transition:border-color .18s,box-shadow .18s}
.search-form input[type=search]:focus{border-color:var(--cyan)}
.search-form input[type=search]::placeholder{color:var(--ink-7)}

/* ---------- 面包屑宿主 ----------
   ★ 三种来源（Rank Math / Yoast / 主题自带）都必须落在 .sx-crumb 里，
     这里把它们的默认结构与主题风格（等宽 + 斜杠 + 青色当前项）对齐。
     Rank Math 自带 BreadcrumbList schema，不要再自己输出一份，会重复。 */
.sx-crumb{position:relative}
.sx-crumb .rank-math-breadcrumb,.sx-crumb .yoast-breadcrumbs{
  font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--dim);text-transform:uppercase}
.crumb .separator{color:var(--ink-7)}
.crumb .last{color:var(--cyan)}
/* ★ 2026-10-13 排查：面包屑的「Home」实测 32×13 —— 同样低于 24×24 的目标尺寸。
   内联块 + 纵向内边距把可点区拉到 ≈25px；横向不动，避免面包屑整体变长。 */
.crumb a{display:inline-block;padding:6px 2px;transition:color .18s}
.crumb a:hover{color:#fff}

/* 后台把小工具全部删掉时，sidebar.php 因 is_active_sidebar() 为假不输出 aside，
   这里让正文占满整行，否则右侧会空出 300px。（:has 在 Chrome105+/Safari15.4+/Firefox121+ 均已支持） */
.blog-layout:not(:has(.blog-side)){grid-template-columns:minmax(0,1fr)}

/* ---------- 列表底部：Load More ----------
   ★ SEO 说明（详见 inc/blog.php::sx_list_foot 的注释）：
     按钮本身就是真实翻页链接，这里只做视觉强化 —— 有 JS 时是追加式加载，
     无 JS 时点它就是普通翻页。
   ★ 页码条已移除（2026-10-08，决策 D25）：已经是 Load More 了，再并排一条
     页码条是同一件事做两遍；分页页本就 noindex，摊开全部页码也没有索引收益。
   ★ 但 `.pager` 的样式**保留** —— single.php 的分页文章（wp_link_pages）
     仍然用 <nav class="pager"> 做容器。 */
.list-foot{margin-top:30px;display:flex;flex-direction:column;align-items:center;gap:18px}
.loadmore{position:relative;display:inline-flex;align-items:center;gap:14px;cursor:pointer;
  padding:15px 30px;border-radius:12px;font-family:var(--mono);font-size:12px;letter-spacing:2.4px;
  color:var(--ink-2);text-decoration:none;
  border:1px solid var(--glass-line);background:var(--glass-bg);
  -webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
  box-shadow:var(--glass-inner);transition:border-color .2s,color .2s,background .2s,transform .2s}
.loadmore:hover{color:#fff;border-color:rgba(5,217,232,.55);background:rgba(5,217,232,.10);transform:translateY(-1px)}
.loadmore:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.loadmore .lm-meta{font-size:11px;letter-spacing:1.5px;color:var(--dim)}
.loadmore .lm-meta b{color:var(--cyan);font-weight:600}
.loadmore.is-done{color:var(--dim);border-style:dashed;cursor:default;pointer-events:none}
.loadmore.is-done .lm-meta b{color:var(--dim)}
/* 加载中：转圈只在 JS 加上 .is-loading 时才出现，静态渲染（爬虫/无 JS）看不到 */
.loadmore.is-loading{pointer-events:none}
.loadmore.is-loading .lm-lbl::after{content:'ING';letter-spacing:2.4px}
.lm-ring{display:none;width:13px;height:13px;border-radius:50%;flex:0 0 auto;
  border:1.5px solid rgba(5,217,232,.22);border-top-color:var(--cyan);animation:sx-spin .7s linear infinite}
.loadmore.is-loading .lm-ring{display:block}
@keyframes sx-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){ .lm-ring{animation-duration:2.4s} }
@media (max-width:560px){ .list-foot{gap:14px} .loadmore{padding:14px 22px;gap:10px;letter-spacing:1.6px} }

/* ---------- 表单自动填充：别让 Chrome 把玻璃槽刷成亮白/亮黄 ----------
   ★ 为什么这条放在 blog.css 末尾：自动填充底色是 UA 层，作者样式本来盖得住，
     但盖它用的是 box-shadow 内阴影，而本文件是最后一个会写 input 的 box-shadow 的
     样式表（.comment-form / aside.blog-side / .search-form 全在这里）。放前面，
     会被这些同特异性的规则按源码顺序反过来覆盖掉，等于白写。
   ★ 手法：一个 999px 的内阴影整块盖住系统底色。颜色取文档底色（石墨黑 lo）压到
     .92，比输入框本身略实 —— 自动填充的框看起来"已被系统填好"是合理的，
     但必须是深色，不能是一块白。文字色用 -webkit-text-fill-color 拉回 --ink。
   ★ 前面保留 var(--ctl-src) 是为了不丢掉玻璃槽的顶沿高光与内侧厚度。
   ★ Firefox 不认识 :-webkit-autofill，会整条丢弃 —— 无妨，这条本来就只针对 WebKit。
   ★ 无需再为 select option 单独补色：tokens.css 里的 :root{color-scheme:dark}
     已经让 UA 自己把原生弹出面板画成深色（这里保留旧规则只作双保险）。 */
.field input:-webkit-autofill,
.field textarea:-webkit-autofill,
.field select:-webkit-autofill,
.comment-form input:-webkit-autofill,
.comment-form textarea:-webkit-autofill,
aside.blog-side input:-webkit-autofill,
aside.blog-side textarea:-webkit-autofill,
.search-form input:-webkit-autofill{
  -webkit-text-fill-color:var(--ink);
  caret-color:var(--ink);
  -webkit-box-shadow:var(--ctl-src), 0 0 0 999px rgba(13,15,18,.92) inset;
          box-shadow:var(--ctl-src), 0 0 0 999px rgba(13,15,18,.92) inset;
  /* 单独给 background-color 一个超长时长：Chrome 会在填充瞬间把底色淡入，这一步把它冻住 */
  transition:background-color 9999s ease-out 0s, border-color .18s ease, box-shadow .18s ease}
