/*
Theme Name: 研习社 · 可靠性检测技术社区
Theme URI: https://tmc-lab.com/
Author: TMC LAB
Description: 可靠性检测研习社 —— 面向检测行业的技术问答社区。三栏骨架（左索引 / 中信息流 / 右栏），去卡片化、细分割线，象牙白 + 藏青 + 红强调。版块与标签驱动，支持前台发帖、回帖、注册。
Version: 0.2.5
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: yanxishe
*/

/* ==========================================================================
   0. 设计 token
   基线配色 = 优雅紫金（紫 #8E66B4 + 金黄 #FFC000），即站点默认。
   其余配色方案见「0.2 配色方案」，靠 html[data-theme] 覆盖下面这些变量。
   ⚠️ 基线（:root）＝『默认配色』，不设 data-theme 时生效的就是这一段。
      改默认配色 = 把新默认的色值搬进 :root，并给旧默认补一个 html[data-theme="旧slug"] 块。
      （本次就是这么把默认从「研习社藏青」换成「优雅紫金」的；两者一旦不一致，
        没用 localStorage 的首次访客就会看到旧基线的颜色，看起来像"没生效"。）
   ⚠️ 加/改配色只动变量，不要在规则里写死颜色。
   ========================================================================== */
:root{
  /* 黑白灰（2026-09-26 起为站点默认，原默认「优雅紫金」移至下方 data-theme 块） */
  --navy:#111111;  --navy-2:#2E2E2E;  --navy-3:#454545;
  --navy-l:#EFEFEF; --navy-line:#D4D4D4;
  --red:#1C1C1C;   --red-2:#000000;
  --red-l:#EFEFEF; --red-line:#D4D4D4;
  --ink:#1A1A1A;   --ink-2:#3C3C3C;   --ink-3:#686868;   /* 次要文字：压在 --gray 上也要 ≥4.5，别调浅 */
  --paper:#FAFAFA; --ivory:#F5F5F5;   --gray:#EAEAEA;  --gray-2:#E5E5E5;
  --line:#E3E3E3;  --line-2:#CCCCCC;
  --ok:#3D3D3D;    --ok-bg:#ECECEC;   --ok-line:#CFCFCF;
  --warn:#5A5A5A;  --warn-bg:#EDEDED;
  --gold:#8C8C8C;
  --on-dark:#E6E6E6; --on-dark-2:#C2C2C2; --on-dark-3:#969696;
  --serif:"Songti SC","STSong","Source Han Serif SC","Noto Serif SC",Georgia,serif;
  --sans:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",system-ui,sans-serif;
  --mono:"SF Mono",Consolas,"Cascadia Mono",Menlo,monospace;
  --wrap:1280px;
  --head-h:112px;
  --radius:3px;
}

/* ==========================================================================
   0.2 配色方案（右上角切换 · localStorage 记忆 · 无记忆 = 优雅紫金）
   色值取自 TMC LAB 官网 www.tmc-lab.com 的同一套配色，两站可一一对应：
     活力橙灰 / 暖阳琥珀 / 深蓝鎏金 / 黑白灰 / 中国红 / 自然绿
   本站自己的两套：优雅紫金（站点默认，写在 :root） / 研习社藏青（见下方第一块）
   ⚠️ --red 会大量用作「白字底色」（我要提问按钮、徽标、分页激活态、导航下划线），
      所以它必须是深的；浅的亮色（如 #F2B705 亮金、#C8944C 金）只能进 --gold 做装饰。
   ⚠️ --navy 是页脚底色，改它必须同时调整 --on-dark / --on-dark-2 / --on-dark-3，
      否则页脚会串色（浅蓝字压在棕色底上）。
   ⚠️ 对比度底线（WCAG AA，正文 4.5:1）。三组「文字压浅底」最容易踩线，改色后要复算：
        ① --ok    压在 --ok-bg    （已解决徽标 / 已答复计数）
        ② --ink-3 压在 --gray     （次要文字最差底：subnav 标签、待解答徽标）
        ③ --red-2 压在 --red-l    （精华徽标 / TMC 身份徽标）
      校验脚本：D:/tmcforum/audit_contrast.py（真实 DOM 全量扫描）、solve_tokens.py（求解达标值）。
      已知保留项：--red 作主按钮底色时，活力橙灰 / 自然绿 / 优雅紫金 三套白字不足 4.5
      （2.94 / 4.07 / 4.46）—— 这是官网品牌原色，为两站视觉一致刻意不改。
   ⚠️ 新增一套要同时改 3 处，漏一处就是「切过去没反应」或「刷新弹回」：
      ① style.css 本节的变量块 + .sw--xxx 色板圆点
      ② inc/content.php 的 yxs_themes() 清单（页头弹层、JS 白名单、记忆逻辑都读它）
      ③ 若新配色要当默认：把色值搬进 :root，并给旧默认补块（见上面的说明）
   ========================================================================== */

