/* ============================================================
   诗词博物志 · 宣纸水墨 共享样式  (poetry.css)
   与 coming-soon 同一套 token；全站页面共用，SSG 直接引用。
   ============================================================ */
:root{
  --bg:#f6f4ee; --bg-2:#efece3; --card:#fbf9f3;
  --ink:#1b1a17; --ink-2:#3c3a33; --muted:#6d6a62; --faint:#9b978d;
  --line:#e4dfd3; --line-soft:#eee9dd;
  --accent:#2c7a6b; --accent-ink:#1f5a4f; --accent-soft:#2c7a6b14;
  --seal:#c0392b; --seal-soft:#c0392b12;
  --maxw:760px; --radius:12px; --radius-sm:8px;
  --serif:"Songti SC","STSong","Noto Serif SC",STZhongsong,"SimSun",Georgia,serif;
  --sans:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Helvetica Neue",system-ui,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#121311; --bg-2:#0b0c0a; --card:#181915;
    --ink:#ece9e1; --ink-2:#cbc8bf; --muted:#9a968c; --faint:#6f6c63;
    --line:#26261f; --line-soft:#201f19;
    --accent:#5fb6a3; --accent-ink:#7fcab8; --accent-soft:#5fb6a31a;
    --seal:#d4584a; --seal-soft:#d4584a1a;
  }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; color:var(--ink); font-family:var(--sans); line-height:1.7;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  background:
    radial-gradient(60vw 60vw at 82% 6%, var(--accent-soft), transparent 60%),
    radial-gradient(46vw 46vw at 8% 96%, var(--seal-soft), transparent 55%),
    linear-gradient(180deg, var(--bg), var(--bg-2));
  background-attachment:fixed; min-height:100dvh;
}
body::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
a{color:var(--accent-ink)}
.wrap{position:relative; z-index:1; max-width:var(--maxw); margin:0 auto; padding:0 clamp(18px,5vw,28px)}
.wide{--maxw:960px}

/* ---------- 顶栏 ---------- */
.nav{display:flex; align-items:center; justify-content:flex-start; gap:22px; padding:18px 0 14px}
.brand{display:flex; align-items:center; gap:11px; text-decoration:none; color:inherit}
.seal{width:34px; height:34px; border-radius:8px; background:var(--seal); color:#fff;
  font-family:var(--serif); font-size:21px; font-weight:600; display:grid; place-items:center;
  box-shadow:0 4px 14px -6px var(--seal)}
.brand-name{font-family:var(--serif); font-size:19px; letter-spacing:.12em; font-weight:600}
.navlinks{display:flex; gap:18px; font-size:14px; margin-right:auto}
.navlinks a{color:var(--muted); text-decoration:none}
.navlinks a:hover{color:var(--accent-ink)}
@media(max-width:560px){.navlinks{gap:13px; font-size:13px}}

/* ---------- 面包屑 ---------- */
.crumb{font-size:12.5px; color:var(--faint); letter-spacing:.04em; margin:6px 0 20px}
.crumb a{color:var(--faint); text-decoration:none}
.crumb a:hover{color:var(--accent-ink)}
.crumb span{margin:0 7px; opacity:.6}

/* ---------- 区块标题 ---------- */
section{padding:26px 0; border-bottom:1px solid var(--line-soft)}
section.last{border-bottom:0}
.h{display:flex; align-items:center; gap:9px; font-family:var(--serif); font-size:18px;
  font-weight:600; letter-spacing:.04em; margin:0 0 16px}
.h::before{content:""; width:8px; height:8px; background:var(--seal); transform:rotate(45deg); border-radius:1px}
.h .en{font-family:var(--sans); font-size:11px; color:var(--faint); letter-spacing:.18em; font-weight:400; margin-left:2px}
.h .more{margin-left:auto; font-family:var(--sans); font-size:13px; font-weight:400; color:var(--muted); text-decoration:none}
.h .more:hover{color:var(--accent-ink)}

/* ---------- 诗本体（详情页） ---------- */
.poem{position:relative; text-align:center; padding:8px 0 26px; border-bottom:1px solid var(--line)}
.cipai{font-family:var(--serif); font-size:13px; letter-spacing:.22em; color:var(--accent-ink);
  border:1px solid var(--accent); background:var(--accent-soft); border-radius:999px; padding:4px 13px; display:inline-block}
