/* ===== 天纪排盘 · WordPress 版样式 =====
   排盘应用样式由原 index.html 设计令牌体系适配而来; 站点页面样式 (门禁/登录/论坛/BUG) 同套令牌。 */
:root {
  --bg:#f5f0e6; --cell:#fffdf5; --card:#fdf8ec; --head:#f3ecdd; --head-hover:#f7efdd;
  --gold:#8a6d3b; --gold-deep:#7a5c30; --gold-hover:#9c7b45; --line:#b89b6a;
  --gold-border:#c9b18a; --line-soft:#e0d5c0; --brown-deep:#5a4322; --welcome-deep:#6f5228;
  --red:#b03030; --red-deep:#963b3b; --red-hover:#d04545; --red-soft:rgba(176,48,48,.45);
  --purple:#6a4fa3; --blue-gz:#1a5276; --blue-god:#2c5f8a; --green:#1e7e34;
  --ink:#333; --ink-strong:#222; --ink-black:#000; --gray:#666; --hint:#707070;
  --font-ui:"宋体","SimSun","NSimSun","Microsoft YaHei",serif;
  --font-gz:"宋体","SimSun","NSimSun",serif; --font-mono:Consolas,monospace;
  --font-sym:"Segoe UI Symbol","Noto Sans Symbols 2","Noto Sans Symbols","Apple Symbols",serif;
  --fs-11:11px; --fs-12:12px; --fs-13:13px; --fs-14:14px; --fs-15:15px; --fs-16:16px; --fs-17:17px; --fs-19:19px;
  --chartW:900px; --chartPad:25px;   /* 盘面900宽; v2.4.26 chartPad 10→25px: 网页(白色页面)两边各加宽15px, #tjpaipan 920→950 (2026-09-01 用户指定), 盘面本身仍 900 居中 */
}

/* ================= 排盘应用页 ================= */
#tjpaipan { font-family:var(--font-ui); color:var(--ink); margin:0 auto; width:calc(var(--chartW) + var(--chartPad)*2); max-width:100%; }
#tjpaipan * { box-sizing:border-box; }
#tjpaipan :focus-visible { outline:2px solid var(--red); outline-offset:1px; }

#tjToolbar { max-width:calc(var(--chartW) + var(--chartPad)*2); margin:0 auto; display:flex; align-items:center; gap:16px; font-size:var(--fs-13); padding:8px 0; flex-wrap:wrap; }
#tjToolbar a { color:var(--gold-deep); text-decoration:none; letter-spacing:1px; }
#tjToolbar a:hover { color:var(--red); text-decoration:underline; }
#tjToolbar .tj-tool-user { margin-left:auto; color:var(--gray); }