/* --- 研习社藏青（本站自己的那套：象牙白 + 藏青压场 + 红点睛；2026-09-23 前是站点默认）--- */
html[data-theme="yanxishe"]{
  --navy:#12294A;  --navy-2:#1F3E68;  --navy-3:#3A5A85;
  --navy-l:#E6EDF7; --navy-line:#C6D5E8;
  --red:#B4322E;   --red-2:#8E2724;
  --red-l:#F6E4E2; --red-line:#E0BFBB;
  --ink:#1B1B1B;   --ink-2:#4A4A4A;   --ink-3:#716D65;
  --paper:#FFFFFF; --ivory:#FBF9F5;   --gray:#F4F2ED;  --gray-2:#EDEAE3;
  --line:#E6E1D7;  --line-2:#D2CCBE;
  --ok:#2F5A25;    --ok-bg:#E7F0E4;   --ok-line:#C2D8BB;
  --warn:#7A5410;  --warn-bg:#FAF0DC;
  --gold:#B08D3F;
  --on-dark:#D8E2EF; --on-dark-2:#B9C6D8; --on-dark-3:#9FB0C6;
}

/* --- 活力橙灰（官网默认那一套：橙 #FF6600 + 灰 #999999）------------------- */
html[data-theme="sgs"]{
  --navy:#33322E;  --navy-2:#4A4945;  --navy-3:#5F5E59;
  --navy-l:#EFEDE8; --navy-line:#D6D3CB;
  --red:#FF6600;   --red-2:#BD4900;
  --red-l:#FFF1E4; --red-line:#F3D5B8;
  --ink:#2B2A27;   --ink-2:#4C4B46;   --ink-3:#696863;
  --paper:#FAF9F6; --ivory:#F6F5F2;   --gray:#ECEAE4;  --gray-2:#E7E4DC;
  --line:#E5E2D9;  --line-2:#CFCBC0;
  --ok:#50753C;    --ok-bg:#EAF2E4;   --ok-line:#C6D8B8;
  --warn:#7A5410;  --warn-bg:#FAF0DC;
  --gold:#999999;
  --on-dark:#FFD9B3; --on-dark-2:#CBC3B8; --on-dark-3:#A8A099;
}

/* --- 暖阳琥珀（深金 #8F6A00 + 亮金 #F2B705；主色不能取亮黄，白字只有 1.9:1）- */
html[data-theme="amber"]{
  --navy:#453506;  --navy-2:#5C4808;  --navy-3:#74600F;
  --navy-l:#F7EFD9; --navy-line:#E3D6B4;
  --red:#8F6A00;   --red-2:#6F5200;
  --red-l:#FBF0D5; --red-line:#E7D3A6;
  --ink:#2F2A1B;   --ink-2:#4E4632;   --ink-3:#776C55;
  --paper:#FEFCF6; --ivory:#FDFAF1;   --gray:#FAF3E0;  --gray-2:#F5EDD8;
  --line:#F0E8D3;  --line-2:#DED0AC;
  --ok:#51773D;    --ok-bg:#EDF4E6;   --ok-line:#CADCBA;
  --warn:#7A5410;  --warn-bg:#F7EDD9;
  --gold:#F2B705;
  --on-dark:#F0D9A0; --on-dark-2:#CFC09A; --on-dark-3:#BCAE8C;
}

/* --- 深蓝鎏金（深海军蓝 #16233F + 金 #C8944C + 象牙底；金只做装饰）-------- */
html[data-theme="rhein"]{
  --navy:#0E1830;  --navy-2:#16233F;  --navy-3:#24365C;
  --navy-l:#E9EDF4; --navy-line:#C9D3E3;
  --red:#16233F;   --red-2:#0E1830;
  --red-l:#E9EDF4; --red-line:#C9D3E3;
  --ink:#1A2438;   --ink-2:#3C4864;   --ink-3:#5F6779;
  --paper:#FBF9F4; --ivory:#F6F3EC;   --gray:#EDE7DA;  --gray-2:#EAE2D2;
  --line:#EBE5D8;  --line-2:#D8CFBB;
  --ok:#50753C;    --ok-bg:#EBF2E5;   --ok-line:#C7D9B8;
  --warn:#7A5410;  --warn-bg:#F7EDD9;
  --gold:#C8944C;
  --on-dark:#E2C98F; --on-dark-2:#B8BFCC; --on-dark-3:#8E96A6;
}

