/* ==========================================================================
 * 235导航 · 逆水寒游戏专区 · 子主题
 * ==========================================================================
 * 用途：给 tools/nsh-roi.html / tools/nsh-cargo.html / tools/nsh-craft.html **共用**的一套
 *   「账房 · 暖纸 · 墨 · 琥珀金」令牌，外加末尾两段专区共享的页面级消费（见文末说明）。
 *
 * 为什么单独抽这份文件（V1.53）：
 *   这两页原先各自内联了一整套 --nsh-* 令牌，且**两页取值几乎全不相同**
 *   （底色 #F5EFE2 vs #F4EFE4、主色 #B0770F vs #B77A16、圆角体系 12/8 vs 8/6…）。
 *   同一品牌两套实现 → 必然漂移。这份文件把它们收敛成**唯一一份取值**。
 *
 * 取值基准：以 nsh-cargo 的暖石体系为准（它更完整、层级更细），
 *   nsh-roi 独有的令牌（--nsh-panel / --nsh-paper-1~3 / --nsh-input-bg / --nsh-*-bg / 字体栈）
 *   在这里映射到等价取值，两个页面因此获得完全一致的观感。
 *
 * ⚠️ 这是「游戏专区子主题」，不是全站主色板 —— 主站仍是 slate + 琥珀金（css/style.css）。
 *    子主题只在逆水寒专区的页面里生效，由这两页的 <html data-nsh-theme> 标记界定。
 *
 * ⚠️ 引入方式：<link rel="stylesheet" href="../css/nsh-theme.css">
 *    必须放在 ../css/style.css **之后**（子主题要能覆盖主站令牌）,
 *    页面自己的版面样式仍写在各页的 <style> 里；本文件**基本**只管令牌，
 *    例外是文末两段专区共享的页面级消费规则（.game-page 令牌映射、.seo-copy 正文层版式）。
 * ========================================================================== */