.poem h1{font-family:var(--serif); font-weight:700; font-size:clamp(28px,6vw,40px); letter-spacing:.06em; margin:16px 0 6px}
.byline{color:var(--muted); font-size:14.5px; letter-spacing:.06em; margin-bottom:6px}
.byline a{color:var(--accent-ink); text-decoration:none}
.byline-author{border-bottom:1px solid transparent; transition:border-color .15s}
.byline-author:hover{border-bottom-color:currentColor}
.pre{font-family:var(--serif); color:var(--ink-2); font-size:13.5px; line-height:1.9; max-width:30em; margin:10px auto 0; opacity:.92}
.body{font-family:var(--serif); font-size:var(--poemfs,22px); line-height:2.05; letter-spacing:.04em; margin:22px auto 0; max-width:28em}
.body p{margin:0 0 .15em}
.body .ln{display:inline-block; padding:1px 4px; border-radius:5px; transition:background .15s}
.body .ln:hover{background:var(--seal-soft)}
.sealmark{position:absolute; right:2px; top:2px; width:40px; height:40px; border-radius:7px;
  border:1.5px solid var(--seal); color:var(--seal); font-family:var(--serif); font-size:12px; line-height:1.1;
  display:grid; place-items:center; opacity:.85; transform:rotate(-3deg); text-align:center; letter-spacing:.02em}
.tools{display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin:20px 0 0}
.tool{font-size:13px; color:var(--muted); background:var(--card); border:1px solid var(--line);
  border-radius:999px; padding:6px 13px; cursor:pointer; font-family:var(--sans)}
.tool:hover{border-color:var(--accent); color:var(--accent-ink)}

/* ---------- 基础信息网格 ---------- */
.info{display:grid; grid-template-columns:1fr 1fr; gap:14px 26px}
@media(max-width:540px){.info{grid-template-columns:1fr}}
.info .k{font-size:12.5px; color:var(--faint); letter-spacing:.1em; margin-bottom:3px}
.info .v{font-size:15.5px; color:var(--ink-2); line-height:1.7}
.info .v.serif{font-family:var(--serif)}

/* ---------- 解读条目 ---------- */
.item{margin:0 0 18px}
.item:last-child{margin-bottom:0}
.item .lab{display:inline-block; font-size:12.5px; color:var(--accent-ink); background:var(--accent-soft);
  border-radius:6px; padding:2px 9px; margin-bottom:7px; letter-spacing:.05em}
.item .txt{color:var(--ink-2); font-size:15.5px; line-height:1.85}
.item .txt b{color:var(--ink); font-weight:600}
.gloss{display:flex; gap:10px; padding:8px 0; border-bottom:1px dashed var(--line)}
.gloss:last-child{border:0}
.gloss .w{font-family:var(--serif); font-size:16px; color:var(--ink); min-width:4.5em; font-weight:600}
.gloss .d{color:var(--muted); font-size:14.5px; line-height:1.7}

/* ---------- 名句卡 ---------- */
.ming{background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:22px 22px 18px; position:relative; margin:0 0 14px; overflow:hidden}
.ming::before{content:"\201C"; position:absolute; left:10px; top:-6px; font-family:var(--serif);
  font-size:64px; color:var(--seal); opacity:.16; line-height:1}
.ming .q{font-family:var(--serif); font-size:20px; letter-spacing:.04em; color:var(--ink); line-height:1.7; position:relative}
.ming .q a{color:inherit; text-decoration:none}
.ming .src{font-size:13px; color:var(--accent-ink); margin-top:8px; text-decoration:none; display:inline-block}
.ming .c{color:var(--muted); font-size:14px; line-height:1.75; margin-top:10px; padding-top:10px; border-top:1px solid var(--line-soft)}