/* --- 优雅紫金（2026-09-26 前是站点默认；现改为可切换配色） ---------------- */
html[data-theme="violet"]{
  --navy:#4C3D68;  --navy-2:#5F5080;  --navy-3:#746494;
  --navy-l:#F3ECFA; --navy-line:#D9CCEA;
  --red:#8E66B4;   --red-2:#74509A;
  --red-l:#F3ECFA; --red-line:#DCCCEB;
  --ink:#382F4A;   --ink-2:#524868;   --ink-3:#6E6484;
  --paper:#FBFAFD; --ivory:#F8F6FB;   --gray:#EFEAF6;  --gray-2:#EAE3F2;
  --line:#E7E1EE;  --line-2:#D0C6DC;
  --ok:#427564;    --ok-bg:#E8F2EE;   --ok-line:#C3DCD3;
  --warn:#7A5410;  --warn-bg:#FAF0DC;
  --gold:#FFC000;
  --on-dark:#E2D3F0; --on-dark-2:#CFC7DC; --on-dark-3:#C4BCD4;
}

/* --- 中国红（正红 #C8102E + 古铜金 #B08D3F）------------------------------ */
html[data-theme="crimson"]{
  --navy:#4A2028;  --navy-2:#63202C;  --navy-3:#7E2E3B;
  --navy-l:#FCEAED; --navy-line:#E8C6CB;
  --red:#C8102E;   --red-2:#9E0C24;
  --red-l:#FCEAED; --red-line:#EEBFC6;
  --ink:#2E2426;   --ink-2:#4E4244;   --ink-3:#75676A;
  --paper:#FDFAFA; --ivory:#FBF6F6;   --gray:#F5EAEA;  --gray-2:#EEE2E2;
  --line:#F1E5E5;  --line-2:#D9C6C6;
  --ok:#51773D;    --ok-bg:#EDF4E6;   --ok-line:#CADCBA;
  --warn:#7A5410;  --warn-bg:#FAF0DC;
  --gold:#B08D3F;
  --on-dark:#F0B8C0; --on-dark-2:#CDB6B9; --on-dark-3:#A89397;
}

/* --- 自然绿（官网 :root 基线那套：绿 #6C8650 + 深绿 #3F503B）-------------- */
html[data-theme="green"]{
  --navy:#3F503B;  --navy-2:#4D6150;  --navy-3:#5D7259;
  --navy-l:#EEF3E8; --navy-line:#CBD9C2;
  --red:#6C8650;   --red-2:#5A7042;
  --red-l:#EEF3E8; --red-line:#CBD9C2;
  --ink:#2C3A2E;   --ink-2:#4A5A48;   --ink-3:#5F6D5B;
  --paper:#F8FAF6; --ivory:#F4F7F2;   --gray:#E8EDE4;  --gray-2:#E3EBE0;
  --line:#E1E8DE;  --line-2:#CDD6C9;
  --ok:#50753C;    --ok-bg:#EAF2E4;   --ok-line:#C6D8B8;
  --warn:#7A5410;  --warn-bg:#FAF0DC;
  --gold:#A8B092;
  --on-dark:#D6E0C6; --on-dark-2:#C8D4BA; --on-dark-3:#B6C3A9;
}

/* ==========================================================================
   1. 基础
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--head-h)}
body{
  margin:0;background:var(--ivory);color:var(--ink);
  font-family:var(--sans);font-size:15px;line-height:1.75;
}
a{color:var(--navy-2);text-decoration:none}
a:hover{color:var(--red)}
img{max-width:100%;height:auto}
h1,h2,h3,h4{margin:0;font-weight:700;color:var(--navy);line-height:1.35}
p{margin:0 0 14px}
ul,ol{margin:0;padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
code,.mono{font-family:var(--mono);font-size:.88em}
[hidden]{display:none !important}
.yxs-wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ==========================================================================
   2. 页头
   ========================================================================== */