/* ---------- 亮色（暖石纸） ---------- */
:root,
[data-theme="light"] {
  /* 页面底 / 卡片 / 内嵌面 */
  --nsh-page: #F4EFE4;                      /* 页面底：暖纸 */
  --nsh-bg: #FCF9F2;                        /* 卡片底 */
  --nsh-panel: #FFFCF4;                     /* 主面板（roi 用法，与 bg 同为浅面） */
  --nsh-panel-2: #F2EADA;                   /* 内嵌：表头 / 输入底 / 代码块 */

  /* 边线 */
  --nsh-border: rgba(62, 46, 26, .10);
  --nsh-border-soft: rgba(62, 46, 26, .055);

  /* 墨（三级）
     ⚠️ ink-3 是**唯一**承载 10.5–12px 小字的墨色（单位、说明、hint、note），
        因此它必须满足小字 AA（4.5:1），而它下面垫的底色是全站**最暗的那一档**（内嵌面 #F2EADA）。
        原值 #8B7C63 在该底上只有 3.40:1 —— 全线不达标（#8B7C63 对任何一块浅底都在 3.40–4.00 之间）。
        现值 #6F6149：最差底（#F2EADA）5.04:1，其余底 5.35–6.39:1。
     ⚠️ 调亮一档到 #7A6B52 是**不够的**（在最暗底上只有 4.33:1）—— 改这个值必须拿
        「内嵌面 #F2EADA」这一档做最坏场景复算，不要只测白底。 */
  --nsh-ink-1: #262018;                     /* 主文字 */
  --nsh-ink-2: #4E4334;                     /* 次级文字 */
  --nsh-ink-3: #6F6149;                     /* 三级 / 单位 / 说明 */

  /* 品牌：琥珀金 —— 唯一强调角色
     ⚠️ on-accent 必须是**深字**，这是全站既有约定（css/style.css 的 --accent-fg #1E293B
        压 --accent #F59E0B = 6.81:1）—— 原来这里放的是浅字 #FFF9EA，走反了：
        #FFF9EA 压 --nsh-accent #B77A16 只有 3.44:1（小字 AA 需 4.5），压 cargo 按钮渐变
        的亮端 #C6891E 更是只有 2.86:1。暗色一侧本来就是深字（#2A2117 → 7.03:1），
        所以改完两个主题的做法也一致了。
        现值 #1A150E：#B77A16 上 5.02:1、#C6891E 上 6.05:1、暗色 #D9A441 上 8.07:1。
     ⚠️ 深字化之后，**实心按钮的 hover 不许再压暗底色**（深字压深底会翻车）——
        hover 一律走「变亮」：filter:brightness(1.07)（与 tools/nsh-cargo.html 的 .btn 同款）。 */
  --nsh-accent: #B77A16;
  --nsh-accent-deep: #7D510D;               /* V1.93：#8A5A0E 压 --nsh-accent-soft / -soft-2 只有 4.40:1
                                               （`.rule-tag` / `.miss-item` / `.jump-btn` / `.err-bar.warn` / `.seg-del:hover`）
                                               → 压到 #7D510D，全部 >= 4.6:1。⚠️ 与 --nsh-gold-deep **必须同值**
                                               （两者常并排出现在同一行 chip 上，深浅不一会被读成 bug）。 */
  --nsh-accent-soft: rgba(183, 122, 22, .12);
  --nsh-accent-soft-2: rgba(183, 122, 22, .22);
  --nsh-on-accent: #1A150E;                 /* 压在琥珀实心上的文字 —— 见下方 ⚠️ */
  --nsh-accent-bright: #DFAE4C;             /* 琥珀「亮端」：实心渐变的浅侧，与 on-accent 深字配对使用
                                               （印章 / 当前步 / CTA 渐变）。
                                               ⚠️ 必须有这一档：亮色的 --nsh-accent #B77A16 已经是
                                               能压深字的最浅边界，再浅就凑不出有明暗层次的实心渐变。 */
  --nsh-glow: rgba(183, 122, 22, .30);
  --nsh-gold-deep: #7D510D;                 /* 同 --nsh-accent-deep（V1.93）：`.tag.t-gold` 的底是 --nsh-accent-soft */

  /* 语义：红涨绿跌（中国股市约定）—— 盈利=红，亏损=绿
     ⚠️ 盈利红原值 #C0453C 在**盈利行底色** --nsh-gain-bg #FBEDE7 上只有 4.42:1（小字 AA 需 4.5）
        —— 而 roi 的表格里 tr.gain 的每个格都是这个组合（一次 12 处不达标）。
        V1.92 压到 #B23A32（gain-bg 上 5.18:1）；**V1.93 令牌审计**（tmp/audit-nsh-tokens.js）
        又发现它压**自己的 tint** --nsh-profit-soft 只有 4.18:1（`.tag.t-profit`）→ 再压到 #A7362F，
        profit-soft 与 gain-bg 两处均 >= 4.6:1。
     ⚠️ 改 profit 时 profit-soft 必须同步（它是同一色的 tint，写死 rgba 不会自动跟） */
  --nsh-profit: #A7362F;
  --nsh-profit-soft: rgba(167, 54, 47, .12);   /* V1.93：随 profit 同步 */
  /* V1.92（复审 R-1）：原 #2F7A55 在「升级卡」底 --nsh-panel-2 #F2EADA 上只有 4.35:1，
     不到 AA 4.5。压暗到 #2D7552 后 7 个底全部达标（最坏 4.65:1）。
     V1.93：令牌审计发现 #2D7552 压**自己的 tint** --nsh-loss-soft 只有 3.94:1（`.tag.t-loss`）
     → 再压到 #29694A，tint / warn-bg / 内嵌面 全部 >= 4.6:1。
     ⚠️ 这是共用令牌 —— 改动同时影响 nsh-roi / nsh-cargo，两页需一并视觉回归。 */
  --nsh-loss: #29694A;
  /* V1.92 补：本体改 #2D7552（=45,117,82）时这枚 tint **漏同步**，仍是旧 rgb(47,122,85)。
     令牌审计（tmp/audit-nsh-tokens.js）报出 `.tag.t-loss` 时顺带查到的 ——
     ⚠️ 与上面 profit 同一条纪律：改语义主色必须同步它自己的 -soft。 */
  --nsh-loss-soft: rgba(41, 105, 74, .13);     /* V1.93：随 loss 同步 */
  --nsh-danger: #A33B33;                    /* 删除/错误/印章（与 profit 同色系，语义独立）
                                               V1.93：#C0453C 压 --nsh-danger-soft 只有 3.62:1
                                               （`.err-bar` / `.warn-box.b` / `.icon-btn:hover`）→ 压到 #A43B33。 */
  --nsh-danger-soft: rgba(163, 59, 51, .12);   /* V1.93：随 danger 同步 */

  /* 信息蓝：只用于「数据来源不同」这类中性标注（判例：cargo 的「NPC价」小签）。
     ⚠️ 蓝是这套暖纸主题里唯一的冷色，因此只给它一个用途；不要拿它当通用强调色（那是琥珀的活）。
     ⚠️ 这个蓝必须整对给：亮色的 #2E6E9E 压到暗色底只有 2.66:1（肉眼几乎看不见），
       所以暗色另取 #7FB2D8。改任一侧都要把另一侧一起复算。 */
  --nsh-info: #2B6693;                      /* V1.93：#2E6E9E 压 --nsh-info-soft 只有 4.13:1（`.badge-note.npc`）
                                               → 压到 #2B6693；⚠️ 必须整对给，暗色另取一档（见下）。 */
  --nsh-info-soft: rgba(43, 102, 147, .08);    /* V1.93：随 info 同步 */

  /* 行底色（roi 的语义行 / cargo 的警示面统一到同一族） */
  --nsh-gain-bg: #FBEDE7;                   /* 盈利行：红 tint */
  --nsh-warn-bg: #F4F8EF;                   /* 亏损行：绿 tint */
  --nsh-near-bg: #FBF6E3;                   /* 接近保本：琥珀 tint */

  /* 纸面微表面 */
  --nsh-paper-1: #FBF6EA;
  --nsh-paper-2: #F9F1DC;
  --nsh-paper-3: #FDF6E7;
  --nsh-input-bg: #FFFDF7;
  --nsh-paper-input: #FFFFFF;
  --nsh-paper-input-need: #FFFDF7;
  --nsh-paper-input-pref: rgba(120, 100, 70, .07);
  --nsh-paper-recipe: linear-gradient(180deg, #FBF6EA, #F8F1E0);
  --nsh-paper-recipe-soft: linear-gradient(180deg, rgba(255, 247, 230, .72), rgba(251, 242, 224, .55));
  --nsh-paper-verdict: linear-gradient(180deg, #FBF4E2, var(--nsh-bg));
  --nsh-paper-chip: #F3E2B8;
  --nsh-paper-chip-fg: #7A5A14;
  --nsh-paper-map: linear-gradient(180deg, rgba(183, 122, 22, .08), rgba(183, 122, 22, .03));
  --nsh-paper-warn: rgba(183, 122, 22, .08);
  --nsh-paper-warn-fg: #7A550F;

  /* 圆角：只有可点的东西才圆 */
  --nsh-r-lg: 12px;
  --nsh-r-md: 8px;
  --nsh-r-sm: 6px;

  /* 阴影 */
  --nsh-shadow-1: 0 1px 2px rgba(62, 46, 26, .05), 0 4px 14px rgba(62, 46, 26, .06);
  --nsh-shadow-2: 0 2px 4px rgba(62, 46, 26, .08), 0 12px 30px rgba(62, 46, 26, .12);

  /* 字体：原先首选 'Noto Serif SC' 全站既无 @font-face 也无外链 → Windows 必然回落宋体(SimSun)，
     字重/字面都偏旧。这里把**明确存在且更耐看**的现代衬线排在前面、SimSun 兜底：
       · 霞鹜文楷 LXGW WenKai —— 用户若装了这个开源楷体优先命中；
       · 思源宋体 Source Han Serif SC —— 装有则命中；
       两者都没有时按 Songti SC / STSong（macOS/部分 Win）→ SimSun（Windows 保底）→ serif 收敛。 */
  --nsh-serif: "LXGW WenKai", "Source Han Serif SC", "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
  --nsh-sans: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", system-ui, sans-serif;
}

/* ---------- 暗色（深墨木纹纸） ---------- */
[data-theme="dark"] {
  --nsh-page: #17130E;
  --nsh-bg: #211B14;
  --nsh-panel: #211B14;
  --nsh-panel-2: #2A231A;

  --nsh-border: rgba(233, 205, 140, .14);
  --nsh-border-soft: rgba(233, 205, 140, .07);

  /* 墨（三级）—— 与亮色同一约束：ink-3 必须在内嵌面 #2A231A 上达标
     （原值 #8B7C63 在此只有 3.81:1）。
     ⚠️ 暗色最坏的底**不是**面板，而是「琥珀软底」——rgba(217,164,65,.14) 压页底 = #3B2E1A，
       比面板更亮，因此对 ink-3 最不利。现值 #A89A78 在此 4.75:1，其余底 5.31–6.14:1。
       （先前取的 #A0906F 在这一档只有 4.22:1 —— 挑暗色墨值必须拿**琥珀软底**做最坏场景。）
     ⚠️ 暗色的底比亮色更暗，所以同一个小字墨色在暗色里要**更亮**，不要沿用亮色值。 */
  --nsh-ink-1: #F3EBD7;
  --nsh-ink-2: #C9B896;
  --nsh-ink-3: #A89A78;

  --nsh-accent: #D9A441;
  --nsh-accent-deep: #E0B45A;
  --nsh-accent-soft: rgba(217, 164, 65, .14);
  --nsh-accent-soft-2: rgba(217, 164, 65, .24);
  --nsh-on-accent: #2A2117;
  --nsh-accent-bright: #DFAE4C;             /* 与亮色同值：深字 #2A2117 压它 7.75:1，余量足够 */
  --nsh-glow: rgba(217, 164, 65, .28);
  --nsh-gold-deep: #E0B45A;

  /* V1.93：暗色往**亮**调（与亮色方向相反）。原 #E0705A 压 --nsh-danger-soft 只有 3.89:1、
     压 --nsh-profit-soft 同 3.89:1、压 --nsh-gain-bg 4.14:1；#5CA87E 压 --nsh-loss-soft 4.23:1。
     ⚠️ 暗色的底比亮色更暗，同一枚语义色在暗色里要**更亮**，不要沿用亮色值。 */
  --nsh-profit: #E58876;
  --nsh-profit-soft: rgba(229, 136, 118, .16);  /* V1.93：随 profit 同步 */
  --nsh-loss: #68AF88;
  --nsh-loss-soft: rgba(104, 175, 136, .16);    /* V1.93：随 loss 同步 */
  --nsh-danger: #E58876;
  --nsh-danger-soft: rgba(229, 136, 118, .16);  /* V1.93：随 danger 同步 */

  --nsh-info: #7FB2D8;                      /* 亮色 #2E6E9E 在暗底上只有 2.66:1，暗色必须换一档 */
  --nsh-info-soft: rgba(127, 178, 216, .14);

  --nsh-gain-bg: rgba(229, 136, 118, .12);  /* V1.93：行底色是语义色的 tint，随 profit 同步 */
  --nsh-warn-bg: rgba(104, 175, 136, .12);  /* V1.93：随 loss 同步 */
  --nsh-near-bg: rgba(217, 164, 65, .10);

  --nsh-paper-1: #2A231A;
  --nsh-paper-2: #2E271D;
  --nsh-paper-3: #2C2418;
  --nsh-input-bg: #2A231A;
  --nsh-paper-input: #2A231A;
  --nsh-paper-input-need: #2A231A;
  --nsh-paper-input-pref: rgba(233, 205, 140, .06);
  --nsh-paper-recipe: linear-gradient(180deg, #262019, #211B14);
  --nsh-paper-recipe-soft: linear-gradient(180deg, rgba(42, 35, 26, .6), rgba(33, 27, 20, .4));
  --nsh-paper-verdict: linear-gradient(180deg, #292216, var(--nsh-bg));
  --nsh-paper-chip: rgba(217, 164, 65, .18);
  --nsh-paper-chip-fg: #E0B45A;
  --nsh-paper-map: linear-gradient(180deg, rgba(217, 164, 65, .10), rgba(217, 164, 65, .03));
  --nsh-paper-warn: rgba(217, 164, 65, .10);
  --nsh-paper-warn-fg: #E0B45A;

  --nsh-shadow-1: 0 1px 3px rgba(0, 0, 0, .3), 0 4px 14px rgba(0, 0, 0, .25);
  --nsh-shadow-2: 0 2px 6px rgba(0, 0, 0, .35), 0 12px 30px rgba(0, 0, 0, .3);
}

/* ---------- 游戏专区页（tools/games/nsh.html）的强调色映射 ----------
 * 共享骨架 css/game-page.css 只消费**主站令牌**（--accent / --accent-text …），
 * 所以这里把 .game-page 子树里的强调色换成本专区的琥珀金，游戏页因此自动带上子主题。
 * ⚠️ 作用域止于 .game-page：品牌条 / 侧栏 / 页脚在主站外壳里、不在这个容器内，
 *    仍走 css/style.css 的色板 —— 外壳不漂移，只有正文区变色。
 * ⚠️ --accent-fg 必须一起换：琥珀底上压深色（主站的 --accent-fg 是深灰）对比度不够。
 * ⚠️ 放在文件末尾：上面亮/暗两块只管 --nsh-* 取值，这条是**页面级消费**，层级不同不要混在一起。 */
.game-page {
  --accent: var(--nsh-accent);
  --accent-hover: var(--nsh-accent-deep);
  --accent-text: var(--nsh-accent-deep);
  --accent-fg: var(--nsh-on-accent);
  --accent-soft: var(--nsh-accent-soft);
}

/* ---------- 专区共享版式：SEO 静态正文层（.seo-copy） ----------
 * 为什么放在这里而不是各页 <style>（V1.86 上提）：
 *   这一层原本只内联在 tools/nsh-roi.html 里。现在 nsh-craft 也要用同一层版式，
 *   复制一份进它的 <style> 就违反了本项目「绝不复制 CSS」的纪律 —— 两处必然漂移。
 * ⚠️ 因此本文件从此不再「只管令牌」：末尾有两段**页面级消费**（.game-page 令牌映射、
 *    本段的 .seo-copy 版式）。除此之外仍不放任何单页版式规则，各页的版面继续写在各自 <style>。
 * ⚠️ 保留 `.view--hub` 父级限定是刻意的：去掉会波及非 hub 视图（例如工具库列表页）。
 * ⚠️ 上提改变了层叠位置（从「页面 <style> 最后」变成「style.css 之后、页面 <style> 之前」）。
 *    这些选择器特异性都在 (0,2,0) 以上，实测取值不变，但改动这里后必须回归 nsh-roi。 */
.view--hub .seo-copy{
  margin-top:22px;background:var(--nsh-panel);border:1px solid var(--nsh-border);
  border-radius:var(--nsh-r-md);box-shadow:var(--nsh-shadow-1);padding:20px 22px;
}
.view--hub .seo-copy h2{
  font-family:var(--nsh-serif);font-weight:700;font-size:17px;color:var(--nsh-ink-1);
  display:flex;align-items:center;gap:8px;margin-bottom:10px;letter-spacing:1px;
}
.view--hub .seo-copy h2::before{content:'';width:4px;height:16px;border-radius:2px;background:var(--nsh-accent);flex:0 0 4px;}
.view--hub .seo-copy h3{
  font-family:var(--nsh-serif);font-weight:700;font-size:14.5px;color:var(--nsh-accent-deep);
  margin:16px 0 6px;letter-spacing:.5px;
}
.view--hub .seo-copy p{font-size:13px;color:var(--nsh-ink-1);line-height:1.9;margin-bottom:6px;}
.view--hub .seo-copy p b{color:var(--nsh-accent-deep);}
/* V1.94：正文层开始出现列表（nsh-craft 的「1 至 21 级制造配方索引」）。
   不补版式的话 li 会掉回页面基准字号，与同层 13px 的段落不一致；默认 40px 的 ul 缩进在本栏也偏大。
   ⚠️ 用 `<` 侧的 20px 而不是 40px：本栏在窄屏只剩 ~300px，40px 会把条目挤成两行。 */
.view--hub .seo-copy ul{margin:2px 0 10px;padding-left:20px;list-style:disc;}
.view--hub .seo-copy li{font-size:13px;color:var(--nsh-ink-1);line-height:1.8;}
.view--hub .seo-copy li::marker{color:var(--nsh-accent);}
.view--hub .seo-meta{
  margin-top:16px;padding:10px 14px;background:var(--nsh-accent-soft);
  border:1px solid rgba(176,119,15,.22);border-radius:var(--nsh-r-sm);
  font-size:12px;color:var(--nsh-ink-2);line-height:1.85;
}
/* ⚠️ 这一块里的内链要单独指定颜色：全局 a 走 css/style.css 的 --accent-text #B45309，
   那个值是按「白底」挑的，压到本块的琥珀软底（#F6ECD9）上只剩 4.30:1。
   accent-deep 在同一底上 5.05:1。 */
.view--hub .seo-meta a{color:var(--nsh-accent-deep);}