/* ---------- 标签 ---------- */
.tags{display:flex; flex-wrap:wrap; gap:9px}
.chip{font-size:13.5px; padding:5px 13px; border-radius:999px; text-decoration:none; border:1px solid transparent; cursor:pointer}
.chip.emo{color:var(--seal); background:var(--seal-soft); border-color:#c0392b22}
.chip.sub{color:var(--accent-ink); background:var(--accent-soft); border-color:#2c7a6b22}
.chip.plain{color:var(--ink-2); background:var(--card); border-color:var(--line)}
.chip:hover{filter:brightness(.97); border-color:currentColor}

/* ---------- 作者卡（详情页内） ---------- */
.author{display:flex; gap:16px; align-items:flex-start; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:18px; text-decoration:none; color:inherit}
.author .nm{font-family:var(--serif); font-size:18px; font-weight:600}
.author .meta{font-size:13px; color:var(--faint); margin:2px 0 8px; letter-spacing:.04em}
.author .bio{font-size:14.5px; color:var(--ink-2); line-height:1.75}
.author .works{margin-top:9px; font-size:13.5px}
.author .works a{color:var(--accent-ink); text-decoration:none; margin-right:14px}

/* ---------- 相关诗 / 卡片网格 ---------- */
.rel{display:grid; grid-template-columns:1fr 1fr; gap:12px}
@media(max-width:540px){.rel{grid-template-columns:1fr}}
.rcard{display:block; text-decoration:none; color:inherit; background:var(--card); border:1px solid var(--line);
  border-radius:var(--radius-sm); padding:13px 15px; transition:border-color .15s}
.rcard:hover{border-color:var(--accent)}
.rcard .t{font-family:var(--serif); font-size:16px; color:var(--ink); font-weight:600}
.rcard .s{font-size:12.5px; color:var(--faint); margin-top:3px}

/* ---------- 付费 teaser ---------- */
.lock{background:linear-gradient(180deg,var(--card),transparent); border:1px dashed var(--accent); border-radius:var(--radius); padding:22px; text-align:center}
.lock .ic{width:42px; height:42px; border-radius:50%; background:var(--accent-soft); color:var(--accent-ink); display:grid; place-items:center; margin:0 auto 12px; font-size:20px}
.lock .t{font-family:var(--serif); font-size:17px; font-weight:600; margin-bottom:8px}
.lock .d{font-size:14px; color:var(--muted); line-height:1.8; max-width:32em; margin:0 auto 12px}
.lock .badges{display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-bottom:14px}
.lock .b{font-size:12.5px; color:var(--ink-2); background:var(--bg-2); border:1px solid var(--line); border-radius:999px; padding:4px 12px}
.lock .soon{display:inline-block; font-size:13px; letter-spacing:.16em; color:var(--accent-ink); border:1px solid var(--accent); border-radius:999px; padding:7px 18px; background:var(--accent-soft)}

/* ---------- 页脚 ---------- */
.foot{position:relative; z-index:1; text-align:center; padding:30px 18px 36px; color:var(--faint); font-size:12.5px; letter-spacing:.04em}
.foot a{color:var(--faint); text-decoration:none}
.foot a:hover{color:var(--accent-ink)}
.foot .beian{margin:7px 0 0; display:flex; flex-wrap:wrap; gap:6px 16px; justify-content:center}
.foot-note{margin:8px 0 0; color:var(--faint); font-size:12px; line-height:1.7; opacity:.85}
.foot-links{display:flex; flex-wrap:wrap; justify-content:center; gap:8px 18px; margin:0 0 10px}
.foot-links a{color:var(--ink-2); font-size:13.5px}
.foot-links a:hover{color:var(--accent)}
/* 关于页 */
.ab-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:4px}
@media(max-width:680px){.ab-grid{grid-template-columns:1fr}}
.ab-card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:18px 18px 16px}
.ab-card .ab-t{font-family:var(--serif); font-size:17px; font-weight:600; margin:0 0 8px}
.ab-card p{font-size:14px; color:var(--ink-2); line-height:1.8; margin:0}
.ab-stats{display:flex; flex-wrap:wrap; gap:18px 40px; padding:8px 0 2px}
.ab-num{display:flex; flex-direction:column}
.ab-num b{font-family:var(--serif); font-size:34px; color:var(--accent-ink); line-height:1}
.ab-num span{font-size:13px; color:var(--muted); margin-top:5px}
/* 大事记时间线 */
.timeline{list-style:none; margin:8px 0 0; padding:0; position:relative}
.timeline::before{content:""; position:absolute; left:6px; top:7px; bottom:9px; width:2px; background:var(--line)}
.timeline li{position:relative; padding:0 0 20px 30px}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:""; position:absolute; left:0; top:4px; width:14px; height:14px; border-radius:50%; background:var(--accent); border:3px solid var(--bg); box-sizing:border-box}
.tl-date{font-size:12.5px; color:var(--accent-ink); letter-spacing:.06em; font-weight:600}
.tl-t{font-family:var(--serif); font-size:15.5px; font-weight:600; margin:3px 0 4px}
.tl-d{font-size:13.5px; color:var(--muted); line-height:1.75; margin:0; max-width:40em}
.police-badge{width:13px; height:13px; vertical-align:-2px; margin-right:4px}

