/* ============ 道藏修行图谱 · 全站样式 ============
   与藏经阁同色系而另有一种版面：素纸竖纹、朱印题头、次第侧轨、判据色带。
   移动优先断点：640 / 900 / 1180。
*/
:root{
  --paper:#f6f1e3; --paper2:#ece2cd; --card:#fffdf6; --card2:#faf5e9;
  --ink:#2a2418; --ink2:#5c5540; --ink3:#8a8168;
  --line:#dccfae; --line2:#c6b58a; --line3:#b3a176;
  --deep:#16242f; --deep2:#0d1922; --deepink:#e8dfc8;
  --cinnabar:#a8402c; --cinnabar2:#8b3221; --gold:#a8792a; --gold2:#d0a94f; --jade:#48705f;
  --v0:#3f7350; --v1:#7a6a2f; --v2:#a9741f; --v3:#5a5f86; --v4:#9c3122;
  --shadow:0 2px 12px rgba(60,48,20,.07); --shadow2:0 8px 28px rgba(60,48,20,.16);
  --radius:12px; --maxw:1080px;
  --serif:"Noto Serif SC","Source Han Serif SC","Songti SC","STSong","SimSun",serif;
  --kai:"Kaiti SC","STKaiti","KaiTi","Noto Serif SC",serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--paper); color:var(--ink); font-family:var(--serif); line-height:1.8;
  background-image:repeating-linear-gradient(90deg,rgba(150,130,90,.045) 0 1px,transparent 1px 34px);
  min-height:100vh;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;color:inherit;background:none;border:none}
input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
::selection{background:rgba(168,64,44,.22)}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 18px}
.pbp{padding-bottom:72px}

/* ---------- 顶栏 ---------- */
.xtop{position:sticky;top:0;z-index:60;background:rgba(246,241,227,.94);backdrop-filter:blur(7px);
  border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(255,255,255,.7) inset}