.yxs-header{background:var(--paper);border-bottom:1px solid var(--line-2);position:sticky;top:0;z-index:50;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.yxs-headtop{display:flex;align-items:center;gap:28px;padding:14px 0 12px}
.yxs-brand{display:flex;align-items:center;gap:10px;flex:0 1 auto;min-width:0}
.yxs-brand__logo{height:40px;width:auto;display:block;flex:none}
.yxs-brand__pic{display:block;flex:none;line-height:0}
.yxs-brand__name{
  font-family:var(--serif);font-size:23px;font-weight:700;color:var(--navy);
  letter-spacing:.02em;white-space:nowrap;
}
.yxs-brand__sub{
  font-size:11.5px;color:var(--ink-3);white-space:nowrap;
  border-left:1px solid var(--line-2);padding-left:10px;
}
.yxs-headtools{display:flex;align-items:center;gap:12px;margin-left:auto;flex:0 1 auto;min-width:0}
.yxs-search{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--paper);overflow:hidden;flex:0 1 300px;min-width:150px}
.yxs-search input{border:0;outline:0;padding:7px 11px;flex:1 1 auto;min-width:0;background:transparent;font-size:13.5px}
.yxs-search button{border:0;background:var(--gray);border-left:1px solid var(--line);padding:7px 13px;cursor:pointer;font-size:13px;color:var(--ink-2)}
.yxs-search button:hover{background:var(--navy);color:#fff}
.yxs-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:8px 16px;border:1px solid var(--line-2);border-radius:var(--radius);
  background:var(--paper);color:var(--ink-2);cursor:pointer;font-size:13.5px;
  white-space:nowrap;text-decoration:none;
}
.yxs-btn:hover{border-color:var(--navy-2);color:var(--navy)}
.yxs-btn--primary{background:var(--red);border-color:var(--red);color:#fff}
.yxs-btn--primary:hover{background:var(--red-2);border-color:var(--red-2);color:#fff}
.yxs-btn--ghost{background:transparent}
.yxs-btn--sm{padding:5px 12px;font-size:12.5px}
.yxs-btn--block{width:100%;white-space:normal;text-align:center}

.yxs-nav{border-top:1px solid var(--line)}
.yxs-nav__list{display:flex;align-items:stretch;gap:2px;flex-wrap:wrap}
.yxs-nav__list>li{display:flex;align-items:center}
.yxs-nav__list a{
  display:block;padding:11px 15px;font-size:14.5px;color:var(--ink-2);
  border-bottom:2px solid transparent;white-space:nowrap;
}
.yxs-nav__list a:hover{color:var(--navy);background:var(--gray)}
.yxs-nav__list a.is-active{color:var(--navy);font-weight:700;border-bottom-color:var(--red)}
.yxs-nav__acc{margin-left:auto;display:flex;align-items:center;gap:14px;padding-right:2px}
.yxs-nav__acc a{font-size:13px;color:var(--ink-2)}
.yxs-nav__acc a:hover{color:var(--red)}

.yxs-subnav{background:var(--gray);border-bottom:1px solid var(--line)}
.yxs-subnav__in{display:flex;align-items:center;gap:10px;padding:8px 0;overflow-x:auto}
.yxs-subnav__label{font-size:12.5px;color:var(--ink-3);white-space:nowrap;flex:0 0 auto}
.yxs-chips{display:flex;gap:7px;flex-wrap:nowrap}
.yxs-chip{
  display:inline-block;padding:3px 12px;border:1px solid var(--line-2);border-radius:20px;
  background:var(--paper);font-size:12.5px;color:var(--ink-2);white-space:nowrap;
}
.yxs-chip:hover{border-color:var(--navy-2);color:var(--navy)}
.yxs-chip.is-active{background:var(--navy);border-color:var(--navy);color:#fff}

/* --- 右上角配色切换器 -----------------------------------------------------
   按钮 + 弹层，配色列表与 TMC LAB 官网一一对应。
   弹层靠 JS 开合（yxs.js 第 6 节），这里只管样式。 */
.yxs-themesw{position:relative;flex:0 0 auto}
.yxs-themesw__btn{
  display:grid;place-items:center;width:34px;height:34px;padding:0;
  border:1px solid var(--line-2);border-radius:50%;background:var(--paper);
  color:var(--navy-2);cursor:pointer;
  transition:border-color .18s ease,color .18s ease;
}
.yxs-themesw__btn:hover{border-color:var(--red);color:var(--red)}
.yxs-themesw__pop{
  position:absolute;top:calc(100% + 10px);right:0;z-index:80;
  min-width:208px;padding:8px;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:0 10px 32px rgba(0,0,0,.14);
}
.yxs-themesw__title{
  margin:5px 9px 7px;font-size:11px;font-weight:700;letter-spacing:.14em;
  color:var(--ink-3);
}
.yxs-themesw__opt{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:7px 9px;border:0;border-radius:var(--radius);background:none;
  font-size:13.5px;color:var(--ink-2);text-align:left;cursor:pointer;line-height:1.5;
  transition:background .15s ease,color .15s ease;
}
.yxs-themesw__opt:hover{background:var(--gray);color:var(--navy)}
.yxs-themesw__opt[aria-checked="true"]{color:var(--navy);font-weight:700}
.yxs-themesw__opt[aria-checked="true"]::after{content:"✓";margin-left:auto;font-size:12px;color:var(--red)}
/* 色板圆点是静态的，写死各方案自己的色，不跟 --navy/--red 走 */
.sw{flex:0 0 auto;width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.14)}
.sw--yanxishe{background:linear-gradient(135deg,#12294A 50%,#B4322E 50%)}
.sw--sgs{background:linear-gradient(135deg,#FF6600 50%,#999999 50%)}
.sw--amber{background:linear-gradient(135deg,#8F6A00 50%,#F2B705 50%)}
.sw--rhein{background:linear-gradient(135deg,#16233F 50%,#C8944C 50%)}
.sw--mono{background:linear-gradient(135deg,#1C1C1C 50%,#BBBBBB 50%)}
.sw--violet{background:linear-gradient(135deg,#8E66B4 50%,#FFC000 50%)}
.sw--crimson{background:linear-gradient(135deg,#C8102E 50%,#B08D3F 50%)}
.sw--green{background:linear-gradient(135deg,#6C8650 50%,#3F503B 50%)}

/* ==========================================================================
   3. 三栏骨架
   ========================================================================== */
.yxs-main{padding:26px 0 60px}
.yxs-cols{
  display:grid;grid-template-columns:172px minmax(0,1fr) 300px;
  gap:28px;align-items:start;
}
.yxs-side,.yxs-aside{position:sticky;top:calc(var(--head-h) + 12px)}

/* 左索引 */
.yxs-index{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:6px}
.yxs-index__head{font-size:11.5px;color:var(--ink-3);letter-spacing:.1em;padding:8px 10px 6px}
.yxs-index__list a{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:9px 11px;border-radius:var(--radius);font-size:14px;color:var(--ink-2);
}
.yxs-index__list a:hover{background:var(--gray)}
.yxs-index__list a.is-active{background:var(--navy);color:#fff;font-weight:700}
.yxs-index__list a.is-active .yxs-index__n{color:#fff;opacity:.8}
.yxs-index__n{font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}
.yxs-index__sep{height:1px;background:var(--line);margin:7px 10px}

/* 中列 */
.yxs-listhead{
  display:flex;align-items:baseline;gap:12px;padding:0 0 12px;
  border-bottom:2px solid var(--navy);margin-bottom:2px;
}
.yxs-listhead h1,.yxs-listhead h2{font-size:19px;letter-spacing:-.005em}
.yxs-listhead__meta{margin-left:auto;font-size:12.5px;color:var(--ink-3);white-space:nowrap}

/* 问题列表（去卡片化：细分割线） */
.yxs-q{display:flex;gap:16px;padding:17px 2px;border-bottom:1px dotted var(--line-2)}
.yxs-q:last-child{border-bottom:0}
.yxs-q__stat{
  flex:0 0 auto;width:62px;text-align:center;padding-top:2px;
}
.yxs-q__stat b{display:block;font-family:var(--mono);font-size:16px;color:var(--navy-2);line-height:1.3}
.yxs-q__stat span{display:block;font-size:11px;color:var(--ink-3)}
.yxs-q__stat.is-answered b{color:var(--ok)}
.yxs-q__body{flex:1 1 auto;min-width:0}
.yxs-q__title{margin:0 0 5px;font-size:16.5px;font-weight:700;line-height:1.5}
.yxs-q__title a{color:var(--navy)}
.yxs-q__title a:hover{color:var(--red)}
.yxs-q__excerpt{
  font-size:13.5px;color:var(--ink-2);margin:0 0 8px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.yxs-q__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:12.5px;color:var(--ink-3)}
.yxs-q__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.yxs-q__author{color:var(--ink-2)}
.yxs-q__thumb{flex:0 0 auto;width:132px}
.yxs-q__thumb img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border:1px solid var(--line)}


/* 徽标 */
.yxs-badge{
  display:inline-block;font-size:11px;font-weight:700;padding:1px 7px;border-radius:2px;
  letter-spacing:.03em;vertical-align:1px;
}
.yxs-badge--solved{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-line)}
.yxs-badge--open{background:var(--gray);color:var(--ink-3);border:1px solid var(--line-2)}
.yxs-badge--feat{background:var(--red-l);color:var(--red-2);border:1px solid var(--red-line)}
.yxs-badge--tag{background:var(--paper);color:var(--ink-2);border:1px solid var(--line-2);font-weight:400}
.yxs-badge--tag:hover{border-color:var(--navy-2);color:var(--navy)}
.yxs-ident{
  display:inline-block;font-size:11px;font-weight:700;padding:1px 7px;border-radius:2px;
  background:var(--navy-l);color:var(--navy-2);border:1px solid var(--navy-line);
}
.yxs-ident--tmc{background:var(--red-l);color:var(--red-2);border-color:var(--red-line)}
.yxs-ident--org{background:var(--gray-2);color:var(--ink-2);border-color:var(--line-2)}

/* 右栏 */
.yxs-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px}
.yxs-card__hd{
  padding:11px 16px;border-bottom:1px solid var(--line);
  font-size:13.5px;font-weight:700;color:var(--navy);
}
.yxs-card__bd{padding:14px 16px}
.yxs-card__bd ul li{padding:7px 0;border-bottom:1px dotted var(--line);font-size:13.5px}
.yxs-card__bd ul li:last-child{border-bottom:0}
.yxs-card__note{font-size:12.5px;color:var(--ink-3);margin:8px 0 0}
.yxs-rank{display:flex;align-items:center;gap:9px}
.yxs-rank__no{font-family:var(--mono);font-size:12px;color:var(--ink-3);width:14px}
.yxs-rank__tag{font-size:12.5px;color:var(--ink-2)}

/* ==========================================================================
   4. 帖子详情
   ========================================================================== */
.yxs-topic{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px 30px}
.yxs-topic__crumb{font-size:12.5px;color:var(--ink-3);margin-bottom:14px}
.yxs-topic__crumb a{color:var(--ink-3)}
.yxs-topic__crumb a:hover{color:var(--red)}
.yxs-topic__title{font-family:var(--serif);font-size:27px;line-height:1.35;margin:0 0 12px}
.yxs-topic__meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;
  font-size:12.5px;color:var(--ink-3);padding-bottom:16px;border-bottom:1px solid var(--line);
}
.yxs-topic__body{padding:20px 0;font-size:15.5px;line-height:1.85}
.yxs-topic__body h2{font-size:19px;margin:26px 0 10px}
.yxs-topic__body h3{font-size:16.5px;margin:22px 0 8px}
.yxs-topic__body ul,.yxs-topic__body ol{margin:0 0 16px;padding-left:22px;list-style:disc}
.yxs-topic__body ol{list-style:decimal}
.yxs-topic__body li{margin:0 0 6px}
.yxs-topic__body blockquote{
  margin:16px 0;padding:12px 18px;background:var(--gray);
  border-left:3px solid var(--navy-2);color:var(--ink-2);
}
.yxs-topic__body table{width:100%;border-collapse:collapse;margin:16px 0;font-size:13.5px}
.yxs-topic__body th{background:var(--navy);color:#fff;padding:9px 12px;text-align:left}
.yxs-topic__body td{padding:9px 12px;border-top:1px solid var(--line)}
.yxs-topic__acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding-top:16px;border-top:1px solid var(--line)}

.yxs-replies{margin-top:26px}
.yxs-replies__hd{
  display:flex;align-items:baseline;gap:10px;
  padding-bottom:10px;border-bottom:2px solid var(--navy);margin-bottom:2px;
}
.yxs-replies__hd h2{font-size:17px}
.yxs-replies__hd span{margin-left:auto;font-size:12.5px;color:var(--ink-3)}
.yxs-reply{padding:18px 2px;border-bottom:1px dotted var(--line-2);display:flex;gap:16px}
.yxs-reply:last-child{border-bottom:0}
.yxs-reply--accepted{background:var(--ok-bg)}
.yxs-reply__side{flex:0 0 auto;width:92px;text-align:center}
.yxs-reply__av{
  width:44px;height:44px;border-radius:50%;margin:0 auto 7px;display:block;
  background:var(--gray-2);border:1px solid var(--line-2);object-fit:cover;
}
.yxs-user__av{
  width:72px;height:72px;border-radius:50%;display:block;flex:none;
  border:1px solid var(--line-2);
}
.yxs-avatar{display:block}
.yxs-reply__who{font-size:12.5px;font-weight:700;color:var(--navy-2);word-break:break-all}
.yxs-reply__name{color:inherit;text-decoration:none;border-bottom:1px solid var(--line-2)}
.yxs-reply__name:hover{color:var(--red);border-bottom-color:var(--red)}
.yxs-reply__lv{font-size:11px;color:var(--ink-3);margin-top:3px}
.yxs-reply__main{flex:1 1 auto;min-width:0}
.yxs-reply__meta{font-size:12px;color:var(--ink-3);margin-bottom:8px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.yxs-reply__text{font-size:15px;line-height:1.85}
.yxs-reply__text p{margin:0 0 10px}
.yxs-reply__text p:last-child{margin-bottom:0}
.yxs-reply__children{margin-top:14px;padding-left:16px;border-left:2px solid var(--line)}
.yxs-reply__children .yxs-reply{width:auto;display:block;padding:12px 0}
.yxs-reply__children .yxs-reply__side{
  width:auto;text-align:left;display:flex;align-items:center;gap:8px;margin-bottom:6px;
}
.yxs-reply__children .yxs-reply__av{width:26px;height:26px;margin:0}

.yxs-replyform{margin-top:26px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}
.yxs-replyform h2{font-size:16px;margin-bottom:14px}
.yxs-field{margin-bottom:16px}
.yxs-field label{display:block;font-size:13px;font-weight:700;color:var(--navy-2);margin-bottom:6px}
.yxs-field .yxs-hint{font-size:12px;color:var(--ink-3);font-weight:400;margin-left:8px}
.yxs-input,.yxs-textarea,.yxs-select{
  width:100%;border:1px solid var(--line-2);border-radius:var(--radius);
  padding:9px 12px;background:var(--paper);outline:0;font-size:14px;
}
.yxs-textarea{min-height:170px;resize:vertical;line-height:1.7}
.yxs-input:focus,.yxs-textarea:focus,.yxs-select:focus{border-color:var(--navy-2)}

/* ==========================================================================
   5. 表单页 / 提示
   ========================================================================== */
.yxs-narrow{max-width:640px;margin:0 auto}
.yxs-form{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px 30px}
.yxs-form h1{font-family:var(--serif);font-size:24px;margin-bottom:6px}
.yxs-form__sub{font-size:13.5px;color:var(--ink-3);margin-bottom:22px}
.yxs-notice{
  padding:12px 16px;border-radius:var(--radius);font-size:13.5px;margin-bottom:18px;
  border-left:3px solid var(--navy-2);background:var(--gray);color:var(--ink-2);
}
.yxs-notice--err{border-left-color:var(--red);background:var(--red-l);color:var(--red-2)}
.yxs-notice--ok{border-left-color:var(--ok);background:var(--ok-bg);color:var(--ok)}
.yxs-rules{font-size:13px;color:var(--ink-2);background:var(--gray);padding:14px 18px;border-radius:var(--radius);margin:16px 0}
.yxs-rules li{margin:4px 0;padding-left:14px;position:relative}
.yxs-rules li::before{content:"";position:absolute;left:0;top:11px;width:5px;height:1px;background:var(--ink-3)}

/* ==========================================================================
   6. 页脚
   ========================================================================== */
.yxs-footer{background:var(--navy);color:var(--on-dark-2);margin-top:40px}
.yxs-footer a{color:var(--on-dark)}
.yxs-footer a:hover{color:#fff}
.yxs-footer__in{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;padding:34px 0 26px}
.yxs-footer h4,.yxs-footer h2{color:#fff;font-size:13.5px;margin-bottom:12px;font-weight:700}
.yxs-footer li{font-size:13px;margin-bottom:7px}
.yxs-footer__brand{font-family:var(--serif);font-size:19px;color:#fff;margin-bottom:9px}
.yxs-footer__desc{font-size:12.5px;line-height:1.8;max-width:330px;color:var(--on-dark-3)}
.yxs-footer__bar{
  border-top:1px solid rgba(255,255,255,.14);padding:14px 0;font-size:12.5px;
  display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;color:var(--on-dark-3);
}
.yxs-footer__bar .yxs-support{margin-left:auto}
/* 友情链接官网 + 备案号：在深色页脚上保持清晰可见 */
.yxs-footer__bar .yxs-beian{color:var(--on-dark);font-weight:600;text-decoration:none}
.yxs-footer__bar .yxs-beian:hover{color:#fff;text-decoration:underline}

/* ==========================================================================
   7. 分页 / 空态
   ========================================================================== */
.yxs-pager{display:flex;justify-content:center;align-items:center;gap:8px;padding:24px 0 0;flex-wrap:wrap}
.yxs-pager a,.yxs-pager span{
  min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;
  padding:0 10px;border:1px solid var(--line-2);border-radius:var(--radius);
  background:var(--paper);font-size:13px;color:var(--ink-2);
}
.yxs-pager .is-current{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:700}
.yxs-pager a:hover{border-color:var(--navy-2);color:var(--navy)}
.yxs-empty{padding:56px 0;text-align:center;color:var(--ink-3);font-size:14px}

/* ==========================================================================
   8. 响应式
   ========================================================================== */
@media (max-width:1120px){
  .yxs-cols{grid-template-columns:150px minmax(0,1fr) 260px;gap:22px}
}
@media (max-width:1000px){
  .yxs-cols{grid-template-columns:minmax(0,1fr) 290px}
  .yxs-side{display:none}
  .yxs-aside{position:static}
}
@media (max-width:820px){
  .yxs-cols{grid-template-columns:minmax(0,1fr)}
  .yxs-aside{display:none}
  .yxs-headtop{flex-wrap:wrap;gap:12px}
  /* 工具区必须允许换行：搜索框吃掉整行后，按钮要能落到第二行，
     否则窄屏下这一排会被挤到容器外（会连带把配色弹层顶出屏幕） */
  .yxs-headtools{width:100%;margin-left:0;flex-wrap:wrap}
  .yxs-search{flex:1 1 100%}
  .yxs-brand__sub{display:none}
  .yxs-q__thumb{display:none}
  .yxs-topic{padding:20px 18px}
  .yxs-topic__title{font-size:21px}
  .yxs-reply__side{width:70px}
  .yxs-footer__in{grid-template-columns:1fr 1fr}
  /* 换行后把切换器顶到本行最右，弹层右对齐才不会溢出 */
  .yxs-themesw{margin-left:auto}
  .yxs-themesw__pop{min-width:200px}
}
@media (max-width:560px){
  .yxs-nav__list a{padding:10px 11px;font-size:14px}
  .yxs-q__stat{width:52px}
  .yxs-footer__in{grid-template-columns:1fr}
}

/* ==========================================================================
   9. 两栏变体（详情页 / 表单页 / 用户主页）
   ========================================================================== */
.yxs-col{min-width:0}
.yxs-cols--2{grid-template-columns:minmax(0,1fr) 300px}
.yxs-cols--2 .yxs-aside{position:sticky;top:calc(var(--head-h) + 12px)}

/* 标题内联徽标与身份标识 */
.yxs-topic__title .yxs-badge{margin-right:6px;vertical-align:3px}
.yxs-topic__title .yxs-ident{margin-left:8px;vertical-align:4px;font-size:12px;font-weight:700}

/* 表单里的可点击标签胶囊 */
.yxs-field label.yxs-chip{
  display:inline-flex;align-items:center;gap:5px;
  cursor:pointer;user-select:none;line-height:1.6;
}
.yxs-field label.yxs-chip input{accent-color:var(--navy)}
.yxs-field label.yxs-chip:hover{border-color:var(--navy-2);color:var(--navy)}
.yxs-field label.yxs-chip.is-active{border-color:var(--navy);color:var(--navy);font-weight:700;background:var(--gray)}

/* 表单内的说明文字（comment_form 里没有 class 的段落） */
.yxs-replyform .comment-notes,
.yxs-replyform .logged-in-as{font-size:12.5px;color:var(--ink-3);margin:0 0 12px}
.yxs-replyform .form-submit{margin:14px 0 0}
.yxs-replyform input[type="text"],
.yxs-replyform input[type="email"],
.yxs-replyform input[type="url"]{
  width:100%;border:1px solid var(--line-2);border-radius:var(--radius);
  padding:9px 12px;outline:0;font-size:14px;background:var(--paper);
}
.yxs-replyform input:focus{border-color:var(--navy-2)}
.yxs-replyform .yxs-field{margin-bottom:14px}

@media (max-width:1000px){
  .yxs-cols--2{grid-template-columns:minmax(0,1fr)}
  .yxs-cols--2 .yxs-aside{position:static}
}
@media (max-width:820px){
  /* 两栏版式在手机上把右栏放到正文下方（内容仍有用：相关讨论、公约） */
  .yxs-cols--2 .yxs-aside{display:block;margin-top:8px}
  .yxs-cols--2 .yxs-aside .yxs-card:last-child{margin-bottom:0}
}

/* ==========================================================================
   10. 首页「本周精选」——两列纯标题，苹果官网式克制版式
        （小灰标签 / 近黑标题 / 发丝分隔线 / 悬停箭头位移，刻意不加底色）
   ========================================================================== */
.yxs-featured{margin:10px 0 0}
.yxs-featured__label{
  font-size:12px;font-weight:600;color:#86868b;
  letter-spacing:.04em;margin:0 0 2px;
}
.yxs-featured__grid{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
.yxs-featured__item{
  display:flex;align-items:center;justify-content:flex-start;gap:10px;
  padding:5px 2px;border-bottom:1px solid #e8e8ed;text-decoration:none;
}
.yxs-featured__lead{display:flex;align-items:center;gap:6px;flex:none}
.yxs-featured__num{
  font-size:11.5px;font-weight:700;color:#86868b;letter-spacing:.02em;
  font-variant-numeric:tabular-nums;
}
.yxs-featured__item:hover .yxs-featured__num{color:var(--ink)}
/* 动态火把：SVG 火苗双层层叠摆动（transform-box 限定在图形自身，纯 CSS 动画） */
.yxs-torch{width:12px;height:17px;flex:none}
.yxs-torch__flame,.yxs-torch__core{
  transform-box:fill-box;transform-origin:50% 100%;
  animation:yxs-flick 1.7s ease-in-out infinite;
}
.yxs-torch__core{animation-duration:1.1s}
@keyframes yxs-flick{
  0%,100%{transform:scale(1) skewX(0deg)}
  30%{transform:scale(1.05,1.12) skewX(-3deg)}
  60%{transform:scale(.95,1.05) skewX(3deg)}
}
@media (prefers-reduced-motion:reduce){
  .yxs-torch__flame,.yxs-torch__core{animation:none}
}
/* 楷体常规字重（不加粗），行距收紧，整体左对齐（箭头紧跟文字之后） */
.yxs-featured__q{
  font-family:"Kaiti SC","STKaiti","KaiTi","楷体",serif;
  font-style:normal;
  font-size:15px;font-weight:400;color:var(--ink);
  line-height:1.3;letter-spacing:normal;min-width:0;
}
.yxs-featured__chev{color:#86868b;font-size:16px;line-height:1;flex:none;transition:transform .2s ease}
.yxs-featured__item:hover .yxs-featured__chev{transform:translateX(3px)}
.yxs-featured__item:hover .yxs-featured__q{
  text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;
}
@media (max-width:740px){
  .yxs-featured__grid{grid-template-columns:1fr;column-gap:0}
  .yxs-featured{margin-top:20px}
}