/* ============================================================
   首页
   ============================================================ */
.hp-hero{text-align:center; padding:40px 0 30px}
.hp-hero .eyebrow{font-size:13px; letter-spacing:.3em; color:var(--accent-ink); text-transform:uppercase; margin:0 0 14px}
.hp-hero h1{font-family:var(--serif); font-weight:700; font-size:clamp(30px,7vw,48px); letter-spacing:.08em; margin:0 0 10px}
.hp-hero p.sub{color:var(--muted); font-size:clamp(14px,3vw,16px); margin:0 auto 24px; max-width:30em}
.search{display:flex; max-width:540px; margin:0 auto; background:var(--card); border:1px solid var(--line); border-radius:999px; padding:5px 5px 5px 20px; box-shadow:0 6px 22px -16px var(--ink)}
.search input{flex:1; border:0; background:transparent; outline:0; font-size:15px; color:var(--ink); font-family:var(--sans)}
.search input::placeholder{color:var(--faint)}
.search button{border:0; cursor:pointer; background:var(--accent); color:#fff; font-family:var(--serif); font-size:15px; border-radius:999px; padding:9px 22px}
.search button:hover{background:var(--accent-ink)}
.cloud{display:flex; flex-direction:column; gap:14px}
.cloud .row{display:flex; flex-wrap:wrap; gap:8px; align-items:center}
.cloud .lab{font-size:12.5px; color:var(--faint); letter-spacing:.1em; min-width:3.5em}
.cloud .row>span[id]{display:contents}  /* JS 注入的 chips 成为 row 的 flex 子项，吃到 gap */
.today{display:flex; flex-direction:column; gap:6px; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:22px; text-decoration:none; color:inherit; text-align:center}
.today:hover{border-color:var(--accent)}
.today .lines{font-family:var(--serif); font-size:clamp(18px,4vw,22px); line-height:1.9; color:var(--ink); letter-spacing:.04em}
.today .who{color:var(--muted); font-size:13px; margin-top:6px}
/* 今日一诗加载骨架(避免硬编码诗句先闪后被接口替换) */
.today .sk{display:block; margin:0 auto 10px; height:1.05em; width:min(82%,420px); border-radius:7px; background:var(--line); animation:skpulse 1.4s ease-in-out infinite}
.today .sk.sk-2{width:min(62%,320px); margin-bottom:0}
.today .sk.sk-who{height:.85em; width:140px; margin:12px auto 0}
.today:not(.is-loading) .sk{display:none}
@keyframes skpulse{0%,100%{opacity:.4} 50%{opacity:.85}}
.poets{display:flex; flex-wrap:wrap; gap:10px}
.poet{display:inline-flex; align-items:center; gap:8px; text-decoration:none; color:var(--ink-2); background:var(--card); border:1px solid var(--line); border-radius:999px; padding:6px 14px 6px 8px; font-size:14px}
.poet:hover{border-color:var(--accent)}
.poet .av{width:24px; height:24px; border-radius:6px; background:var(--accent-soft); color:var(--accent-ink); font-family:var(--serif); display:grid; place-items:center; font-size:14px}

/* ============================================================
   检索结果页
   ============================================================ */
.fg .ft{font-size:12.5px; color:var(--faint); letter-spacing:.1em; margin:0 0 8px}
.fg .opts{display:flex; flex-wrap:wrap; gap:7px}
/* 顶部横向筛选条：每类一行（标签 + 横向标签云 + 展开更多） */
.facetbar{display:flex; flex-direction:column; gap:9px; padding:4px 0 14px; border-bottom:1px solid var(--line); margin-bottom:16px}
.facetbar .ft{font-size:12.5px}
.frow{display:flex; gap:12px; align-items:baseline}
.frow .flabel{flex:0 0 52px; text-align:right; font-size:12.5px; color:var(--faint); letter-spacing:.08em; padding-top:3px}
.frow .fchips{flex:1; min-width:0; display:flex; flex-wrap:wrap; gap:7px; align-items:center}
.fchips .fc-hide{display:none}
.fchips.fc-open .fc-hide{display:inline-flex}
.fmore{font-size:12px; color:var(--accent-ink); cursor:pointer; text-decoration:none; white-space:nowrap; padding:2px 4px}
.fmore:hover{text-decoration:underline}
.gprov{cursor:pointer}
.fchips .chip i{font-style:normal; opacity:.5; font-size:11px; margin-left:1px}
@media(max-width:560px){.frow{flex-direction:column; gap:4px} .frow .flabel{flex:none; text-align:left}}
.results{min-width:0}
.rhead{display:flex; align-items:baseline; justify-content:space-between; margin:0 0 14px}
.rhead .cnt{font-size:13px; color:var(--muted)}
.rhead .cnt b{color:var(--accent-ink); font-family:var(--serif)}
.rhead .sort{font-size:13px; color:var(--muted)}
.pcard{display:block; text-decoration:none; color:inherit; padding:15px 0; border-bottom:1px solid var(--line-soft)}
.pcard:hover .pt{color:var(--accent-ink)}
.pcard .pt{font-family:var(--serif); font-size:18px; font-weight:600; color:var(--ink)}
.pcard .pm{font-size:12.5px; color:var(--faint); margin:2px 0 6px}
.pcard .pl{font-family:var(--serif); color:var(--ink-2); font-size:15px; line-height:1.8}
.pcard .pt-tags{margin-top:8px; display:flex; gap:6px; flex-wrap:wrap}
.pager{display:flex; flex-wrap:wrap; gap:6px; justify-content:center; align-items:center; margin:28px 0 4px}
.pager a,.pager span{height:36px; min-width:36px; display:inline-flex; align-items:center; justify-content:center; padding:0 12px; border-radius:9px; font-size:14px; box-sizing:border-box}
.pager a{border:1px solid var(--line); color:var(--ink-2); text-decoration:none; transition:border-color .15s, background .15s, color .15s}
.pager a:hover:not(.on){border-color:var(--accent); color:var(--accent); background:var(--accent-soft)}
.pager a.on{background:var(--accent); color:#fff; border-color:var(--accent); font-weight:600; cursor:default}
.pager span{color:var(--faint)}

/* ============================================================
   作者页
   ============================================================ */
.a-hero{padding:10px 0 22px; border-bottom:1px solid var(--line)}
.a-name{font-family:var(--serif); font-size:clamp(26px,6vw,36px); font-weight:700; letter-spacing:.06em; margin:0}
.a-name .dates{font-size:14px; font-weight:400; color:var(--faint); letter-spacing:0; margin-left:10px}
.a-meta{color:var(--muted); font-size:14px; margin:8px 0 0; letter-spacing:.04em}
.a-bio{color:var(--ink-2); font-size:15.5px; line-height:1.85; margin:14px 0 0}
.timeline{position:relative; margin:4px 0 0; padding-left:18px}
.timeline::before{content:""; position:absolute; left:4px; top:4px; bottom:4px; width:2px; background:var(--line)}
.tl{position:relative; padding:0 0 16px 14px}
.tl::before{content:""; position:absolute; left:-18px; top:5px; width:9px; height:9px; border-radius:50%; background:var(--seal); box-shadow:0 0 0 3px var(--bg)}
.tl .yr{font-family:var(--serif); font-size:15px; color:var(--accent-ink); font-weight:600}
.tl .ev{font-size:14.5px; color:var(--ink-2); line-height:1.7; margin-top:2px}
.a-list{display:grid; grid-template-columns:1fr 1fr; gap:10px}
@media(max-width:540px){.a-list{grid-template-columns:1fr}}
.a-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 28px}
@media(max-width:600px){.a-grid{grid-template-columns:1fr}}

/* ============================================================
   详情页 · 内容排版（v2：原文断行/序、速览 key-value、折叠、创作背景）
   ============================================================ */
/* 词序：小字、muted、与正文分隔，带朱砂「序」标 */
.poem .preface{font-family:var(--serif); font-size:13px; color:var(--muted); line-height:1.9;
  max-width:30em; margin:8px auto 16px; padding-bottom:14px; border-bottom:1px dashed var(--line); text-align:left}
.poem .preface .mark{display:inline-block; font-size:11px; color:var(--seal); border:1px solid var(--seal);
  border-radius:4px; padding:0 5px; margin-right:8px; vertical-align:1px; opacity:.75}
/* 正文逐句成行（生成器每句一个 <p>）：行距更舒展 */
.poem .body p{margin:.12em 0}

/* 速览 key-value：两列网格，一眼扫清体裁/词牌/情感/节令 */
.kv{display:grid; grid-template-columns:1fr 1fr; gap:0 26px; margin:0}
@media(max-width:540px){.kv{grid-template-columns:1fr}}
.kv .row{display:flex; align-items:baseline; gap:12px; padding:9px 0; border-bottom:1px solid var(--line-soft)}
.kv .row.full{grid-column:1/-1}
.kv .k{font-size:12.5px; color:var(--faint); letter-spacing:.12em; min-width:3em; flex:none}
.kv .v{font-family:var(--serif); font-size:16px; color:var(--ink); line-height:1.6}
.kv .v .em{color:var(--seal)}

/* 创作背景：清爽列表（小标题 + 释文） */
.bg-item{padding:11px 0; border-bottom:1px dashed var(--line)}
.bg-item:last-child{border:0}
.bg-item .t{font-family:var(--serif); font-size:15px; color:var(--ink); font-weight:600; margin-bottom:3px}
.bg-item .d{color:var(--ink-2); font-size:14.5px; line-height:1.8}

/* 模块小标题（基础解读内分组：语文核心/跨学科/读写/图谱） */
.mod-h{font-family:var(--serif); font-size:14px; color:var(--accent-ink); letter-spacing:.06em;
  margin:20px 0 10px; padding-left:10px; border-left:3px solid var(--accent)}
.mod-h:first-child{margin-top:4px}

/* —— 分类色：国画颜料系（宣纸友好）。每类一色，标题/折叠左缘/标签同色 —— */
.cat-cck{--cat:#b5403a}  /* 语文核心 · 朱砂 */
.cat-is {--cat:#36607e}  /* 跨学科 · 花青 */
.cat-rwa{--cat:#3f7a52}  /* 读写应用 · 石绿 */
.cat-kg {--cat:#6b5b8e}  /* 知识图谱 · 黛紫 */
.cat-bg {--cat:#9c6b3f}  /* 创作背景 · 赭石 */
.cat-src{--cat:#50736e}  /* 源流释义 · 黛青 */
@media (prefers-color-scheme: dark){
  .cat-cck{--cat:#e08a82} .cat-is{--cat:#7ba6c8} .cat-rwa{--cat:#6fb893}
  .cat-kg{--cat:#a594c4}  .cat-bg{--cat:#c79a6a} .cat-src{--cat:#86a09c}
}
.mod{margin:0 0 22px}
.mod:last-child{margin-bottom:0}
.mod>.mod-h{color:var(--cat); border-left-color:var(--cat)}
.mod details.fold{border-left:3px solid var(--cat)}
.mod details.fold>summary::before{border-color:var(--cat)}
.mod .bg-item .t{color:var(--cat)}
/* 免费层「更多内容见深度版」提示条 */
.more-lock{display:flex; align-items:center; gap:7px; font-size:13px; color:var(--muted);
  margin-top:10px; padding:9px 13px; border:1px dashed var(--cat,var(--line)); border-radius:9px;
  background:color-mix(in oklab, var(--cat,var(--accent)) 6%, transparent)}
.more-lock::before{content:"✦"; color:var(--cat,var(--accent-ink)); font-size:12px}
.more-lock b{color:var(--cat,var(--accent-ink)); font-weight:600}

/* 折叠卡（宣纸水墨）：summary 可点，朱砂/黛箭头，标题清晰，可挂学科标 */
details.fold{border:1px solid var(--line); border-radius:var(--radius-sm); margin:0 0 9px; background:var(--card); overflow:hidden}
details.fold>summary{list-style:none; cursor:pointer; padding:12px 15px; font-family:var(--serif); font-weight:600;
  font-size:15px; color:var(--ink); display:flex; align-items:center; gap:9px}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary::before{content:""; width:6px; height:6px; border-right:1.6px solid var(--accent);
  border-bottom:1.6px solid var(--accent); transform:rotate(-45deg); transition:transform .2s; flex:none}
details.fold[open]>summary::before{transform:rotate(45deg)}
details.fold>summary .tag{margin-left:auto; font-family:var(--sans); font-size:12px; font-weight:400;
  color:var(--c,var(--cat,var(--accent-ink)));
  background:color-mix(in oklab, var(--c, var(--cat, var(--accent))) 14%, transparent);
  border-radius:5px; padding:1px 9px}
details.fold .body2{padding:2px 15px 14px; color:var(--ink-2); font-size:15px; line-height:1.88}
details.fold .body2 b{color:var(--ink)}

@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto}}