.tj-app-head { max-width:calc(var(--chartW) + var(--chartPad)*2); margin:0 auto; text-align:center; padding:6px 0 4px; }
.tj-app-head h1 { font-size:30px; letter-spacing:6px; font-weight:bold; color:var(--gold-deep); margin:0;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.tj-app-head .tj-tag { font-size:var(--fs-13); letter-spacing:2px; font-weight:normal; opacity:.8; margin-left:10px; color:var(--gold); }

#inputBar { background:#fff; padding:10px 8px; border-bottom:2px solid var(--line); display:flex; flex-direction:column; align-items:center; }   /* 左右留白 20→8px (2026-09-01 用户指定); v2.4.11 改纵向列以容纳标题行 */
#tjTitle { width:100%; text-align:center; font-size:46px; font-weight:bold; line-height:1.25; color:#000; background:#fff;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}   /* 排盘标题: 46px 加粗居中黑色白底 (2026-09-01 用户指定, 48→46) */
#tjTitle .tj-sub { display:block; font-size:16px; font-weight:normal; letter-spacing:4px; color:#555; margin-top:2px; }   /* 四柱命卦页小标题「易经推命」 (2026-09-01 用户指定) */
#tjTitle::after { content:''; display:block; height:15px; margin:5px 8px 0; background:var(--bg); }   /* 标题与输入行之间: 5px 白底间距 + 15px 页面最底背景色带(米色#f5f0e6), 带两端各留 8px 白边 (2026-09-01 用户指定) */
#inputRow { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:15px; width:100%; position:relative; }   /* v2.4.25 阳历/阴历: 组间距固定15px+左聚(用户指定「框和字的间距保持15px」), 按钮由 #btnGroup margin-left:auto 压行尾——space-between 在真实字体下会换行且间隙不可控; position:relative 为 errMsg 锚点 */
#inputBar .pair { display:inline-flex; align-items:center; gap:5px; flex:none; }   /* 字与输入框间距 5px (2026-09-01 用户指定) */
#solarBox, #lunarBox { display:inline-flex; align-items:center; gap:5px; }   /* 年/月/日单位字与框间距 5px (文字节点成匿名弹性项, 首尾空白被裁) */
#btnGroup { display:flex; flex-wrap:nowrap; align-items:center; gap:6px; white-space:nowrap; margin-left:auto; margin-right:0; position:relative; }   /* v2.4.25 margin-left:auto: 行内富余空间全留在按钮前, 按钮恒定行尾 (2026-09-01); position:relative 为 errMsg 锚点 */
#inputRow.bz-mode #btnGroup { margin-left:12px; margin-right:0; }
#inputRow.bz-mode #inputBar button, #inputRow.bz-mode button { padding:5px 12px; }
#inputRow.bz-mode #btnCalc { margin-left:0; margin-right:0; }
#inName { width:64px; }
#inGender { width:48px; padding-left:2px; padding-right:2px; }
#inCal { width:70px; padding-left:2px; padding-right:2px; }   /* v2.4.27 历法框 66→70px (用户指定 +4) */
#errMsg { display:none; }   /* 旧的内联报错文字已废弃(v2.4.4): 报错改为弹窗 #tjErrMask */
/* 排盘输入错误弹窗: 点开始排盘校验不合规时显示具体原因, 点按钮/遮罩/Esc 关闭 (2026-09-01 用户指定) */
#tjErrMask { position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:9999; display:none; align-items:center; justify-content:center; }
#tjErrMask.tj-on { display:flex; }
#tjErrBox { background:var(--card); border:2px solid var(--gold-border); border-radius:8px; padding:24px 34px; max-width:440px; text-align:center; box-shadow:0 12px 40px rgba(0,0,0,.28); }
#tjErrTitle { color:var(--red); font-weight:bold; font-size:var(--fs-16); margin-bottom:10px;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
#tjErrMsg { color:var(--ink); font-size:var(--fs-14); line-height:1.8; }
#tjErrBtn { margin-top:16px; padding:6px 26px; background:var(--gold); color:#fff; border:none; border-radius:4px; cursor:pointer; font-size:var(--fs-14); }
#tjErrBtn:hover { background:var(--gold-hover); }
#inputBar label { font-size:var(--fs-14); color:var(--gold); }
#inputBar input, #inputBar select { font-size:calc(var(--fs-14) + 1px); font-weight:bold; padding:4px 6px; border:2px solid var(--gold-border); border-radius:3px; background:var(--cell);  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}   /* 边框 1→2px 用户指定加粗 (2026-09-01); v2.4.22 框内字号 14→15px 并加粗 (2026-09-01 用户指定) */
#inName,#inYear,#lnYear { width:72px; }   /* v2.4.26 再收 76→72px: 网页加宽+15/侧后仍需给真实宋体留 30px+ 余量保证按钮单行 (4位年实需46px/三字名实需61px, 72px 足够) */
#dateBox select#inMonth, #dateBox select#inDay, #dateBox select#lnMonth, #dateBox select#lnDay { width:80px; }   /* v2.4.19 统一月日下拉; v2.4.22 72→80px: 框内改15px加粗后三字闰月标签(约45px)需更宽才不裁切 */
#dateBox select { width:auto; }   /* Astra 全局 select{width:100%} 会把月/日下拉撑成整行宽, 日期组内恢复固有宽度 */
#dateBox input, #dateBox select { flex:none; }   /* 嵌套 flex 收缩链会把 inYear 90px 压回 66, 日期内部控件禁止收缩 */
#inGender { min-width:54px; } #inCal { min-width:70px; }   /* v2.4.27 历法 66→70 (性别 54 不变) */
#inputBar select#inHour { padding-left:2px; padding-right:2px; }   /* v2.4.26 时辰下拉侧边距 6→2px(省8px帮按钮单行); 必须双 ID 特异性(1,1,1)压过 #inputBar select 的 padding:4px 6px(1,0,1)——单 ID 规则(如上面 #inGender 的 2px)会被静默覆盖, 实测 computed 仍 6px */
#inputRow.bz-mode #inGender { min-width:80px; }   /* v2.4.22 八字界面性别框再拉宽20px (60→80) */
#inputRow.bz-mode { justify-content:flex-start; gap:10px; }   /* v2.4.23 八字界面组间距固定10px: space-between会把富余空间摊成~35px大间隙, 性别前后无法精确10px; 改左聚+固定间距 */
/* v2.4.27 阳历/阴历: 性别/历法/时辰三组前间距 15→13px (用户指定 -2px)——flex gap 只能整行统一, 用负左边距在 15px gap 上局部 -2; :not(.bz-mode) 限定, 八字 10px 间距不受影响 */
#inputRow:not(.bz-mode) .pair-gender, #inputRow:not(.bz-mode) .pair-cal, #inputRow:not(.bz-mode) #hourBox { margin-left:-2px; }
#inputRow.bz-mode #btnGroup { margin-left:auto; margin-right:30px; gap:16px; }   /* v2.4.23 按钮压行尾; v2.4.24 重置↔排盘间距 6→16px(+10) 且按钮组整体左移30px (2026-09-01 用户指定) */
#inputBar button { font-size:var(--fs-14); padding:5px 18px; background:var(--gold); color:#fff; border:none; border-radius:4px; cursor:pointer; }
#inputBar button:hover { background:var(--gold-hover); }

#main { padding:0; }
#chartArea { padding:var(--chartPad); overflow:visible; position:relative; }
#chartGrid { display:grid; grid-template-columns:repeat(4, 1fr); grid-template-rows:repeat(4, 1fr); gap:4px; width:var(--chartW); height:var(--chartW); position:relative; margin:0 auto; }
/* 盘面文字整体 +1px (2026-09-01 用户指定): 仅在盘面内重定义字号令牌, 站头/表单/弹窗不受影响 */
#chartGrid { --fs-11:12px; --fs-12:13px; --fs-13:14px; --fs-14:15px; --fs-15:16px; --fs-16:17px; --fs-19:20px; font-size:17px; }
#chartGrid .ccFive .thisYear { font-size:13px; }   /* 盘面内 (今年) 标签 11→13px (2026-09-01 用户指定) */
#sfOverlay { position:absolute; left:0; top:0; pointer-events:none; z-index:5; }
#sfOverlay line { stroke:var(--red); stroke-width:1.2; stroke-dasharray:7 5; }
.navBtn { font-size:var(--fs-13); padding:5px 12px; background:var(--gold); color:#fff; border:none; border-radius:4px; cursor:pointer; }
.navBtn:hover { background:var(--gold-hover); }
.navBtn.on, .navBtn.on:hover { background:var(--red); }
.palace { border:2px solid var(--line); background:var(--cell); border-radius:4px; padding:4px 6px 2px; display:flex; flex-direction:column; overflow:hidden; position:relative; }
.palace.ming { border-color:var(--red); box-shadow:inset 0 0 0 1px var(--red); }
.palace.sfHead { box-shadow:inset 0 0 0 2px var(--red); }
.palace.sfSide { box-shadow:inset 0 0 0 2px var(--red-soft); }
#chartGrid.hideInfo .ccRow, #chartGrid.hideInfo .ccGua, #chartGrid.hideInfo .ccFive { visibility:hidden; }
#dateBox { flex:none; }   /* auto→none: 嵌套 flex 收缩链把 inYear 的 90px 压回 66, 整组日期禁止压缩 (2026-09-01) */
#hourBox { display:flex; align-items:center; gap:5px; flex:none; }   /* 时辰标签与选择框强制同排, 间距5px统一 (2026-09-01 用户指定) */
#dateBox > span { display:flex; justify-content:flex-start; align-items:center; gap:6px; }
.pTop { display:flex; align-items:flex-start; }
.pStars { flex:1; display:flex; flex-wrap:wrap; gap:2px 6px; align-content:flex-start; }
.vstar { display:inline-block; text-align:center; font-size:calc(var(--fs-14) + 1px); font-weight:bold; line-height:1.18; color:var(--ink);  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}   /* 星名+加粗; v2.4.10 用户要求 -1px (渲染 17→16px) */
.pRight { flex:none; min-width:36px; text-align:right; font-size:var(--fs-13); color:var(--gray); line-height:1.55; padding-left:4px; margin-left:4px; }
.vstar i.mw { font-style:normal; color:var(--hint); font-size:calc(var(--fs-11) + 1px); }   /* 明暗; v2.4.10 用户要求 -1px (渲染 14→13px) */
.vstar .huamark { color:var(--red); font-size:calc(var(--fs-13) + 4px); }   /* 禄权科忌 13→17px (2026-09-01 用户指定) */
.pCycle { font-size:calc(var(--fs-12) - 1px); color:#444;   /* 流年/小限; v2.4.10 用户要求 -1px (渲染 13→12px) */ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:1px; }
.pCycleRow { position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); }
.pCycles { width:128px; max-width:100%; margin:0 auto; text-align:left; }
.shenTag { border:1px solid var(--red); padding:0 2px; font-size:var(--fs-14); line-height:1.25; color:var(--red); }   /* 身宫标识: 改挂 pGZ 内、干支正上方 (2026-09-01 用户指定), 原为宫格右缘中部绝对定位 */
.pDaxian { font-size:var(--fs-13); color:var(--ink-black); text-align:center; }
.pBottom { display:flex; align-items:flex-end; padding-bottom:1px; margin-top:auto; }
.pNameCol { flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; }
.pLeftStack { display:flex; flex-direction:column; align-items:flex-start; font-size:var(--fs-11); line-height:1.3; }
.pLeftStack .nz { color:var(--red-deep); opacity:.85; }
.pLeftStack .boGod { color:var(--purple); }
.pLeftStack .csGod { color:var(--blue-god); }
.pGong { flex:1; text-align:center; font-size:var(--fs-16); font-weight:bold; color:var(--red); letter-spacing:3px;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.pGZ { flex:none; display:flex; flex-direction:column; align-items:flex-end; gap:1px; text-align:right; font-size:var(--fs-14); color:var(--blue-gz); letter-spacing:2px; font-family:var(--font-gz); }   /* 纵向列: 身宫标识在干支正上方, 右对齐 (2026-09-01) */
.centerCard { grid-row:2 / 4; grid-column:2 / 4; border:2px solid var(--line); background:var(--card); border-radius:4px; padding:14px 18px; font-size:var(--fs-13); line-height:1.9; position:relative; }
.centerCard .ccName { font-size:var(--fs-19); font-weight:bold; color:var(--gold-deep); margin-bottom:6px;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.centerCard .ccName span { font-size:16px; color:var(--gray); font-weight:normal; margin-left:8px; }   /* 「男 · 虚岁n」13→16px (2026-09-01 用户指定) */
.centerCard .ccRow { font-size:16px; }   /* 阳历/农历等信息行 13→16px (2026-09-01 用户指定) */
.centerCard .ccRow b { color:var(--red); }
.centerCard .ccGua { color:var(--purple); font-size:var(--fs-15); font-weight:700 !important;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}   /* 先天卦/后天卦 标签+内容 全加粗 (2026-09-01 用户指定) */
.centerCard .ccSizhu { font-size:var(--fs-15); }
.centerCard .rng { color:var(--red); font-weight:bold; margin-left:2px;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.ccFive { margin-top:8px; padding-top:6px; border-top:1px solid var(--line-soft); font-size:14px; color:var(--red); font-weight:bold; display:grid; grid-template-columns:repeat(5,1fr); text-align:center;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}   /* 年份/卦名/岁数列 12→14px (2026-09-01 用户指定) */
.ccFive .cfC { color:var(--red); }
.ccFive .cfY { color:var(--red); white-space:nowrap; }
.ccFive .cfA { color:var(--red); }
.ccFive .thisYear { display:inline; color:var(--ink-black); font-weight:normal; font-size:12px; }   /* 10→12px (2026-09-01 用户指定) */
.centerCard .ccGua b { color:var(--purple); }
.centerCard .ccHua { color:var(--red); font-size:var(--fs-15); }
/* 中宫内容整体撑满卡片: 横向拉宽(减侧边距+按钮加宽) + 纵向间距平均拉高 (2026-09-01 用户指定) */
#chartGrid .centerCard { padding:16px 10px; line-height:2.3; }
#chartGrid .centerCard .ccName { margin-bottom:16px; }
#chartGrid .centerCard .ccFive { margin-top:22px; padding-top:12px; }
#chartGrid #navBtns { top:16px; right:10px; gap:16px; }
#chartGrid #navBtns .navBtn { min-width:106px; }
.rpT { width:100%; border-collapse:collapse; font-size:var(--fs-13); margin-top:6px; }
.rpT th, .rpT td { border:1px solid var(--line-soft); padding:4px 8px; text-align:center; white-space:nowrap; }
.rpT th { background:var(--head); color:var(--gold); }
.rpTitle { font-size:var(--fs-15); font-weight:bold; color:var(--gold-deep); margin-top:12px;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.rpTitle .guaPop { color:var(--purple); }
.rpNote { font-size:var(--fs-11); color:var(--hint); margin-top:6px; }
#paipanDate { font-size:var(--fs-13); color:var(--gray); padding:6px 2px; text-align:right; width:var(--chartW); margin:6px auto 0; }   /* 盘面日期行 12→13 (+1) */
.bzCol { display:flex; align-items:center; gap:4px; }
.bzStack { display:flex; flex-direction:column; gap:4px; }
.bzT { font-weight:bold; color:var(--gold);  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.bzSel { min-width:36px; }
.guaPop { cursor:pointer; }
b.guaPop:hover, .ccFive .cfC.guaPop:hover, .guaCell.guaPop:hover { color:var(--gold); }
#navBtns { position:absolute; top:12px; right:16px; display:flex; flex-direction:column; gap:12px; align-items:stretch; }
#sizhuView, #yijingView { padding-bottom:14px; width:calc(var(--chartW) + var(--chartPad)*2); margin:0 auto; }
.szCols { display:flex; gap:16px; align-items:flex-start; margin-bottom:14px; }
.szCols .lnTitle { margin-bottom:20px; font-size:19px; font-weight:700 !important; font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important; }   /* 15→19px: 先天卦/后天卦标题字号+4 并加粗锁死 (2026-09-01 用户指定) */
.szCols .lnTitle .guaPop { font-weight:700 !important; font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important; }   /* 标题行内容(卦名+岁数) 雅黑真实粗体 (2026-09-01 用户指定) */
.szCols .szCol { flex:1; min-width:0; }
.szCols .rpT { font-size:var(--fs-15); }
.szCols .rpT th, .szCols .rpT td { padding:5px 6px; white-space:nowrap; }
.lnScroll { max-height:340px; overflow-y:auto; border:1px solid var(--line-soft); border-radius:4px; }
.lnScroll .rpT { font-size:var(--fs-15); margin-top:0; width:100%; }
.lnScroll .rpT th { position:sticky; top:0; z-index:1; }
/* 先天卦/后天卦表: 表头「年份/虚岁/流年卦」+3px 加粗; 年份/虚岁内容 +2px; 流年卦内容 +3px 加粗 (2026-09-01 用户指定) */
.lnScroll .rpT th { font-size:18px; font-weight:bold;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.lnScroll .rpT td { font-size:17px; }
.lnScroll .rpT td .guaCell { font-size:18px; font-weight:bold;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.lnScroll .rpT th, .lnScroll .rpT td { padding:5px 6px; }
.lnScroll .rpT th:first-child, .lnScroll .rpT td:first-child { width:64px; }
.lnScroll .rpT td:last-child { width:42%; }
.guaCell { color:var(--purple); font-weight:bold;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.yueBox { height:380px; overflow-y:auto; border:1px solid var(--line-soft); border-radius:4px; }
.yueBox .rpT { margin-top:0; width:100%; }
.riScroll { height:380px; overflow-y:auto; border:1px solid var(--line-soft); border-radius:4px; }
.riScroll .rpT { margin-top:0; width:100%; }
.riScroll .rpT th { position:sticky; top:0; z-index:1; }
.szHint { font-size:14px; color:var(--hint); margin-bottom:8px; }   /* 11→14px (2026-09-01 用户指定) */
.lnYearRow { cursor:pointer; }
.lnYearRow:hover td { background:var(--head-hover); }
.lnYearRow.cur td { background:var(--head); }
.lnYearRow .thisYear { color:var(--ink-black); font-weight:normal; font-size:var(--fs-11); }
.yzBody { padding:40px 0; text-align:center; color:var(--hint); font-size:var(--fs-15); }
#tjpaipan h3 { color:var(--gold); margin-top:10px; font-size:var(--fs-14); border-bottom:1px solid var(--line); padding-bottom:3px; }
.szHead { display:flex; align-items:center; gap:14px; margin-bottom:8px; }
.szTitle { font-size:var(--fs-17); font-weight:700 !important; color:var(--gold-deep); letter-spacing:2px; font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important; }   /* 宋体伪加粗不明显 → 换雅黑真实粗体 (2026-09-01 用户指定) */
.yjBack { margin-left:auto; display:flex; gap:8px; align-items:center; }   /* v2.4.17 子页互跳按钮并入此行 */
.szDate { font-size:var(--fs-12); color:var(--gray); margin-top:10px; text-align:right; }

/* ---- 天纪之易经 ---- */
#yijingView { width:var(--chartW); margin:0 auto; padding-bottom:24px; }
.yjSec { margin-top:13px; }
.yjSecTitle { font-size:19px; font-weight:bold; color:var(--gold); border-left:4px solid var(--gold); padding-left:10px;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}   /* 上经/下经 17→19px (2026-09-01 用户指定) */
.yjSecHint { font-size:14px; font-weight:normal; color:var(--hint); margin-left:10px; }   /* 30卦/34卦计数 12→14px (2026-09-01 用户指定) */
.yjGrid { display:grid; grid-template-columns:repeat(5, 1fr); gap:10px 7px; margin-top:7px; }
.yjCard { text-align:center; background:var(--cell); border:1px solid var(--gold-border); border-radius:4px; padding:5px 3px 4px; }
.yjGuaName { position:relative; display:block; font-size:18px; font-weight:bold; color:var(--brown-deep); white-space:nowrap; text-align:center; line-height:26px;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.yjSym { position:absolute; left:8px; top:50%; transform:translateY(-52%); font-size:27px; color:var(--gold); margin:0; }
.yjBtns { display:flex; align-items:stretch; margin-top:4px; border-top:1px dashed var(--line-soft); padding-top:3px; }
.yjBox { flex:1; font-size:14px; text-align:center; padding:3px 0; cursor:pointer; color:var(--brown-deep); white-space:nowrap; }   /* 天机道/人间道/地脉道 12→14px (2026-09-01 用户指定) */
.yjBox + .yjBox { border-left:1px solid var(--gold-border); }
.yjBox:hover { background:var(--gold); color:#fff; }
.yjBox.yjEmpty { opacity:.35; cursor:default; }
.yjBox.yjEmpty:hover { background:transparent; color:var(--brown-deep); }
.yjPara { font-size:var(--fs-13) !important; color:var(--ink) !important; line-height:1.9 !important; }

/* ---- 卦详情弹窗 ---- */
#guaModal { position:fixed; left:0; top:0; right:0; bottom:0; background:rgba(40,30,15,.45); display:none; z-index:100000; }
#guaModal.open { display:flex; align-items:center; justify-content:center; }
.gmBox { background:var(--cell); border:2px solid var(--line); border-radius:8px; width:743px; max-width:94vw; max-height:82vh; overflow:hidden; display:flex; flex-direction:column; position:relative; box-shadow:0 10px 32px rgba(0,0,0,.35); }
.gmHead { display:flex; align-items:center; justify-content:space-between; padding:12px 14px 8px 18px; border-bottom:1px solid var(--line-soft); background:var(--cell); flex:0 0 auto; }
.gmBody { overflow-y:auto; padding:6px 18px 16px; }
.gmBox .gmX { width:36px; height:36px; line-height:34px; text-align:center; font-size:var(--fs-16); color:#fff; background:var(--red); border:none; border-radius:50%; cursor:pointer; padding:0; flex:0 0 auto; }
.gmBox .gmX:hover { background:var(--red-hover); }
.gmTitle { font-size:var(--fs-19); font-weight:bold; color:var(--gold-deep); letter-spacing:2px;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.gmSub { font-size:var(--fs-12); color:var(--gray); margin-top:2px; }
.gmImgWrap { text-align:center; margin:8px 0 2px; min-height:232px; }
.gmImgWrap img { max-width:230px; max-height:230px; border:1px solid var(--line-soft); border-radius:4px; background:#fff; }
.gmSymWrap { display:flex; align-items:center; justify-content:center; gap:6px; margin:4px 0; }
.gmSymWrap .gmSym { font-size:147px; line-height:1; color:var(--gold); font-family:var(--font-sym); }
.gmSymLabels { position:relative; height:147px; font-size:26px; font-weight:bold; color:var(--brown-deep);  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.gmSymLabels span { position:absolute; left:0; transform:translateY(-50%); line-height:1; }
.gmSymLabels span:nth-child(1) { top:25%; }
.gmSymLabels span:nth-child(2) { top:75%; }
.gmDual { display:flex; justify-content:center; margin:6px auto 2px; width:375px; border:1px solid var(--gold-border); border-radius:4px; overflow:hidden; }
.gmDualBox { width:50%; background:var(--cell); display:flex; align-items:center; justify-content:center; min-height:160px; }
.gmDualBox + .gmDualBox { border-left:1px solid var(--gold-border); }
.gmSymSm .gmSym { font-size:88px; }
.gmSymSm .gmSymLabels { height:88px; font-size:20px; }
.gmDualText { flex-direction:column; font-size:24px; font-weight:bold; color:var(--brown-deep); letter-spacing:2px; padding:0 6px; text-align:center; line-height:1.5;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.gmDualMid { font-size:var(--fs-16); color:var(--gold); }
.gmSec { font-size:var(--fs-14); font-weight:bold; color:var(--red); border-left:3px solid var(--gold); padding-left:8px; margin:12px 0 4px;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.gmMain { font-size:var(--fs-14); color:var(--ink-strong); line-height:1.8; }
.gmExpl { font-size:var(--fs-13); color:var(--gray); line-height:1.7; margin-top:6px; text-indent:2em; }
.gmNone { font-size:var(--fs-13); color:var(--hint); margin-top:12px; }
.gmYao { font-size:var(--fs-14); font-weight:700; color:var(--ink-strong); line-height:1.8; margin-top:10px;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.gmYao.gmGuaCi { font-size:var(--fs-15); margin-top:2px; }
.gmFlat { text-indent:2em !important; margin-top:2px; }
.gmInd { text-indent:2em; }
.gmTujie { text-align:center; font-size:var(--fs-19); font-weight:bold; color:var(--red); letter-spacing:3px; margin:16px 0 8px;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.gmTujieBody { padding-left:2em; }
.gmTujieBody .gmInd, .gmTujieBody .gmExpl { text-indent:0; }
.gmTujieBody .gmFlat { text-indent:0 !important; }
.gmBase .yjPara { font-size:calc(var(--fs-13) + 3px) !important; }
.gmBase .gmYao { font-size:calc(var(--fs-14) + 3px); }
.gmBase .gmFlat { font-size:calc(var(--fs-13) + 3px) !important; }
.gmBase .gmImgWrap { text-align:left; padding-left:2em; min-height:347px; }
.yjBig .gmTitle { font-size:calc(var(--fs-19) + 2px); }
.yjBig .gmSub { font-size:calc(var(--fs-12) + 2px); }
.yjBig .gmTujie { font-size:calc(var(--fs-19) + 2px); }
.yjBig .gmYao { font-size:calc(var(--fs-14) + 2px); }
.yjBig .gmExpl { font-size:calc(var(--fs-13) + 2px); }
.yjBig .yjPara { font-size:calc(var(--fs-13) + 2px) !important; }
.yjBig .gmNone { font-size:calc(var(--fs-13) + 2px); }
.yjBig .gmSec { font-size:calc(var(--fs-14) + 2px); }
.yjBig .gmSymLabels { font-size:28px; }
.yjBig .gmSymSm .gmSymLabels { font-size:22px; }
.yjBig .gmDualText { font-size:26px; }
.yjBig .gmDualMid { font-size:18px; }
.yjSec-base .gmImgWrap img { max-width:345px; max-height:345px; }
.yjSec-base .gmBody { padding-bottom:46px; }
.yjSec-yz .gmBody { padding-top:21px; padding-bottom:46px; }
.szBig .gmTitle { font-size:calc(var(--fs-19) + 3px); }
.szBig .gmSub { font-size:calc(var(--fs-12) + 6px); }   /* 15→18px: 流年卦弹窗年份副标题 +3px (2026-09-01 用户指定) */
.szBig .gmSec { font-size:calc(var(--fs-14) + 3px); }
.szBig .gmMain { font-size:calc(var(--fs-14) + 3px); }
.szBig .gmExpl { font-size:calc(var(--fs-13) + 3px); }
.szBig .gmNone { font-size:calc(var(--fs-13) + 3px); }
.szBig .gmImgWrap img { max-width:345px; max-height:345px; }
.szBig .gmImgWrap { min-height:0; margin-bottom:30px; }
.szBig .gmBody { padding-bottom:46px; }

/* ---- 阳宅小测试 ---- */
.gmBox.yjTestBox { min-height:376px; max-height:96vh; }
.yjTestBox .gmBody { flex:1; min-height:0; display:flex; flex-direction:column; padding-bottom:34px; }
.yjTestBox .gmBody > div { margin-top:auto; margin-bottom:auto; flex-shrink:0; }
.yjTestBox #yjTestResult:empty { margin:0; }
.yjTestNote { position:absolute; right:18px; bottom:8px; font-size:var(--fs-12); color:var(--hint); }
.yjTestRow { display:flex; justify-content:flex-end; margin:10px 0 4px; padding-right:50px; }   /* v2.4.17 原 -34px 负边距与返回行重叠(按钮增多后盖死返回键), 改正常流 */
.yjTestRow .navBtn { padding:7px 30px; font-size:var(--fs-17); letter-spacing:2px; }
.yjTestForm { display:flex; justify-content:center; gap:24px; margin:6px 0 10px; }
.yjTestCol { text-align:center; }
.yjTestCap { font-size:var(--fs-17); font-weight:bold; color:var(--gold-deep); margin-bottom:30px;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.yjTestSel { font-size:var(--fs-15); padding:8px 14px; border:2px solid var(--line); border-radius:5px; background:var(--cell); color:var(--brown-deep); }
.yjTestBtnRow { text-align:center; margin-bottom:12px; }
#yjTestResult .yjTestGuaName { text-align:center; font-size:25px; font-weight:bold; color:var(--brown-deep); margin:4px 0 8px;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
#yjTestResult .yjTestGuaName .yjSym { font-size:31px; }
#yjTestResult .gmSec { font-size:calc(var(--fs-14) + 3px); }
#yjTestResult .gmExpl.yjPara { font-size:calc(var(--fs-13) + 3px) !important; }
#yjTestResult .gmNone { font-size:calc(var(--fs-13) + 3px); }
#yjTestResult .gmDualText { font-size:27px; }
#yjTestResult .gmDualMid { font-size:var(--fs-19); }
#yjTestResult .gmSymSm .gmSymLabels { font-size:23px; }

.rpT, .ccFive, .pCycle, #paipanDate, .szDate { font-variant-numeric: tabular-nums; }
.cmpOk { color:var(--green); }
.cmpBad { color:var(--red); }

/* ---- 加载中 ---- */
.tj-loading { padding:60px 0; text-align:center; color:var(--hint); font-size:var(--fs-15); letter-spacing:2px; }

/* ================= 欢迎首页: 全屏四态门禁 (复刻本地确定版) ================= */
.tj-welcome-body { margin:0; }
.tj-welcome { position:fixed; left:0; top:0; right:0; bottom:0; z-index:99999; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; background:linear-gradient(135deg,var(--welcome-deep),var(--gold-hover)); color:#fff; text-align:center; padding:20px; }
.tj-welcome .tw-sym { font-family:var(--font-sym); font-size:232px; line-height:1; color:var(--gold-border); }   /* 谦卦 · 原116px增大一倍 */
.tj-welcome .tw-title { font-size:40px; letter-spacing:8px; text-indent:8px; font-weight:bold;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}                  /* 欢迎使用天纪辅助学习系统 · 原37px增大3号 */
.tj-welcome .tw-sub { font-size:var(--fs-17); letter-spacing:4px; text-indent:4px; }
.tj-welcome .tw-sub.activated { font-size:var(--fs-19); text-decoration:underline; text-underline-offset:6px; text-decoration-color:rgba(255,255,255,.5); }
.tj-welcome .tw-sub a { color:#fff; text-decoration:inherit; }
.tj-welcome .tw-sub a:hover { color:var(--gold-border); }
.tj-welcome .tw-btns { display:flex; gap:16px; margin-top:4px; }
.tj-welcome .tw-btn { font-size:var(--fs-15); letter-spacing:3px; padding:10px 34px; background:transparent; color:#fff; border:1px solid rgba(255,255,255,.85); border-radius:4px; cursor:pointer; text-decoration:none; display:inline-block; }
.tj-welcome .tw-btn:hover { background:#fff; color:var(--gold-deep); }
.tj-welcome .tw-hint { font-size:var(--fs-13); color:var(--gold-border); letter-spacing:1px; margin-top:8px; }
.tj-welcome .tw-logout { position:absolute; right:22px; bottom:18px; font-size:var(--fs-13); letter-spacing:2px; background:transparent; color:rgba(255,255,255,.85); border:1px solid rgba(255,255,255,.45); border-radius:4px; padding:6px 16px; cursor:pointer; text-decoration:none; }
.tj-welcome .tw-logout:hover { background:rgba(255,255,255,.15); }

/* 登录/注册全屏页 */
.tj-login-welcome .tw-title { margin-bottom:8px; }
.tj-login-welcome .tj-auth-wrap { width:100%; max-width:440px; }
.tj-login-welcome .tj-auth-box { width:100%; max-width:440px; margin:0 auto; background:rgba(255,253,245,.97); box-shadow:0 10px 32px rgba(0,0,0,.25); }
.tj-login-welcome .tw-back { position:static; display:inline-block; margin-top:18px; font-size:var(--fs-13); letter-spacing:2px; color:rgba(255,255,255,.85); text-decoration:none; }
.tj-login-welcome .tw-back:hover { color:#fff; text-decoration:underline; }

/* 表单内容全部居中 (登录/注册/激活共用) */
.tj-auth-box .tj-note { text-align:center; }
.tj-auth-box .tj-msg { text-align:center; }
.tj-auth-box .tj-row { justify-content:center; }
.tj-auth-box .tj-row > button { margin:0 auto; }

/* ================= 站点页面 (门禁/登录/激活/论坛/BUG/首页) ================= */
.tj-btn { display:inline-block; font-size:var(--fs-15); letter-spacing:3px; padding:9px 30px; background:var(--gold); color:#fff; border:1px solid var(--gold); border-radius:4px; cursor:pointer; text-decoration:none; }
.tj-btn:hover { background:var(--gold-hover); color:#fff; text-decoration:none; }
.tj-btn-ghost { background:transparent; color:var(--gold); }
.tj-btn-ghost:hover { background:var(--gold); color:#fff; }
.tj-btn-lg { font-size:var(--fs-16); padding:11px 36px; }

.tj-page-gate { padding:40px 16px; }
.tj-gate { text-align:center; padding:30px 10px; }
.tj-gate-sym { font-family:var(--font-sym); font-size:116px; line-height:1; color:var(--gold); }
.tj-gate h3 { font-size:var(--fs-19); color:var(--gold-deep); letter-spacing:3px; margin:14px 0 8px; border:none; }
.tj-gate p { color:var(--gray); font-size:var(--fs-13); margin:4px 0 10px; }
.tj-gate-btns { display:flex; gap:16px; justify-content:center; margin-top:14px; flex-wrap:wrap; }
.tj-gate-sub { font-size:var(--fs-17); color:var(--brown-deep); letter-spacing:2px; margin-top:10px; }

.tj-home-gate { text-align:center; padding:10px 0 4px; }
.tj-home-gate .tj-gate-sym { font-size:96px; }
.tj-home-gate .tj-gate-sub { font-size:var(--fs-19); }

.tj-auth-box { max-width:440px; margin:10px auto; background:var(--cell); border:2px solid var(--line); border-radius:6px; padding:20px 24px; }
.tj-tabs { display:flex; gap:0; margin-bottom:14px; }
.tj-tab { flex:1; font-size:var(--fs-15); padding:9px 0; background:var(--head); color:var(--gray); border:none; cursor:pointer; border-bottom:2px solid var(--line-soft); }
.tj-tab.on { background:var(--card); color:var(--gold-deep); font-weight:bold; border-bottom-color:var(--red);  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.tj-row { display:flex; gap:10px; margin:10px 0; align-items:center; flex-wrap:wrap; }
.tj-row label { width:64px; text-align:right; color:var(--gold); font-size:var(--fs-14); }
.tj-row input, .tj-row textarea { flex:1; min-width:0; font-size:var(--fs-14); padding:6px 8px; border:1px solid var(--gold-border); border-radius:3px; background:var(--card); }
.tj-row textarea { min-height:110px; resize:vertical; }
.tj-note { font-size:var(--fs-12); color:var(--hint); margin:6px 0 10px; }
.tj-msg { color:var(--red); font-size:var(--fs-13); min-height:18px; margin-top:6px; }
.tj-msg.ok { color:var(--green); }
.tj-auth-me { font-size:var(--fs-15); }
.tj-auth-ok { color:var(--green); font-size:var(--fs-14); }
.tj-auth-warn { color:var(--red); font-size:var(--fs-14); }
.tj-link { color:var(--gold-deep); font-size:var(--fs-13); }

.tj-panel { background:var(--cell); border:2px solid var(--line); border-radius:6px; padding:16px 20px; margin-bottom:16px; }
.tj-panel h3 { color:var(--gold-deep); letter-spacing:2px; margin:0 0 10px; font-size:var(--fs-17); border-bottom:1px solid var(--line); padding-bottom:6px; }
.tj-item { border:1px solid var(--line-soft); border-radius:4px; padding:10px 14px; margin-bottom:10px; background:var(--card); }
.tj-item-title { font-size:var(--fs-15); font-weight:bold; color:var(--brown-deep);  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.tj-item-meta { font-size:var(--fs-12); color:var(--hint); margin:2px 0 6px; }
.tj-item-body { font-size:var(--fs-14); color:var(--ink); line-height:1.8; white-space:pre-wrap; word-break:break-word; }
.tj-reply { margin-top:8px; color:var(--gold-deep); font-size:var(--fs-13); white-space:pre-wrap; }
.tj-badge { display:inline-block; font-size:var(--fs-11); padding:1px 8px; border-radius:8px; border:1px solid; margin-left:8px; vertical-align:1px; }
.tj-badge.pending, .tj-badge.open { color:var(--gold); border-color:var(--gold); }
.tj-badge.approved, .tj-badge.closed { color:var(--green); border-color:var(--green); }
.tj-badge.rejected { color:var(--red); border-color:var(--red); }

/* 64卦/笔记单页 */
.tj-gua-img { text-align:center; margin:8px 0 14px; }
.tj-gua-img img { max-width:345px; border:1px solid var(--line-soft); border-radius:4px; background:#fff; }
.tj-gua-sec { color:var(--red); border-left:3px solid var(--gold); padding-left:8px; margin:18px 0 6px; font-size:var(--fs-16); }
.tj-para { font-size:var(--fs-14); line-height:1.9; margin:6px 0; text-indent:2em; }
.tj-para.tj-bold { font-weight:700; color:var(--ink-strong);  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}
.tj-para.tj-main { color:var(--ink-strong); }

/* 易经/笔记 列表页 */
.tj-list-note { font-size:var(--fs-12); color:var(--hint); margin:4px 0 14px; }
.tj-list-card { display:block; text-decoration:none; }
.tj-list-card:hover { border-color:var(--gold); box-shadow:0 2px 8px rgba(138,109,59,.25); }
.tj-list-card:hover .yjGuaName { color:var(--gold-deep); }
.tj-note-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:10px; margin-top:8px; }
.tj-note-item { display:flex; align-items:center; gap:8px; background:var(--cell); border:1px solid var(--gold-border); border-radius:4px; padding:10px 14px; color:var(--brown-deep); font-size:var(--fs-15); text-decoration:none; }
.tj-note-item:hover { border-color:var(--gold); color:var(--gold-deep); box-shadow:0 2px 8px rgba(138,109,59,.25); }
.tj-note-sym { font-family:var(--font-sym); font-size:24px; color:var(--gold); }

/* 首页功能卡片 */
.tj-feat { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; margin:18px 0; }
.tj-feat-card { background:var(--cell); border:1px solid var(--gold-border); border-radius:8px; padding:18px 20px; }
.tj-feat-card h3 { color:var(--gold-deep); margin:0 0 6px; font-size:var(--fs-17); }
.tj-feat-card p { color:var(--gray); font-size:var(--fs-13); line-height:1.8; margin:0; }
.tj-steps { counter-reset:step; margin:10px 0 16px; }
.tj-steps div { counter-increment:step; padding:8px 0 8px 44px; position:relative; color:var(--ink); font-size:var(--fs-14); line-height:1.8; }
.tj-steps div::before { content:counter(step); position:absolute; left:0; top:8px; width:30px; height:30px; line-height:30px; text-align:center; border-radius:50%; background:var(--gold); color:#fff; font-weight:bold;  font-family:"微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important;}

/* Astra 集成: 排盘页隐藏页面标题, 内容区加宽 */
.page-template-tjpaipan-app .entry-header, .page-template-tjpaipan-app .ast-article-single { display:block; }
.page-template-tjpaipan-app .entry-header { display:none !important; }
.page-template-tjpaipan-app .ast-container { max-width:100%; }

/* 排盘页背景与本地程序一致: 米黄纸底 + 金棕站头 */
html { background: var(--bg); }   /* 防 html 默认白露出 */
body.page-template-tjpaipan-app { background-color: var(--bg) !important; }
body.page-template-tjpaipan-app #content,
body.page-template-tjpaipan-app .ast-container,
body.page-template-tjpaipan-app .ast-article-single,
body.page-template-tjpaipan-app .entry-content,
body.page-template-tjpaipan-app #primary,
body.page-template-tjpaipan-app main {
    background: var(--bg) !important;
    padding: 0 !important;               /* 去掉内容区留白, 与站头/盘面右缘对齐 */
}
/* 排盘页站头: 容器全宽 (菜单可右对齐到视口右缘), 标题上/菜单下 + 纯色背景 */
body.page-template-tjpaipan-app .site-primary-header-wrap .ast-container,
body.page-template-tjpaipan-app .main-header-bar .ast-container {
    max-width: none !important;
    padding: 0 20px !important;
}
/* 背景条: 全宽, 菜单右对齐视口右缘 (拖到右侧箭头处), 标题贴盘面左缘 */
body.page-template-tjpaipan-app .ast-primary-header-bar {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 20px !important;
    box-sizing: border-box;
}
body.page-template-tjpaipan-app .ast-builder-grid-row {
    grid-template-columns: 1fr !important;          /* 标题行 + 菜单行 纵向排列 */
}
/* 标题行: 标题右端(末字)顶在盘面左缘再右移 200px (2026-09-01 用户指定; 盘面居中 (vw-900)/2) */
body.page-template-tjpaipan-app .site-header-primary-section-left {
    position: relative !important;
    min-height: 44px !important;
    justify-content: flex-start !important;
}
body.page-template-tjpaipan-app .site-header-primary-section-left .site-branding {
    position: absolute !important;
    right: calc(50% + 250px) !important;   /* 450=盘面半宽900/2(锚盘面左缘) -200(累计右移200px) */
    top: 3px;   /* 标题上边间距 8→3 (2026-09-01 用户指定 -5px) */
    white-space: nowrap;
}
/* 菜单行: 右对齐视口右缘 */
body.page-template-tjpaipan-app .site-header-primary-section-right {
    justify-content: flex-end !important;
    padding-top: 2px !important;
    margin-top: 0 !important;
}
body.page-template-tjpaipan-app .ast-primary-header-bar {
    padding-top: 0;
    padding-bottom: 3px !important;   /* 菜单↔底部间距 -5px (8→3, 2026-09-01); 需 !important 垫住菜单行溢出防底角缺角, 改后必须复测底角 */
}
/* 站头纯色背景 (非渐变) */
body.page-template-tjpaipan-app #masthead,
body.page-template-tjpaipan-app .ast-header-break-point #masthead,
body.page-template-tjpaipan-app .ast-mobile-header-wrap,
body.page-template-tjpaipan-app .ast-primary-header-bar,
body.page-template-tjpaipan-app .ast-main-header-wrap,
body.page-template-tjpaipan-app .site-header-section,
body.page-template-tjpaipan-app .ast-builder-header-row,
body.page-template-tjpaipan-app .site-primary-header-wrap,
body.page-template-tjpaipan-app .ast-builder-grid-row-container {
    background: var(--gold-deep) !important;   /* 纯金棕, 无渐变, 无白框 */
}
/* 页脚棕条高度减半 (2026-09-01 用户指定): padding 20→4, min-height 60→30, 段落边距清零 */
body.page-template-tjpaipan-app .site-below-footer-wrap {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    min-height: 30px !important;
}
body.page-template-tjpaipan-app .site-below-footer-wrap .ast-builder-grid-row {
    min-height: 30px !important;
}
body.page-template-tjpaipan-app .ast-footer-copyright p {
    margin: 0 !important;
}
/* 站头文字: 宋体 + 字号 + 加粗 */
body.page-template-tjpaipan-app #masthead .site-title,
body.page-template-tjpaipan-app #masthead .site-title a,
body.page-template-tjpaipan-app #masthead .ast-site-title-wrap a {
    font-family: "宋体", "SimSun", "NSimSun", serif !important;
    font-size: 40px !important;      /* 用户指定 (2026-09-01) */
    font-weight: 700 !important;
}
body.page-template-tjpaipan-app #primary-site-navigation-desktop a.menu-link,
body.page-template-tjpaipan-app .site-navigation a.menu-link,
body.page-template-tjpaipan-app .ast-mobile-popup-drawer .menu-link {
    font-family: "宋体", "SimSun", "NSimSun", serif !important;
    font-size: 21px !important;      /* 用户指定 (2026-09-01) */
    font-weight: 700 !important;
}
body.page-template-tjpaipan-app #masthead .site-title a,
body.page-template-tjpaipan-app #masthead .ast-site-title-wrap a,
body.page-template-tjpaipan-app #primary-site-navigation-desktop a.menu-link,
body.page-template-tjpaipan-app .site-navigation a.menu-link,
body.page-template-tjpaipan-app .ast-mobile-popup-drawer .menu-link {
    color: #fff !important;
}
/* 标题与菜单: 菜单右移, 右对齐视口右缘 */
body.page-template-tjpaipan-app .site-header-primary-section-right {
    justify-content: flex-end !important;
    padding-left: 0 !important;
    padding-top: 2px !important;
    margin-top: 10px !important;   /* 菜单↔站名间距 +10px (2026-09-01 用户指定) */
}
/* 站头左右角补齐: 无边框/阴影/圆角, 背景延伸到视口边缘 */
body.page-template-tjpaipan-app #masthead,
body.page-template-tjpaipan-app .ast-primary-header-bar {
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
body.page-template-tjpaipan-app #masthead .menu-link:hover,
body.page-template-tjpaipan-app #masthead .site-title a:hover,
body.page-template-tjpaipan-app .site-navigation a.menu-link:hover {
    color: var(--gold-border) !important;
}
/* 当前页菜单项也统一白色 (2026-09-01 用户指定: 菜单全部白色, 仅鼠标悬停/点上显浅色) */
body.page-template-tjpaipan-app #masthead .menu-item.current-menu-item > .menu-link,
body.page-template-tjpaipan-app .site-navigation .current-menu-item > a {
    color: #fff !important;
}
/* 当前页项悬停同样显浅色 (需带 #masthead 才能压过上面的 ID 优先级) */
body.page-template-tjpaipan-app #masthead .menu-item.current-menu-item > .menu-link:hover,
body.page-template-tjpaipan-app .site-navigation .current-menu-item > a:hover {
    color: var(--gold-border) !important;
}

/* 中间宽度 (821-949px): 盘面随视口收缩, 防横向滚动 (≤820px 由移动端块接管); v2.4.26 上限 923→949: 页面加宽到950后, 924-949 视口若仍用基础档会出现 盘面900 > 页面内宽 溢出 */
@media (min-width: 821px) and (max-width: 949px) {
  :root { --chartW: calc(100vw - 24px); --chartPad: 8px; }
}

/* ================= 移动端适配 (≤820px) ================= */
@media (max-width: 820px) {
  :root { --chartW: calc(100vw - 24px); --chartPad: 8px; }
  /* 移动端站头: 恢复常规流式布局(标题/菜单左对齐) */
  body.page-template-tjpaipan-app .site-header-primary-section-left .site-branding { position: static !important; }
  body.page-template-tjpaipan-app .site-header-primary-section-left { min-height: 0 !important; }
  .tj-welcome .tw-sym { font-size:160px; }
  .tj-welcome .tw-title { font-size:30px; letter-spacing:4px; }
  .tj-welcome .tw-sub { font-size:15px; letter-spacing:2px; }
  .tj-welcome .tw-sub.activated { font-size:17px; }
  .tj-welcome .tw-btn { padding:8px 26px; font-size:var(--fs-14); }
  .tj-app-head h1 { font-size:20px; letter-spacing:3px; }
  .tj-app-head .tj-tag { position:static; display:inline-block; margin-left:6px; }
  #tjToolbar { width:100%; justify-content:center; gap:8px; }
  #inputRow { width:100%; padding:0 8px; }
  #inputBar { padding:8px 6px; }
  .szCols { flex-direction:column; }
  .yjGrid { grid-template-columns:repeat(3, 1fr); }
  .yjSecTitle { font-size:17px; }   /* 移动端 15→17px (2026-09-01 用户指定) */
  .gmBox { width:96vw; max-height:88vh; }
  .gmDual { width:auto; max-width:94%; }
  .yjTestForm { flex-wrap:wrap; gap:12px; }
  .tj-gate-sym { font-size:88px; }
  .lnScroll, .yueBox, .riScroll { -webkit-overflow-scrolling:touch; }
  .vstar { font-size:10px; }
  .vstar i.mw { font-size:9px; }
  .pGong { font-size:12px; letter-spacing:1px; }
  .pGZ { font-size:10px; letter-spacing:1px; }
  .pCycle { font-size:10px; }
  .pLeftStack { font-size:9px; line-height:1.2; }
  .shenTag { font-size:10px; }
  .pDaxian { font-size:10px; }
  .centerCard { font-size:11px; padding:8px 10px; line-height:1.6; }
  .centerCard .ccName { font-size:14px; margin-bottom:2px; }
  .centerCard .ccName span { font-size:10px; margin-left:4px; }
  .centerCard .ccSizhu { font-size:12px; }
  .centerCard .ccGua { font-size:12px; }
  .ccFive { font-size:10px; margin-top:4px; }
  #navBtns { position:static; flex-direction:row; flex-wrap:wrap; gap:6px; justify-content:flex-start; margin-bottom:6px; }
  #navBtns .navBtn { padding:3px 8px; font-size:11px; }
  .rpT { font-size:11px; }
  .rpT th, .rpT td { padding:3px 4px; }
  .yjCard .yjGuaName { font-size:14px; }
  .yjSym { font-size:20px; }
  .yjBox { font-size:12px; }   /* 移动端 10→12px (2026-09-01 用户指定) */
}
@media (prefers-reduced-motion: reduce) {
  .tj-gate-sub { animation:none; }
}

/* ================= 全站宋体 (2026-09-01 用户指定; 当日先楷体后改宋体) =================
   body+标题+表单元素统一宋体; 元素级规则排在最后以覆盖 Astra 默认字体,
   卦符号等类级 font-family ( specificity 更高 ) 不受影响 */
body { font-family:"宋体","SimSun","NSimSun","Microsoft YaHei",serif; }
h1,h2,h3,h4,h5,h6,button,input,select,textarea { font-family:inherit; }

/* ---------- 天纪文档视图: 天纪总目录 48小集 (2026-09-04 v3: 白字/内线同易经框/小格加粗/悬停黑) ---------- */
.tjdLegend { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 2px; background:var(--tjd-kai, #c9a227); color:#000; font-size:18px; font-weight:bold; padding:6px 14px; border-radius:4px; letter-spacing:1px; }
.tjdTag { font-size:13px; color:#fff; padding:2px 12px; border:1px solid var(--gold-border); border-radius:3px; letter-spacing:1px; }
.tjdGrid { display:grid; grid-template-columns:repeat(2, 1fr); gap:8px 10px; margin-top:7px; }
.tjdCard { display:flex; align-items:stretch; border:1px solid var(--gold-border); border-radius:4px; overflow:hidden; }
.tjdEp { flex:0 0 96px; display:flex; align-items:center; justify-content:center; font-size:17px; font-weight:bold; color:#fff; border-right:1px solid var(--gold-border); padding:6px 4px; text-align:center; font-family:"LXGW WenKai","霞鹜文楷","微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important; }
.tjdMain { flex:1; display:flex; flex-direction:column; min-width:0; }
.tjdTitle { flex:1; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:bold; color:#fff; border-bottom:1px dashed var(--line-soft); padding:4px 6px; text-align:center; font-family:"LXGW WenKai","霞鹜文楷","微软雅黑","Microsoft YaHei","PingFang SC","SimHei",sans-serif !important; }
.tjdBtns { display:flex; align-items:stretch; }
.tjdBox { flex:1; font-size:15px; font-weight:bold; text-align:center; padding:5px 0; cursor:pointer; color:#fff; white-space:nowrap; }
.tjdBox + .tjdBox { border-left:1px solid var(--gold-border); }
.tjdBox:hover { background:#000; color:#fff; }
/* 分类背景色 (对应《天纪总目录》原表配色; 柔和版。调深浅只改这5个变量) */
:root { --tjd-kai:#c9a227; --tjd-ziwei:#c05a5a; --tjd-kanyu:#8fae72; --tjd-tuiming:#4fa7ad; --tjd-yangzhai:#93a4c4; }
.cat-kai { background:var(--tjd-kai); }
.cat-ziwei { background:var(--tjd-ziwei); }
.cat-kanyu { background:var(--tjd-kanyu); }
.cat-tuiming { background:var(--tjd-tuiming); }
.cat-yangzhai { background:var(--tjd-yangzhai); }
.cat-qt { background:#a08cc0; }
a.tjdCard { text-decoration:none; }
@media (max-width:768px) {
  .tjdGrid { grid-template-columns:1fr; }
  .tjdEp { flex-basis:78px; font-size:15px; }
  .tjdTitle { font-size:14px; }
  .tjdBox { font-size:13px; }
}

/* ---------- 同步文档弹窗文稿 (2026-09-04 v6) ---------- */
.tjdDocBody { text-align:left; border-top:1px dashed var(--line-soft); padding-top:8px; }
.tjdDocBody .gmExpl.yjPara { font-size: calc(var(--fs-13) + 2px) !important; line-height:1.5 !important; }

/* ---------- 笔记 1:1 还原样式 (2026-09-04 v9) ---------- */
.tjNote { text-align:left; line-height:1.5; border-top:1px dashed var(--line-soft); padding-top:8px; }
.tjNote .tnTitle { font-size:17px; font-weight:bold; color:#000; margin:2px 0 10px; }
.tjNote .tnHead { font-size:15px; font-weight:bold; color:#000; margin-top:10px; }
.tjNote .tnP { font-size:15px; color:var(--ink); line-height:1.5; margin-top:5px; }
.tjNote .tnImg { display:block; max-width:100%; margin:8px auto 2px; border:1px solid var(--line-soft); border-radius:3px; }
.tjNote .tnTbl { border-collapse:collapse; margin:8px 0; width:100%; }
.tjNote .tnTd { border:1px solid var(--gold-border); padding:4px 8px; font-size:14px; color:var(--ink); vertical-align:top; }

/* ---------- 听书模式 (2026-09-05 v13) ---------- */
.tjListenBox .gmBox { width: min(1080px, 96vw); height: min(86vh, 840px); }
.tjListenBox .gmBody { overflow: hidden; }
.tjListen { display: flex; gap: 14px; height: 100%; }
.tjLmain { flex: 1; overflow-y: auto; min-width: 0; border-right: 1px dashed var(--line-soft); padding-right: 4px; }
.tjSrtList { padding: 4px 6px 60px 2px; }
.tpCue { display: flex; gap: 10px; padding: 6px 8px; border-radius: 6px; cursor: pointer; line-height: 1.5; }
.tpCue:hover { background: rgba(201, 162, 39, .10); }
.tpCue .tpCt { flex: 0 0 52px; font-size: 12px; color: #9a8b5a; font-variant-numeric: tabular-nums; padding-top: 2px; }
.tpCue .tpCx { font-size: 15px; color: var(--ink); }
.tpCue.tpCur { background: rgba(201, 162, 39, .16); }
.tpCue.tpCur .tpCx { color: #a8861d; font-weight: 600; }
.tjLside { flex: 0 0 240px; display: flex; flex-direction: column; gap: 10px; }
.tjPlayer { position: sticky; top: 0; z-index: 6; border: 1px solid var(--gold-border); border-radius: 10px; padding: 10px; background: var(--paper, #fff); box-shadow: 0 6px 18px rgba(0, 0, 0, .12); }
.tpRow1 { display: flex; align-items: center; gap: 10px; }
.tpPlay { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--gold-border); background: var(--tjd-kai, #c9a227); color: #fff; font-size: 18px; cursor: pointer; flex: 0 0 44px; }
.tpPlay:hover { filter: brightness(.92); }
.tpBar { flex: 1; height: 8px; border-radius: 4px; background: rgba(0, 0, 0, .12); cursor: pointer; position: relative; }
.tpFill { height: 100%; width: 0; border-radius: 4px; background: var(--tjd-kai, #c9a227); pointer-events: none; }
.tpTime { font-size: 13px; color: var(--ink); margin-top: 6px; font-variant-numeric: tabular-nums; }
.tpRow2 { display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
.tpRow2 button, .tpNote { border: 1px solid var(--gold-border); background: transparent; border-radius: 6px; padding: 4px 8px; font-size: 13px; cursor: pointer; color: var(--ink); }
.tpRow2 button:hover, .tpNote:hover { background: rgba(201, 162, 39, .12); }
.tpNote { margin-top: 8px; width: 100%; font-weight: 600; }
.tpResume { margin-top: 8px; font-size: 13px; color: var(--ink); }
.tpResume .tpRbtns { display: flex; gap: 8px; margin-top: 6px; }
.tpResume .tpRbtns button { border: 1px solid var(--gold-border); background: var(--tjd-kai, #c9a227); color: #fff; border-radius: 6px; padding: 4px 10px; cursor: pointer; }
.tpResume .tpResumeNo { background: transparent !important; color: var(--ink) !important; }
.tpNow { font-size: 12px; color: #9a8b5a; }
.tjNoteView { padding: 2px 6px 60px; }
@media (max-width: 760px) {
  .tjListen { flex-direction: column; gap: 8px; }
  .tjLmain { border-right: none; padding-right: 0; }
  .tjLside { order: -1; flex: none; position: sticky; top: 0; z-index: 6; background: var(--paper, #fff); }
  .tjListenBox .gmBox { width: 96vw; height: 90vh; }
}

.tjListenBox .gmBox { display: flex; flex-direction: column; }
.tjListenBox .gmBody { flex: 1; min-height: 0; }

/* ---------- 听书模式 v14 UI 调整 (2026-09-05) ---------- */
.tjListenBox .gmBox { width: min(1100px, 96vw); }
.tjLside { flex: 0 0 280px; }
.tpTitle { font-size: 16px; font-weight: 700; color: var(--ink); text-align: center; line-height: 1.4; margin-bottom: 10px; }
.tpBar { margin-top: 2px; }
.tpTime { text-align: center; }
.tpRow2 { margin-top: 10px; }
.tpRow2 button, .tpNote, .tpLocate { border: 1px solid var(--gold-border); background: transparent; border-radius: 6px; padding: 6px 4px; font-size: 13px; cursor: pointer; color: var(--ink); transition: background .15s ease; }
.tpRow2 button { flex: 1; white-space: nowrap; }
.tpRow2 button:hover, .tpNote:hover, .tpLocate:hover { background: rgba(201, 162, 39, .12); }
.tpLocate { margin-top: 8px; width: 100%; }
.tpPlay { display: block; margin: 14px auto 2px; width: 56px; height: 56px; border-radius: 50%; border: none; background: linear-gradient(135deg, #e0bc4a, #b8922e); color: #fff; font-size: 20px; cursor: pointer; box-shadow: 0 4px 12px rgba(184, 146, 46, .35); transition: transform .15s ease, box-shadow .15s ease; }
.tpPlay:hover { transform: scale(1.07); box-shadow: 0 6px 16px rgba(184, 146, 46, .5); }
.tpPlay:active { transform: scale(.95); }
.tpNote { margin-top: 12px; width: 100%; font-weight: 600; }
.tpCue .tpCx { font-size: 17px; }
.tpCue.tpLocFlash { animation: tpLocPulse 1.2s ease; }
@keyframes tpLocPulse { 0% { background: rgba(201, 162, 39, .5); } 100% { background: rgba(201, 162, 39, .16); } }

/* ---------- 听书模式 v15: 修复字幕滚动 (2026-09-05) ---------- */
.tjListenBox .gmBody { overflow-y: auto; }
.tjListen { height: auto; align-items: flex-start; }
.tjLmain { overflow: visible; }
.tjLside { position: sticky; top: 0; z-index: 6; }

/* ---------- 听书模式 v16: 播放按钮加倍+图标居中 (2026-09-05) ---------- */
.tpPlay { display: flex; align-items: center; justify-content: center; width: 112px; height: 112px; margin: 16px auto 2px; font-size: 40px; line-height: 1; padding: 0; }

/* ---------- 听书模式 v17: 播放按钮还原56px, 三角形保持加倍居中 (2026-09-05) ---------- */
.tpPlay { width: 56px; height: 56px; margin: 14px auto 2px; font-size: 40px; }

/* ---------- 听书模式 v18: 播放按钮去黄底, 三角形黑色 (2026-09-05) ---------- */
.tpPlay { background: none; box-shadow: none; color: #1a1a1a; }
.tpPlay:hover { box-shadow: none; filter: none; }

/* ---------- 听书模式 v19: 定位行+音量显示 (2026-09-05) ---------- */
.tpVolRow { display: flex; gap: 8px; margin-top: 8px; align-items: center; }
.tpVolRow .tpLocate { flex: 1; margin-top: 0; width: auto; }
.tpVol { flex: 0 0 88px; display: flex; align-items: center; gap: 4px; }
.tpVolIco { font-size: 13px; flex: 0 0 auto; }
.tpVolBar { flex: 1; min-width: 34px; height: 4px; accent-color: #b8922e; cursor: pointer; }
.tpVolPct { font-size: 12px; color: #9a8b5a; flex: 0 0 auto; min-width: 30px; text-align: right; font-variant-numeric: tabular-nums; }

/* ---------- 听书模式 v20: 定位按钮缩小, 音量图标加大, 音量条加长 (2026-09-05) ---------- */
.tpVolRow .tpLocate { font-size: 12px; padding: 5px 3px; }
.tpVolIco { font-size: 17px; }
.tpVol { flex: 0 0 128px; }
.tpVolBar { height: 5px; }

/* ---------- 听书模式 v22: 弹窗再增宽80px (2026-09-05) ---------- */
.tjListenBox .gmBox { width: min(1180px, 96vw); }

/* ---------- 听书模式 v23: 本集时间轴 (2026-09-05) ---------- */
.tpTl { margin-top: 12px; }
.tpTlHead { font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.tpTlList { max-height: 32vh; overflow-y: auto; border-top: 1px dashed var(--line-soft); overscroll-behavior: contain; }
.tpTlItem { display: flex; gap: 8px; padding: 5px 4px; cursor: pointer; border-bottom: 1px dashed rgba(0, 0, 0, .07); line-height: 1.45; }
.tpTlItem:hover { background: rgba(201, 162, 39, .10); }
.tpTlT { flex: 0 0 auto; font-size: 12px; color: #9a8b5a; font-variant-numeric: tabular-nums; padding-top: 1px; }
.tpTlX { font-size: 13px; color: var(--ink); }
.tpTlEmpty { font-size: 12px; color: #9a8b5a; padding: 6px 2px; }

/* ---------- 时间轴弹窗: 播放器+本集时间轴 (2026-09-05 用户指定, 复制听书播放器, 适当拉大, 无笔记按钮) ---------- */
.gmBox.tjTlBox { width: min(860px, 96vw); max-height: 90vh; }
.tjTlPop { display: flex; flex-direction: column; gap: 12px; padding-bottom: 10px; }
.tjTlPop .tjPlayer { position: static; }
.tjTlPop .tpTitle { font-size: 18px; }
.tjTlPop .tpTl { border-top: 1px dashed var(--line-soft); padding-top: 8px; }
.tjTlPop .tpTlHead { font-size: 14px; font-weight: bold; color: var(--red); border-left: 3px solid var(--gold); padding-left: 8px; margin-bottom: 6px; }
.tjTlPop .tpTlList { max-height: 48vh; overflow-y: auto; }
.tjTlPop .tpTlItem { display: flex; gap: 10px; padding: 6px 8px; border-radius: 6px; cursor: pointer; line-height: 1.5; align-items: baseline; }
.tjTlPop .tpTlItem:hover { background: rgba(201, 162, 39, .10); }
.tjTlPop .tpTlItem .tpTlT { flex: 0 0 56px; font-size: 12px; color: #9a8b5a; font-variant-numeric: tabular-nums; }
.tjTlPop .tpTlItem .tpTlX { font-size: 15px; color: var(--ink); }
.tjTlPop .tpTlEmpty { padding: 10px 8px; font-size: 13px; color: #9a8b5a; }

/* ---------- 时间轴弹窗 v2: 播放按钮下方当前字幕单行显示 (2026-09-05 用户指定) ---------- */
.tjTlPop .tpNowSrt { min-height: 26px; margin-top: 10px; text-align: center; font-size: 16px; font-weight: 600; color: #a8861d; line-height: 1.5; }

/* ================= 人纪电子书: PDF.js 阅读器 (2026-09-06) ================= */
.rjdoc-mask { position:fixed; inset:0; z-index:99999; background:rgba(20,15,8,.72); }
.rjdoc-shell { position:absolute; inset:0; display:flex; flex-direction:column; background:#F5F1E8; }
.rjdoc-bar { flex:0 0 46px; display:flex; align-items:center; gap:10px; padding:0 12px; background:#fff; border-bottom:2px solid var(--line,#b89b6a); }
.rjdoc-title { flex:1; text-align:center; font-weight:bold; color:#2F3E2E; font-family:"LXGW WenKai","霞鹜文楷","楷体","KaiTi","STKaiti","宋体",serif; font-size:17px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rjdoc-pager { display:flex; align-items:center; gap:6px; font-size:14px; color:#5a4322; white-space:nowrap; }
.rjdoc-btn { border:1px solid #E0D8C8; background:#F5F1E8; color:#5a4322; border-radius:6px; padding:4px 10px; font-size:14px; cursor:pointer; }
.rjdoc-btn:hover { background:#8C5A3C; border-color:#8C5A3C; color:#fff; }
.rjdoc-body { flex:1; display:flex; min-height:0; }
.rjdoc-side { flex:0 0 240px; border-right:1px solid #E0D8C8; background:#FBF7EE; overflow-y:auto; padding:10px 8px 20px; }
.rjdoc-side-h { font-weight:bold; color:#8C5A3C; padding:2px 6px 8px; font-size:15px; }
.rjdoc-ti { display:block; padding:6px 8px; font-size:14px; color:#2F3E2E; text-decoration:none !important; border-radius:4px; line-height:1.4; cursor:pointer; }
.rjdoc-ti:hover { background:#F0E9D8; }
.rjdoc-ti.on { background:#8C5A3C; color:#fff; }
.rjdoc-pages { flex:1; overflow-y:auto; padding:14px 12px 40px; }
.rjdoc-page { position:relative; margin:0 auto 12px; max-width:820px; background:#fff; box-shadow:0 2px 8px rgba(90,67,34,.18); border-radius:2px; overflow:hidden; }
.rjdoc-loading { text-align:center; padding:80px 0; color:#707070; font-size:15px; letter-spacing:2px; }
.rjdoc-tocnone { color:#999; font-size:13px; padding:8px; }
@media (max-width:820px){
  .rjdoc-side { position:absolute; left:0; top:46px; bottom:0; z-index:2; transform:translateX(-100%); transition:transform .2s; box-shadow:4px 0 14px rgba(0,0,0,.15); }
  .rjdoc-side.open { transform:none; }
  .rjdoc-title { font-size:15px; }
  .rjdoc-btn { padding:4px 8px; font-size:13px; }
}

/* --- 人纪电子书 HTML 图文模式 (2026-09-06) --- */
.rjdoc-article { max-width:720px; margin:0 auto; background:#FBF7EE; border:1px solid #E0D8C8; border-radius:8px; padding:34px 40px 50px; font-size:20px; line-height:1.85; color:#333; font-family:"LXGW WenKai","霞鹜文楷","楷体", "KaiTi", "STKaiti", "Kaiti SC", serif; }
.rjdoc-head { text-align:center; border-bottom:2px solid #C2A26B; padding-bottom:18px; margin-bottom:26px; }
.rjdoc-h1 { font-size:31px; font-weight:bold; color:#2F3E2E; font-family:"LXGW WenKai","霞鹜文楷","楷体", "KaiTi", "STKaiti", "Kaiti SC", serif; letter-spacing:4px; }
.rjdoc-author { font-size:15px; color:#8C5A3C; margin-top:8px; }
.rjdoc-desc { font-size:14px; color:#9a917e; margin-top:6px; }
.rjH { font-size:24px; font-weight:bold; color:#7a5c30; border-left:4px solid #C2A26B; padding-left:10px; margin:30px 0 14px; font-family:"LXGW WenKai","霞鹜文楷","楷体", "KaiTi", "STKaiti", "Kaiti SC", serif; }
.rjBody .rjdP { margin:0 0 14px; text-indent:2em; }
.rjBody .rjdImg { display:block; margin:14px auto; max-width:100%; border:1px solid #E0D8C8; border-radius:4px; padding:4px; background:#FDF9F1; box-sizing:border-box; }
.rjdoc-article b { color:#000; font-weight:bold; font-size:calc(1em + 1px); font-family:"SimHei","黑体","Heiti SC","Microsoft YaHei","微软雅黑","Noto Sans CJK SC",sans-serif; }
/* 2026-09-20 用户指定：加粗的字改黑体并加粗（正文正常字仍用霞鹜文楷） */
.rjdoc-article .rjdP.hdYw, .rjdoc-article .rjdQ { font-family:"SimHei","黑体","Heiti SC","Microsoft YaHei","微软雅黑","Noto Sans CJK SC",sans-serif; font-weight:700; }
.rjdoc-article .rjdP.hdYw { font-size:calc(1em + 1px); }   /* 原文比注解大 1px，随正文一起 +3px */
/* --- 夜间模式 --- */
.rjdoc-night .rjdoc-shell { background:#1e1e1e; }
.rjdoc-night .rjdoc-bar { background:#252526; border-bottom-color:#3a3a3a; }
.rjdoc-night .rjdoc-title, .rjdoc-night .rjdoc-pager { color:#ddd; }
.rjdoc-night .rjdoc-btn { background:#2d2d2d; border-color:#4a4a4a; color:#ccc; }
.rjdoc-night .rjdoc-btn:hover { background:#8C5A3C; border-color:#8C5A3C; color:#fff; }
.rjdoc-night .rjdoc-side { background:#252526; border-right-color:#3a3a3a; }
.rjdoc-night .rjdoc-side-h { color:#c2a26b; }
.rjdoc-night .rjdoc-ti { color:#bbb; }
.rjdoc-night .rjdoc-ti:hover { background:#333; }
.rjdoc-night .rjdoc-ti.on { background:#8C5A3C; color:#fff; }
.rjdoc-night .rjdoc-article { background:#1e1e1e; border-color:#3a3a3a; color:#c8c8c8; }
.rjdoc-night .rjdoc-h1 { color:#e0d8c8; }
.rjdoc-night .rjdoc-author { color:#c2a26b; }
.rjdoc-night .rjdoc-desc { color:#888; }
.rjdoc-night .rjH { color:#c2a26b; border-left-color:#8C5A3C; }
.rjdoc-night .rjdoc-article b { color:#d8b98a; }
.rjdoc-night .rjBody .rjdImg { background:#252526; border-color:#3a3a3a; }
@media (max-width:820px){
  .rjdoc-article { padding:20px 16px 34px; border-radius:0; }
  .rjdoc-h1 { font-size:25px; }
  .rjH { font-size:21px; }
}

/* --- 人纪电子书 原书版式模式(逐页图) (2026-09-06) --- */
.rjPgBox { max-width:880px; margin:0 auto 10px; }
.rjPg { width:100%; display:block; border:1px solid #E0D8C8; border-radius:2px; background:#fff; }
.rjdoc-night .rjPg { border-color:#3a3a3a; }

/* --- 人纪电子书 TTS朗读 (2026-09-07) --- */
.rjTts { cursor:pointer; margin-right:8px; font-size:16px; opacity:.55; transition:opacity .15s; -webkit-tap-highlight-color:transparent; }
.rjTts:hover { opacity:1; }
.rjTts.on { opacity:1; }
.rjdoc-ttsbar { position:absolute; left:0; right:0; bottom:0; z-index:5; display:none; align-items:center; gap:10px; padding:8px 14px; background:#2d2a24; color:#e8dfc8; font-size:14px; }
.rjdoc-ttsbar.show { display:flex; }
.rjdoc-ttsbar .ttsTitle { flex:0 0 auto; max-width:220px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#c2a26b; }
.rjdoc-ttsbar .ttsProg { flex:1; height:4px; background:#4a4438; border-radius:2px; cursor:pointer; position:relative; }
.rjdoc-ttsbar .ttsProgFill { position:absolute; left:0; top:0; bottom:0; width:0; background:#c2a26b; border-radius:2px; }
.rjdoc-ttsbar .ttsBtn { border:1px solid #4a4438; background:#3a362c; color:#e8dfc8; border-radius:6px; padding:3px 10px; cursor:pointer; font-size:13px; white-space:nowrap; }
.rjdoc-ttsbar .ttsBtn:hover { background:#8C5A3C; border-color:#8C5A3C; color:#fff; }
.rjdoc-ttsbar .ttsTime { font-size:12px; color:#9a917e; white-space:nowrap; }
@media (max-width:820px){ .rjdoc-ttsbar .ttsTitle { max-width:110px; } .rjdoc-ttsbar .ttsTime { display:none; } }
/* --- TTS 逐句高亮 (2026-09-07) --- */
.rjSen.rjSenOn { background:#f0dfae; box-shadow:0 0 0 2px #f0dfae; border-radius:2px; }
.rjdoc-night .rjSen.rjSenOn { background:#6a4a2a; box-shadow:0 0 0 2px #6a4a2a; color:#fff; }

/* ===== 2026-09-16 手机号注册登录 / 试用状态 / 个人中心 ===== */
.tj-code-row { display:flex; flex:1; min-width:0; gap:8px; align-items:center; }
.tj-code-row input { flex:1; min-width:0; }
.tj-btn-code { white-space:nowrap; letter-spacing:1px; padding:7px 14px; font-size:var(--fs-13); }
.tj-btn-code:disabled { opacity:.6; cursor:default; }
.tj-auth-box .tj-note b, .tj-note b { color:var(--gold-deep); }

/* 欢迎首页：试用/到期状态与剩余时间 */
.tw-remain { margin-top:16px; font-size:var(--fs-15); color:#6b6353; letter-spacing:1px; }
.tw-remain b { color:var(--gold-deep); font-size:1.25em; letter-spacing:1px; }
.tw-remain span { font-size:var(--fs-12); color:var(--hint); }
.tw-remain.dim { margin-top:10px; font-size:var(--fs-13); color:var(--hint); }
.tw-sub.expired { color:#c0392b; }
.tw-sub.expired a { color:#c0392b; }
.tw-btns .tw-btn + .tw-btn { margin-left:12px; }
@media (max-width:768px){ .tw-btns .tw-btn + .tw-btn { margin-left:0; } }

/* 欢迎首页为深色底，剩余时间用浅色 */
.tj-welcome .tw-remain { color:rgba(255,255,255,.88); font-size:var(--fs-15); letter-spacing:2px; }
.tj-welcome .tw-remain b { color:#fff; font-size:1.3em; }
.tj-welcome .tw-remain span { color:rgba(255,255,255,.6); }
.tj-welcome .tw-remain.dim { color:rgba(255,255,255,.55); font-size:var(--fs-13); }
.tj-welcome .tw-sub.expired { color:#ffd9d0; }
.tj-welcome .tw-sub.expired a { color:#ffd9d0; }

/* 个人中心页：隐藏主题自带标题（页面里已有居中大标题） */
.tj-center-page .entry-header { display:none; }
.tj-center-page .ast-single-post .entry-content { padding-top:0; }

/* ===== 2026-09-18 人纪式个人中心（圆卡面板）+ 登录页账号入口 ===== */
.tj-center .tc-panel { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 20px; padding:26px 0 8px; max-width:1000px; margin:0 auto; }
.tj-center .tc-rcard { display:flex; flex-direction:column; width:100%; max-width:266px; margin:0 auto; text-decoration:none !important; background:none; border:none; padding:0; cursor:pointer; font-family:inherit; animation:tcFloat 5s ease-in-out infinite; }
.tj-center .tc-rcard:nth-child(2){animation-delay:.5s}
.tj-center .tc-rcard:nth-child(3){animation-delay:1s}
.tj-center .tc-rcard:nth-child(4){animation-delay:1.5s}
.tj-center .tc-rcard:nth-child(5){animation-delay:2s}
.tj-center .tc-rcard:nth-child(6){animation-delay:2.5s}
.tj-center .tc-rcard-in { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; width:100%; height:100%; aspect-ratio:1/1; border-radius:50%; background:#FDF9F1; border:1px solid #E0D8C8; box-shadow:0 1px 4px rgba(90,67,34,.06); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; padding:7%; }
.tj-center .tc-rcard:hover .tc-rcard-in, .tj-center .tc-rcard:focus .tc-rcard-in { transform:translateY(-6px); border-color:#8C5A3C; box-shadow:0 10px 22px rgba(140,90,60,.2); }
.tj-center .tc-rbadge { flex:0 0 auto; min-width:64px; height:64px; padding:0 10px; border-radius:8px; background:#F5F1E8; border:1px solid #E0D8C8; display:inline-flex; align-items:center; justify-content:center; font-size:22px; font-weight:bold; color:#2F3E2E; font-family:"楷体","KaiTi","STKaiti","宋体","SimSun",serif; transition:background .18s ease,color .18s ease,border-color .18s ease; }
.tj-center .tc-rcard:hover .tc-rbadge { background:#8C5A3C; border-color:#8C5A3C; color:#fff; }
.tj-center .tc-rname { position:relative; font-size:30px; font-weight:bold; color:#2F3E2E; letter-spacing:2px; font-family:"楷体","KaiTi","STKaiti","宋体","SimSun",serif; text-align:center; line-height:1.25; transition:color .18s ease; }
.tj-center .tc-rcard:hover .tc-rname { color:#8C5A3C; }
.tj-center .tc-rsub { font-size:15px; color:#9a917e; letter-spacing:1px; text-align:center; line-height:1.55; }
.tj-center .tc-rname .tc-badge { position:absolute; top:-6px; right:-16px; }
.tj-center .tc-line { text-align:center; font-size:14px; color:#8d8574; letter-spacing:.5px; margin:6px 0 20px; }
.tj-center .tc-line b { color:#8C5A3C; }
@keyframes tcFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }
@media (prefers-reduced-motion:reduce){ .tj-center .tc-rcard{animation:none} }
@media (max-width:820px){
  .tj-center .tc-panel { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 14px; padding:16px 0 8px; }
  .tj-center .tc-rcard-in { gap:6px; }
  .tj-center .tc-rname { font-size:22px; letter-spacing:1px; }
  .tj-center .tc-rbadge { min-width:54px; height:54px; font-size:18px; }
  .tj-center .tc-rsub { font-size:13px; }
}
@media (max-width:480px){ .tj-center .tc-panel { grid-template-columns:1fr; max-width:320px; } }

/* 登录页：底部「使用账号登录」 */
.tj-auth-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; }
.tj-foot-tip { font-size:var(--fs-12); color:var(--hint); }
a.tj-link-acc { font-size:var(--fs-13); color:var(--gold-deep); text-decoration:none; white-space:nowrap; }
a.tj-link-acc:hover { text-decoration:underline; }