.xtop .row{max-width:var(--maxw);margin:0 auto;padding:0 18px;height:58px;display:flex;align-items:center;gap:14px}
.mark{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.mark .seal{width:32px;height:32px;border-radius:6px;background:linear-gradient(150deg,var(--cinnabar),var(--cinnabar2));
  color:#f7f0dd;display:grid;place-items:center;font-family:var(--kai);font-size:19px;letter-spacing:0;
  box-shadow:0 2px 6px rgba(139,50,33,.35)}
.mark .nm{font-family:var(--kai);font-size:19px;letter-spacing:3px;color:var(--deep)}
.mark .nm b{color:var(--cinnabar);font-weight:700}
.xnav{margin-left:auto;display:flex;gap:2px;font-size:15px}
.xnav a{padding:7px 13px;border-radius:8px;letter-spacing:2px;color:var(--ink2);transition:.2s;white-space:nowrap}
.xnav a:hover{background:rgba(168,121,42,.12);color:var(--deep)}
.xnav a.on{color:var(--cinnabar2);font-weight:700;box-shadow:inset 0 -2px 0 var(--cinnabar)}
.xtools{display:flex;align-items:center;gap:8px;margin-left:6px}
.scbtn{width:34px;height:30px;border:1px solid var(--line2);border-radius:7px;font-size:13px;color:var(--ink2);
  background:rgba(255,253,246,.7);letter-spacing:0}
.scbtn.on{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#26200c;border-color:var(--gold);font-weight:700}
.thbtn{width:34px;height:30px;border:1px solid var(--line2);border-radius:7px;font-size:14px;background:rgba(255,253,246,.7)}
.tabbar{display:none}

/* ---------- 页头 ---------- */
.phead{padding:38px 0 26px;border-bottom:1px solid var(--line);background:
  linear-gradient(180deg,rgba(255,253,246,.9),rgba(246,241,227,0))}
.phead .kicker{font-size:13px;letter-spacing:6px;color:var(--gold);margin-bottom:8px}
.phead h1{font-family:var(--kai);font-size:34px;letter-spacing:6px;line-height:1.35;color:var(--deep)}
.phead .lede{margin-top:12px;max-width:760px;color:var(--ink2);font-size:15.5px}
.crumb{font-size:13px;color:var(--ink3);letter-spacing:1px;margin-bottom:14px}
.crumb a:hover{color:var(--cinnabar)}

/* ---------- 区块 ---------- */
.section{padding:40px 0}
.shead{display:flex;align-items:flex-end;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.shead h2{font-family:var(--kai);font-size:23px;letter-spacing:4px;color:var(--deep);position:relative;padding-left:14px}
.shead h2::before{content:"";position:absolute;left:0;top:7px;bottom:5px;width:4px;border-radius:2px;
  background:linear-gradient(var(--cinnabar),var(--gold))}
.shead .sub{color:var(--ink3);font-size:13.5px;letter-spacing:1px}
.shead .right{margin-left:auto;display:flex;gap:8px;align-items:center}
.hr{height:1px;background:linear-gradient(90deg,transparent,var(--line2),transparent);margin:26px 0}

/* ---------- 卡片与网格 ---------- */
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card.pad{padding:18px}
.lift{transition:.22s}
.lift:hover{transform:translateY(-3px);box-shadow:var(--shadow2);border-color:var(--line3)}

/* ---------- 标签 / 徽章 ---------- */
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 13px;border-radius:999px;border:1px solid var(--line2);
  font-size:13.5px;color:var(--ink2);background:rgba(255,253,246,.75);letter-spacing:1px;cursor:pointer;transition:.2s;user-select:none}
.chip:hover{border-color:var(--gold);color:var(--cinnabar2)}
.chip.on{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#251d08;border-color:var(--gold);font-weight:700}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.tag{display:inline-block;padding:1px 9px;border-radius:5px;font-size:12px;line-height:19px;letter-spacing:1px;
  border:1px solid var(--line2);color:var(--ink2);background:rgba(236,226,205,.5)}
.tag.bu{border-color:rgba(72,112,95,.4);color:var(--jade);background:rgba(72,112,95,.1)}
.tag.dyn{border-color:rgba(168,64,44,.32);color:var(--cinnabar2);background:rgba(168,64,44,.08)}
.vb{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:6px;font-size:12.5px;
  letter-spacing:1px;font-weight:700;color:#fff7e8}
.vb0{background:var(--v0)} .vb1{background:var(--v1)} .vb2{background:var(--v2)} .vb3{background:var(--v3)} .vb4{background:var(--v4)}
.lv{display:inline-flex;gap:2px;vertical-align:1px}
.lv i{width:5px;height:14px;border-radius:2px;background:var(--line2)}
.lv i.f{background:linear-gradient(var(--gold2),var(--gold))}

/* ---------- 首页 ---------- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#17252f 0%,#0f1c25 100%);color:var(--deepink)}
.hero .wrap{padding:56px 18px 50px;position:relative;z-index:2}
.hero .vtitle{position:absolute;right:34px;top:28px;writing-mode:vertical-rl;font-family:var(--kai);
  font-size:15px;letter-spacing:8px;color:rgba(208,169,79,.5);z-index:1}
.hero h1{font-family:var(--kai);font-size:46px;letter-spacing:12px;line-height:1.25;color:#f4ecd6}
.hero h1 em{font-style:normal;color:var(--gold2)}
.hero .s2{margin-top:14px;font-size:16.5px;letter-spacing:2px;color:rgba(232,223,200,.82);max-width:660px}
.hero .rule{width:74px;height:3px;background:linear-gradient(90deg,var(--cinnabar),var(--gold2));margin:22px 0 20px;border-radius:2px}
.hero .quote{border-left:2px solid rgba(208,169,79,.5);padding:4px 0 4px 14px;font-size:14.5px;color:rgba(232,223,200,.72);
  max-width:640px;margin-bottom:8px}
.hero .quote b{color:var(--gold2);font-weight:400}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 26px;border-radius:999px;
  border:1px solid var(--gold);background:linear-gradient(180deg,var(--gold2),var(--gold));color:#241d0a;
  font-size:15.5px;letter-spacing:3px;font-weight:700;transition:.22s}
.btn:hover{filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 6px 18px rgba(208,169,79,.3)}
.btn.ghost{background:transparent;color:var(--deepink);border-color:rgba(232,223,200,.45);font-weight:400}
.btn.ghost:hover{border-color:var(--gold2);color:var(--gold2);box-shadow:none}
.btn.sm{padding:7px 16px;font-size:14px;letter-spacing:2px}
.btn.dark{background:linear-gradient(180deg,var(--deep),var(--deep2));color:var(--deepink);border-color:var(--deep)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:30px}
.stat{padding:14px 16px;border:1px solid rgba(208,169,79,.28);border-radius:10px;background:rgba(255,255,255,.04)}
.stat b{display:block;font-size:26px;color:var(--gold2);font-family:var(--kai);letter-spacing:1px}
.stat span{font-size:13px;color:rgba(232,223,200,.66);letter-spacing:2px}

.men8{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.menc{padding:16px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);position:relative;overflow:hidden}
.menc .zi{position:absolute;right:-6px;bottom:-16px;font-family:var(--kai);font-size:62px;opacity:.13;line-height:1}
.menc h3{font-family:var(--kai);font-size:19px;letter-spacing:3px;position:relative}
.menc p{font-size:13.5px;color:var(--ink2);margin-top:6px;position:relative;line-height:1.7}
.menc .cnt{margin-top:8px;font-size:12.5px;color:var(--ink3);letter-spacing:1px;position:relative}
.menc::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--mc,var(--gold))}

/* ---------- 次第轨 ---------- */
.rail{position:relative;padding-left:38px}
.rail::before{content:"";position:absolute;left:14px;top:6px;bottom:6px;width:2px;
  background:linear-gradient(var(--line2),var(--gold2),var(--line2))}
.step{position:relative;margin-bottom:18px;padding:16px 18px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow)}
.step .num{position:absolute;left:-38px;top:14px;width:29px;height:29px;border-radius:50%;
  background:linear-gradient(160deg,var(--gold2),var(--gold));color:#231b06;display:grid;place-items:center;
  font-family:var(--kai);font-size:15px;font-weight:700;border:2px solid var(--paper);box-shadow:0 0 0 1px var(--line2)}
.step h3{font-family:var(--kai);font-size:21px;letter-spacing:4px}
.step h3 .zi{color:var(--cinnabar);margin-right:8px}
.step .aim{color:var(--ink2);font-size:14.5px;margin-top:4px}
.step .meta{margin-top:10px;display:grid;gap:6px;font-size:13.5px}
.step .meta div{display:flex;gap:8px}
.step .meta .k{flex:0 0 52px;color:var(--ink3);letter-spacing:2px}
.step .gate .k{color:var(--v0)} .step .warn .k{color:var(--v4)}
.step .ms{margin-top:10px;display:flex;flex-wrap:wrap;gap:7px}
.mchip{padding:3px 10px;border-radius:7px;background:rgba(168,121,42,.1);border:1px solid rgba(168,121,42,.3);
  font-size:13px;color:#6d4f14;letter-spacing:1px}
.mchip:hover{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#251d08}

/* ---------- 方法列表 ---------- */
.mrow{display:flex;gap:14px;padding:15px 16px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);align-items:flex-start}
.mrow .idn{flex:0 0 auto;font-family:var(--kai);font-size:13px;color:var(--ink3);letter-spacing:1px;width:56px}
.mrow .bd{flex:1;min-width:0}
.mrow h3{font-family:var(--kai);font-size:18.5px;letter-spacing:2px}
.mrow h3 a:hover{color:var(--cinnabar)}
.mrow .sum{font-size:14px;color:var(--ink2);margin-top:3px}
.mrow .ft{margin-top:8px;display:flex;flex-wrap:wrap;gap:7px;align-items:center;font-size:12.5px;color:var(--ink3)}
.mrow .go{flex:0 0 auto;align-self:center}
.filters{padding:14px 16px;background:linear-gradient(180deg,var(--card2),rgba(250,245,233,.4));
  border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px}
.fline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.fline:last-child{margin-bottom:0}
.fline .lab{font-size:13px;letter-spacing:2px;color:var(--ink3);flex:0 0 auto;min-width:52px}
.search{flex:1;min-width:180px;padding:8px 12px;border:1px solid var(--line2);border-radius:8px;background:rgba(255,253,246,.85)}
.search:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(208,169,79,.16)}
.empty{padding:34px;text-align:center;color:var(--ink3);border:1px dashed var(--line2);border-radius:var(--radius)}

/* ---------- 方法详情 ---------- */
.mhead{padding:22px 24px;background:linear-gradient(180deg,var(--card),rgba(255,253,246,.5));
  border:1px solid var(--line);border-left:5px solid var(--mc,var(--gold));border-radius:var(--radius)}
.mhead h1{font-family:var(--kai);font-size:30px;letter-spacing:4px;color:var(--deep)}
.mhead .sum{margin-top:8px;font-size:16px;color:var(--ink2)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);
  border-radius:10px;overflow:hidden;margin-top:16px}
.fact{background:var(--card);padding:11px 14px}
.fact .k{font-size:12.5px;letter-spacing:2px;color:var(--ink3)}
.fact .v{font-size:15px;margin-top:2px}
.blk{margin-top:22px}
.blk .bt{font-family:var(--kai);font-size:19px;letter-spacing:3px;color:var(--deep);margin-bottom:10px;
  display:flex;align-items:center;gap:9px}
.blk .bt::before{content:"";width:9px;height:9px;border-radius:2px;background:var(--cinnabar);transform:rotate(45deg)}
.olist{counter-reset:o;list-style:none}
.olist li{position:relative;padding:10px 12px 10px 42px;border-bottom:1px dashed var(--line);font-size:15px}
.olist li:last-child{border-bottom:none}
.olist li::before{counter-increment:o;content:counter(o);position:absolute;left:8px;top:10px;width:24px;height:24px;
  border-radius:50%;background:rgba(168,121,42,.14);color:#6d4f14;display:grid;place-items:center;font-size:13px;font-weight:700}
.note{padding:12px 15px;border-radius:9px;font-size:14.5px;border:1px solid var(--line2);background:rgba(255,253,246,.7)}
.note.good{border-color:rgba(63,115,80,.4);background:rgba(63,115,80,.07)}
.note.warn{border-color:rgba(169,116,31,.42);background:rgba(169,116,31,.08)}
.note.bad{border-color:rgba(156,49,34,.4);background:rgba(156,49,34,.07)}
.note .nh{font-family:var(--kai);letter-spacing:2px;margin-bottom:4px}
.quote{position:relative;padding:14px 16px 12px 18px;margin:12px 0;border-left:3px solid var(--gold);
  background:linear-gradient(90deg,rgba(208,169,79,.09),rgba(208,169,79,.02));border-radius:0 9px 9px 0}
.quote .q{font-size:16px;line-height:1.85;color:var(--deep);padding-right:44px}
.quote .n{font-size:13.5px;color:var(--ink2);margin-top:6px}
.quote .src{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12.5px;color:var(--ink3)}
.quote .src a{color:var(--cinnabar2);border-bottom:1px dashed rgba(168,64,44,.5)}
.quote .src a:hover{color:var(--cinnabar);border-bottom-style:solid}
.quote .seal{position:absolute;right:10px;top:8px;font-family:var(--kai);font-size:12px;color:rgba(168,64,44,.5);
  border:1px solid rgba(168,64,44,.3);border-radius:4px;padding:0 5px}

/* ---------- 判伪 / 守则 ---------- */
.rule2{padding:16px 18px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
.rule2 h3{font-family:var(--kai);font-size:19px;letter-spacing:3px;color:var(--deep)}
.rule2 p{font-size:14.5px;color:var(--ink2);margin-top:5px}
.rule2 .qs{margin-top:10px}
.fake{border:1px solid rgba(156,49,34,.34);border-radius:var(--radius);overflow:hidden;background:var(--card)}
.fake .fh{padding:14px 18px;background:linear-gradient(90deg,rgba(156,49,34,.12),rgba(156,49,34,.02));
  border-bottom:1px solid rgba(156,49,34,.26);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.fake .fh h3{font-family:var(--kai);font-size:20px;letter-spacing:3px;color:#7c2718}
.fake .fb{padding:16px 18px;display:grid;gap:12px}
.fake .fb .kv{display:grid;grid-template-columns:70px 1fr;gap:12px;font-size:14.5px}
.fake .fb .kv .k{font-family:var(--kai);letter-spacing:2px;color:var(--ink3)}
.fake .fb .kv .v{color:var(--ink)}
.fake .fb .kv.harm .v{color:#8b3221}
.fake .fb .kv.verdict .v{background:rgba(168,64,44,.06);border-radius:8px;padding:8px 11px;border:1px dashed rgba(168,64,44,.3)}

/* ---------- 自测 ---------- */
.quiz{padding:18px 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
.quiz .qn{font-family:var(--kai);color:var(--gold);letter-spacing:2px;font-size:13px}
.quiz .qt{font-size:16px;margin:4px 0 12px;line-height:1.75}
.opt{display:block;width:100%;text-align:left;padding:10px 13px;margin-bottom:8px;border:1px solid var(--line2);
  border-radius:9px;background:rgba(255,253,246,.7);font-size:14.5px;transition:.18s}
.opt:hover{border-color:var(--gold);background:rgba(208,169,79,.1)}
.opt.pick{border-color:var(--cinnabar);background:rgba(168,64,44,.08)}
.opt.right{border-color:var(--v0);background:rgba(63,115,80,.1)}
.opt.wrong{border-color:var(--v4);background:rgba(156,49,34,.08)}
.opt .mk{float:right;font-size:13px;color:var(--ink3)}
.expl{margin-top:10px;padding:12px 14px;border-radius:9px;background:rgba(90,95,134,.08);
  border:1px solid rgba(90,95,134,.3);font-size:14px}
.expl.no{background:rgba(156,49,34,.07);border-color:rgba(156,49,34,.3)}
.score{padding:12px 16px;border-radius:10px;background:linear-gradient(90deg,rgba(208,169,79,.16),transparent);
  border:1px solid var(--line2);font-size:15px;letter-spacing:1px}

/* ---------- 日课 ---------- */
.dgrid{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start}
.dc{display:flex;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);align-items:flex-start}
.dc .box{flex:0 0 auto;width:26px;height:26px;border:2px solid var(--line3);border-radius:7px;display:grid;place-items:center;
  font-size:16px;color:#fff;transition:.18s;margin-top:2px}
.dc.done .box{background:var(--v0);border-color:var(--v0)}
.dc .tx{flex:1;min-width:0}
.dc .tx b{font-family:var(--kai);font-size:16.5px;letter-spacing:1px;font-weight:400}
.dc.done .tx b{color:var(--ink3)}
.dc .tx .s{font-size:13px;color:var(--ink3);margin-top:2px}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:10px}
.cal div{aspect-ratio:1;border-radius:6px;background:rgba(236,226,205,.5);border:1px solid var(--line);
  display:grid;place-items:center;font-size:11.5px;color:var(--ink3)}
.cal div.f{background:linear-gradient(160deg,var(--gold2),var(--gold));color:#241d0a;border-color:var(--gold);font-weight:700}
.cal div.tt{background:var(--v0);border-color:var(--v0);color:#fff}
.streak{display:flex;gap:22px;flex-wrap:wrap}
.streak b{font-family:var(--kai);font-size:30px;color:var(--cinnabar);display:block;line-height:1.2}
.streak span{font-size:13px;color:var(--ink3);letter-spacing:2px}

/* ---------- 表格 / 对照 ---------- */
.tbl{width:100%;border-collapse:collapse;font-size:14.5px;background:var(--card)}
.tbl th,.tbl td{padding:9px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl th{font-family:var(--kai);letter-spacing:2px;font-size:14px;background:rgba(236,226,205,.45);color:var(--deep);
  position:sticky;top:58px;z-index:2}
.tbl tr:hover td{background:rgba(208,169,79,.06)}
.tbl .num{text-align:right;font-variant-numeric:tabular-nums}
.cmp{display:grid;gap:14px;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);overflow-x:auto;padding-bottom:6px}
.cmpc{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:14px 16px}
.cmpc h4{font-family:var(--kai);font-size:18px;letter-spacing:2px;border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:8px}
.cmpc .kv{display:grid;grid-template-columns:56px 1fr;gap:8px;font-size:14px;padding:5px 0;border-bottom:1px dashed var(--line)}
.cmpc .kv .k{color:var(--ink3);letter-spacing:1px}
.xscroll{overflow-x:auto}

/* ---------- 原典 ---------- */
.trow{display:flex;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.trow .ti{flex:1;min-width:0}
.trow h3{font-family:var(--kai);font-size:18px;letter-spacing:2px}
.trow h3 .idd{font-size:12px;color:var(--ink3);letter-spacing:1px;margin-left:8px;font-family:var(--serif)}
.trow .why{font-size:14px;color:var(--ink2);margin-top:4px}
.trow .uses{font-size:13px;color:var(--ink3);margin-top:5px}
.trow .rt{flex:0 0 auto;text-align:right;font-size:12.5px;color:var(--ink3)}
.trow .rt a{display:inline-block;margin-top:6px;color:var(--cinnabar2);border:1px solid rgba(168,64,44,.32);
  border-radius:7px;padding:3px 11px}
.trow .rt a:hover{background:rgba(168,64,44,.09)}

/* ---------- 阅读器 ---------- */
.reader{display:grid;grid-template-columns:1fr;gap:0}
.rbody{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px;
  font-size:18px;line-height:2.1;white-space:pre-wrap;word-break:break-word;max-height:70vh;overflow:auto}
.rbody mark{background:rgba(208,169,79,.42);border-radius:3px;padding:0 2px;box-shadow:0 0 0 1px rgba(168,121,42,.5)}
.rbody mark.now{background:rgba(168,64,44,.34);box-shadow:0 0 0 1px var(--cinnabar)}
.rbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.rmeta{font-size:13.5px;color:var(--ink3);margin-top:10px;line-height:1.7}
.hlbox{padding:12px 14px;border:1px dashed var(--line3);border-radius:10px;background:rgba(255,253,246,.7);margin-bottom:12px}
.hlbox .t{font-size:13px;color:var(--ink3);letter-spacing:2px;margin-bottom:4px}
.hlbox .x{font-size:16px;color:var(--deep)}

/* ---------- 说明条 ---------- */
.policy{padding:14px 18px;border-radius:10px;background:linear-gradient(90deg,rgba(22,36,47,.94),rgba(22,36,47,.86));
  color:var(--deepink);font-size:14px;line-height:1.85}
.policy b{color:var(--gold2);font-weight:400;font-family:var(--kai);letter-spacing:1px}
.policy a{color:var(--gold2);border-bottom:1px dashed rgba(208,169,79,.6)}
.callout{padding:14px 16px;border-left:4px solid var(--v4);background:rgba(156,49,34,.07);border-radius:0 10px 10px 0;font-size:14.5px}
.callout.gold{border-left-color:var(--gold);background:rgba(208,169,79,.09)}
.callout.jade{border-left-color:var(--jade);background:rgba(72,112,95,.08)}

/* ---------- 页脚 ---------- */
.xfoot{margin-top:46px;padding:26px 0 30px;border-top:1px solid var(--line);background:rgba(236,226,205,.35);
  font-size:13.5px;color:var(--ink3);line-height:1.9}
.xfoot b{font-family:var(--kai);color:var(--ink2);letter-spacing:2px;font-weight:400}
.xfoot .lnk{margin-top:8px;display:flex;gap:14px;flex-wrap:wrap}
.xfoot a:hover{color:var(--cinnabar)}

/* ---------- 动效 ---------- */
.rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* ---------- 夜读 ---------- */
body.night{background:var(--deep2);color:#d9d2bd;
  background-image:repeating-linear-gradient(90deg,rgba(208,169,79,.05) 0 1px,transparent 1px 34px)}
body.night .xtop{background:rgba(13,25,34,.94);border-color:rgba(208,169,79,.28)}
body.night .mark .nm{color:#eee4cb}
body.night .xnav a{color:#b6ae94}
body.night .xnav a.on{color:var(--gold2);box-shadow:inset 0 -2px 0 var(--gold2)}
body.night .card,body.night .step,body.night .mrow,body.night .rule2,body.night .quiz,body.night .fake,
body.night .tbl,body.night .cmpc,body.night .trow,body.night .dc,body.night .rbody,body.night .menc,
body.night .opt,body.night .quote,body.night .mhead,body.night .filters,body.night .hlbox,body.night .note{
  background:#182734;border-color:rgba(208,169,79,.22);color:#d9d2bd}
body.night .phead,body.night .xfoot{background:rgba(24,39,52,.6);border-color:rgba(208,169,79,.2)}
body.night h1,body.night h2,body.night h3,body.night h4,body.night .quote .q,body.night .mhead h1,
body.night .shead h2,body.night .phead h1,body.night .step h3,body.night .rule2 h3,body.night .fake .fh h3{color:#f0e7cf}
body.night .ink2,body.night .sum,body.night .aim,body.night .why,body.night p,body.night .qt{color:#bdb59d}
body.night .sub,body.night .k,body.night .s,body.night .uses,body.night .rt,body.night .rmeta,body.night .src,body.night .idn{color:#8d876f}
body.night .chip,body.night .tag,body.night .mchip,body.night .vb3{border-color:rgba(208,169,79,.3);color:#cdc5aa;background:rgba(208,169,79,.08)}
body.night .chip.on{color:#241d0a}
body.night .scbtn,body.night .thbtn,body.night .search{background:rgba(255,255,255,.06);border-color:rgba(208,169,79,.3);color:#d9d2bd}
body.night .quote{background:linear-gradient(90deg,rgba(208,169,79,.14),transparent)}
body.night .olist li{border-color:rgba(208,169,79,.18)}
body.night .tbl th{background:rgba(208,169,79,.12)}
body.night .tbl tr:hover td{background:rgba(208,169,79,.07)}
body.night .rail::before{background:linear-gradient(rgba(208,169,79,.2),var(--gold2),rgba(208,169,79,.2))}
body.night .step .num{color:#241d0a}
body.night .hero{border-color:rgba(208,169,79,.25)}
body.night .hr{background:linear-gradient(90deg,transparent,rgba(208,169,79,.4),transparent)}

/* ---------- 断点 ---------- */
@media (max-width:1180px){ .g4{grid-template-columns:repeat(3,1fr)} }
@media (max-width:900px){
  .g3,.g4{grid-template-columns:repeat(2,1fr)}
  .men8{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .dgrid{grid-template-columns:1fr}
  .facts{grid-template-columns:repeat(2,1fr)}
  .hero h1{font-size:38px;letter-spacing:8px}
  .hero .vtitle{display:none}
  .xnav{display:none}
  .tabbar{display:flex}
  body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}
  .tbl th{position:static}
}
@media (max-width:640px){
  .g2,.g3,.g4{grid-template-columns:1fr}
  .men8{grid-template-columns:1fr}
  .hero .wrap{padding:38px 18px 40px}
  .hero h1{font-size:29px;letter-spacing:5px}
  .hero .s2{font-size:15px}
  .phead h1{font-size:26px;letter-spacing:3px}
  .section{padding:30px 0}
  .mhead h1{font-size:24px;letter-spacing:2px}
  .rbody{padding:16px 14px;font-size:16.5px;line-height:2}
  .rail{padding-left:30px}
  .rail::before{left:11px}
  .step .num{left:-30px;width:25px;height:25px;font-size:13px}
  .quote .q{font-size:15.5px}
  .fake .fb .kv{grid-template-columns:1fr;gap:2px}
  .facts{grid-template-columns:1fr}
  .mrow{flex-wrap:wrap}
  .mrow .idn{width:auto}
  .chips.pick{max-height:168px;overflow:auto;padding-right:4px}
}

/* 移动端底栏 */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(22,36,47,.97);
  border-top:1px solid rgba(208,169,79,.4);padding:5px 2px calc(5px + env(safe-area-inset-bottom))}
.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;
  font-size:11.5px;padding:3px 0;letter-spacing:1px;color:#ada693}
.tabbar a.on{color:var(--gold2)}
.tabbar .zi{font-family:var(--kai);font-size:17px;line-height:1.2}
