/* 方案A · 卷轴水墨风 —— 配色组：墨韵/朱印/靛青 */
:root{
  --paper:#f7f2e7;          /* 宣纸 */
  --paper-deep:#efe7d6;
  --ink:#2b2b2b;            /* 墨色 */
  --ink-2:#5a5650;
  --ink-light:#7d766a;
  --zhu:#b03a2e;            /* 朱印 */
  --qing:#2f4858;           /* 靛青 */
  --line:#d8cfbc;
  --line-2:#e7dfcd;
  --card:#fffdf6;
  --title-font:"Noto Serif SC","Source Han Serif SC",STSong,SimSun,serif;
  --body-font:"PingFang SC","Microsoft YaHei",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--paper) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="120" height="120"><filter id="n"><feTurbulence baseFrequency="0.9" numOctaves="2"/><feColorMatrix values="0 0 0 0 0.55 0 0 0 0 0.5 0 0 0 0 0.4 0 0 0 0.04 0"/></filter><rect width="120" height="120" filter="url(%23n)"/></svg>');color:var(--ink);font-family:var(--body-font);font-size:16px;line-height:1.85}
a{color:var(--qing);text-decoration:none}
a:hover{color:var(--zhu)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}

/* ============ 顶栏 / 站标 / 导航 ============ */
.topbar{background:var(--ink);color:#d8d2c4;font-size:13px;padding:6px 0}
.topbar .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px}
.topbar a{color:#d8d2c4;margin-left:14px}
.header{padding:30px 0 24px;border-bottom:3px double var(--line);position:relative}
.header h1{font-family:var(--title-font);font-size:38px;letter-spacing:14px;color:var(--ink)}
.header h1 .seal{display:inline-block;background:var(--zhu);color:#fff;font-size:16px;letter-spacing:2px;padding:4px 8px;border-radius:4px;vertical-align:middle;margin-left:12px;box-shadow:1px 1px 0 rgba(0,0,0,.15)}
.header .sub{color:var(--ink-2);font-size:14px;margin-top:8px;letter-spacing:4px}
.bookmark{position:absolute;right:40px;top:0;writing-mode:vertical-rl;font-family:var(--title-font);background:var(--qing);color:#f0ead9;padding:18px 8px;letter-spacing:6px;font-size:15px;border-radius:0 0 4px 4px}
.nav{border-bottom:1px solid var(--line);background:rgba(255,255,255,.35)}
.nav ul{display:flex;list-style:none;flex-wrap:wrap}
.nav li{padding:11px 20px;font-family:var(--title-font);font-size:17px}
.nav li.on a{color:var(--zhu);border-bottom:2px solid var(--zhu)}
.crumb{font-size:13px;color:var(--ink-light);padding:12px 0}
.crumb a{color:var(--ink-light)}
.crumb a:hover{color:var(--zhu)}

/* ============ 区块骨架 ============ */
.box{background:var(--card);border:1px solid var(--line);border-radius:3px;padding:20px 22px;margin-bottom:18px;box-shadow:0 1px 3px rgba(60,50,30,.05)}
.box-note{font-size:14px;color:var(--ink-2);margin-bottom:12px;line-height:1.8}
.sec-title{font-family:var(--title-font);font-size:21px;border-left:5px solid var(--zhu);padding-left:12px;margin-bottom:14px;letter-spacing:2px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.sec-title .more,.more{font-family:var(--body-font);font-size:13px;color:var(--ink-light);border:none;font-weight:400}
.more:hover{color:var(--zhu)}
.sub-title{font-family:var(--title-font);font-size:17px;color:var(--qing);margin:20px 0 10px;padding-left:10px;border-left:3px solid var(--line)}
.sidenote{font-size:13px;color:var(--ink-light);margin-top:10px;line-height:1.8}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.main-col{min-width:0}
.side{position:sticky;top:8px}
/* 侧栏内窄容器：4 列会截断四字栏目名，降为 3 列并允许换行 */
.side .pills-4,.col-side .pills-4{grid-template-columns:repeat(3,minmax(0,1fr))}
.side .pills-4 a,.col-side .pills-4 a{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.5}
/* 侧栏板块较多（3 个以上）时取消吸顶，避免内容高于视口导致底部不可见 */
.side-static{position:static}
/* 锚点跳转目标：留出顶部间距 */
.anchor{scroll-margin-top:14px}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ============ 九宫格功能导航 ============ */
.grid-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.grid-nav a{display:flex;gap:12px;align-items:center;padding:14px 14px;border:1px solid var(--line-2);background:linear-gradient(180deg,#fffdf7,#f7f1e2);border-radius:4px;transition:.15s}
.grid-nav a:hover{border-color:var(--zhu);background:#fff;transform:translateY(-1px)}
.grid-nav .icon{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--zhu);color:#fff;font-family:var(--title-font);font-size:20px;border-radius:4px;letter-spacing:0}
.grid-nav .txt{display:flex;flex-direction:column;min-width:0}
.grid-nav .t{font-family:var(--title-font);font-size:17px;color:var(--ink)}
.grid-nav .d{font-size:12px;color:var(--ink-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grid-nav .c{font-size:12px;color:var(--zhu)}

/* ============ 名家排行榜 ============ */
.rank{list-style:none;counter-reset:rk}
.rank-2col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 26px}
.rank li{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px dashed var(--line-2);font-size:14px}
.rank .no{width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--line-2);color:var(--ink-2);border-radius:50%;font-size:12px}
.rank li.top1 .no{background:var(--zhu);color:#fff}
.rank li.top2 .no{background:#c9743a;color:#fff}
.rank li.top3 .no{background:var(--qing);color:#fff}
.rank .av{width:26px;height:26px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--paper-deep);color:var(--zhu);font-family:var(--title-font);font-size:14px}
.rank .av.ph{border:1px solid var(--line)}
.rank .nm{font-family:var(--title-font);font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank .dy{font-size:12px;color:var(--ink-light);flex-shrink:0}
.rank .ct{margin-left:auto;font-size:13px;color:var(--zhu);flex-shrink:0}

/* ============ 汉字墙 ============ */
.ziwall{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px}
.ziwall a{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 2px;border:1px solid var(--line-2);background:#fffdf7;border-radius:3px}
.ziwall a:hover{border-color:var(--zhu);background:#fff}
.ziwall .z{font-family:var(--title-font);font-size:26px;line-height:1.2;color:var(--ink)}
.ziwall .p{font-size:11px;color:var(--ink-light);line-height:1.2}

/* ============ 成语胶囊 / 四列链接 ============ */
.pills{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pills li a{display:flex;flex-direction:column;padding:8px 10px;border:1px solid var(--line-2);background:#fffdf7;border-radius:3px;height:100%}
.pills li a:hover{border-color:var(--zhu);background:#fff}
.pills .w{font-family:var(--title-font);font-size:16px;color:var(--ink)}
.pills .py{font-size:11px;color:var(--ink-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pills-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pills-4 a{padding:7px 10px;border:1px solid var(--line-2);background:#fffdf7;border-radius:3px;font-size:14px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pills-4 a:hover{border-color:var(--zhu);background:#fff;color:var(--zhu)}

/* ============ 行列表 ============ */
.lines{list-style:none}
.lines li{padding:9px 0;border-bottom:1px dashed var(--line-2);display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.lines .t{font-family:var(--title-font);font-size:17px}
.lines .m{font-size:13px;color:var(--ink-light)}
.lines .snip{font-size:13px;color:var(--ink-2);flex-basis:100%;line-height:1.7}

/* ============ 朝代占比条 ============ */
.dyn{list-style:none}
.dyn li{padding:9px 0;border-bottom:1px dashed var(--line-2)}
.dyn .hd{display:flex;justify-content:space-between;align-items:baseline;font-size:14px}
.dyn .hd a{font-family:var(--title-font);font-size:16px}
.dyn .ct{font-size:12px;color:var(--zhu)}
.dyn .bar{height:5px;background:var(--line-2);border-radius:3px;margin:6px 0 5px;overflow:hidden}
.dyn .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--zhu),#d0805f)}
.dyn .ps{font-size:12px;color:var(--ink-2);line-height:1.9}
.dyn .ps .sp{color:var(--line);margin:0 4px}

/* ============ 部首网格 / 索引条 ============ */
.bs-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.bs-grid a{display:flex;align-items:center;justify-content:center;gap:3px;padding:6px 2px;border:1px solid var(--line-2);background:#fffdf7;border-radius:3px}
.bs-grid a:hover{border-color:var(--zhu);background:#fff}
.bs-grid .b{font-family:var(--title-font);font-size:19px;color:var(--ink)}
.bs-grid .n{font-size:10px;color:var(--ink-light)}
.indexbar{display:flex;flex-wrap:wrap;gap:6px}
.indexbar a{padding:3px 9px;border:1px solid var(--line-2);background:#fffdf7;border-radius:3px;font-size:13px;color:var(--ink-2)}
.indexbar a:hover{border-color:var(--zhu);color:var(--zhu);background:#fff}
.indexbar a.on{border-color:var(--zhu);color:#fff;background:var(--zhu)}

/* ============ 概况统计 ============ */
.statlist{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}
.statlist li{display:flex;justify-content:space-between;padding:6px 10px;background:#fffdf7;border:1px solid var(--line-2);border-radius:3px;font-size:13px;color:var(--ink-2)}
.statlist b{color:var(--zhu);font-size:15px}

/* ============ 条目网格 ============ */
.list-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.list-grid a{display:block;padding:10px;border:1px solid var(--line-2);background:#fffdf7;border-radius:3px;text-align:center}
.list-grid a:hover{border-color:var(--zhu);background:#fff}
.list-grid .t{font-family:var(--title-font);font-size:15px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.list-grid-rich .d{font-size:12px;color:var(--ink-light);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ============ 详情页 ============ */
.art-head{background:var(--card);border:1px solid var(--line);border-radius:3px;padding:22px 24px 16px;margin-bottom:14px;text-align:center}
.art-head h1{font-family:var(--title-font);font-size:30px;letter-spacing:2px}
.art-head h1 small{font-size:16px;color:var(--ink-light);letter-spacing:0;margin-left:4px}
.art-head .ainfo{font-size:14px;color:var(--ink-2);margin-top:8px}
.art-head .ainfo a{margin:0 4px}
.art-head .mj-title{font-size:26px;line-height:1.7}
.tagmini{display:inline-block;font-family:var(--title-font);border:1px solid var(--zhu);color:var(--zhu);font-size:12px;padding:1px 7px;border-radius:3px;margin-left:6px}
.article{background:var(--card);border:1px solid var(--line);padding:30px 34px;border-radius:3px}
.article .sec-title{margin-top:26px}
.article .sec-title:first-child{margin-top:0}
.rich{font-size:16px;line-height:2.1;color:var(--ink)}
.rich p{margin-bottom:8px}
.rich br{line-height:2.4}
.poem-text{font-family:var(--title-font);font-size:21px;line-height:2.5;text-align:center;margin:16px 0 26px;padding:18px 10px;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:linear-gradient(180deg,rgba(239,231,214,.4),rgba(255,253,246,0))}
.poem-text p{margin-bottom:2px}
/* 正文命中的本篇名句：朱色内链，可点进名句页 */
.mjlink{color:var(--zhu);border-bottom:1px dotted rgba(176,58,46,.55)}
.mjlink:hover{background:var(--paper-deep);border-bottom-style:solid}

/* 拼音分字 */
.pinyin{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:12px 0 18px}
.pinyin span{padding:2px 10px;background:var(--paper-deep);border-radius:3px;font-size:14px;color:var(--qing)}

/* 大字典头图 */
.zd-hero{display:flex;flex-direction:column;align-items:center;padding:10px 0 18px}
.zd-char{font-family:var(--title-font);font-size:88px;line-height:1.1;color:var(--ink);
  background-image:linear-gradient(var(--line-2) 1px,transparent 1px),linear-gradient(90deg,var(--line-2) 1px,transparent 1px);
  background-size:100% 50%,50% 100%;background-position:center;background-repeat:no-repeat;
  width:150px;height:150px;display:flex;align-items:center;justify-content:center;border:2px solid var(--line);border-radius:4px}
.zd-py{font-size:18px;color:var(--zhu);margin-top:10px;letter-spacing:2px}

/* 标签条 */
.tagbar{margin:14px 0}
.tagbar ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.tagbar li{display:flex;align-items:center;gap:6px;padding:4px 12px;background:var(--paper-deep);border:1px solid var(--line-2);border-radius:14px;font-size:13px}
.tagbar li span{color:var(--ink-light);font-size:12px}
.tagbar li a{color:var(--ink)}

/* 键值表 */
.kv{border:1px solid var(--line-2);border-radius:3px;overflow:hidden;background:#fff}
.kv-row{display:flex;border-bottom:1px solid var(--line-2)}
.kv-row:last-child{border-bottom:none}
.kv-row dt{width:110px;flex-shrink:0;padding:9px 12px;background:var(--paper-deep);font-size:14px;color:var(--ink-2);border-right:1px solid var(--line-2)}
.kv-row dd{padding:9px 14px;font-size:15px;line-height:1.9;min-width:0;word-break:break-all}
.kv-row dd.words{display:flex;flex-wrap:wrap;gap:6px}
.wlink{padding:2px 9px;background:var(--paper-deep);border:1px solid var(--line-2);border-radius:12px;font-size:13px;color:var(--qing)}
.wlink:hover{border-color:var(--zhu);color:var(--zhu)}

/* 多栏容器 */
.row-cols{display:grid;grid-template-columns:var(--cols,1fr 1fr);gap:16px;align-items:start}
.row-col{min-width:0}

/* 作者卡 */
.author-card{display:flex;gap:16px;padding:16px;border:1px solid var(--line-2);background:linear-gradient(180deg,#fffdf7,#f6f0e2);border-radius:4px;margin-top:26px}
.au-av{width:60px;height:60px;flex-shrink:0;border-radius:50%;background:var(--qing);color:#f2ead8;font-family:var(--title-font);font-size:28px;display:flex;align-items:center;justify-content:center}
.au-body{min-width:0;flex:1}
.au-name{font-family:var(--title-font);font-size:20px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.au-meta{font-family:var(--body-font);font-size:12px;color:#fff;background:var(--zhu);padding:1px 8px;border-radius:10px}
.au-desc{font-size:14px;color:var(--ink-2);margin:8px 0;line-height:1.8}
.au-links{display:flex;gap:8px;flex-wrap:wrap}
.au-links a{font-size:13px;padding:3px 12px;border:1px solid var(--line);border-radius:14px;color:var(--qing);background:#fff}
.au-links a:hover{border-color:var(--zhu);color:var(--zhu)}

/* 作品列表 */
.work-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.work-item{display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:9px 12px;border:1px solid var(--line-2);background:#fffdf7;border-radius:3px}
.work-item:hover{border-color:var(--zhu);background:#fff}
.work-item .wt{font-family:var(--title-font);font-size:15px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.work-item .wm{font-size:12px;color:var(--ink-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 名句列表 */
.mj-list{list-style:none}
.mj-list li{padding:8px 0;border-bottom:1px dashed var(--line-2);font-family:var(--title-font);font-size:16px;line-height:1.9}
.mj-from{font-family:var(--body-font);font-size:12px;color:var(--ink-light);margin-left:8px}

/* 章节目录 */
.chap-list{list-style:none;columns:3;column-gap:22px}
.chap-list li{padding:6px 0;border-bottom:1px dashed var(--line-2);font-size:14px;break-inside:avoid}
@media(max-width:860px){.chap-list{columns:2}}

/* 名句出处原诗 */
.src-poem{padding:16px 20px;border:1px solid var(--line-2);background:linear-gradient(180deg,#fffdf7,#f7f1e2);border-radius:4px}
.src-poem h3{font-family:var(--title-font);font-size:20px;margin-bottom:6px}
.src-meta{font-size:13px;color:var(--ink-2);margin-bottom:10px}
.src-more{margin-top:12px;font-size:14px}

/* 字义分解 */
.zifen{display:flex;flex-wrap:wrap;gap:10px}
.zibox{display:flex;flex-direction:column;align-items:center;width:66px;padding:8px 0;border:1px solid var(--line-2);background:#fffdf7;border-radius:4px}
.zibox:hover{border-color:var(--zhu);background:#fff}
.zibox .zi{font-family:var(--title-font);font-size:30px;line-height:1.2;color:var(--ink)}
.zibox .py{font-size:11px;color:var(--ink-light)}

/* 上下篇 */
.prevnext{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:28px;padding-top:16px;border-top:1px dashed var(--line);font-size:14px;color:var(--ink-2)}

/* 搜索结果 */
.snip{font-size:13px;color:var(--ink-2)}
mark{background:#ffe9a8;color:var(--zhu)}

/* ============ 页脚 ============ */
.footer{margin-top:44px;border-top:3px double var(--line);padding:24px 0 40px;color:var(--ink-light);font-size:13px}
.footer .links a{margin-right:16px}

/* ============ 搜索框 ============ */
.searchbox{display:flex;gap:10px;margin:12px 0 0}
.searchbox input{flex:1;padding:10px 14px;border:1px solid var(--line);background:#fffdf6;font-size:15px;border-radius:2px;max-width:520px}
.searchbox button{background:var(--zhu);color:#fff;border:none;padding:0 26px;font-family:var(--title-font);font-size:16px;cursor:pointer;border-radius:2px}

/* ============ 响应式 ============ */
@media(max-width:1000px){
  .cols{grid-template-columns:minmax(0,1fr)}
  .side{position:static}
  .grid-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ziwall{grid-template-columns:repeat(6,minmax(0,1fr))}
  .pills,.list-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .work-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .row-cols{grid-template-columns:minmax(0,1fr) !important}
}
@media(max-width:860px){
  .cards{grid-template-columns:minmax(0,1fr)}
  .bookmark{display:none}
  .header h1{letter-spacing:6px;font-size:30px}
  .article{padding:20px}
  .art-head h1{font-size:24px}
  .zd-char{font-size:66px;width:110px;height:110px}
  .pills,.pills-4,.list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bs-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .rank-2col{grid-template-columns:minmax(0,1fr)}
  .kv-row{flex-direction:column}
  .kv-row dt{width:auto;border-right:none;border-bottom:1px solid var(--line-2)}
  .author-card{flex-direction:column}
}

/* ============ 二十四节气 ============ */
.jq-now{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:16px}
.jq-now>div{background:linear-gradient(180deg,#fffdf7,#f5eeda);border:1px solid var(--line);border-radius:3px;padding:14px 18px}
.jq-now .lb{display:block;font-size:12px;color:var(--ink-light);letter-spacing:2px}
.jq-now .big{font-family:var(--title-font);font-size:30px;color:var(--zhu);letter-spacing:4px;margin-right:10px}
.jq-now .nl,.jq-now .at{font-size:13px;color:var(--ink-2)}
.jq-now .at b{color:var(--zhu);font-size:16px}

.jq-quicknav{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.jq-quicknav a{padding:5px 10px;border:1px solid var(--line-2);background:#fffdf7;border-radius:2px;font-family:var(--title-font);font-size:15px;color:var(--ink)}
.jq-quicknav a:hover{border-color:var(--zhu);color:var(--zhu);background:#fff}
.jq-quicknav a.on{background:var(--zhu);color:#fff;border-color:var(--zhu)}

.jq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.jq-card{display:flex;flex-direction:column;padding:14px 16px;border:1px solid var(--line-2);border-radius:3px;background:#fffdf7;position:relative;overflow:hidden}
.jq-card:hover{border-color:var(--zhu);background:#fff;transform:translateY(-1px)}
.jq-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--qing)}
.jq-card.s-春::before{background:#5b8c5a}
.jq-card.s-夏::before{background:#c0392b}
.jq-card.s-秋::before{background:#b8860b}
.jq-card.s-冬::before{background:#2f4858}
.jq-card .jq-name{font-family:var(--title-font);font-size:24px;letter-spacing:4px;color:var(--ink)}
.jq-card .jq-en{font-size:11px;color:var(--ink-light);letter-spacing:1px;margin-bottom:6px}
.jq-card .jq-at{font-size:14px;color:var(--zhu)}
.jq-card .jq-nl{font-size:13px;color:var(--ink-2)}
.jq-card .jq-hou1{font-size:12px;color:var(--ink-light);margin-top:4px}

.jq-table-wrap{overflow-x:auto}
.jq-table{width:100%;border-collapse:collapse;font-size:14px;min-width:720px}
.jq-table th,.jq-table td{border:1px solid var(--line-2);padding:8px 10px;text-align:left}
.jq-table thead th{background:var(--paper-deep);font-family:var(--title-font);font-weight:400;font-size:14px;white-space:nowrap}
.jq-table tbody tr:nth-child(even){background:#fdfbf4}
.jq-table .td-name{font-family:var(--title-font);font-size:16px}
.jq-table .td-en{color:var(--ink-light)}
.jq-table .td-hou{color:var(--ink-2)}
.jq-table tr.tr-on{background:#fdf1e6}

.jq-ge{background:var(--paper-deep);border-left:4px solid var(--zhu);padding:14px 18px;border-radius:2px}
.jq-ge p{font-family:var(--title-font);font-size:19px;line-height:2.1;letter-spacing:3px;color:var(--ink)}

.jq-hou-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.jq-hou-card{border:1px solid var(--line-2);border-radius:3px;padding:12px 14px;background:#fffdf7}
.jq-hou-card .ht{font-family:var(--title-font);font-size:18px;color:var(--qing);letter-spacing:2px}
.jq-hou-card ol{list-style:none;margin-top:6px}
.jq-hou-card li{font-size:13px;line-height:1.9;color:var(--ink-2);padding-left:12px;position:relative}
.jq-hou-card li::before{content:"·";position:absolute;left:2px;color:var(--zhu)}
.jq-hou-card li b{color:var(--ink);font-weight:600}

.jq-hero{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;background:linear-gradient(135deg,#fffdf6,#f3ecda);border:1px solid var(--line);border-radius:4px;padding:24px 26px;margin-bottom:16px}
.jq-hero-name{font-family:var(--title-font);font-size:52px;letter-spacing:12px;color:var(--ink);line-height:1.2}
.jq-hero-sub{margin-top:8px;display:flex;flex-wrap:wrap;gap:14px;font-size:14px;color:var(--ink-2)}
.jq-hero-sub .en{color:var(--qing);letter-spacing:1px}
.jq-hero-sub .solar{color:var(--zhu)}

.jq-yearbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.jq-yearbar .lb{font-size:13px;color:var(--ink-light);margin-right:4px}
.jq-yearbar a{padding:4px 12px;border:1px solid var(--line-2);background:#fffdf7;border-radius:2px;font-size:14px}
.jq-yearbar a:hover{border-color:var(--zhu);color:var(--zhu)}
.jq-yearbar a.on{background:var(--zhu);color:#fff;border-color:var(--zhu)}

.jq-houlist{list-style:none;counter-reset:hou}
.jq-houlist li{display:flex;gap:12px;padding:9px 12px;border:1px solid var(--line-2);background:#fffdf7;border-radius:3px;margin-bottom:8px}
.jq-houlist .hn{flex-shrink:0;width:150px;font-family:var(--title-font);color:var(--zhu);font-size:15px}
.jq-houlist .hd{font-size:14px;color:var(--ink-2);line-height:1.9}

.jq-plain{list-style:none}
.jq-plain li{padding:8px 12px 8px 26px;border-bottom:1px dashed var(--line-2);font-size:15px;line-height:1.95;color:var(--ink-2);position:relative}
.jq-plain li::before{content:"◆";position:absolute;left:8px;color:var(--zhu);font-size:11px;top:12px}
.jq-plain li:last-child{border-bottom:none}
.jq-plain li b{color:var(--ink)}

@media(max-width:860px){
  .jq-now{grid-template-columns:minmax(0,1fr)}
  .jq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jq-hou-grid{grid-template-columns:minmax(0,1fr)}
  .jq-hero{grid-template-columns:minmax(0,1fr);padding:18px}
  .jq-hero-name{font-size:38px;letter-spacing:6px}
  .jq-houlist li{flex-direction:column;gap:2px}
  .jq-houlist .hn{width:auto}
}

/* ============ 百家姓 ============ */
.bjx-rank{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.bjx-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line-2);background:#fffdf7;border-radius:3px}
.bjx-item:hover{border-color:var(--zhu);background:#fff}
.bjx-item .no{flex-shrink:0;width:30px;height:30px;line-height:28px;text-align:center;border-radius:50%;background:var(--paper-deep);color:var(--ink-2);font-size:12px;border:1px solid var(--line)}
.bjx-item .xm{font-family:var(--title-font);font-size:22px;color:var(--ink);letter-spacing:2px}
.bjx-item .py{font-size:11px;color:var(--ink-light)}
.bjx-item.top5 .no{background:var(--zhu);color:#fff;border-color:var(--zhu)}
.bjx-item.top5 .xm{color:var(--zhu)}
.bjx-all{display:flex;flex-wrap:wrap;gap:6px;line-height:1.6}
.bjx-all a{display:inline-flex;align-items:baseline;gap:4px;padding:4px 8px;border:1px solid var(--line-2);background:#fffdf7;border-radius:2px}
.bjx-all a:hover{border-color:var(--zhu);background:#fff}
.bjx-all .xm{font-family:var(--title-font);font-size:18px;color:var(--ink)}
.bjx-all .py{font-size:10px;color:var(--ink-light)}
.bjx-pager{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.bjx-pager a{padding:4px 12px;border:1px solid var(--line-2);background:#fffdf7;border-radius:2px;font-size:13px}
.bjx-pager a:hover{border-color:var(--zhu);color:var(--zhu)}
.bjx-pager a.on{background:var(--zhu);color:#fff;border-color:var(--zhu)}
.statlist li a{display:flex;justify-content:space-between;align-items:center;width:100%;color:inherit;gap:10px}
.statlist li a:hover{color:var(--zhu)}
.statlist li a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:860px){
  .bjx-rank{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ============ 内容页双栏与侧栏 ============ */
.layout-two{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.col-main{min-width:0}
.col-side{position:sticky;top:14px;display:flex;flex-direction:column;gap:14px}
.side-box{background:var(--card);border:1px solid var(--line);border-radius:3px;padding:14px 16px;box-shadow:0 1px 3px rgba(60,50,30,.05)}
.side-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid var(--paper-deep);font-family:var(--title-font);font-size:16px;font-weight:400;letter-spacing:1px;color:var(--ink)}
.side-title .more{font-family:var(--body-font);font-size:12px;color:var(--ink-light)}
.side-title .more:hover{color:var(--zhu)}
.side-list,.side-nav{list-style:none}
.side-list li,.side-nav li{border-bottom:1px dashed var(--line-2)}
.side-list li:last-child,.side-nav li:last-child{border-bottom:none}
.side-list a,.side-nav a{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:6px 0;font-size:14px;color:var(--ink-2);line-height:1.7}
.side-list a:hover,.side-nav a:hover{color:var(--zhu)}
.side-list a .tx,.side-nav a .tx{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-list a .nt,.side-nav a .nt{flex-shrink:0;font-size:11px;color:var(--ink-light)}
.side-nav a .tx{font-family:var(--title-font);font-size:15px;color:var(--ink)}
.side-pills{display:flex;flex-wrap:wrap;gap:6px}
.side-pills a{padding:4px 9px;border:1px solid var(--line-2);background:#fffdf7;border-radius:2px;font-size:14px;color:var(--ink-2)}
.side-pills a:hover{border-color:var(--zhu);color:var(--zhu);background:#fff}
.side-pills.side-pills-big a,.side-box.side-zi .side-pills a{font-family:var(--title-font);font-size:19px;padding:3px 9px}
.side-rank{list-style:none;counter-reset:sr}
.side-rank li{border-bottom:1px dashed var(--line-2)}
.side-rank li:last-child{border-bottom:none}
.side-rank a{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;color:var(--ink-2)}
.side-rank a:hover{color:var(--zhu)}
.side-rank .no{flex-shrink:0;width:20px;height:20px;line-height:19px;text-align:center;border-radius:2px;background:var(--paper-deep);color:var(--ink-light);font-size:11px}
.side-rank li.top .no{background:var(--zhu);color:#fff}
.side-rank .tx{font-family:var(--title-font);font-size:17px;color:var(--ink)}
.side-rank .nt{margin-left:auto;font-size:11px;color:var(--ink-light)}

@media(max-width:980px){
  .layout-two{grid-template-columns:minmax(0,1fr)}
  .col-side{position:static}
}

/* ============ 长文折叠 / 表格 / 古文正文 ============ */
.fold{margin-top:6px}
.fold>summary{cursor:pointer;display:inline-block;padding:5px 14px;border:1px solid var(--line-2);background:var(--paper-deep);border-radius:2px;font-size:14px;color:var(--zhu);user-select:none}
.fold>summary:hover{border-color:var(--zhu);background:#fff}
.fold[open]>summary{margin-bottom:8px}
.fold-body{font-size:16px;line-height:2.1;color:var(--ink)}
.fold-body p{margin-bottom:8px}

.tbl{width:100%;border-collapse:collapse;font-size:14px;margin:6px 0 10px}
.tbl thead th{background:var(--paper-deep);font-weight:400;font-family:var(--title-font);font-size:14px;padding:7px 10px;border:1px solid var(--line-2);white-space:nowrap}
.tbl tbody td{padding:7px 10px;border:1px solid var(--line-2);text-align:center;color:var(--ink-2)}
.tbl tbody tr:nth-child(even){background:#fdfbf4}

.guwen{font-family:var(--title-font);font-size:18px;line-height:2.3;color:var(--ink);letter-spacing:1px;text-align:justify}
.guwen p{margin-bottom:12px;text-indent:0}

@media(max-width:860px){
  .guwen{font-size:17px;line-height:2.1}
  .tbl{font-size:13px}
}

/* ============ 索引格：重点突出、数量弱化 ============ */
.bs-grid a{flex-direction:column;gap:0;padding:9px 3px 8px}
.bs-grid .w{font-family:var(--title-font);font-size:21px;line-height:1.25;color:var(--ink);letter-spacing:1px;white-space:nowrap}
.bs-grid .c{font-size:10px;line-height:1.5;color:var(--ink-light);opacity:.65;white-space:nowrap;transform:scale(.96)}
.bs-grid a:hover .w{color:var(--zhu)}
.bs-grid a:hover .c{opacity:.9;color:var(--zhu)}
.bs-grid .b{font-family:var(--title-font);font-size:20px;line-height:1.25;color:var(--ink)}
.bs-grid .n{font-size:10px;line-height:1.5;color:var(--ink-light);opacity:.65}

/* ============ 侧栏栏目导航（两列，不截断） ============ */
.pills-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.pills-2 a{display:flex;align-items:center;justify-content:center;padding:8px 6px;border:1px solid var(--line-2);background:#fffdf7;border-radius:3px;font-size:14px;color:var(--ink-2);text-align:center;line-height:1.3}
.pills-2 a:hover{border-color:var(--zhu);color:var(--zhu);background:#fff}
.pills-2 a.cur{border-color:var(--zhu);color:var(--zhu);background:#fffdf7;font-weight:600}

/* ============ 节气当前项高亮 ============ */
.jq-card.on{border-color:var(--zhu);background:#fff;box-shadow:0 2px 8px rgba(150,50,40,.12)}
.jq-card.on .jq-name{color:var(--zhu)}
.jq-nowtag{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:2px;background:var(--zhu);color:#fff;font-family:var(--body-font);font-size:11px;font-style:normal;letter-spacing:1px;vertical-align:middle}

/* ============ 防溢出兜底：长标题不再撑破栅格 / 越界到侧栏 ============ */
.wrap,.col-main,.col-side,.article,.main-col,.side{min-width:0}
.work-item,.row-cols>*,.grid-nav a,.pills li,.pills-4 a,.list-grid a,.bs-grid a,.ziwall a,
.statlist li,.rank-2col>*,.jq-grid>*,.jq-hou-grid>*,.bjx-rank a,.bjx-rank li,.cards>*,.lines li{min-width:0}
.article{overflow:hidden}
.article p,.article li,.article dd,.article td,.article th{overflow-wrap:anywhere}
.mj-list a{overflow-wrap:anywhere}
.lines .t{overflow-wrap:anywhere}

/* ============ 搜索页 ============ */
.s-hero{background:var(--card);border:1px solid var(--line);border-radius:3px;padding:18px 22px;margin-bottom:14px;box-shadow:0 1px 3px rgba(60,50,30,.05)}
.s-form{display:flex;gap:8px;align-items:stretch}
.s-form input{flex:1 1 auto;min-width:0;height:42px;padding:0 14px;font-size:16px;font-family:var(--body-font);color:var(--ink);background:#fffdf7;border:1px solid var(--line-2);border-radius:3px;outline:none}
.s-form input:focus{border-color:var(--zhu);background:#fff}
.s-form button{flex:0 0 auto;padding:0 26px;height:42px;font-size:15px;letter-spacing:2px;color:#fff;background:var(--zhu);border:none;border-radius:3px;cursor:pointer;font-family:var(--title-font)}
.s-form button:hover{filter:brightness(1.06)}
.s-tip{margin-top:10px;font-size:12px;color:var(--ink-light);line-height:1.8}
.s-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.s-tabs a{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border:1px solid var(--line-2);background:var(--card);border-radius:16px;font-size:14px;color:var(--ink-2)}
.s-tabs a:hover{border-color:var(--zhu);color:var(--zhu)}
.s-tabs a i{font-style:normal;font-size:11px;color:var(--ink-light);background:var(--paper-deep);border-radius:8px;padding:1px 6px}
.s-tabs a.on{background:var(--zhu);border-color:var(--zhu);color:#fff}
.s-tabs a.on i{background:rgba(255,255,255,.25);color:#fff}
.s-tabs a.zero{opacity:.5}
.s-sum{margin:0 0 14px;font-size:14px;color:var(--ink-2)}
.s-sum b{color:var(--zhu);font-weight:600}
.s-cost{margin-left:8px;font-size:12px;color:var(--ink-light)}
mark{background:#fdeee2;color:var(--zhu);padding:0 1px;border-radius:2px}
.s-empty{background:var(--card);border:1px solid var(--line);border-radius:3px;padding:26px 22px;text-align:center}
.s-empty-t{font-family:var(--title-font);font-size:19px;margin-bottom:8px}
.s-empty-t b{color:var(--zhu)}
.s-empty-d{font-size:13px;color:var(--ink-light)}
.s-pager{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;margin:6px 0 20px}
.s-pager a{padding:5px 12px;border:1px solid var(--line-2);background:#fffdf7;border-radius:2px;font-size:13px;color:var(--ink-2)}
.s-pager a:hover{border-color:var(--zhu);color:var(--zhu)}
.s-pager a.on{background:var(--zhu);border-color:var(--zhu);color:#fff}
.s-pager .gap{color:var(--ink-light);font-size:13px}
.side-pills a.tag{font-family:var(--title-font);font-size:15px}
@media(max-width:640px){.s-form{flex-direction:column}.s-form button{width:100%}}
