/* ==========================================================================
 * prefs.css —— 天时养元 · V24 适配层皮肤（三轴正交：因人 / 因时 / 因宜）
 * --------------------------------------------------------------------------
 * 引入方式：放在 style.css 之后（要在 <head> 里，才能首帧生效、不白闪）：
 *     <link rel="stylesheet" href="style.css?v=...">
 *     <link rel="stylesheet" href="prefs.css?v=...">
 *     <script src="prefs.js?v=..."></script>
 * 渲染契约：prefs.js 只负责往 <html> 上打 data-* 属性，本文件只按属性出样式。
 *   因人 → html[data-layout=standard|large] + html[data-font=16|18|20|22|24]
 *   因时 → html[data-theme=day|night]
 *   因宜 → html[data-readmode=shouchang|wanwei] + html[data-feat-*]
 * 🔴 夜版禁纯黑(#000)纯白(#FFF)：底用墨褐 #16130F，字用米黄 #E8E0D0（V24 §3.2）
 * 🔴 切换禁白闪：过渡 240ms 淡入（V24 §3.1）
 * ========================================================================== */

/* --------------------------------------------------------------------------
 * 一 · 夜版：重定义 style.css 的 :root 变量（全站共用样式表自动跟随）
 *    style.css 里 body/.card/.brand 等都吃 var(--...)，改变量即整体变暗。
 * -------------------------------------------------------------------------- */
html[data-theme="night"] {
  --paper: #16130F;        /* 墨褐（不用纯黑） */
  --card: #201C17;         /* 面板 */
  --ink: #E8E0D0;          /* 正文米黄（不用纯白） */
  --ink-light: #A89F8C;    /* 次要文字 */
  --green: #55A08D;        /* 青绿提亮（V24.15：#4E8E7E 作深底文字 4.4:1 差口气，提亮到 5.5:1） */
  --green-light: #1E2A26;
  --ochre: #C99A5B;
  --red: #A8453A;          /* 朱砂降饱和 */
  --yellow: #C9A227;
  --line: #332C24;         /* 分隔线 */
  --btn-face-a: #26201A;   /* 纸感按钮（夜版：深褐渐变，不用纯黑） */
  --btn-face-b: #211C16;
  --btn-line: #3A322A;
  --face-1: #221E18;       /* 浅卡面族（夜版收口） */
  --face-2: #211D16;
  --face-3: #201C17;
  --face-4: #242019;
  --face-5: #232018;
  --face-6: #201C17;
  --face-green: #1E2A26;
  --face-badge: #2A241D;
  color-scheme: dark;
}

/* 夜版：共用样式表里写死颜色的几处补丁（这些在 style.css 里没用变量）
   ⚠️ 自有纸色页（江湖 / 工具页，标 html.jbt-own-skin）不吃这条 —— 它们硬编码
   了整页配色，全局改 body 底色会「半明半暗」。这些页在夜版只做暖光降亮（见下）。 */
html[data-theme="night"]:not(.jbt-own-skin) body { background: var(--paper); color: var(--ink); }
/* 自有纸色页：夜版温和降亮，不改底色、不打架（后续批再把这些页的配色变量化） */
html.jbt-own-skin[data-theme="night"] body { filter: brightness(.92) sepia(.06); }
html[data-theme="night"] .top { background: linear-gradient(180deg, #1B1712, rgba(27, 23, 18, 0)); }
html[data-theme="night"] .jbt-tabs { background: #1B1712; border-top-color: #332C24; }
html[data-theme="night"] .jbt-tabs a { color: #A89F8C; }
html[data-theme="night"] .jbt-tabs a.on { color: #E8E0D0; border-top-color: #C99A5B; }

/* --------------------------------------------------------------------------
 * 一之补 · 自有纸色页（无 style.css）的底栏兜底（W2-05 · 2026-10-10）
 *   nav.js 注入的 .jbt-tabs 原样式写在 style.css 里；江湖页 / 语音页 / 方剂讲义
 *   这些「自有纸色页」不引 style.css，若不给兜底，注入的底栏会变成一堆竖排链接。
 *   故这里按 style.css 的原样式复刻一份，仅作用于 html.jbt-own-skin，不去污染全站。
 * -------------------------------------------------------------------------- */
html.jbt-own-skin .jbt-tabs {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 90;
  background: #FBF7EE; border-top: 1px solid #E2DDCC;
  display: flex; justify-content: center; gap: 30px;
  padding: 2px 0 calc(8px + env(safe-area-inset-bottom));
  box-shadow: 0 -2px 12px rgba(60, 50, 30, .06);
}
html.jbt-own-skin .jbt-tabs a {
  text-decoration: none; text-align: center;
  padding: 8px 16px 5px; border-top: 2.5px solid transparent;
  font-family: "Kaiti SC", KaiTi, serif; font-size: 14.5px; letter-spacing: 2px;
  color: #8A887A;
}
/* 【W4-01】与 style.css 同一口径：4 格在窄屏收窄 */
@media (max-width: 380px) {
  html.jbt-own-skin .jbt-tabs { gap: 16px; }
  html.jbt-own-skin .jbt-tabs a { padding: 8px 9px 5px; font-size: 14px; letter-spacing: 1px; }
}
html.jbt-own-skin .jbt-tabs a.on { color: #4E6E52; border-top-color: #4E6E52; font-weight: 600; }
/* 不遮页脚：自有纸色页主体容器名各异，统一在 body 末尾留出底栏高度。
   （不动页内任何容器的原有留白，只加一层 body padding。） */
html.jbt-own-skin body.jbt-hasbar { padding-bottom: 84px; }
/* 无 <main> 的产品页（如 trial）：底栏不压页脚 */
html:not(.jbt-own-skin) body.jbt-hasbar > .tr-wrap,
html:not(.jbt-own-skin) body.jbt-hasbar > .wrap,
html:not(.jbt-own-skin) body.jbt-hasbar > .page { padding-bottom: 104px; }
/* 夜版：这些页只做暖光降亮（见上），底栏跟随换深色以免刺眼 */
html.jbt-own-skin[data-theme="night"] .jbt-tabs { background: #2A251E; border-top-color: #3A322A; }
html.jbt-own-skin[data-theme="night"] .jbt-tabs a { color: #A89F8C; }
html.jbt-own-skin[data-theme="night"] .jbt-tabs a.on { color: #E8E0D0; border-top-color: #C99A5B; }
html[data-theme="night"] .me a { border-bottom-color: #4A4238; }
html[data-theme="night"] button:not(.primary) { background: #2A241D; color: var(--ink); }
html[data-theme="night"] input,
html[data-theme="night"] select,
html[data-theme="night"] textarea { background: #201C17; color: var(--ink); border-color: #332C24; }

/* 【V24.15 · 夜版绿底件统一压深】--green 夜版提亮后当文字清楚了，但拿它当底、
 * 上面铺米白字只剩 ~3.2:1。凡「绿底+亮字」的选中态/按钮，夜版统一换深绿底（≥6:1）。
 * :is() 取各参最高特异性 + html[data-theme] 一档，稳定压过 style.css 原规则。 */
html[data-theme="night"] :is(button.primary, .zz-dur button.on, .wxy-qbtn.on, .zz-music button.on,
  .am-sc.on, .am-dot.on, .mo-m.on, .jt-mem.on, .jt-seg-btn.on, .rk-fit button.on, .jd-menu button.on,
  .jd-pybtn.on, .jt-qk-dot.on, .jt-qk-score.good, .jt-qk-copy, .vl-btn, .vl-acts button, .jt-music-btn.primary) {
  background: #2E6355; border-color: #2E6355; color: #F7F5EF;
}
/* 晨报天象卡：夜版换墨绿底（#4E8E7E 大面积铺底刺眼且米白字 2.9:1；#24463C 上 ≥7:1） */
html[data-theme="night"] .jt-summary .ts-sky { background: #24463C; }
/* 【V24.17 · 夜版登录卡收口】login.html 未登录夜访：tabs 仍是日版米底（浅字 1.1:1） */
html[data-theme="night"] .login-card { background: #201C17; border-color: #332C24;
  box-shadow: 0 18px 40px -28px rgba(0,0,0,.8); }
html[data-theme="night"] .login-tabs { background: rgba(255,255,255,.07); }
html[data-theme="night"] .login-tabs button { color: #A89F8C; }
html[data-theme="night"] .login-tabs button.on { background: #2A241D; color: #D8E2D6;
  box-shadow: 0 1px 3px rgba(0,0,0,.4); }
html[data-theme="night"] .login-brand { color: #D8E2D6; }
html[data-theme="night"] .login-field input { background: #201C17; color: var(--ink); border-color: #332C24; }

/* 【V24.15 · 夜版零散硬编码色收口】昼版深色小字在夜版深卡上普遍 2.5~3:1 */
/* 五行柱文字（昼版深红/深绿夜版 2.6:1） */
html[data-theme="night"] .bz-col-val, html[data-theme="night"] .bz-col-lab, html[data-theme="night"] .bz-cols-xi { color: #A89F8C; }
html[data-theme="night"] .bz-col-val.yong, html[data-theme="night"] .bz-col-lab.yong { color: #7FBFA8; }
html[data-theme="night"] .bz-col-val.ji, html[data-theme="night"] .bz-col-lab.ji { color: #D4756A; }
/* 岁谷/宜吃浅米子卡：夜版整卡换深底 */
html[data-theme="night"] .jt-sg-d, html[data-theme="night"] .jt-yc-d { background: #201C17; border-color: #332C24; }
html[data-theme="night"] .jt-sg-d p, html[data-theme="night"] .jt-sg-r span,
html[data-theme="night"] .jt-yc-d p, html[data-theme="night"] .jt-yc-r span { color: #E8E0D0; }
html[data-theme="night"] .jt-sg-r b, html[data-theme="night"] .jt-yc-r b { color: #A89F8C; }
/* 连续天数小签 / 身份徽章 / 医生头像圈 / 页脚：昼版浅底深字件夜版换深底亮字 */
html[data-theme="night"] .card h2 .badge { background: #2A241D; color: #D4B36A; border-color: #4A4230; }
html[data-theme="night"] .wd-badge { background: #22302A; color: #7FBFA8; border-color: #3A5A4C; }
html[data-theme="night"] .wd-badge.lv2 { background: #2A241D; color: #D4B36A; border-color: #4A4230; }
html[data-theme="night"] .wd-badge.lv3 { background: #2E2222; color: #D4756A; border-color: #5A3A38; }
html[data-theme="night"] .doc-ava { color: #7FBFA8; }
html[data-theme="night"] footer, html[data-theme="night"] footer a { color: #A89F8C; }

/* --------------------------------------------------------------------------
 * 二 · 切换不白闪：底色与文字 240ms 淡入（含夜→昼的舒缓回升）
 * -------------------------------------------------------------------------- */
body {
  transition: background-color 240ms ease, color 240ms ease;
}
.jbt-tabs { transition: background-color 240ms ease, border-top-color 240ms ease; }

/* --------------------------------------------------------------------------
 * 三 · 因人：字号 5 档（16 / 18 / 20 / 22 / 24）
 *    全站以 px 为准，故用 zoom 整体等比放大（比改 rem 稳、一页不漏）
 * -------------------------------------------------------------------------- */
html[data-font="16"] { zoom: 1; }
html[data-font="18"] { zoom: 1.125; }
html[data-font="20"] { zoom: 1.25; }
html[data-font="22"] { zoom: 1.375; }
html[data-font="24"] { zoom: 1.5; }

/* 大字版：点击区与行距更宽（降密度不降功能） */
html[data-layout="large"] body { line-height: 1.8; }
html[data-layout="large"] button,
html[data-layout="large"] .primary { min-height: 56px; font-size: 18px; }
html[data-layout="large"] .card { padding: 20px; }
html[data-layout="large"] .wd-links a,
html[data-layout="large"] .wd-links button { padding: 16px 18px; font-size: 17px; line-height: 1.7; }
html[data-layout="large"] button,
html[data-layout="large"] a { -webkit-tap-highlight-color: transparent; }
/* 大字版：禁用隐藏手势带来的误触（V24 §2.1） */
html[data-layout="large"] * { -webkit-user-select: text; }

/* --------------------------------------------------------------------------
 * 四 · 临时大字（三指双击）：只加临时标志，不改 prefs（V24 §8.2）
 * -------------------------------------------------------------------------- */
html[data-temp-big="1"] { zoom: 1.5 !important; }
html[data-temp-big="1"][data-font="24"] { zoom: 1.5 !important; }   /* 已到顶，不再放大 */

/* 沉浸画卷页（nav.js 注入 .jh-topbar 时在 <html> 打 data-jh-immersive）：
   画卷热点是画面坐标、fixed 全屏版式禁不起整页缩放 —— 大字档 zoom 一律锁 1
   （与舆图 ditu 的豁免先例一致；卷面自带 clamp 字号，不依赖整页放大）。
   2026-10-10 深夜：大字档用户报科举/寺院/道观/武馆整页错乱（控件跑出屏幕），此为根治。 */
html[data-jh-immersive],
html[data-jh-immersive][data-temp-big="1"] { zoom: 1 !important; }

#jbtTempBigBar {
  position: fixed; left: 50%; top: calc(10px + env(safe-area-inset-top));
  transform: translateX(-50%); z-index: 200;
  background: #2F5D50; color: #F3EFE6;
  font-size: 12.5px; line-height: 1.4; letter-spacing: .5px;
  padding: 8px 14px; border-radius: 20px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .22);
  max-width: 88vw; text-align: center;
}
#jbtTempBigBar b { color: #FFD9A0; }
html[data-theme="night"] #jbtTempBigBar { background: #24463C; }

/* --------------------------------------------------------------------------
 * 五 · （原「夜静」已下线，2026-10-10）
 *     用户要求：正看手机时不要替他收拢页面。
 *     页面不再自动降亮、不再把次要元素变灰不可点、不再弹「我还没睡」提示条。
 *     夜间护眼交给 html[data-theme="night"]（自动/常夜），与本段无关。
 * -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
 * 六 · 因宜：讲法与功能开关（关掉即安静，不留空壳）
 *    页面用 class="jbt-feat-jianghu" 标注所属功能，开关一关即整体隐藏。
 * -------------------------------------------------------------------------- */
/* 【踩坑·2026-10-10】HTML 解析会把属性名统一成小写：setAttribute("data-feat-shareCard")
   实际落到 DOM 上是 data-feat-sharecard。CSS 属性选择器必须写小写，否则永远匹配不上
   （本项目 7 个开关里唯独 shareCard 是驼峰，最容易踩）。类名 .jbt-feat-shareCard 保持驼峰不变
   —— class 值是大小写敏感的，两处别写岔。 */
html[data-feat-jianghu="0"] .jbt-feat-jianghu,
html[data-feat-sharecard="0"] .jbt-feat-shareCard,
html[data-feat-gongke="0"] .jbt-feat-gongke,
html[data-feat-charts="0"] .jbt-feat-charts,
html[data-feat-audio="0"] .jbt-feat-audio,
html[data-feat-community="0"] .jbt-feat-community,
html[data-feat-yaji="0"] .jbt-feat-yaji { display: none !important; }

/* 开关旁的「已关 · 数据仍在记录」小签 */
.jbt-off-tag { font-size: 11.5px; color: var(--ink-light); margin-left: 6px; }

/* --------------------------------------------------------------------------
 * 七 · 色弱友好：状态不只靠颜色（V24 §6.11）
 *    规矩：任何「好/注意」都同时给 颜色 + 形状 + 文字 三重表达。
 * -------------------------------------------------------------------------- */
.jbt-state-up::before   { content: "顺 "; }
.jbt-state-warn::before { content: "注意 "; }
/* 灰度 / 黑白打印下也能分辨：好＝实线边，注意＝虚线边 */
.jbt-state-up   { border-left: 3px solid currentColor; padding-left: 8px; }
.jbt-state-warn { border-left: 3px dashed currentColor; padding-left: 8px; }
/* 系统「强制颜色 / 高对比」模式：纯色块加符号，颜色被系统抹掉也能读 */
@media (forced-colors: active) {
  .bi-box.ok::after   { content: " ✓"; }
  .bi-box.bad::after  { content: " !"; font-weight: 700; }
  .jbt-state-up, .jbt-state-warn { border-left-style: solid; }
}

/* 曲线开关关闭时，用一句话小结顶上（V24 §4.3：关了就安静，但不丢信息）
 * 批 1 先落样式钩子；具体小结文案在批 2 由页面填（.jbt-chart-note）。 */
.jbt-chart-note { display: none; }
html[data-feat-charts="0"] .jbt-chart-note { display: block; }

/* --------------------------------------------------------------------------
 * 八 · 江湖关闭后的温和提示（不整页空白；V24 §4.3「关了就安静」）
 *    用法：<main class="jbt-feat-jianghu"> … </main>
 *          <div class="jbt-jh-off">这个院子先关上了 …</div>
 * -------------------------------------------------------------------------- */
.jbt-jh-off { display: none; }
html[data-feat-jianghu="0"] .jbt-jh-off { display: block; }
.jbt-jh-off .jho-box {
  max-width: 430px; margin: 60px auto; padding: 22px 20px;
  background: var(--card, #fffdf8); border: 1px solid var(--line, #e3d9c6);
  border-radius: 14px; text-align: center; line-height: 1.9;
  color: var(--ink, #2b2118);
}
.jbt-jh-off .jho-box b { font-size: 17px; }
.jbt-jh-off .jho-box p { margin: 10px 0 16px; color: var(--ink-light, #6b5b4a); font-size: 13.5px; }
.jbt-jh-off .jho-box a {
  display: inline-block; padding: 11px 20px; border-radius: 10px;
  background: var(--green, #4E6E52); color: #F3EFE6; text-decoration: none; font-size: 14.5px;
}
html[data-theme="night"] .jbt-jh-off .jho-box { background: #201C17; border-color: #332C24; color: #E8E0D0; }

/* --------------------------------------------------------------------------
 * 九 · 今日一笺（W2-01 / V23 §6.1）—— 竖版笺：右起三行 + 左下朱印
 *    只在玩味模式出现；守常模式整块 display:none（由 yijian.js 控制，默认关着）。
 *    版面：c1 古语（最大）→ c2 白话（次之、偏淡）→ c3 今日一件事（绿、加粗）。
 *    笺纸底色用浅米，夜版换墨褐（不用纯黑，防眩光）。
 * -------------------------------------------------------------------------- */
.jtyj-paper {
  position: relative; margin: 10px 0 0;
  padding: 18px 18px 18px 20px; min-height: 356px; overflow: hidden;
  border: 1px solid var(--line, #e3d9c6); border-radius: 10px;
  background: linear-gradient(180deg, #FCFAF4, #F5F1E6);
}
.jtyj-paper::after {           /* 笺纸的竖格线（右起），纯装饰，不挡读 */
  content: ""; position: absolute; inset: 12px; pointer-events: none; opacity: .5;
  background-image: repeating-linear-gradient(90deg, var(--line, #e3d9c6) 0 1px, transparent 1px 46px);
}
.jtyj-v {
  writing-mode: vertical-rl; text-orientation: upright; height: 320px; position: relative; z-index: 1;
  font-family: "Noto Serif SC", "SimSun", serif; color: var(--ink, #2b2118);
}
.jtyj-col { display: block; max-height: 320px; margin-left: 18px; letter-spacing: 3px; line-height: 1.25; }
.jtyj-col.c1 { font-size: 21px; font-weight: 700; }
.jtyj-col.c2 { font-size: 15px; color: var(--ink-light, #6b5b4a); letter-spacing: 2px; }
.jtyj-col.c3 { font-size: 16.5px; font-weight: 700; color: var(--green, #4E6E52); }
.jtyj-seal { position: absolute; left: 16px; bottom: 14px; width: 46px; height: 46px; opacity: .93; z-index: 2; }
.jtyj-seal svg { display: block; width: 100%; height: 100%; }
.jtyj-btn { margin-top: 12px; }
.jtyj-btn button { width: 100%; }
/* 大字版：竖排字号跟着放大，笺纸跟着加高 */
html[data-layout="large"] .jtyj-col.c1 { font-size: 25px; }
html[data-layout="large"] .jtyj-col.c2 { font-size: 18px; }
html[data-layout="large"] .jtyj-col.c3 { font-size: 20px; }
html[data-layout="large"] .jtyj-v { height: 400px; }
html[data-layout="large"] .jtyj-col { max-height: 400px; }
html[data-layout="large"] .jtyj-paper { min-height: 436px; }
/* 夜版：墨褐笺纸 + 米黄字（不用纯黑纯白） */
html[data-theme="night"] .jtyj-paper { background: linear-gradient(180deg, #201B15, #191510); border-color: #332C24; }
html[data-theme="night"] .jtyj-paper::after { opacity: .28; }
html[data-theme="night"] .jtyj-v { color: #E8E0D0; }
html[data-theme="night"] .jtyj-col.c2 { color: #A89F8C; }
html[data-theme="night"] .jtyj-col.c3 { color: #8FBF9A; }

/* --------------------------------------------------------------------------
 * 十 · 一底两读（W2-06 / V23 §三）—— 玩味模式下的语气引子
 *    只加「包装」（引子 / 收束），不改任何事实词；守常模式下这些元素干脆不存在。
 *    .jbt-two-reading 只作标记用（验收脚本据此断言），不含样式。
 * -------------------------------------------------------------------------- */
.jt-music-lead {
  font-size: 13.5px; color: var(--ink-light, #6b5b4a); margin: 2px 0 10px; letter-spacing: .5px;
}
html[data-theme="night"] .jt-music-lead { color: #A89F8C; }

/* --------------------------------------------------------------------------
 * 十一 · 节气雅集（W2-07 / V23 §6.3）—— 玩法层卡片
 * -------------------------------------------------------------------------- */
.yaji-name { font-size: 17px; font-weight: 700; color: var(--ink, #2b2118); margin: 2px 0 6px; letter-spacing: .5px; }
.yaji-meta { font-size: 13px; color: var(--ink-light, #6b5b4a); margin-bottom: 8px; }
.yaji-what { font-size: 14px; line-height: 1.75; color: var(--ink, #2b2118); }
.yaji-left { font-size: 12.5px; color: var(--green, #4E6E52); margin-top: 8px; }
.yaji-act { display: flex; align-items: center; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.yaji-act .hint { font-size: 12.5px; }
html[data-theme="night"] .yaji-name, html[data-theme="night"] .yaji-what { color: #E8E0D0; }
html[data-theme="night"] .yaji-meta { color: #A89F8C; }
html[data-theme="night"] .yaji-left { color: #8FBF9A; }

/* --------------------------------------------------------------------------
 * 十二 · 功课册（W2-02 / V23 §6.2）—— 只给自己看的进度，不影响任何健康判断
 *    整块挂 jbt-feat-gongke 开关；曲线宿主另挂 jbt-feat-charts。
 * -------------------------------------------------------------------------- */
.gk-top { display: flex; gap: 10px; margin: 4px 0 10px; }
.gk-val { flex: 1; text-align: center; padding: 10px 4px; border-radius: 10px; background: var(--green-light, #EAF0E7); }
.gk-val b { display: block; font-size: 21px; color: var(--green, #4E6E52); font-family: "Noto Serif SC", serif; }
.gk-val span { font-size: 12px; color: var(--ink-light, #6b5b4a); }
.gk-chart-wrap { margin: 6px 0 4px; }
#gkChart { width: 100%; height: 150px; display: block; }
.gk-chart-note { font-size: 13px; color: var(--ink-light, #6b5b4a); line-height: 1.7; }
.gk-sub { font-size: 13px; color: var(--ink-light, #6b5b4a); margin: 14px 0 8px; letter-spacing: 1px; border-top: 1px dashed var(--line, #e3d9c6); padding-top: 10px; }
.gk-medals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.gk-medal { border: 1px solid var(--line, #e3d9c6); border-radius: 10px; padding: 9px 6px; text-align: center; opacity: .5; }
.gk-medal.on { opacity: 1; border-color: var(--green, #4E6E52); background: var(--green-light, #EAF0E7); }
.gk-medal b { display: block; font-size: 13.5px; color: var(--ink, #2b2118); margin-top: 3px; }
.gk-medal i { display: block; font-style: normal; font-size: 11px; color: var(--ink-light, #6b5b4a); margin-top: 2px; line-height: 1.4; }
.gk-medal-dot { font-size: 15px; color: var(--green, #4E6E52); }
.gk-books { display: flex; flex-direction: column; gap: 10px; }
.gk-book-h { display: flex; justify-content: space-between; font-size: 13.5px; color: var(--ink, #2b2118); }
.gk-book-h span { color: var(--ink-light, #6b5b4a); font-size: 12.5px; }
.gk-bar { height: 6px; border-radius: 3px; background: #e6e0d2; margin: 5px 0 4px; overflow: hidden; }
.gk-bar i { display: block; height: 100%; background: var(--green, #4E6E52); border-radius: 3px; }
.gk-book-n { font-size: 11.5px; color: var(--ink-light, #6b5b4a); }
html[data-theme="night"] .gk-val, html[data-theme="night"] .gk-medal.on { background: #22302A; }
html[data-theme="night"] .gk-medal b, html[data-theme="night"] .gk-book-h { color: #E8E0D0; }
html[data-theme="night"] .gk-bar { background: #2C2620; }

/* ==========================================================================
 * 十 · 批 3 位移批新增块（W3-01 速记上移 / W3-02 问大夫 / W3-05 江湖双通道
 *      / W3-06「我的」四书资产）+ W4-04 旧版界面开关
 * --------------------------------------------------------------------------
 * 口径：本批新增的一切都带 .jbt-new —— 一旦「还是用原来的样子」打开，
 *       .jbt-new 整块收起，页面即回到本轮调整之前的样子。
 * ========================================================================== */

/* ---- 十·〇 W4-04「还是用原来的样子」：新增块一键收起 ---- */
html[data-legacy="1"] .jbt-new { display: none !important; }

/* ---- 十·一 速记（W3-01）：从晨报卡内提到晨报正下方，独立成卡 ----
 * 原来是嵌在晨报深绿卡里的一小节（.ts-sky 内部），要往下滚才看得见。
 * 现在把它整块搬到晨报卡**外面、紧挨其后**：打开首页 → 晨报 → 速记，不用滚动。
 * 原位置留一行引导（.jt-moved-note），免得老用户找不到。 */
#jtQuickSec > .jt-qk { border-top: 0; margin-top: 0; padding: 0 2px 2px; }
.jt-moved-note {
  font-size: 12.5px; color: var(--ink-light);
  padding: 9px 2px 0; margin-top: 12px; border-top: 1px dashed var(--line);
}
.jt-moved-note a { color: var(--green); text-decoration: none; }
html[data-theme="night"] .jt-moved-note { color: #A89F8C; }
html[data-theme="night"] .jt-moved-note a { color: #8FBF9A; }

/* ---- 十·二 问大夫（W3-02）：首页常驻入口，点一下就到 ----
 * 医生消息是锁定 4 项之一 —— 入口必须好找，且夜静时段照常在。
 * 深绿底 = 与晨报同一色系，让人一眼认出"这是人的那一侧"。 */
.jt-askdoc {
  display: flex; align-items: center; gap: 11px;
  margin: 12px 0 2px; padding: 12px 13px; border-radius: 14px;
  text-decoration: none; color: #F7F5EF;
  background: linear-gradient(140deg, #3F6B58, #4E7A63);
  box-shadow: 0 3px 12px rgba(80, 65, 40, .14);
}
.jt-askdoc .ad-ico {
  flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%;
  border: 1.5px solid rgba(247, 245, 239, .6);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; font-weight: 700;
}
.jt-askdoc .ad-t { flex: 1 1 auto; min-width: 0; }
.jt-askdoc .ad-t b { display: block; font-size: 16px; font-weight: 700; letter-spacing: .5px; }
.jt-askdoc .ad-t span { display: block; font-size: 12px; opacity: .86; margin-top: 2px; line-height: 1.5; }
.jt-askdoc .ad-go { flex: 0 0 auto; font-size: 13px; opacity: .94; }

/* ---- 十·三 玩 · 杏林街（W3-05）：江湖第二通道 ----
 * V25 §四①：底部仍是 3 格。江湖两条路 —— 老路（我的 → 更多工具）一字未动，
 * 新路在这里。守常模式默认也在，因为它是"玩"不是"算"。 */
.jt-play {
  display: flex; align-items: center; gap: 11px;
  margin: 12px 0 2px; padding: 12px 13px; border-radius: 14px;
  text-decoration: none; color: var(--ink);
  background: var(--card, #FBF8F1); border: 1px solid var(--line);
}
.jt-play .pl-ico { flex: 0 0 auto; font-size: 22px; }
.jt-play .pl-t { flex: 1 1 auto; min-width: 0; }
.jt-play .pl-t b { display: block; font-size: 16px; font-weight: 700; letter-spacing: .5px; }
.jt-play .pl-t span { display: block; font-size: 12px; color: var(--ink-light); margin-top: 2px; line-height: 1.5; }
.jt-play .pl-go { flex: 0 0 auto; font-size: 13px; color: var(--green, #4E6E52); }
html[data-theme="night"] .jt-play { background: #201C17; border-color: #332C24; color: #E8E0D0; }
html[data-theme="night"] .jt-play .pl-t span { color: #A89F8C; }
html[data-theme="night"] .jt-play .pl-go { color: #8FBF9A; }

/* ---- 十·四 六件事 → 新用户先三件事（W3-04） ----
 * 新用户（用满 7 天以内）只出「吃 · 练 · 睡」三件；第 8 天自动升满六件。
 * 老用户（有 7 天以上历史）永远六件，不降级 —— 由 jintian.js 落 data-tasks 属性。 */
html[data-tasks="3"] #jtTasksSec .jt-task[data-task="study"],
html[data-tasks="3"] #jtTasksSec .jt-task[data-task="record"],
html[data-tasks="3"] #jtTasksSec .jt-task[data-task="music"] { display: none !important; }

/* ---- 十·五「我的」四书资产（W3-06）：资产提到第一屏 ----
 * 四书是攒出来的东西（记录本身），不是一块屏。所以它该在最上面，而不是埋在工具列表里。 */
.wd-assets { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.wd-assets a {
  display: block; padding: 12px 12px 13px; border-radius: 12px;
  text-decoration: none; color: var(--ink);
  background: var(--card, #FBF8F1); border: 1px solid var(--line);
}
.wd-assets a b { display: block; font-size: 15px; font-weight: 700; letter-spacing: .3px; }
.wd-assets a small { display: block; font-size: 11.5px; color: var(--ink-light); margin-top: 4px; line-height: 1.5; }
.wd-assets a .wd-as-st { display: block; font-size: 11.5px; color: var(--green, #4E6E52); margin-top: 6px; }
.wd-assets a.lock { opacity: .72; }
.wd-assets a.lock .wd-as-st { color: var(--ink-light); }
html[data-theme="night"] .wd-assets a { background: #201C17; border-color: #332C24; color: #E8E0D0; }
html[data-theme="night"] .wd-assets a small { color: #A89F8C; }
html[data-layout="large"] .wd-assets { grid-template-columns: 1fr; }
