/* ============================================================
   tokens.css · 设计令牌（唯一出处）
   ------------------------------------------------------------
   ★ v2.23 B1 立。「预先定义系统 + 限制选项」—— 新值一律从这里取，
     不再随手写裸 px / 裸色值 / 裸 box-shadow。
   ★ v3.0（2026-09-25，用户拍板 Q1=甲 / Q2=乙 / Q5=跟账号）：
     本文件升级为「三套皮肤」的唯一出处。结构 = ⑧ 段：
       ① 语义色 ② 灰阶温 ③ 字阶 ④ 间距阶 ⑤ 圆角 ⑥ elevation
       ⑦ 固定色阶（RU-22） ⑧ 皮肤覆盖块（wb-* 十七套）
   ★ 三条原则（依据 RU-07 / RU-18 / RU-22 / RU-23 / RU-24 / RU-27 / RU-28）：
     ① 字阶「手工定、只用 px」—— 线性尺度与模数比例（1.25 / 1.618）都不实用，
        实测过：按比例推出来的档位在本系统里全会落到用不上的小数上。
     ② 灰「不必是灰」—— 选冷或暖并写明理由，别让后来人再猜一遍。
     ③ 「明度会杀死饱和度」—— 浅色想保持彩度，要逐级往上补饱和。
   ★★ ⑦ 固定色阶（RU-22 原话：「改为事先定义一组固定的色阶，供你工作时挑选」；
      点名反面案例是「用 lighten / darken 现造色阶 —— 那就是你得到 35 个看起来
      一模一样的蓝色的方式」）。本系统实测有 308 个去重裸色值、1039 处出现，
      其中蓝系一族就有 102 个值 ⇒ 正是 RU-22 描述的病。色阶 = 治它的药。
      ★ 三套皮肤的色阶逐档同明度（L 阶梯写死），换肤时只换色相、不换深浅结构
        —— 结构一致才可互换，否则换肤 = 重新排版。
   ★★ ⑧ 皮肤怎么切：`<html data-skin="…">`，由 base.html 输出、
      值来自账号偏好（user_pref.pref_key='theme'，零 DDL）。值域唯一出处 =
      svc/tagview.py 的 SKIN_CHOICES。v4.51 起共二十套：
        classic（默认，即本文件 ①~⑥ 段现值）
        wb-* 十九套（⑧ 段，全部由 tmp/_skin_gen.py 拼接）
      ★ v4.49（2026-10-18 用户令）删除手写的 fresh/olive 两套 —— 账号若存过
        这两个值，skin_of 越界自动回落 classic（绝不抛），无需数据迁移。
      ★ v4.51（2026-10-20 用户令）删除 wb-paper（暖纸）/ wb-graphite（石墨灰），
        越界同样回落 classic，零迁移。
      ★ 「默认」= 本文件 ①~⑥ 段的现值，一字未改 ⇒ 视觉与改造前逐像素一致。
      ★ 新增一套皮肤 = 在本文件加一个 `:root[data-skin="x"]` 块，别处不许写色值。
      ★★ v4.45 五套的锚点色全部取自 WorkBuddy 自己的数据（不是照界面估色）：
         · ~/.workbuddy/appearance-resources/<主题>/<包>/skin.css  （用户下载过的主题包）
         · renderer/assets/tokens-*.css（内置浅色）· default-dark-*.css 的 IDE Night 块（内置深色）
         生成器 tmp/_skin_gen.py 可重跑；改配置后重跑即可，别手改这五块（会与下一轮不一致）。
      ⚠ 自定义属性的值是「到分号为止的全部内容」—— 每条声明必须自带分号，
        用空格串 --a:1 --b:2 会让后一条并进前一条的值里（303 个槽只剩 1 个，深色当场白屏）。
        冒烟 C330-02 守着这条。
   ★ 一期口径（v2.23）：①~⑥ 段的值 === 改造前散落各处的值（一字未改）=> 视觉零变化。
   ★★ v2.54 已收敛字阶半档：11 / 11.5 / 12 / 12.5 四档挤在 1.5px 内，
     两个无名半档 --fs-115(11.5) / --fs-125(12.5) 已并入 --fs-11 / --fs-12
     （依据 RU-18「大多数界面用了太多字号」；0.5px 差异肉眼不可辨却暗示语义差异 = 混乱）。
     ★ 已知例外：工作台主表 `.grid` 仍裸写 `font-size:12.5px`（workbench.css），
       它绑定虚拟滚动行高（红线 8），收敛它需连带改 SUB3_H 记账口 ⇒ 单独一版做。
   ⚠ 本文件是外置件：全文件（含注释）不许出现连续两个星号（红线 2）。
   ============================================================ */

:root{
  /* ── ① 语义色（自 base.html 的 :root 迁移而来，值一字未改） ── */
  --brand:#003070;  /* 主色：深蓝（页头 / 重点文字） */
  --brand2:#1F4E79; /* 主色浅一档：导航 / 链接 / 按钮底 */
  --line:#dde3ea;   /* 分隔线与描边 */
  --bg:#f4f6f9;     /* 页面底 */
  --ink:#1c2530;    /* 正文 */
  --mut:#636f7c;    /* 次要文字 */
  --chip:#eef2f7;   /* 浅底块（表头 / 标签 / 徽章） */
  --ok:#177c5c;     /* 正常 / 已完成 */
  --warn:#9c6213;   /* 告警 / 待处理 */
  --bad:#A32D2D;    /* 错误 / 异常 */

  /* ── ⑧-1 v3 新增语义槽（携程控件层专用；默认皮肤值 = 现状或由色阶推导） ──
     ★ 这一批是「控件层」与「配色」解耦的关键：控件只认这些槽，
       换肤时它们跟着品牌色阶动，而 ① 段的业务语义色（异常红 / 成功绿）保持不变。 */
  /* ★ v4.47 收口：--brand-ink 与 --on-brand 本来是同一个东西的两个名字（都是「压在品牌实底
     上的字」），而深色皮肤只重定义了后者 ⇒ 前者永久停在白 ⇒ wb-dark 下按钮 / 选中段变成
     白字压浅蓝（2.00:1，实测）。现在只留 --on-brand 一个名字，--brand-ink 已全数替换掉。 */
  --on-brand:#ffffff;   /* 品牌/强调底上的文字色：浅色皮肤=白，深色皮肤=深 */
  --hd-ink:#ffffff;     /* 页头/深底上的文字：浅色皮肤=白，深色皮肤=近白 */
  --link:#1F4E79;           /* 链接与可点文字 */
  --focus:#0A77EB;          /* 焦点环（键盘可达底线，CH-14） */
  --srf:#ffffff;            /* 卡片 / 面板面 */
  --srf-2:#f7f9fc;          /* 次级面（表头 / 分组底） */
  --band:var(--srf);        /* 带面（v4.49b）：位面条/工具条。默认=卡片面 ⇒ classic 与
                               未覆写的皮肤原样回落、零视觉变化；生成套给带皮肤色浅底 */
  --hover:#F6F8FA;          /* 悬停底 */
  --sel:#EBF0F4;            /* 选中 / 当前项底 */
  --dis-bg:#eef2f7;         /* 禁用底 */
  --dis-ink:#9fb0c2;        /* 禁用字 */
  --sh-ring:0 0 0 3px rgba(10,119,235,.18);  /* 焦点环外发光 */
  /* ── 弹层阴影三档（v4.49 质感阶段令牌化）：小弹层 / 菜单 / 拖拽。
     默认值=历史写死的深蓝灰 rgba(15,42,74,x) —— 未覆写的皮肤（含冻结三套）原样回落、零视觉变化；
     生成套由 tmp/_skin_gen.py 按 brand2 同亮度压深输出（深色套转纯黑加深）。 ── */
  --sh-pop:0 8px 26px rgba(15,42,74,.16);
  --sh-menu:0 10px 30px rgba(15,42,74,.20);
  --sh-drag:0 4px 16px rgba(15,42,74,.28);

  /* ── 皮肤素材槽：默认全关；只有带官方壁纸的皮肤块才打开 ──
     wall = 登录页背景大图；art = 顶栏标志左侧的小图标。
     默认宽 0、透明 0，不改任何现有页面的布局。 */
  --skin-wall:none;
  --skin-wall-op:0;
  --skin-wall-tint:rgba(255,255,255,.88);
  --skin-art:none;
  --skin-art-op:0;
  --skin-art-w:0px;

  /* ── ② 灰阶温：我方选「冷灰」（带蓝相） ──
     理由：主色是深蓝体系，暖灰会和蓝打架、显脏。
     两端补饱和（「明度会杀死饱和度」）：浅端 --g-100 的 B 通道最高（偏蓝），
     深端 --g-600 仍留蓝相；纯中性灰只在图表网格线那种不参与语义的地方用。 */
  --g-50:#f7f9fc;
  --g-100:#eef2f7;
  --g-200:#dde3ea;
  --g-300:#c2d2e3;
  --g-400:#9fb0c2;
  --g-500:#7d8fa2;
  --g-600:#6b7785;
  --g-700:#42505f;
  --g-800:#1c2530;

  /* ── ③ 字阶（全 px · 手工定 · 一期值 = 现状实测） ──
     用法约定：09x 表内极小字 · 10x 徽章 · 11x 次要行 · 12x 表格正文
               13x 页面正文 · 14/15x 块标题 · 17x 页标题 · 22x KPI 数字
     ★ v2.54：--fs-115 / --fs-125 两个半档已删（并入 --fs-11 / --fs-12）。
     ⚠ 别用 em 定字号：父级一变全变，是本系统列宽与行高失控的老病根。 */
  --fs-95:9.5px;
  --fs-10:10px;
  --fs-105:10.5px;
  --fs-11:11px;
  --fs-12:12px;
  --fs-13:13px;
  --fs-135:13.5px;
  --fs-14:14px;
  --fs-15:15px;
  --fs-17:17px;
  --fs-22:22px;

  /* ── ④ 间距阶（现状用到的六档；块内 4/6/8，块间 10/14/18） ── */
  --sp-1:4px;
  --sp-2:6px;
  --sp-3:8px;
  --sp-4:10px;
  --sp-5:14px;
  --sp-6:18px;

  /* ── ⑤ 圆角 ── */
  --r-3:3px;   /* 徽章 */
  --r-5:5px;   /* 按钮 / 输入框 */
  --r-6:6px;   /* 提示条 / 小卡 */
  --r-7:7px;   /* 选项卡 */
  --r-8:8px;   /* 卡片 / 表格外框 */
  --r-9:9px;   /* 圆点收尾 */
  --r-10:10px; /* 大卡 / 弹层 */

  /* ── ⑥ elevation：z 轴 5 档，两段式（环境光 + 直射光） ──
     档位对应：e1 按钮 / e2 卡片 / e3 下拉 / e4 抽屉 / e5 模态。
     ★ 两段式的意义：单段阴影只有「一圈黑边」，两段才有「浮起来」的层次。 */
  --e-1:0 1px 2px rgba(16,24,40,.06);
  --e-2:0 1px 3px rgba(16,24,40,.08), 0 1px 2px rgba(16,24,40,.04);
  --e-3:0 4px 12px rgba(16,24,40,.10), 0 1px 3px rgba(16,24,40,.06);
  --e-4:0 12px 40px rgba(0,0,0,.24);          /* 模态（一期 = 现状值） */
  --e-4l:-8px 0 30px rgba(0,0,0,.22);         /* 左侧抽屉专用（方向朝左） */
  --e-5:0 20px 60px rgba(16,24,40,.32);

  /* ── ⑦ 固定色阶 · 默认皮肤（classic） ──
     ★ 生成口径写死在 tools/ 的调色脚本里（明度阶梯固定 → 只换色相）：
       亮端补饱和、中段压到可读区间、深端稍收避免「深到发黑」。
     ★ 用途：新控件层按「牌号」取色（如 hover 用 --bd-50、当前项用 --bd-100、
       主按钮用 --brand）。老代码里那 1039 处裸色逐版收敛到本段（不再现造）。 */
  --bd-50:#F6F8FA; --bd-100:#EBF0F4; --bd-200:#D4DFEC; --bd-300:#AFC9E4;
  --bd-400:#7AABE0; --bd-500:#3E8CE0; --bd-600:#1C70CA; --bd-700:#1C5796; --bd-900:#183B61;
  /* 中性（带蓝相的冷灰；与 ② 段同源，仅补齐 9 档） */
  --nt-50:#FAFBFC; --nt-100:#F4F7F9; --nt-200:#EAEFF3; --nt-300:#D8E0E7;
  --nt-400:#BCC8D2; --nt-500:#95A6B4; --nt-600:#6D8295; --nt-700:#4B5965; --nt-900:#2D3741;
  /* 状态家族（红 / 绿 / 琥珀）—— 三套皮肤共用（跨皮肤语义不能漂） */
  --rd-50:#F9F6F6; --rd-100:#F4ECEC; --rd-200:#EAD6D6; --rd-300:#E0B3B3;
  --rd-400:#D78282; --rd-500:#D34B4B; --rd-600:#BC2A2A; --rd-700:#8C2626; --rd-900:#5B1E1E;
  --gn-50:#F6F9F8; --gn-100:#ECF3F0; --gn-200:#D6E9E1; --gn-300:#B5DECB;
  --gn-400:#86D4AF; --gn-500:#51CD93; --gn-600:#30B678; --gn-700:#288057; --gn-900:#21593F;
  --am-50:#FAF8F6; --am-100:#F4F1EB; --am-200:#EBE2D5; --am-300:#E2CEB1;
  --am-400:#DBB67F; --am-500:#D89E45; --am-600:#C28324; --am-700:#906421; --am-900:#5E431C;


  /* ── ⑨ 收口色令牌（v3.0 · 从现状 1039 处裸色反推）─────────────────
     ★ 名字 = `--c-<原值>`：默认皮肤下它就是那个原值 ⇒ Δ=0，视觉零变化。
     ★ 另外两套皮肤用「保明度 / 保彩度、只转色相」重定义「品牌相族」那一批
       （蓝 → 青带 183~266°）；红 / 绿 / 琥珀等语义色与纯灰「不转」（跨皮肤语义不漂）。
     ★ 新增颜色一律先在这里加槽，别在页面里写裸值（口径只留一份）。
     ⚠ 本段由 tmp/vue3/_tokens_apply.py 生成，手改会被下一轮重跑覆盖。 */
  --c-003070:#003070; --c-0086f6:#0086f6; --c-00bebd:#00bebd; --c-0b5c9a:#0b5c9a; --c-10603f:#10603f; --c-111111:#111111; --c-112244:#112244; --c-12456b:#12456b; --c-153a5b:#153a5b; --c-1a7f45:#1a7f45; --c-1d9e75:#1d9e75; --c-1f2a37:#1f2a37; --c-1f3a55:#1f3a55; --c-1f4e79:#1f4e79; --c-1f6b3a:#1f6b3a; --c-1f6f8b:#1f6f8b; --c-22303f:#22303f; --c-2b3b52:#2b3b52; --c-2b5f8f:#2b5f8f; --c-2c3e50:#2c3e50; --c-2e7d4f:#2e7d4f; --c-2f5496:#2f5496; --c-2f5d8f:#2f5d8f; --c-2f6fd6:#2f6fd6; --c-2f7d55:#2f7d55; --c-33475c:#33475c; --c-3b82f6:#3b82f6; --c-3ba5d3:#3ba5d3; --c-3d5573:#3d5573; --c-3d5670:#3d5670; --c-3f5f86:#3f5f86; --c-42505f:#42505f; --c-48586a:#48586a; --c-4a6b8a:#4a6b8a; --c-4fa87a:#4fa87a; --c-5a6a7d:#5a6a7d; --c-5a6b7d:#5a6b7d; --c-5b6572:#5b6572; --c-5b6b7c:#5b6b7c; --c-5c4a12:#5c4a12; --c-5f7b99:#5f7b99; --c-64778c:#64778c; --c-6b21a8:#6b21a8; --c-6b4e00:#6b4e00; --c-6b7787:#6b7787; --c-6b7a8c:#6b7a8c; --c-6b7c8d:#647383; --c-7a4200:#7a4200; --c-7a5200:#7a5200; --c-7a5310:#7a5310; --c-7a5a12:#7a5a12; --c-7a8798:#7a8798; --c-7aa7d4:#7aa7d4; --c-7b8794:#7b8794; --c-7b8a99:#667484; --c-7b8b9c:#5d6d7d; --c-7d2222:#7d2222; --c-7d4a8c:#7d4a8c; --c-7d8b99:#7d8b99; --c-7d8fa2:#5e7084; --c-854f0b:#854f0b; --c-8798a8:#5f7082; --c-882244:#882244; --c-8a2b2b:#8a2b2b; --c-8a4b00:#8a4b00; --c-8a4b4b:#8a4b4b; --c-8a5a00:#8a5a00; --c-8a5a12:#8a5a12; --c-8a6100:#8a6100; --c-8a6a12:#8a6a12; --c-8a6d1a:#8a6d1a; --c-8a6d1f:#8a6d1f; --c-8a93a3:#8a93a3; --c-8a97a4:#8a97a4; --c-8a97a5:#8a97a5; --c-8b97a4:#8b97a4; --c-8c2020:#8c2020; --c-8c2f22:#8c2f22; --c-8d97a3:#8d97a3; --c-8f1b15:#8f1b15; --c-8f2020:#8f2020; --c-8fa3b8:#566e88; --c-8fa6bd:#8fa6bd; --c-93a0b0:#637388; --c-93a6b8:#93a6b8; --c-9aa8b6:#9aa8b6; --c-9aabbb:#9aabbb; --c-9db1c4:#9db1c4; --c-9dbde4:#9dbde4; --c-9fb0c2:#58708a; --c-9fb0c6:#9fb0c6; --c-9fd0f5:#9fd0f5; --c-a05a00:#a05a00; --c-a05a5a:#a05a5a; --c-a32d2d:#a32d2d; --c-a3c6ec:#a3c6ec; --c-a8302a:#a8302a; --c-a8b4c2:#a8b4c2; --c-a9b4bf:#5f7082; --c-a9bac9:#a9bac9; --c-aa3333:#aa3333; --c-aab6c3:#aab6c3; --c-aec6dd:#aec6dd; --c-b09a5f:#b09a5f; --c-b3261e:#b3261e; --c-b3bcc7:#b3bcc7; --c-b46565:#b46565; --c-b7d1ea:#b7d1ea; --c-b7e2ce:#b7e2ce; --c-b8860b:#8a6208; --c-b8e0c8:#b8e0c8; --c-b9701d:#b9701d; --c-b9c1cd:#b9c1cd; --c-b9c4d0:#b9c4d0; --c-b9cce2:#b9cce2; --c-ba7517:#ba7517; --c-bbbbbb:#bbbbbb; --c-bcd3ee:#bcd3ee; --c-bdd6f0:#bdd6f0; --c-c0392b:#c0392b; --c-c2c8d0:#c2c8d0; --c-c2cdda:#c2cdda; --c-c2d2e3:#c2d2e3; --c-c3ccd6:#c3ccd6; --c-c3ccd8:#c3ccd8; --c-c3d2e3:#c3d2e3; --c-c3d3e4:#c3d3e4; --c-c3e3d1:#c3e3d1; --c-c6d3e3:#c6d3e3; --c-c6dbf1:#c6dbf1; --c-c6e2d2:#c6e2d2; --c-c8d1db:#c8d1db; --c-c8d4e0:#c8d4e0; --c-c8dbef:#c8dbef; --c-c9a227:#c9a227; --c-c9d4e0:#c9d4e0; --c-c9d8ea:#c9d8ea; --c-cbdcef:#cbdcef; --c-ccd3dc:#ccd3dc; --c-cddcec:#cddcec; --c-cfd9e4:#cfd9e4; --c-cfdbe8:#cfdbe8; --c-cfe0f2:#cfe0f2; --c-cfe1f5:#cfe1f5; --c-cfe2f9:#cfe2f9; --c-d2d8df:#d2d8df; --c-d3e2f2:#d3e2f2; --c-d4af37:#d4af37; --c-d5e0eb:#d5e0eb; --c-d6dce4:#d6dce4; --c-d6e3f2:#d6e3f2; --c-d7e1ec:#d7e1ec; --c-d7e7f7:#d7e7f7; --c-d8c489:#d8c489; --c-d8dee6:#d8dee6; --c-d8ecff:#d8ecff; --c-d9822b:#d9822b; --c-d9b45a:#d9b45a; --c-dbe3ea:#dbe3ea; --c-dbe3ec:#dbe3ec; --c-dbe4ee:#dbe4ee; --c-dbe6f2:#dbe6f2; --c-dbe7f6:#dbe7f6; --c-dbe8f6:#dbe8f6; --c-dbe8fb:#dbe8fb; --c-dbe9fa:#dbe9fa; --c-dceafa:#dceafa; --c-dde5ec:#dde5ec; --c-dde6ef:#dde6ef; --c-dde8f4:#dde8f4; --c-dde9f7:#dde9f7; --c-dfe6ee:#dfe6ee; --c-dfe7ef:#dfe7ef; --c-e04f4f:#e04f4f; --c-e06a63:#e06a63; --c-e0b678:#e0b678; --c-e0cffc:#e0cffc; --c-e0e9f3:#e0e9f3; --c-e1e7ee:#e1e7ee; --c-e2b13c:#e2b13c; --c-e2e8ef:#e2e8ef; --c-e2ebf5:#e2ebf5; --c-e2edfa:#e2edfa; --c-e2eefc:#e2eefc; --c-e3e7ec:#e3e7ec; --c-e3e9f0:#e3e9f0; --c-e3eaf1:#e3eaf1; --c-e4e9ef:#e4e9ef; --c-e6a23c:#e6a23c; --c-e6b0b0:#e6b0b0; --c-e6b8b8:#e6b8b8; --c-e6ecf2:#e6ecf2; --c-e6f5ec:#e6f5ec; --c-e6f6ef:#e6f6ef; --c-e7ecf2:#e7ecf2; --c-e7eef7:#e7eef7; --c-e8cf92:#e8cf92; --c-e8eef6:#e8eef6; --c-e8eff8:#e8eff8; --c-e8f0fa:#e8f0fa; --c-e8f1fb:#e8f1fb; --c-e8f6ee:#e8f6ee; --c-e9eff6:#e9eff6; --c-e9f1f9:#e9f1f9; --c-e9f2fb:#e9f2fb; --c-e9f2fc:#e9f2fc; --c-eaf1fb:#eaf1fb; --c-eaf2fb:#eaf2fb; --c-eaf7ef:#eaf7ef; --c-edf4fb:#edf4fb; --c-eec3c3:#eec3c3; --c-eef1f5:#eef1f5; --c-eef2f6:#eef2f6; --c-eef2f7:#eef2f7; --c-eef2f8:#eef2f8; --c-eef3f9:#eef3f9; --c-eef4fb:#eef4fb; --c-eef8f1:#eef8f1; --c-eef8f3:#eef8f3; --c-f0b8b4:#f0b8b4; --c-f0c987:#f0c987; --c-f0cccc:#f0cccc; --c-f0d6d4:#f0d6d4; --c-f0d6d6:#f0d6d6; --c-f0d9ae:#f0d9ae; --c-f0dca8:#f0dca8; --c-f0dcb0:#f0dcb0; --c-f0dcb4:#f0dcb4; --c-f0dfae:#f0dfae; --c-f0f4f8:#f0f4f8; --c-f1f3f6:#f1f3f6; --c-f1f4f7:#f1f4f7; --c-f1f5f9:#f1f5f9; --c-f2c6c6:#f2c6c6; --c-f2f4f7:#f2f4f7; --c-f2f5f8:#f2f5f8; --c-f2f5f9:#f2f5f9; --c-f2f6fb:#f2f6fb; --c-f2f7fc:#f2f7fc; --c-f2f7fd:#f2f7fd; --c-f2f8ff:#f2f8ff; --c-f2fbf6:#f2fbf6; --c-f2fbf7:#f2fbf7; --c-f3e6c8:#f3e6c8; --c-f3e8ff:#f3e8ff; --c-f3f7f5:#f3f7f5; --c-f4f7fa:#f4f7fa; --c-f4f7fb:#f4f7fb; --c-f4f9ff:#f4f9ff; --c-f5c6c1:#f5c6c1; --c-f5ecf7:#f5ecf7; --c-f5f9fe:#f5f9fe; --c-f6f8fa:#f6f8fa; --c-f6f8fb:#f6f8fb; --c-f6f9fd:#f6f9fd; --c-f6faff:#f6faff; --c-f7f9fb:#f7f9fb; --c-f7f9fc:#f7f9fc; --c-f7fafd:#f7fafd; --c-f7faff:#f7faff; --c-f7fbff:#f7fbff; --c-f8dede:#f8dede; --c-f8fafc:#f8fafc; --c-faecec:#faecec; --c-fafbfd:#fafbfd; --c-fafcfe:#fafcfe; --c-fbd9d7:#fbd9d7; --c-fbdada:#fbdada; --c-fbe8cd:#fbe8cd; --c-fbfcfe:#fbfcfe; --c-fbfdff:#fbfdff; --c-fcfdfe:#fcfdfe; --c-fcfdff:#fcfdff; --c-fdeaea:#fbe3e3; --c-fdeceb:#fdeceb; --c-fdecec:#fdecec; --c-fdeded:#fdeded; --c-fdeeee:#fdeeee; --c-fdf0c8:#fdf0c8; --c-fdf2f2:#fdf2f2; --c-fdf3d7:#fdf3d7; --c-fdf3e2:#fdf3e2; --c-fdf3f3:#fdf3f3; --c-fdf5f5:#fdf5f5; --c-fdf6e8:#fdf6e8; --c-fdf6f6:#fdf6f6; --c-fdf7f7:#fdf7f7; --c-fdf9f0:#fdf9f0; --c-ffe9c9:#ffe9c9; --c-fff3cd:#fff3cd; --c-fff3d9:#fff3d9; --c-fff4e0:#fff4e0; --c-fff5e0:#fff5e0; --c-fff6f6:#fff6f6; --c-fff7e6:#fff7e6; --c-fff8e4:#fff8e4; --c-fff8e6:#fff8e6; --c-fffaf0:#fffaf0; --c-fffaf2:#fffaf2; --c-fffbf2:#fffbf2; --c-fffdf5:#fffdf5; --c-fffdf7:#fffdf7; --c-ffffff:#ffffff;
}

/* ── ⑨b 报关类型徽章色（v4.47 · 2026-10-18）────────────────────────
   ★ 为什么单列一组：这几个色原来是硬编码在 svc/decl.py 的 DECL_BADGE 里，前端拿它拼
     内联样式（background:#F2F5F8）⇒ 内联样式优先级最高，深色皮肤下它照样是浅底，
     而箭头用的是 --mut（深色下是 #a0a0a0 的浅灰）压在白底上 ⇒ 只剩 2.39:1。
   ★ 改法：decl.py 只给「用哪个槽」，值放这里 ⇒ 深色皮肤能把徽章一起反相。
   ★ `--dcb-0-fg`（空值的「—」）比买单再淡一档：原值 #8A97A5 只有 2.72，
     压到 #5F7080（4.66）—— 仍是灰，但看得清了。                     */
:root{
  --nil-ink:#616e7c;
  --dcb-n-bg:#F2F5F8; --dcb-n-fg:#5A6B7B; --dcb-0-fg:#5F7080;
  --dcb-merge-bg:#E7F0FB; --dcb-merge-fg:#1F4E79;
  --dcb-refund-bg:#E6F4EA; --dcb-refund-fg:#1E7E34;
}

/* ★ 2026-10-28（用户令「丙档 #fdeaea 在屏幕缩放下确实很淡，三处一起压深半档」）：
   异常行底色 #fdeaea 改成 #fbe3e3 —— 只动这一个槽的值，工作台 / 外拼档 / 柜详情三处同时变。
   ★ 槽名 `--c-fdeaea` 是历史名（本文件按十六进制命名），值已经不是那个色了 —— 别照名字推色值。
   ★ 深色那几套维持它们自己的暗红 #312828 不动：深底上那条红不缺对比度，压深反而糊进背景。
   ★ 同值还挂在「异常」小徽章 / 往来单位 bad 档 / 否决标记上 —— 同一支红，一起跟着走，不许分家。
   ★ 为什么改：真机读 computed 底色才发现「扫不到」，静态断言看不出淡不淡（references/519）。 */
/* ── ⑧-皮肤 · 浅色 ─────────────────────────────────────
   ★ 本套整块冻结自 tmp/_skin_frozen.css（ch321 线上真值，
     含多轮对比度定向修正，生成器不从基色重推）。
   ⚠ 本段由 tmp/_skin_gen.py 拼接，要改去改冻结文件再重跑。 */
:root[data-skin="wb-light"]{
  --brand:#007c62; --brand2:#007c63; --line:#e6e6e6; --bg:#f2f2f2; --ink:#000000; --mut:#5d5d5d; --chip:#e4f7f2;
  --srf:#ffffff; --srf-2:#f2f2f2; --link:#007c63; --focus:#00c29a;
  --hover:#f2f2f2; --sel:#e8e8e8; --dis-bg:#efefef; --dis-ink:#a8a8a8;
  --sh-ring:0 0 0 3px rgba(0,194,154,.20);
  --g-50:#f7fcfb; --g-100:#eef7f5; --g-200:#ddeae7; --g-300:#c2e3dc; --g-400:#9fc2bb; --g-500:#7da29a; --g-600:#6b8580; --g-700:#425f59; --g-800:#1c302c;
  --bd-50:#f6faf9; --bd-100:#ebf4f2; --bd-200:#d4ece7; --bd-300:#afe4d9; --bd-400:#7ae0cb; --bd-500:#3ee0bf;
  --bd-600:#1ccaa6; --bd-700:#1c967d; --bd-900:#186152; --nt-50:#fafcfc; --nt-100:#f4f9f8; --nt-200:#eaf3f1;
  --nt-300:#d8e7e4; --nt-400:#bcd2cd; --nt-500:#95b4ae; --nt-600:#6d958d; --nt-700:#4b6560; --nt-900:#2d413d;
  --c-003070:#007059; --c-0086f6:#00f6c3; --c-00bebd:#00bebd; --c-0b5c9a:#0b9a7c; --c-10603f:#10603f; --c-111111:#111111;
  --c-112244:#114439; --c-12456b:#126b59; --c-153a5b:#155b4d; --c-1a7f45:#1a7f45; --c-1d9e75:#1d9e75; --c-1f2a37:#1f3732;
  --c-1f3a55:#1f554a; --c-1f4e79:#1f7966; --c-1f6b3a:#1f6b3a; --c-1f6f8b:#1f8b75; --c-22303f:#223f39; --c-2b3b52:#2b524a;
  --c-2b5f8f:#2b8f7a; --c-2c3e50:#2c5049; --c-2e7d4f:#2e7d4f; --c-2f5496:#2f9681; --c-2f5d8f:#2f8f7b; --c-2f6fd6:#2fd6b3;
  --c-2f7d55:#2f7d55; --c-33475c:#335c54; --c-3b82f6:#3bf6cf; --c-3ba5d3:#3bd3b4; --c-3d5573:#3d7368; --c-3d5670:#3d7065;
  --c-3f5f86:#3f8677; --c-42505f:#425f59; --c-48586a:#486a63; --c-4a6b8a:#4a8a7d; --c-4fa87a:#4fa87a; --c-5a6a7d:#5a7d76;
  --c-5a6b7d:#5a7d76; --c-5b6572:#5b726d; --c-5b6b7c:#55736d; --c-5c4a12:#5c4a12; --c-5f7b99:#5f998d; --c-64778c:#648c84;
  --c-6b21a8:#6b21a8; --c-6b4e00:#6b4e00; --c-6b7787:#6b8781; --c-6b7a8c:#6b8c85; --c-6b7c8d:#57726d; --c-7a4200:#7a4200;
  --c-7a5200:#7a5200; --c-7a5310:#7a5310; --c-7a5a12:#7a5a12; --c-7a8798:#7a9892; --c-7aa7d4:#7ad4c1; --c-7b8794:#7b948f;
  --c-7b8a99:#5d7873; --c-7b8b9c:#57746e; --c-7d2222:#7d2222; --c-7d4a8c:#7d4a8c; --c-7d8b99:#7d9993; --c-7d8fa2:#557770;
  --c-854f0b:#854f0b; --c-8798a8:#587972; --c-882244:#882244; --c-8a2b2b:#8a2b2b; --c-8a4b00:#8a4b00; --c-8a4b4b:#8a4b4b;
  --c-8a5a00:#8a5a00; --c-8a5a12:#8a5a12; --c-8a6100:#8a6100; --c-8a6a12:#8a6a12; --c-8a6d1a:#8a6d1a; --c-8a6d1f:#8a6d1f;
  --c-8a93a3:#8aa39e; --c-8a97a4:#8aa49f; --c-8a97a5:#8aa59f; --c-8b97a4:#8ba49f; --c-8c2020:#8c2020; --c-8c2f22:#8c2f22;
  --c-8d97a3:#8da39e; --c-8f1b15:#8f1b15; --c-8f2020:#8f2020; --c-8fa3b8:#49736b; --c-8fa6bd:#8fbdb3; --c-93a0b0:#597972;
  --c-93a6b8:#93b8b0; --c-9aa8b6:#9ab6b0; --c-9aabbb:#9abbb4; --c-9db1c4:#9dc4bc; --c-9dbde4:#9de4d5; --c-9fb0c2:#4b756d;
  --c-9fb0c6:#9fc6be; --c-9fd0f5:#9ff5e3; --c-a05a00:#a05a00; --c-a05a5a:#a05a5a; --c-a32d2d:#a32d2d; --c-a3c6ec:#a3ecdd;
  --c-a8302a:#a8302a; --c-a8b4c2:#a8c2bd; --c-a9b4bf:#57746d; --c-a9bac9:#a9c9c2; --c-aa3333:#aa3333; --c-aab6c3:#aac3be;
  --c-aec6dd:#aeddd3; --c-b09a5f:#b09a5f; --c-b3261e:#b3261e; --c-b3bcc7:#b3c7c3; --c-b46565:#b46565; --c-b7d1ea:#b7eadf;
  --c-b7e2ce:#b7e2ce; --c-b8860b:#946c09; --c-b8e0c8:#b8e0c8; --c-b9701d:#b9701d; --c-b9c1cd:#b9cdc9; --c-b9c4d0:#b9d0cb;
  --c-b9cce2:#b9e2da; --c-ba7517:#ba7517; --c-bbbbbb:#bbbbbb; --c-bcd3ee:#bceee4; --c-bdd6f0:#bdf0e5; --c-c0392b:#c0392b;
  --c-c2c8d0:#c2d0cd; --c-c2cdda:#c2dad5; --c-c2d2e3:#c2e3dc; --c-c3ccd6:#c3d6d2; --c-c3ccd8:#c3d8d4; --c-c3d2e3:#c3e3dc;
  --c-c3d3e4:#c3e4dd; --c-c3e3d1:#c3e3d1; --c-c6d3e3:#c6e3dd; --c-c6dbf1:#c6f1e8; --c-c6e2d2:#c6e2d2; --c-c8d1db:#c8dbd7;
  --c-c8d4e0:#c8e0db; --c-c8dbef:#c8efe7; --c-c9a227:#c9a227; --c-c9d4e0:#c9e0db; --c-c9d8ea:#c9eae3; --c-cbdcef:#cbefe8;
  --c-ccd3dc:#ccdcd9; --c-cddcec:#cdece6; --c-cfd9e4:#cfe4e0; --c-cfdbe8:#cfe8e3; --c-cfe0f2:#cff2eb; --c-cfe1f5:#cff5ed;
  --c-cfe2f9:#cff9f0; --c-d2d8df:#d2dfdc; --c-d3e2f2:#d3f2ec; --c-d4af37:#d4af37; --c-d5e0eb:#d5ebe6; --c-d6dce4:#d6e4e1;
  --c-d6e3f2:#d6f2ec; --c-d7e1ec:#d7ece8; --c-d7e7f7:#d7f7f0; --c-d8c489:#d8c489; --c-d8dee6:#d8e6e3; --c-d8ecff:#d8fff7;
  --c-d9822b:#d9822b; --c-d9b45a:#d9b45a; --c-dbe3ea:#dbeae7; --c-dbe3ec:#dbece8; --c-dbe4ee:#dbeeea; --c-dbe6f2:#dbf2ed;
  --c-dbe7f6:#dbf6f0; --c-dbe8f6:#dbf6f0; --c-dbe8fb:#dbfbf4; --c-dbe9fa:#dbfaf4; --c-dceafa:#dcfaf4; --c-dde5ec:#ddece9;
  --c-dde6ef:#ddefeb; --c-dde8f4:#ddf4ef; --c-dde9f7:#ddf7f2; --c-dfe6ee:#dfeeeb; --c-dfe7ef:#dfefec; --c-e04f4f:#e04f4f;
  --c-e06a63:#e06a63; --c-e0b678:#e0b678; --c-e0cffc:#e0cffc; --c-e0e9f3:#e0f3ef; --c-e1e7ee:#e1eeeb; --c-e2b13c:#e2b13c;
  --c-e2e8ef:#e2efec; --c-e2ebf5:#e2f5f1; --c-e2edfa:#e2faf5; --c-e2eefc:#e2fcf7; --c-e3e7ec:#e3ecea; --c-e3e9f0:#e3f0ed;
  --c-e3eaf1:#e3f1ee; --c-e4e9ef:#e4efed; --c-e6a23c:#e6a23c; --c-e6b0b0:#e6b0b0; --c-e6b8b8:#e6b8b8; --c-e6ecf2:#e6f2f0;
  --c-e6f5ec:#e6f5ec; --c-e6f6ef:#e6f6ef; --c-e7ecf2:#e7f2f0; --c-e7eef7:#e7f7f4; --c-e8cf92:#e8cf92; --c-e8eef6:#e8f6f3;
  --c-e8eff8:#e8f8f5; --c-e8f0fa:#e8faf6; --c-e8f1fb:#e8fbf7; --c-e8f6ee:#e8f6ee; --c-e9eff6:#e9f6f3; --c-e9f1f9:#e9f9f6;
  --c-e9f2fb:#e9fbf7; --c-e9f2fc:#e9fcf8; --c-eaf1fb:#eafbf7; --c-eaf2fb:#eafbf7; --c-eaf7ef:#eaf7ef; --c-edf4fb:#edfbf8;
  --c-eec3c3:#eec3c3; --c-eef1f5:#eef5f4; --c-eef2f6:#eef6f4; --c-eef2f7:#eef7f5; --c-eef2f8:#eef8f6; --c-eef3f9:#eef9f7;
  --c-eef4fb:#eefbf8; --c-eef8f1:#eef8f1; --c-eef8f3:#eef8f3; --c-f0b8b4:#f0b8b4; --c-f0c987:#f0c987; --c-f0cccc:#f0cccc;
  --c-f0d6d4:#f0d6d4; --c-f0d6d6:#f0d6d6; --c-f0d9ae:#f0d9ae; --c-f0dca8:#f0dca8; --c-f0dcb0:#f0dcb0; --c-f0dcb4:#f0dcb4;
  --c-f0dfae:#f0dfae; --c-f0f4f8:#f0f8f6; --c-f1f3f6:#f1f6f5; --c-f1f4f7:#f1f7f6; --c-f1f5f9:#f1f9f7; --c-f2c6c6:#f2c6c6;
  --c-f2f4f7:#f2f7f6; --c-f2f5f8:#f2f8f7; --c-f2f5f9:#f2f9f8; --c-f2f6fb:#f2fbf9; --c-f2f7fc:#f2fcfa; --c-f2f7fd:#f2fdfb;
  --c-f2f8ff:#f2fffc; --c-f2fbf6:#f2fbf6; --c-f2fbf7:#f2fbf7; --c-f3e6c8:#f3e6c8; --c-f3e8ff:#f3e8ff; --c-f3f7f5:#f3f7f5;
  --c-f4f7fa:#f4faf9; --c-f4f7fb:#f4fbfa; --c-f4f9ff:#f4fffd; --c-f5c6c1:#f5c6c1; --c-f5ecf7:#f5ecf7; --c-f5f9fe:#f5fefc;
  --c-f6f8fa:#f6faf9; --c-f6f8fb:#f6fbfa; --c-f6f9fd:#f6fdfc; --c-f6faff:#f6fffd; --c-f7f9fb:#f7fbfa; --c-f7f9fc:#f7fcfb;
  --c-f7fafd:#f7fdfc; --c-f7faff:#f7fffd; --c-f7fbff:#f7fffd; --c-f8dede:#f8dede; --c-f8fafc:#f8fcfb; --c-faecec:#faecec;
  --c-fafbfd:#fafdfc; --c-fafcfe:#fafefd; --c-fbd9d7:#fbd9d7; --c-fbdada:#fbdada; --c-fbe8cd:#fbe8cd; --c-fbfcfe:#fbfefd;
  --c-fbfdff:#fbfffe; --c-fcfdfe:#fcfefe; --c-fcfdff:#fcfffe; --c-fdeaea:#fbe3e3; --c-fdeceb:#fdeceb; --c-fdecec:#fdecec;
  --c-fdeded:#fdeded; --c-fdeeee:#fdeeee; --c-fdf0c8:#fdf0c8; --c-fdf2f2:#fdf2f2; --c-fdf3d7:#fdf3d7; --c-fdf3e2:#fdf3e2;
  --c-fdf3f3:#fdf3f3; --c-fdf5f5:#fdf5f5; --c-fdf6e8:#fdf6e8; --c-fdf6f6:#fdf6f6; --c-fdf7f7:#fdf7f7; --c-fdf9f0:#fdf9f0;
  --c-ffe9c9:#ffe9c9; --c-fff3cd:#fff3cd; --c-fff3d9:#fff3d9; --c-fff4e0:#fff4e0; --c-fff5e0:#fff5e0; --c-fff6f6:#fff6f6;
  --c-fff7e6:#fff7e6; --c-fff8e4:#fff8e4; --c-fff8e6:#fff8e6; --c-fffaf0:#fffaf0; --c-fffaf2:#fffaf2; --c-fffbf2:#fffbf2;
  --c-fffdf5:#fffdf5; --c-fffdf7:#fffdf7; --c-ffffff:#ffffff;
}

/* ── ⑧-皮肤 · 深色 ─────────────────────────────────────
   ★ 本套整块冻结自 tmp/_skin_frozen.css（ch321 线上真值，
     含多轮对比度定向修正，生成器不从基色重推）。
   ⚠ 本段由 tmp/_skin_gen.py 拼接，要改去改冻结文件再重跑。 */
:root[data-skin="wb-dark"]{
  --brand:#81a1c1; --brand2:#88c0d0; --line:#2f2f2f; --bg:#181818; --ink:#e4e4e4; --mut:#a0a0a0; --chip:#232323;
  --srf:#141414; --srf-2:#181818; --link:#88c0d0; --focus:#88c0d0;
  --hd-bg:#141414;
  --hover:#262626; --sel:#2f2f2f; --dis-bg:#202020; --dis-ink:#6b6b6b;
  --sh-ring:0 0 0 3px rgba(136,192,208,.20);
  --g-50:#2f333a; --g-100:#282c31; --g-200:#2d3136; --g-300:#273e56; --g-400:#45596d; --g-500:#607386; --g-600:#788493; --g-700:#94a4b5; --g-800:#b6c4d4;
  --bd-50:#2f343a; --bd-100:#282d31; --bd-200:#2f3439; --bd-300:#234568; --bd-400:#235a95; --bd-500:#2070c7;
  --bd-600:#3086e2; --bd-700:#5b9be0; --bd-900:#86b2e1; --nt-50:#2f343a; --nt-100:#282e31; --nt-200:#282d31;
  --nt-300:#2f353a; --nt-400:#3a4956; --nt-500:#526474; --nt-600:#6a7f92; --nt-700:#909fad; --nt-900:#abb8c5;
  --c-003070:#70adff; --c-0086f6:#078eff; --c-00bebd:#33fffe; --c-0b5c9a:#53adf3; --c-10603f:#84ebc0; --c-111111:#d6d6d6;
  --c-112244:#9db6e7; --c-12456b:#7cbae9; --c-153a5b:#8abae4; --c-1a7f45:#6de19f; --c-1d9e75:#54e0b3; --c-1f2a37:#b0c0d3;
  --c-1f3a55:#94b6d8; --c-1f4e79:#74aadb; --c-1f6b3a:#80daa0; --c-1f6f8b:#65bedd; --c-22303f:#a9bcd1; --c-2b3b52:#9aaeca;
  --c-2b5f8f:#649dd0; --c-2c3e50:#9cb3c9; --c-2e7d4f:#74cc99; --c-2f5496:#5f87cd; --c-2f5d8f:#6597cc; --c-2f6fd6:#296ad1;
  --c-2f7d55:#75cb9f; --c-33475c:#93abc3; --c-3b82f6:#0954cf; --c-3ba5d3:#2d98c7; --c-3d5573:#819bbc; --c-3d5670:#839fbc;
  --c-3f5f86:#7092bc; --c-42505f:#94a4b5; --c-48586a:#8b9cb0; --c-4a6b8a:#6f91b2; --c-4fa87a:#56af81; --c-5a6a7d:#7d8ea1;
  --c-5a6b7d:#7d8fa1; --c-5b6572:#87919f; --c-5b6b7c:#7e8fa0; --c-5c4a12:#e8d188; --c-5f7b99:#65819f; --c-64778c:#71849a;
  --c-6b21a8:#b378e4; --c-6b4e00:#ffd973; --c-6b7787:#768393; --c-6b7a8c:#728193; --c-6b7c8d:#738494; --c-7a4200:#ffba68;
  --c-7a5200:#ffcd68; --c-7a5310:#ecbe6e; --c-7a5a12:#eac46f; --c-7a8798:#697687; --c-7aa7d4:#2f6192; --c-7b8794:#6d7986;
  --c-7b8a99:#96a2ae; --c-7b8b9c:#8696a5; --c-7d2222:#d87171; --c-7d4a8c:#b082bd; --c-7d8b99:#687785; --c-7d8fa2:#909faf;
  --c-854f0b:#f2b363; --c-8798a8:#93a3b1; --c-882244:#d9688e; --c-8a2b2b:#d06969; --c-8a4b00:#ffb45b; --c-8a4b4b:#b16f6f;
  --c-8a5a00:#ffc65b; --c-8a5a12:#eab462; --c-8a6100:#ffce5b; --c-8a6a12:#eac662; --c-8a6d1a:#e2c164; --c-8a6d1f:#ddbc66;
  --c-8a93a3:#606a7b; --c-8a97a4:#606d7b; --c-8a97a5:#5f6c7b; --c-8b97a4:#606c7a; --c-8c2020:#dc6464; --c-8c2f22:#da7365;
  --c-8d97a3:#616b78; --c-8f1b15:#e7655f; --c-8f2020:#dc6262; --c-8fa3b8:#a8bccf; --c-8fa6bd:#48617b; --c-93a0b0:#909dae;
  --c-93a6b8:#4e6276; --c-9aa8b6:#50606f; --c-9aabbb:#4c5f70; --c-9db1c4:#435a6f; --c-9dbde4:#214878; --c-9fb0c2:#8a9fb5;
  --c-9fb0c6:#41556e; --c-9fd0f5:#0d4d7e; --c-a05a00:#ffb04a; --c-a05a5a:#a55e5e; --c-a32d2d:#e08888; --c-a3c6ec:#184576;
  --c-a8302a:#df827d; --c-a8b4c2:#475565; --c-a9b4bf:#909fac; --c-a9bac9:#405466; --c-aa3333:#ca4f4f; --c-aab6c3:#465463;
  --c-aec6dd:#2b4a67; --c-b09a5f:#a28c50; --c-b3261e:#e66d65; --c-b3bcc7:#434e5c; --c-b46565:#9e4d4d; --c-b7d1ea:#1d4164;
  --c-b7e2ce:#276045; --c-b8860b:#f3be3b; --c-b8e0c8:#295e3f; --c-b9701d:#e1953e; --c-b9c1cd:#3e4857; --c-b9c4d0:#3b4958;
  --c-b9cce2:#27415e; --c-ba7517:#e79f3c; --c-bbbbbb:#515151; --c-bcd3ee:#193a61; --c-bdd6f0:#163b61; --c-c0392b:#d96457;
  --c-c2c8d0:#3d454f; --c-c2cdda:#324152; --c-c2d2e3:#273e56; --c-c3ccd6:#374350; --c-c3ccd8:#354151; --c-c3d2e3:#283d55;
  --c-c3d3e4:#263d55; --c-c3e3d1:#28553c; --c-c6d3e3:#283b52; --c-c6dbf1:#32383d; --c-c6e2d2:#2a523b; --c-c8d1db:#323f4d;
  --c-c8d4e0:#2c3e4f; --c-c8dbef:#32383d; --c-c9a227:#d7b033; --c-c9d4e0:#2d3c4e; --c-c9d8ea:#34393f; --c-cbdcef:#31363c;
  --c-ccd3dc:#323c49; --c-cddcec:#31373c; --c-cfd9e4:#34393f; --c-cfdbe8:#32383d; --c-cfe0f2:#a9c8e6; --c-cfe1f5:#2e3238;
  --c-cfe2f9:#2c3136; --c-d2d8df:#303944; --c-d3e2f2:#2d3237; --c-d4af37:#caa52b; --c-d5e0eb:#2f3439; --c-d6dce4:#31363c;
  --c-d6e3f2:#2c3136; --c-d7e1ec:#2e3338; --c-d7e7f7:#2a2f33; --c-d8c489:#866f2c; --c-d8dee6:#30343a; --c-d8ecff:#272b30;
  --c-d9822b:#d57e26; --c-d9b45a:#ae8728; --c-dbe3ea:#2d3337; --c-dbe3ec:#2d3136; --c-dbe4ee:#2c3036; --c-dbe6f2:#95a0aa;
  --c-dbe7f6:#292d32; --c-dbe8f6:#292d32; --c-dbe8fb:#272b30; --c-dbe9fa:#282c30; --c-dceafa:#272b30; --c-dde5ec:#2c3136;
  --c-dde6ef:#2b3034; --c-dde8f4:#292d32; --c-dde9f7:#282c31; --c-dfe6ee:#95a0aa; --c-dfe7ef:#2a2f33; --c-e04f4f:#b92121;
  --c-e06a63:#a82921; --c-e0b678:#976823; --c-e0cffc:#2f2b35; --c-e0e9f3:#282d31; --c-e1e7ee:#2a2e33; --c-e2b13c:#c9961e;
  --c-e2e8ef:#292d32; --c-e2ebf5:#272b30; --c-e2edfa:#282c31; --c-e2eefc:#282c31; --c-e3e7ec:#2a2e33; --c-e3e9f0:#282c31;
  --c-e3eaf1:#282c31; --c-e4e9ef:#282c31; --c-e6a23c:#ca831a; --c-e6b0b0:#682121; --c-e6b8b8:#612222; --c-e6ecf2:#272b2f;
  --c-e6f5ec:#28312c; --c-e6f6ef:#28312d; --c-e7ecf2:#262a2f; --c-e7eef7:#282c31; --c-e8cf92:#83651c; --c-e8eef6:#282c31;
  --c-e8eff8:#282c31; --c-e8f0fa:#282c31; --c-e8f1fb:#282c31; --c-e8f6ee:#28312c; --c-e9eff6:#282c31; --c-e9f1f9:#282d31;
  --c-e9f2fb:#282d31; --c-e9f2fc:#282c31; --c-eaf1fb:#282c31; --c-eaf2fb:#282c31; --c-eaf7ef:#28312c; --c-edf4fb:#282d31;
  --c-eec3c3:#5b1a1a; --c-eef1f5:#282c31; --c-eef2f6:#282d31; --c-eef2f7:#282c31; --c-eef2f8:#282c31; --c-eef3f9:#282c31;
  --c-eef4fb:#282c31; --c-eef8f1:#28312b; --c-eef8f3:#28312d; --c-f0b8b4:#691b15; --c-f0c987:#8f6112; --c-f0cccc:#3b3030;
  --c-f0d6d4:#382e2e; --c-f0d6d6:#372d2d; --c-f0d9ae:#6f4f14; --c-f0dca8:#745914; --c-f0dcb0:#6d5115; --c-f0dcb4:#694d15;
  --c-f0dfae:#6f5714; --c-f0f4f8:#282d31; --c-f1f3f6:#282c31; --c-f1f4f7:#282d31; --c-f1f5f9:#282d31; --c-f2c6c6:#3d3232;
  --c-f2f4f7:#282c31; --c-f2f5f8:#282d31; --c-f2f5f9:#282c31; --c-f2f6fb:#282c31; --c-f2f7fc:#282d31; --c-f2f7fd:#2f343a;
  --c-f2f8ff:#2f343a; --c-f2fbf6:#28312c; --c-f2fbf7:#28312d; --c-f3e6c8:#3c3831; --c-f3e8ff:#2c2831; --c-f3f7f5:#28312d;
  --c-f4f7fa:#282d31; --c-f4f7fb:#2f343a; --c-f4f9ff:#2f343a; --c-f5c6c1:#3e3433; --c-f5ecf7:#2f2831; --c-f5f9fe:#2f343a;
  --c-f6f8fa:#2f343a; --c-f6f8fb:#2f333a; --c-f6f9fd:#2f343a; --c-f6faff:#2f343a; --c-f7f9fb:#2f343a; --c-f7f9fc:#2f333a;
  --c-f7fafd:#2f343a; --c-f7faff:#2f333a; --c-f7fbff:#2f343a; --c-f8dede:#302727; --c-f8fafc:#2f343a; --c-faecec:#312828;
  --c-fafbfd:#2f333a; --c-fafcfe:#2f343a; --c-fbd9d7:#322929; --c-fbdada:#302828; --c-fbe8cd:#36322c; --c-fbfcfe:#2f333a;
  --c-fbfdff:#2f343a; --c-fcfdfe:#2f343a; --c-fcfdff:#2f333a; --c-fdeaea:#312828; --c-fdeceb:#312928; --c-fdecec:#312828;
  --c-fdeded:#312828; --c-fdeeee:#312828; --c-fdf0c8:#37352d; --c-fdf2f2:#3a2f2f; --c-fdf3d7:#312f28; --c-fdf3e2:#312e28;
  --c-fdf3f3:#3a2f2f; --c-fdf5f5:#3a2f2f; --c-fdf6e8:#312e28; --c-fdf6f6:#3a2f2f; --c-fdf7f7:#3a2f2f; --c-fdf9f0:#312e28;
  --c-ffe9c9:#36322c; --c-fff3cd:#34322b; --c-fff3d9:#2f2c27; --c-fff4e0:#312e28; --c-fff5e0:#312e28; --c-fff6f6:#3a2f2f;
  --c-fff7e6:#312e28; --c-fff8e4:#312f28; --c-fff8e6:#312f28; --c-fffaf0:#3a362f; --c-fffaf2:#3a352f; --c-fffbf2:#3a362f;
  --c-fffdf5:#3a372f; --c-fffdf7:#3a372f; --c-ffffff:#e8eaec;
  --on-brand:#12161a;
  --hd-ink:#e8eaec;
  --nil-ink:#98A2AE;
  --dcb-n-bg:#282d31; --dcb-n-fg:#b8c3cf; --dcb-0-fg:#93a0ac;
  --dcb-merge-bg:#1E2C3C; --dcb-merge-fg:#9CC4EA;
  --dcb-refund-bg:#1B2A20; --dcb-refund-fg:#8ED2A6;
  --bad:#e08a8a; --ok:#20ac7f; --warn:#e0942a;  --am-100:#262015; --am-200:#483822; --am-300:#664c26; --am-400:#8e6629; --am-50:#2c2219; --am-500:#b28034; --am-600:#c99546; --am-700:#d2a765; --am-900:#dbb886; --gn-100:#17241e; --gn-200:#254538; --gn-300:#2b6148; --gn-400:#30875e; --gn-50:#1c2925; --gn-500:#34b177; --gn-600:#46c98d; --gn-700:#6dd1a3; --gn-900:#8dd5b3; --rd-100:#251616; --rd-200:#462424; --rd-300:#632929; --rd-400:#8b2d2d; --rd-50:#291c1c; --rd-500:#b13434; --rd-600:#d36868; --rd-700:#d36868; --rd-900:#d88a8a;

}

/* ── ⑧-皮肤 · 有风 ─────────────────────────────────────
   ★ 本套整块冻结自 tmp/_skin_frozen.css（ch321 线上真值，
     含多轮对比度定向修正，生成器不从基色重推）。
   ⚠ 本段由 tmp/_skin_gen.py 拼接，要改去改冻结文件再重跑。 */
:root[data-skin="wb-wind"]{
  --brand:#297c3b; --brand2:#347a44; --line:#e0e6de; --bg:#f6f8f5; --ink:#1b241c; --mut:#5c665c; --chip:#edf2ed;
  --srf:#ffffff; --srf-2:#f6f8f5; --link:#347a44; --focus:#3c8c4e;
  --hover:#d8e4d9; --sel:#b9d3ba; --dis-bg:#eef3ed; --dis-ink:#a6b7a6;
  --sh-ring:0 0 0 3px rgba(60,140,78,.20);
  --g-50:#f7fcf8; --g-100:#eef7f0; --g-200:#ddeae0; --g-300:#c2e3c9; --g-400:#9fc2a7; --g-500:#7da285; --g-600:#6b8571; --g-700:#425f49; --g-800:#1c3021;
  --bd-50:#f6faf7; --bd-100:#ebf4ed; --bd-200:#d4ecd9; --bd-300:#afe4bb; --bd-400:#7ae091; --bd-500:#3ee062;
  --bd-600:#1cca43; --bd-700:#1c9637; --bd-900:#186128; --nt-50:#fafcfa; --nt-100:#f4f9f5; --nt-200:#eaf3ec;
  --nt-300:#d8e7db; --nt-400:#bcd2c1; --nt-500:#95b49c; --nt-600:#6d9576; --nt-700:#4b6551; --nt-900:#2d4132;
  --c-003070:#007019; --c-0086f6:#00f637; --c-00bebd:#00bebd; --c-0b5c9a:#0b9a2b; --c-10603f:#10603f; --c-111111:#111111;
  --c-112244:#11441c; --c-12456b:#126b26; --c-153a5b:#155b25; --c-1a7f45:#1a7f45; --c-1d9e75:#1d9e75; --c-1f2a37:#1f3724;
  --c-1f3a55:#1f552b; --c-1f4e79:#1f7933; --c-1f6b3a:#1f6b3a; --c-1f6f8b:#1f8b37; --c-22303f:#223f29; --c-2b3b52:#2b5234;
  --c-2b5f8f:#2b8f42; --c-2c3e50:#2c5034; --c-2e7d4f:#2e7d4f; --c-2f5496:#2f9646; --c-2f5d8f:#2f8f45; --c-2f6fd6:#2fd655;
  --c-2f7d55:#2f7d55; --c-33475c:#335c3c; --c-3b82f6:#3bf665; --c-3ba5d3:#3bd35d; --c-3d5573:#3d7349; --c-3d5670:#3d7048;
  --c-3f5f86:#3f864f; --c-42505f:#425f49; --c-48586a:#486a50; --c-4a6b8a:#4a8a58; --c-4fa87a:#4fa87a; --c-5a6a7d:#5a7d62;
  --c-5a6b7d:#5a7d62; --c-5b6572:#5b7260; --c-5b6b7c:#58785f; --c-5c4a12:#5c4a12; --c-5f7b99:#5f996c; --c-64778c:#648c6d;
  --c-6b21a8:#6b21a8; --c-6b4e00:#6b4e00; --c-6b7787:#6b8771; --c-6b7a8c:#6b8c72; --c-6b7c8d:#5b7761; --c-7a4200:#7a4200;
  --c-7a5200:#7a5200; --c-7a5310:#7a5310; --c-7a5a12:#7a5a12; --c-7a8798:#7a9881; --c-7aa7d4:#7ad48e; --c-7b8794:#7b9481;
  --c-7b8a99:#5e7964; --c-7b8b9c:#58755e; --c-7d2222:#7d2222; --c-7d4a8c:#7d4a8c; --c-7d8b99:#7d9983; --c-7d8fa2:#56785e;
  --c-854f0b:#854f0b; --c-8798a8:#597a60; --c-882244:#882244; --c-8a2b2b:#8a2b2b; --c-8a4b00:#8a4b00; --c-8a4b4b:#8a4b4b;
  --c-8a5a00:#8a5a00; --c-8a5a12:#8a5a12; --c-8a6100:#8a6100; --c-8a6a12:#8a6a12; --c-8a6d1a:#8a6d1a; --c-8a6d1f:#8a6d1f;
  --c-8a93a3:#8aa390; --c-8a97a4:#8aa490; --c-8a97a5:#8aa590; --c-8b97a4:#8ba491; --c-8c2020:#8c2020; --c-8c2f22:#8c2f22;
  --c-8d97a3:#8da392; --c-8f1b15:#8f1b15; --c-8f2020:#8f2020; --c-8fa3b8:#4a7554; --c-8fa6bd:#8fbd99; --c-93a0b0:#5a7a62;
  --c-93a6b8:#93b89b; --c-9aa8b6:#9ab6a0; --c-9aabbb:#9abba1; --c-9db1c4:#9dc4a6; --c-9dbde4:#9de4ad; --c-9fb0c2:#4e7a58;
  --c-9fb0c6:#9fc6a8; --c-9fd0f5:#9ff5b2; --c-a05a00:#a05a00; --c-a05a5a:#a05a5a; --c-a32d2d:#a32d2d; --c-a3c6ec:#a3ecb3;
  --c-a8302a:#a8302a; --c-a8b4c2:#a8c2ae; --c-a9b4bf:#57765e; --c-a9bac9:#a9c9b0; --c-aa3333:#aa3333; --c-aab6c3:#aac3b0;
  --c-aec6dd:#aeddb9; --c-b09a5f:#b09a5f; --c-b3261e:#b3261e; --c-b3bcc7:#b3c7b8; --c-b46565:#b46565; --c-b7d1ea:#b7eac2;
  --c-b7e2ce:#b7e2ce; --c-b8860b:#946c09; --c-b8e0c8:#b8e0c8; --c-b9701d:#b9701d; --c-b9c1cd:#b9cdbe; --c-b9c4d0:#b9d0be;
  --c-b9cce2:#b9e2c2; --c-ba7517:#ba7517; --c-bbbbbb:#bbbbbb; --c-bcd3ee:#bceec7; --c-bdd6f0:#bdf0c8; --c-c0392b:#c0392b;
  --c-c2c8d0:#c2d0c5; --c-c2cdda:#c2dac7; --c-c2d2e3:#c2e3c9; --c-c3ccd6:#c3d6c7; --c-c3ccd8:#c3d8c8; --c-c3d2e3:#c3e3ca;
  --c-c3d3e4:#c3e4ca; --c-c3e3d1:#c3e3d1; --c-c6d3e3:#c6e3cd; --c-c6dbf1:#c6f1d0; --c-c6e2d2:#c6e2d2; --c-c8d1db:#c8dbcc;
  --c-c8d4e0:#c8e0cd; --c-c8dbef:#c8efd1; --c-c9a227:#c9a227; --c-c9d4e0:#c9e0ce; --c-c9d8ea:#c9ead0; --c-cbdcef:#cbefd3;
  --c-ccd3dc:#ccdcd0; --c-cddcec:#cdecd4; --c-cfd9e4:#cfe4d4; --c-cfdbe8:#cfe8d5; --c-cfe0f2:#cff2d7; --c-cfe1f5:#cff5d8;
  --c-cfe2f9:#cff9d8; --c-d2d8df:#d2dfd5; --c-d3e2f2:#d3f2da; --c-d4af37:#d4af37; --c-d5e0eb:#d5ebda; --c-d6dce4:#d6e4d9;
  --c-d6e3f2:#d6f2dc; --c-d7e1ec:#d7ecdc; --c-d7e7f7:#d7f7de; --c-d8c489:#d8c489; --c-d8dee6:#d8e6db; --c-d8ecff:#d8ffe1;
  --c-d9822b:#d9822b; --c-d9b45a:#d9b45a; --c-dbe3ea:#dbeade; --c-dbe3ec:#dbecdf; --c-dbe4ee:#dbeedf; --c-dbe6f2:#dbf2e0;
  --c-dbe7f6:#dbf6e1; --c-dbe8f6:#dbf6e1; --c-dbe8fb:#dbfbe2; --c-dbe9fa:#dbfae2; --c-dceafa:#dcfae3; --c-dde5ec:#ddece0;
  --c-dde6ef:#ddefe1; --c-dde8f4:#ddf4e2; --c-dde9f7:#ddf7e3; --c-dfe6ee:#dfeee2; --c-dfe7ef:#dfefe3; --c-e04f4f:#e04f4f;
  --c-e06a63:#e06a63; --c-e0b678:#e0b678; --c-e0cffc:#e0cffc; --c-e0e9f3:#e0f3e4; --c-e1e7ee:#e1eee4; --c-e2b13c:#e2b13c;
  --c-e2e8ef:#e2efe5; --c-e2ebf5:#e2f5e6; --c-e2edfa:#e2fae7; --c-e2eefc:#e2fce8; --c-e3e7ec:#e3ece5; --c-e3e9f0:#e3f0e6;
  --c-e3eaf1:#e3f1e6; --c-e4e9ef:#e4efe6; --c-e6a23c:#e6a23c; --c-e6b0b0:#e6b0b0; --c-e6b8b8:#e6b8b8; --c-e6ecf2:#e6f2e9;
  --c-e6f5ec:#e6f5ec; --c-e6f6ef:#e6f6ef; --c-e7ecf2:#e7f2e9; --c-e7eef7:#e7f7eb; --c-e8cf92:#e8cf92; --c-e8eef6:#e8f6eb;
  --c-e8eff8:#e8f8ec; --c-e8f0fa:#e8faec; --c-e8f1fb:#e8fbec; --c-e8f6ee:#e8f6ee; --c-e9eff6:#e9f6ec; --c-e9f1f9:#e9f9ed;
  --c-e9f2fb:#e9fbed; --c-e9f2fc:#e9fced; --c-eaf1fb:#eafbee; --c-eaf2fb:#eafbee; --c-eaf7ef:#eaf7ef; --c-edf4fb:#edfbf0;
  --c-eec3c3:#eec3c3; --c-eef1f5:#eef5f0; --c-eef2f6:#eef6f0; --c-eef2f7:#eef7f0; --c-eef2f8:#eef8f0; --c-eef3f9:#eef9f0;
  --c-eef4fb:#eefbf1; --c-eef8f1:#eef8f1; --c-eef8f3:#eef8f3; --c-f0b8b4:#f0b8b4; --c-f0c987:#f0c987; --c-f0cccc:#f0cccc;
  --c-f0d6d4:#f0d6d4; --c-f0d6d6:#f0d6d6; --c-f0d9ae:#f0d9ae; --c-f0dca8:#f0dca8; --c-f0dcb0:#f0dcb0; --c-f0dcb4:#f0dcb4;
  --c-f0dfae:#f0dfae; --c-f0f4f8:#f0f8f2; --c-f1f3f6:#f1f6f2; --c-f1f4f7:#f1f7f2; --c-f1f5f9:#f1f9f3; --c-f2c6c6:#f2c6c6;
  --c-f2f4f7:#f2f7f3; --c-f2f5f8:#f2f8f3; --c-f2f5f9:#f2f9f4; --c-f2f6fb:#f2fbf4; --c-f2f7fc:#f2fcf4; --c-f2f7fd:#f2fdf4;
  --c-f2f8ff:#f2fff5; --c-f2fbf6:#f2fbf6; --c-f2fbf7:#f2fbf7; --c-f3e6c8:#f3e6c8; --c-f3e8ff:#f3e8ff; --c-f3f7f5:#f3f7f5;
  --c-f4f7fa:#f4faf5; --c-f4f7fb:#f4fbf6; --c-f4f9ff:#f4fff6; --c-f5c6c1:#f5c6c1; --c-f5ecf7:#f5ecf7; --c-f5f9fe:#f5fef7;
  --c-f6f8fa:#f6faf7; --c-f6f8fb:#f6fbf7; --c-f6f9fd:#f6fdf8; --c-f6faff:#f6fff8; --c-f7f9fb:#f7fbf8; --c-f7f9fc:#f7fcf8;
  --c-f7fafd:#f7fdf8; --c-f7faff:#f7fff9; --c-f7fbff:#f7fff9; --c-f8dede:#f8dede; --c-f8fafc:#f8fcf9; --c-faecec:#faecec;
  --c-fafbfd:#fafdfb; --c-fafcfe:#fafefb; --c-fbd9d7:#fbd9d7; --c-fbdada:#fbdada; --c-fbe8cd:#fbe8cd; --c-fbfcfe:#fbfefc;
  --c-fbfdff:#fbfffc; --c-fcfdfe:#fcfefc; --c-fcfdff:#fcfffd; --c-fdeaea:#fbe3e3; --c-fdeceb:#fdeceb; --c-fdecec:#fdecec;
  --c-fdeded:#fdeded; --c-fdeeee:#fdeeee; --c-fdf0c8:#fdf0c8; --c-fdf2f2:#fdf2f2; --c-fdf3d7:#fdf3d7; --c-fdf3e2:#fdf3e2;
  --c-fdf3f3:#fdf3f3; --c-fdf5f5:#fdf5f5; --c-fdf6e8:#fdf6e8; --c-fdf6f6:#fdf6f6; --c-fdf7f7:#fdf7f7; --c-fdf9f0:#fdf9f0;
  --c-ffe9c9:#ffe9c9; --c-fff3cd:#fff3cd; --c-fff3d9:#fff3d9; --c-fff4e0:#fff4e0; --c-fff5e0:#fff5e0; --c-fff6f6:#fff6f6;
  --c-fff7e6:#fff7e6; --c-fff8e4:#fff8e4; --c-fff8e6:#fff8e6; --c-fffaf0:#fffaf0; --c-fffaf2:#fffaf2; --c-fffbf2:#fffbf2;
  --c-fffdf5:#fffdf5; --c-fffdf7:#fffdf7; --c-ffffff:#ffffff;
}

/* ── ⑧-皮肤 · 暗夜 ─────────────────────────────────────
   真值来源：v4.49b 重设计（2026-10-19 用户令「用你的视觉模型重新设计」，
     画布加深加饱和 + --band 带面槽 + 暖色簇拉开档位，WCAG AA 扫描守底线）
   只覆盖颜色（语义槽 + 灰阶 + 色阶），圆角 / 间距 / 字阶一个字不改。
   ⚠ 本段由 tmp/_skin_gen.py 生成，改这里不如改配置再重跑。 */
:root[data-skin="wb-night"]{
  --brand:#7fa8dc; --brand2:#64c2f0; --line:#263444; --bg:#0b1016; --ink:#e3eaf2; --mut:#94a3b5; --chip:#1a2531;
  --srf:#131c26; --srf-2:#0b1016; --band:#0f1721; --link:#64c2f0; --focus:#64c2f0; --hd-bg:#080d13; --hover:#19242f; --sel:#1e3346; --dis-bg:#10161d; --dis-ink:#55606f; --sh-ring:0 0 0 3px rgba(100,194,240,.20); --sh-pop:0 8px 26px rgba(0,0,0,.45); --sh-menu:0 10px 30px rgba(0,0,0,.50); --sh-drag:0 4px 16px rgba(0,0,0,.55); --skin-wall:linear-gradient(165deg,#101828 0%,#16213e 55%,#23305c 100%); --skin-wall-op:1; --skin-wall-tint:rgba(10,15,26,.80); --skin-wall-tint2:rgba(10,15,26,.55);
  --g-50:#2f333a; --g-100:#282c31; --g-200:#2d3136; --g-300:#273e56; --g-400:#45596d; --g-500:#607386;
  --g-600:#788493; --g-700:#94a4b5; --g-800:#b6c4d4; --bd-50:#2f343a; --bd-100:#282d31; --bd-200:#2f3439;
  --bd-300:#234568; --bd-400:#235a95; --bd-500:#2070c7; --bd-600:#3086e2; --bd-700:#5b9be0; --bd-900:#86b2e1;
  --nt-50:#2f343a; --nt-100:#282e31; --nt-200:#282d31; --nt-300:#2f353a; --nt-400:#3a4956; --nt-500:#526474;
  --nt-600:#6a7f92; --nt-700:#909fad; --nt-900:#abb8c5; --c-003070:#a3acb1; --c-0086f6:#838f95; --c-00bebd:#33fffe;
  --c-0b5c9a:#9ea8ac; --c-10603f:#84ebc0; --c-111111:#d6d6d6; --c-112244:#afb7bb; --c-12456b:#adb5b9; --c-153a5b:#aeb6ba;
  --c-1a7f45:#6de19f; --c-1d9e75:#54e0b3; --c-1f2a37:#b8bfc3; --c-1f3a55:#abb4b8; --c-1f4e79:#9da7ab; --c-1f6b3a:#80daa0;
  --c-1f6f8b:#acb4b8; --c-22303f:#b4bbbf; --c-2b3b52:#a5aeb2; --c-2b5f8f:#8f9a9f; --c-2c3e50:#a9b2b6; --c-2e7d4f:#74cc99;
  --c-2f5496:#7c898f; --c-2f5d8f:#89959b; --c-2f6fd6:#646f75; --c-2f7d55:#75cb9f; --c-33475c:#a0aaae; --c-3b82f6:#555e63;
  --c-3ba5d3:#849096; --c-3d5573:#909ba0; --c-3d5670:#939ea3; --c-3f5f86:#859197; --c-42505f:#9aa4a9; --c-48586a:#919ca1;
  --c-4a6b8a:#839096; --c-4fa87a:#56af81; --c-5a6a7d:#828e94; --c-5a6b7d:#838f95; --c-5b6572:#869298; --c-5b6b7c:#838f95;
  --c-5c4a12:#e8d188; --c-5f7b99:#738187; --c-64778c:#77848b; --c-6b21a8:#b378e4; --c-6b4e00:#ffd973; --c-6b7787:#76848b;
  --c-6b7a8c:#748288; --c-6b7c8d:#77848b; --c-7a4200:#ffba68; --c-7a5200:#ffcd68; --c-7a5310:#ecbe6e; --c-7a5a12:#eac46f;
  --c-7a8798:#6a777d; --c-7aa7d4:#566065; --c-7b8794:#6d7a80; --c-7b8a99:#98a2a7; --c-7b8b9c:#8a969c; --c-7d2222:#d87171;
  --c-7d4a8c:#b082bd; --c-7d8b99:#6b777d; --c-7d8fa2:#949fa4; --c-854f0b:#f2b363; --c-8798a8:#98a3a8; --c-882244:#d9688e;
  --c-8a2b2b:#d06969; --c-8a4b00:#ffb45b; --c-8a4b4b:#b16f6f; --c-8a5a00:#ffc65b; --c-8a5a12:#eab462; --c-8a6100:#ffce5b;
  --c-8a6a12:#eac662; --c-8a6d1a:#e2c164; --c-8a6d1f:#ddbc66; --c-8a93a3:#606b71; --c-8a97a4:#626d73; --c-8a97a5:#616c72;
  --c-8b97a4:#616d72; --c-8c2020:#dc6464; --c-8c2f22:#da7365; --c-8d97a3:#616c71; --c-8f1b15:#e7655f; --c-8f2020:#dc6262;
  --c-8fa3b8:#b3bbbe; --c-8fa6bd:#566065; --c-93a0b0:#939ea3; --c-93a6b8:#576267; --c-9aa8b6:#566065; --c-9aabbb:#555e63;
  --c-9db1c4:#50595e; --c-9dbde4:#41484c; --c-9fb0c2:#949ea4; --c-9fb0c6:#4c5559; --c-9fd0f5:#444c4f; --c-a05a00:#ffb04a;
  --c-a05a5a:#a55e5e; --c-a32d2d:#e08888; --c-a3c6ec:#3e4549; --c-a8302a:#df827d; --c-a8b4c2:#4c5559; --c-a9b4bf:#949fa4;
  --c-a9bac9:#4b5357; --c-aa3333:#ca4f4f; --c-aab6c3:#4b5458; --c-aec6dd:#41494c; --c-b09a5f:#a28c50; --c-b3261e:#e66d65;
  --c-b3bcc7:#464e52; --c-b46565:#9e4d4d; --c-b7d1ea:#394043; --c-b7e2ce:#276045; --c-b8860b:#f3be3b; --c-b8e0c8:#295e3f;
  --c-b9701d:#e1953e; --c-b9c1cd:#41494c; --c-b9c4d0:#41494d; --c-b9cce2:#3a4044; --c-ba7517:#e79f3c; --c-bbbbbb:#515151;
  --c-bcd3ee:#343a3d; --c-bdd6f0:#343b3e; --c-c0392b:#d96457; --c-c2c8d0:#3e4549; --c-c2cdda:#3a4144; --c-c2d2e3:#373d40;
  --c-c3ccd6:#3c4346; --c-c3ccd8:#3a4144; --c-c3d2e3:#363d40; --c-c3d3e4:#363c3f; --c-c3e3d1:#28553c; --c-c6d3e3:#353b3e;
  --c-c6dbf1:#32383b; --c-c6e2d2:#2a523b; --c-c8d1db:#383f42; --c-c8d4e0:#373d40; --c-c8dbef:#32383b; --c-c9a227:#d7b033;
  --c-c9d4e0:#363c3f; --c-c9d8ea:#33393c; --c-cbdcef:#313639; --c-ccd3dc:#363c3f; --c-cddcec:#31373a; --c-cfd9e4:#33393c;
  --c-cfdbe8:#32383b; --c-cfe0f2:#bfc6c9; --c-cfe1f5:#2d3335; --c-cfe2f9:#2c3134; --c-d2d8df:#33393c; --c-d3e2f2:#2d3235;
  --c-d4af37:#caa52b; --c-d5e0eb:#2f3437; --c-d6dce4:#313639; --c-d6e3f2:#2c3134; --c-d7e1ec:#2e3336; --c-d7e7f7:#2a2f32;
  --c-d8c489:#866f2c; --c-d8dee6:#2f3537; --c-d8ecff:#272b2e; --c-d9822b:#d57e26; --c-d9b45a:#ae8728; --c-dbe3ea:#2e3336;
  --c-dbe3ec:#2c3134; --c-dbe4ee:#2b3033; --c-dbe6f2:#96a0a5; --c-dbe7f6:#292d30; --c-dbe8f6:#292d30; --c-dbe8fb:#272b2e;
  --c-dbe9fa:#282c2f; --c-dceafa:#272b2e; --c-dde5ec:#2c3134; --c-dde6ef:#2b3033; --c-dde8f4:#292d30; --c-dde9f7:#282c2f;
  --c-dfe6ee:#96a0a5; --c-dfe7ef:#2a2f32; --c-e04f4f:#b92121; --c-e06a63:#a82921; --c-e0b678:#976823; --c-e0cffc:#2f2b35;
  --c-e0e9f3:#282d2f; --c-e1e7ee:#2a2e31; --c-e2b13c:#c9961e; --c-e2e8ef:#292d30; --c-e2ebf5:#272b2e; --c-e2edfa:#282c2f;
  --c-e2eefc:#282c2f; --c-e3e7ec:#2a2e31; --c-e3e9f0:#282c2f; --c-e3eaf1:#282c2f; --c-e4e9ef:#282c2f; --c-e6a23c:#ca831a;
  --c-e6b0b0:#682121; --c-e6b8b8:#612222; --c-e6ecf2:#272b2d; --c-e6f5ec:#28312c; --c-e6f6ef:#28312d; --c-e7ecf2:#262a2c;
  --c-e7eef7:#282c2f; --c-e8cf92:#83651c; --c-e8eef6:#282c2f; --c-e8eff8:#282c2f; --c-e8f0fa:#282c2f; --c-e8f1fb:#282c2f;
  --c-e8f6ee:#28312c; --c-e9eff6:#282c2f; --c-e9f1f9:#282d2f; --c-e9f2fb:#282d2f; --c-e9f2fc:#282c2f; --c-eaf1fb:#282c2f;
  --c-eaf2fb:#282c2f; --c-eaf7ef:#28312c; --c-edf4fb:#282d2f; --c-eec3c3:#5b1a1a; --c-eef1f5:#282c2f; --c-eef2f6:#282d2f;
  --c-eef2f7:#282c2f; --c-eef2f8:#282c2f; --c-eef3f9:#282c2f; --c-eef4fb:#282c2f; --c-eef8f1:#28312b; --c-eef8f3:#28312d;
  --c-f0b8b4:#691b15; --c-f0c987:#8f6112; --c-f0cccc:#3b3030; --c-f0d6d4:#382e2e; --c-f0d6d6:#372d2d; --c-f0d9ae:#6f4f14;
  --c-f0dca8:#745914; --c-f0dcb0:#6d5115; --c-f0dcb4:#694d15; --c-f0dfae:#6f5714; --c-f0f4f8:#282d2f; --c-f1f3f6:#282c2f;
  --c-f1f4f7:#282d2f; --c-f1f5f9:#282d2f; --c-f2c6c6:#3d3232; --c-f2f4f7:#282c2f; --c-f2f5f8:#282d2f; --c-f2f5f9:#282c2f;
  --c-f2f6fb:#282c2f; --c-f2f7fc:#282d2f; --c-f2f7fd:#2f3437; --c-f2f8ff:#2f3437; --c-f2fbf6:#28312c; --c-f2fbf7:#28312d;
  --c-f3e6c8:#3c3831; --c-f3e8ff:#2c2831; --c-f3f7f5:#28312d; --c-f4f7fa:#282d2f; --c-f4f7fb:#2f3437; --c-f4f9ff:#2f3437;
  --c-f5c6c1:#3e3433; --c-f5ecf7:#2f2831; --c-f5f9fe:#2f3437; --c-f6f8fa:#2f3437; --c-f6f8fb:#2e3436; --c-f6f9fd:#2f3437;
  --c-f6faff:#2f3437; --c-f7f9fb:#2f3437; --c-f7f9fc:#2e3436; --c-f7fafd:#2f3437; --c-f7faff:#2e3436; --c-f7fbff:#2f3437;
  --c-f8dede:#302727; --c-f8fafc:#2f3437; --c-faecec:#312828; --c-fafbfd:#2e3436; --c-fafcfe:#2f3437; --c-fbd9d7:#322929;
  --c-fbdada:#302828; --c-fbe8cd:#36322c; --c-fbfcfe:#2e3436; --c-fbfdff:#2f3437; --c-fcfdfe:#2f3437; --c-fcfdff:#2e3436;
  --c-fdeaea:#312828; --c-fdeceb:#312928; --c-fdecec:#312828; --c-fdeded:#312828; --c-fdeeee:#312828; --c-fdf0c8:#37352d;
  --c-fdf2f2:#3a2f2f; --c-fdf3d7:#312f28; --c-fdf3e2:#312e28; --c-fdf3f3:#3a2f2f; --c-fdf5f5:#3a2f2f; --c-fdf6e8:#312e28;
  --c-fdf6f6:#3a2f2f; --c-fdf7f7:#3a2f2f; --c-fdf9f0:#312e28; --c-ffe9c9:#36322c; --c-fff3cd:#34322b; --c-fff3d9:#2f2c27;
  --c-fff4e0:#312e28; --c-fff5e0:#312e28; --c-fff6f6:#3a2f2f; --c-fff7e6:#312e28; --c-fff8e4:#312f28; --c-fff8e6:#312f28;
  --c-fffaf0:#3a362f; --c-fffaf2:#3a352f; --c-fffbf2:#3a362f; --c-fffdf5:#3a372f; --c-fffdf7:#3a372f; --c-ffffff:#e8eaeb;
  --on-brand:#12161a; --hd-ink:#e8eaec; --nil-ink:#98A2AE; --dcb-n-bg:#282d31; --dcb-n-fg:#b8c3cf; --dcb-0-fg:#93a0ac;
  --dcb-merge-bg:#1E2C3C; --dcb-merge-fg:#9CC4EA; --dcb-refund-bg:#1B2A20; --dcb-refund-fg:#8ED2A6; --bad:#e08a8a; --ok:#20ac7f;
  --warn:#e0942a; --am-100:#262015; --am-200:#483822; --am-300:#664c26; --am-400:#8e6629; --am-50:#2c2219;
  --am-500:#b28034; --am-600:#c99546; --am-700:#d2a765; --am-900:#dbb886; --gn-100:#17241e; --gn-200:#254538;
  --gn-300:#2b6148; --gn-400:#30875e; --gn-50:#1c2925; --gn-500:#34b177; --gn-600:#46c98d; --gn-700:#6dd1a3;
  --gn-900:#8dd5b3; --rd-100:#251616; --rd-200:#462424; --rd-300:#632929; --rd-400:#8b2d2d; --rd-50:#291c1c;
  --rd-500:#b13434; --rd-600:#d36868; --rd-700:#d36868; --rd-900:#d88a8a;
}

/* ── ⑧-皮肤 · 森林 ─────────────────────────────────────
   真值来源：v4.49b 重设计（2026-10-19 用户令「用你的视觉模型重新设计」，
     画布加深加饱和 + --band 带面槽 + 暖色簇拉开档位，WCAG AA 扫描守底线）
   只覆盖颜色（语义槽 + 灰阶 + 色阶），圆角 / 间距 / 字阶一个字不改。
   ⚠ 本段由 tmp/_skin_gen.py 生成，改这里不如改配置再重跑。 */
:root[data-skin="wb-forest"]{
  --brand:#1b5e20; --brand2:#33691e; --line:#dee9d7; --bg:#f5f8f4; --ink:#2b3028; --mut:#64705c; --chip:#ecf2e8;
  --srf:#ffffff; --srf-2:#f5f8f4; --link:#33691e; --focus:#33691e;
  --hover:#ecf6e4; --sel:#dfefd2; --dis-bg:#ebf2e7; --dis-ink:#9ca893;
  --sh-ring:0 0 0 3px rgba(51,105,30,.20);
  --sh-pop:0 8px 26px rgba(21,44,13,.16); --sh-menu:0 10px 30px rgba(21,44,13,.20); --sh-drag:0 4px 16px rgba(21,44,13,.28);
  --skin-wall:linear-gradient(165deg,#c4d282 0%,#7a9a4a 55%,#33691e 100%); --skin-wall-op:1; --skin-wall-tint:rgba(246,250,238,.45);
  --g-50:#f7f9fc; --g-100:#eef2f7; --g-200:#dde3ea; --g-300:#c2d2e3; --g-400:#9fb0c2; --g-500:#7d8fa2; --g-600:#6b7785; --g-700:#42505f; --g-800:#1c2530;
  --bd-50:#F6F8FA; --bd-100:#EBF0F4; --bd-200:#D4DFEC; --bd-300:#AFC9E4; --bd-400:#7AABE0; --bd-500:#3E8CE0;
  --bd-600:#1C70CA; --bd-700:#1C5796; --bd-900:#183B61; --nt-50:#FAFBFC; --nt-100:#F4F7F9; --nt-200:#EAEFF3;
  --nt-300:#D8E0E7; --nt-400:#BCC8D2; --nt-500:#95A6B4; --nt-600:#6D8295; --nt-700:#4B5965; --nt-900:#2D3741;
  --c-003070:#003070; --c-0086f6:#0086f6; --c-00bebd:#00bebd; --c-0b5c9a:#0b5c9a; --c-10603f:#10603f; --c-111111:#111111;
  --c-112244:#112244; --c-12456b:#12456b; --c-153a5b:#153a5b; --c-1a7f45:#1a7f45; --c-1d9e75:#1d9e75; --c-1f2a37:#1f2a37;
  --c-1f3a55:#343a30; --c-1f4e79:#1f4e79; --c-1f6b3a:#1f6b3a; --c-1f6f8b:#1f6f8b; --c-22303f:#22303f; --c-2b3b52:#2b3b52;
  --c-2b5f8f:#2b5f8f; --c-2c3e50:#2c3e50; --c-2e7d4f:#2e7d4f; --c-2f5496:#2f5496; --c-2f5d8f:#2f5d8f; --c-2f6fd6:#2f6fd6;
  --c-2f7d55:#2f7d55; --c-33475c:#33475c; --c-3b82f6:#3b82f6; --c-3ba5d3:#3ba5d3; --c-3d5573:#3d5573; --c-3d5670:#3d5670;
  --c-3f5f86:#3f5f86; --c-42505f:#495243; --c-48586a:#48586a; --c-4a6b8a:#4a6b8a; --c-4fa87a:#4fa87a; --c-5a6a7d:#5a6a7d;
  --c-5a6b7d:#5a6b7d; --c-5b6572:#5b6572; --c-5b6b7c:#5b6b7c; --c-5c4a12:#5c4a12; --c-5f7b99:#5f7b99; --c-64778c:#64778c;
  --c-6b21a8:#6b21a8; --c-6b4e00:#6b4e00; --c-6b7787:#6b7787; --c-6b7a8c:#6b7a8c; --c-6b7c8d:#647383; --c-7a4200:#7a4200;
  --c-7a5200:#7a5200; --c-7a5310:#7a5310; --c-7a5a12:#7a5a12; --c-7a8798:#7a8798; --c-7aa7d4:#7aa7d4; --c-7b8794:#7b8794;
  --c-7b8a99:#667484; --c-7b8b9c:#5d6d7d; --c-7d2222:#7d2222; --c-7d4a8c:#7d4a8c; --c-7d8b99:#7d8b99; --c-7d8fa2:#5e7084;
  --c-854f0b:#854f0b; --c-8798a8:#5f7082; --c-882244:#882244; --c-8a2b2b:#8a2b2b; --c-8a4b00:#8a4b00; --c-8a4b4b:#8a4b4b;
  --c-8a5a00:#8a5a00; --c-8a5a12:#8a5a12; --c-8a6100:#8a6100; --c-8a6a12:#8a6a12; --c-8a6d1a:#8a6d1a; --c-8a6d1f:#8a6d1f;
  --c-8a93a3:#8a93a3; --c-8a97a4:#8a97a4; --c-8a97a5:#8a97a5; --c-8b97a4:#8b97a4; --c-8c2020:#8c2020; --c-8c2f22:#8c2f22;
  --c-8d97a3:#8d97a3; --c-8f1b15:#8f1b15; --c-8f2020:#8f2020; --c-8fa3b8:#566e88; --c-8fa6bd:#8fa6bd; --c-93a0b0:#637388;
  --c-93a6b8:#93a6b8; --c-9aa8b6:#9aa8b6; --c-9aabbb:#9aabbb; --c-9db1c4:#98b981; --c-9dbde4:#9dbde4; --c-9fb0c2:#a8b1a0;
  --c-9fb0c6:#9fb0c6; --c-9fd0f5:#9fd0f5; --c-a05a00:#a05a00; --c-a05a5a:#a05a5a; --c-a32d2d:#a32d2d; --c-a3c6ec:#b2caa0;
  --c-a8302a:#a8302a; --c-a8b4c2:#a8b4c2; --c-a9b4bf:#acb6a5; --c-a9bac9:#a9bac9; --c-aa3333:#aa3333; --c-aab6c3:#aab6c3;
  --c-aec6dd:#b3cba1; --c-b09a5f:#b09a5f; --c-b3261e:#b3261e; --c-b3bcc7:#b3bcc7; --c-b46565:#b46565; --c-b7d1ea:#b7d1ea;
  --c-b7e2ce:#b7e2ce; --c-b8860b:#8a6208; --c-b8e0c8:#b8e0c8; --c-b9701d:#b9701d; --c-b9c1cd:#b9c1cd; --c-b9c4d0:#b9c4d0;
  --c-b9cce2:#b9cce2; --c-ba7517:#ba7517; --c-bbbbbb:#bbbbbb; --c-bcd3ee:#bcd3ee; --c-bdd6f0:#c8d9bb; --c-c0392b:#c0392b;
  --c-c2c8d0:#c2c8d0; --c-c2cdda:#c2cdda; --c-c2d2e3:#c2d2e3; --c-c3ccd6:#c3ccd6; --c-c3ccd8:#c3ccd8; --c-c3d2e3:#c3d2e3;
  --c-c3d3e4:#c5d7b7; --c-c3e3d1:#c3e3d1; --c-c6d3e3:#c5d7b9; --c-c6dbf1:#c6dbf1; --c-c6e2d2:#c6e2d2; --c-c8d1db:#c8d1db;
  --c-c8d4e0:#c8d4e0; --c-c8dbef:#cedec2; --c-c9a227:#c9a227; --c-c9d4e0:#c7d8ba; --c-c9d8ea:#c9d8ea; --c-cbdcef:#cbdcef;
  --c-ccd3dc:#ccd3dc; --c-cddcec:#cddcec; --c-cfd9e4:#cfd9e4; --c-cfdbe8:#cfdbe8; --c-cfe0f2:#cfe0f2; --c-cfe1f5:#cfe1f5;
  --c-cfe2f9:#d7e4ce; --c-d2d8df:#d2d8df; --c-d3e2f2:#d7e4ce; --c-d4af37:#d4af37; --c-d5e0eb:#d5e0eb; --c-d6dce4:#d6dce4;
  --c-d6e3f2:#d6e3f2; --c-d7e1ec:#d7e1ec; --c-d7e7f7:#d7e7f7; --c-d8c489:#d8c489; --c-d8dee6:#d8dee6; --c-d8ecff:#d8ecff;
  --c-d9822b:#d9822b; --c-d9b45a:#d9b45a; --c-dbe3ea:#dbe3ea; --c-dbe3ec:#dae6d2; --c-dbe4ee:#dbe4ee; --c-dbe6f2:#dee8d6;
  --c-dbe7f6:#dbe7f6; --c-dbe8f6:#dbe8f6; --c-dbe8fb:#dbe8fb; --c-dbe9fa:#dbe9fa; --c-dceafa:#dceafa; --c-dde5ec:#dde5ec;
  --c-dde6ef:#dde6ef; --c-dde8f4:#dde8f4; --c-dde9f7:#dde9f7; --c-dfe6ee:#dfe6ee; --c-dfe7ef:#dfe7ef; --c-e04f4f:#e04f4f;
  --c-e06a63:#e06a63; --c-e0b678:#e0b678; --c-e0cffc:#e0cffc; --c-e0e9f3:#e1ecda; --c-e1e7ee:#e1e7ee; --c-e2b13c:#e2b13c;
  --c-e2e8ef:#e2e8ef; --c-e2ebf5:#e2ebf5; --c-e2edfa:#e2edfa; --c-e2eefc:#e7f0e1; --c-e3e7ec:#e3e7ec; --c-e3e9f0:#e3e9f0;
  --c-e3eaf1:#e3eaf1; --c-e4e9ef:#e4e9ef; --c-e6a23c:#e6a23c; --c-e6b0b0:#e6b0b0; --c-e6b8b8:#e6b8b8; --c-e6ecf2:#e6ecf2;
  --c-e6f5ec:#e6f5ec; --c-e6f6ef:#e6f6ef; --c-e7ecf2:#e7ecf2; --c-e7eef7:#e7eef7; --c-e8cf92:#e8cf92; --c-e8eef6:#e8eef6;
  --c-e8eff8:#e9f0e4; --c-e8f0fa:#e8f0fa; --c-e8f1fb:#e8f1fb; --c-e8f6ee:#e8f6ee; --c-e9eff6:#e9eff6; --c-e9f1f9:#e9f1f9;
  --c-e9f2fb:#e9f2fb; --c-e9f2fc:#e9f2fc; --c-eaf1fb:#eaf1fb; --c-eaf2fb:#eaf2fb; --c-eaf7ef:#eaf7ef; --c-edf4fb:#f0f4ec;
  --c-eec3c3:#eec3c3; --c-eef1f5:#eef1f5; --c-eef2f6:#eef2f6; --c-eef2f7:#edf3e9; --c-eef2f8:#eef2f8; --c-eef3f9:#eef3f9;
  --c-eef4fb:#eef4fb; --c-eef8f1:#eef8f1; --c-eef8f3:#eef8f3; --c-f0b8b4:#f0b8b4; --c-f0c987:#f0c987; --c-f0cccc:#f0cccc;
  --c-f0d6d4:#f0d6d4; --c-f0d6d6:#f0d6d6; --c-f0d9ae:#f0d9ae; --c-f0dca8:#f0dca8; --c-f0dcb0:#f0dcb0; --c-f0dcb4:#f0dcb4;
  --c-f0dfae:#f0dfae; --c-f0f4f8:#f0f4f8; --c-f1f3f6:#f1f3f6; --c-f1f4f7:#f1f4f7; --c-f1f5f9:#f1f5f9; --c-f2c6c6:#f2c6c6;
  --c-f2f4f7:#f2f4f7; --c-f2f5f8:#f2f5f8; --c-f2f5f9:#f2f5f9; --c-f2f6fb:#f3f7ef; --c-f2f7fc:#f2f7fc; --c-f2f7fd:#f2f7fd;
  --c-f2f8ff:#f2f8ff; --c-f2fbf6:#f2fbf6; --c-f2fbf7:#f2fbf7; --c-f3e6c8:#f3e6c8; --c-f3e8ff:#f3e8ff; --c-f3f7f5:#f3f7f5;
  --c-f4f7fa:#f4f7fa; --c-f4f7fb:#f4f7fb; --c-f4f9ff:#f4f9ff; --c-f5c6c1:#f5c6c1; --c-f5ecf7:#f5ecf7; --c-f5f9fe:#f5f9fe;
  --c-f6f8fa:#f6f8fa; --c-f6f8fb:#f6f8fb; --c-f6f9fd:#f6f9fd; --c-f6faff:#f6faff; --c-f7f9fb:#f7f9fb; --c-f7f9fc:#f7f9fc;
  --c-f7fafd:#f8faf7; --c-f7faff:#f7faff; --c-f7fbff:#f7fbff; --c-f8dede:#f8dede; --c-f8fafc:#f8fafc; --c-faecec:#faecec;
  --c-fafbfd:#fafbfd; --c-fafcfe:#fafcfe; --c-fbd9d7:#fbd9d7; --c-fbdada:#fbdada; --c-fbe8cd:#fbe8cd; --c-fbfcfe:#fbfcfe;
  --c-fbfdff:#fbfdff; --c-fcfdfe:#fcfdfe; --c-fcfdff:#fcfdff; --c-fdeaea:#fbe3e3; --c-fdeceb:#fdeceb; --c-fdecec:#fdecec;
  --c-fdeded:#fdeded; --c-fdeeee:#fdeeee; --c-fdf0c8:#fdf0c8; --c-fdf2f2:#fdf2f2; --c-fdf3d7:#fdf3d7; --c-fdf3e2:#fdf3e2;
  --c-fdf3f3:#fdf3f3; --c-fdf5f5:#fdf5f5; --c-fdf6e8:#fdf6e8; --c-fdf6f6:#fdf6f6; --c-fdf7f7:#fdf7f7; --c-fdf9f0:#fdf9f0;
  --c-ffe9c9:#ffe9c9; --c-fff3cd:#fff3cd; --c-fff3d9:#fff3d9; --c-fff4e0:#fff4e0; --c-fff5e0:#fff5e0; --c-fff6f6:#fff6f6;
  --c-fff7e6:#fff7e6; --c-fff8e4:#fff8e4; --c-fff8e6:#fff8e6; --c-fffaf0:#fffaf0; --c-fffaf2:#fffaf2; --c-fffbf2:#fffbf2;
  --c-fffdf5:#fffdf5; --c-fffdf7:#fffdf7; --c-ffffff:#ffffff;
}

/* ── ⑧-皮肤 · 葡萄紫 ─────────────────────────────────────
   真值来源：v4.49b 重设计（2026-10-19 用户令「用你的视觉模型重新设计」，
     画布加深加饱和 + --band 带面槽 + 暖色簇拉开档位，WCAG AA 扫描守底线）
   只覆盖颜色（语义槽 + 灰阶 + 色阶），圆角 / 间距 / 字阶一个字不改。
   ⚠ 本段由 tmp/_skin_gen.py 生成，改这里不如改配置再重跑。 */
:root[data-skin="wb-grape"]{
  --brand:#553092; --brand2:#6f42b0; --line:#e8e3ef; --bg:#f8f6fb; --ink:#312d37; --mut:#71687f; --chip:#f2eff6;
  --srf:#ffffff; --srf-2:#f8f6fb; --link:#6f42b0; --focus:#6f42b0;
  --hover:#efe6fa; --sel:#e0cef2; --dis-bg:#f1eef6; --dis-ink:#a7a0b2;
  --sh-ring:0 0 0 3px rgba(111,66,176,.20);
  --sh-pop:0 8px 26px rgba(48,29,76,.16); --sh-menu:0 10px 30px rgba(48,29,76,.20); --sh-drag:0 4px 16px rgba(48,29,76,.28);
  --skin-wall:linear-gradient(160deg,#d8c2f2 0%,#b294e0 55%,#8f6ac9 100%); --skin-wall-op:1; --skin-wall-tint:rgba(250,246,255,.45);
  --g-50:#f7f9fc; --g-100:#eef2f7; --g-200:#dde3ea; --g-300:#c2d2e3; --g-400:#9fb0c2; --g-500:#7d8fa2; --g-600:#6b7785; --g-700:#42505f; --g-800:#1c2530;
  --bd-50:#F6F8FA; --bd-100:#EBF0F4; --bd-200:#D4DFEC; --bd-300:#AFC9E4; --bd-400:#7AABE0; --bd-500:#3E8CE0;
  --bd-600:#1C70CA; --bd-700:#1C5796; --bd-900:#183B61; --nt-50:#FAFBFC; --nt-100:#F4F7F9; --nt-200:#EAEFF3;
  --nt-300:#D8E0E7; --nt-400:#BCC8D2; --nt-500:#95A6B4; --nt-600:#6D8295; --nt-700:#4B5965; --nt-900:#2D3741;
  --c-003070:#003070; --c-0086f6:#0086f6; --c-00bebd:#00bebd; --c-0b5c9a:#0b5c9a; --c-10603f:#10603f; --c-111111:#111111;
  --c-112244:#112244; --c-12456b:#12456b; --c-153a5b:#153a5b; --c-1a7f45:#1a7f45; --c-1d9e75:#1d9e75; --c-1f2a37:#1f2a37;
  --c-1f3a55:#3b3642; --c-1f4e79:#1f4e79; --c-1f6b3a:#1f6b3a; --c-1f6f8b:#1f6f8b; --c-22303f:#22303f; --c-2b3b52:#2b3b52;
  --c-2b5f8f:#2b5f8f; --c-2c3e50:#2c3e50; --c-2e7d4f:#2e7d4f; --c-2f5496:#2f5496; --c-2f5d8f:#2f5d8f; --c-2f6fd6:#2f6fd6;
  --c-2f7d55:#2f7d55; --c-33475c:#33475c; --c-3b82f6:#3b82f6; --c-3ba5d3:#3ba5d3; --c-3d5573:#3d5573; --c-3d5670:#3d5670;
  --c-3f5f86:#3f5f86; --c-42505f:#534c5c; --c-48586a:#48586a; --c-4a6b8a:#4a6b8a; --c-4fa87a:#4fa87a; --c-5a6a7d:#5a6a7d;
  --c-5a6b7d:#5a6b7d; --c-5b6572:#5b6572; --c-5b6b7c:#5b6b7c; --c-5c4a12:#5c4a12; --c-5f7b99:#5f7b99; --c-64778c:#64778c;
  --c-6b21a8:#6b21a8; --c-6b4e00:#6b4e00; --c-6b7787:#6b7787; --c-6b7a8c:#6b7a8c; --c-6b7c8d:#647383; --c-7a4200:#7a4200;
  --c-7a5200:#7a5200; --c-7a5310:#7a5310; --c-7a5a12:#7a5a12; --c-7a8798:#7a8798; --c-7aa7d4:#7aa7d4; --c-7b8794:#7b8794;
  --c-7b8a99:#667484; --c-7b8b9c:#5d6d7d; --c-7d2222:#7d2222; --c-7d4a8c:#7d4a8c; --c-7d8b99:#7d8b99; --c-7d8fa2:#5e7084;
  --c-854f0b:#854f0b; --c-8798a8:#5f7082; --c-882244:#882244; --c-8a2b2b:#8a2b2b; --c-8a4b00:#8a4b00; --c-8a4b4b:#8a4b4b;
  --c-8a5a00:#8a5a00; --c-8a5a12:#8a5a12; --c-8a6100:#8a6100; --c-8a6a12:#8a6a12; --c-8a6d1a:#8a6d1a; --c-8a6d1f:#8a6d1f;
  --c-8a93a3:#8a93a3; --c-8a97a4:#8a97a4; --c-8a97a5:#8a97a5; --c-8b97a4:#8b97a4; --c-8c2020:#8c2020; --c-8c2f22:#8c2f22;
  --c-8d97a3:#8d97a3; --c-8f1b15:#8f1b15; --c-8f2020:#8f2020; --c-8fa3b8:#566e88; --c-8fa6bd:#8fa6bd; --c-93a0b0:#637388;
  --c-93a6b8:#93a6b8; --c-9aa8b6:#9aa8b6; --c-9aabbb:#9aabbb; --c-9db1c4:#b8a8ce; --c-9dbde4:#9dbde4; --c-9fb0c2:#b2abbb;
  --c-9fb0c6:#9fb0c6; --c-9fd0f5:#9fd0f5; --c-a05a00:#a05a00; --c-a05a5a:#a05a5a; --c-a32d2d:#a32d2d; --c-a3c6ec:#c9beda;
  --c-a8302a:#a8302a; --c-a8b4c2:#a8b4c2; --c-a9b4bf:#b6b0bf; --c-a9bac9:#a9bac9; --c-aa3333:#aa3333; --c-aab6c3:#aab6c3;
  --c-aec6dd:#cabedb; --c-b09a5f:#b09a5f; --c-b3261e:#b3261e; --c-b3bcc7:#b3bcc7; --c-b46565:#b46565; --c-b7d1ea:#b7d1ea;
  --c-b7e2ce:#b7e2ce; --c-b8860b:#8a6208; --c-b8e0c8:#b8e0c8; --c-b9701d:#b9701d; --c-b9c1cd:#b9c1cd; --c-b9c4d0:#b9c4d0;
  --c-b9cce2:#b9cce2; --c-ba7517:#ba7517; --c-bbbbbb:#bbbbbb; --c-bcd3ee:#bcd3ee; --c-bdd6f0:#d8d0e4; --c-c0392b:#c0392b;
  --c-c2c8d0:#c2c8d0; --c-c2cdda:#c2cdda; --c-c2d2e3:#c2d2e3; --c-c3ccd6:#c3ccd6; --c-c3ccd8:#c3ccd8; --c-c3d2e3:#c3d2e3;
  --c-c3d3e4:#d6cde3; --c-c3e3d1:#c3e3d1; --c-c6d3e3:#d7cee3; --c-c6dbf1:#c6dbf1; --c-c6e2d2:#c6e2d2; --c-c8d1db:#c8d1db;
  --c-c8d4e0:#c8d4e0; --c-c8dbef:#ddd6e9; --c-c9a227:#c9a227; --c-c9d4e0:#d8cfe4; --c-c9d8ea:#c9d8ea; --c-cbdcef:#cbdcef;
  --c-ccd3dc:#ccd3dc; --c-cddcec:#cddcec; --c-cfd9e4:#cfd9e4; --c-cfdbe8:#cfdbe8; --c-cfe0f2:#cfe0f2; --c-cfe1f5:#cfe1f5;
  --c-cfe2f9:#e4dded; --c-d2d8df:#d2d8df; --c-d3e2f2:#e4deed; --c-d4af37:#d4af37; --c-d5e0eb:#d5e0eb; --c-d6dce4:#d6dce4;
  --c-d6e3f2:#d6e3f2; --c-d7e1ec:#d7e1ec; --c-d7e7f7:#d7e7f7; --c-d8c489:#d8c489; --c-d8dee6:#d8dee6; --c-d8ecff:#d8ecff;
  --c-d9822b:#d9822b; --c-d9b45a:#d9b45a; --c-dbe3ea:#dbe3ea; --c-dbe3ec:#e5e0ed; --c-dbe4ee:#dbe4ee; --c-dbe6f2:#e8e3ef;
  --c-dbe7f6:#dbe7f6; --c-dbe8f6:#dbe8f6; --c-dbe8fb:#dbe8fb; --c-dbe9fa:#dbe9fa; --c-dceafa:#dceafa; --c-dde5ec:#dde5ec;
  --c-dde6ef:#dde6ef; --c-dde8f4:#dde8f4; --c-dde9f7:#dde9f7; --c-dfe6ee:#dfe6ee; --c-dfe7ef:#dfe7ef; --c-e04f4f:#e04f4f;
  --c-e06a63:#e06a63; --c-e0b678:#e0b678; --c-e0cffc:#e0cffc; --c-e0e9f3:#ebe6f2; --c-e1e7ee:#e1e7ee; --c-e2b13c:#e2b13c;
  --c-e2e8ef:#e2e8ef; --c-e2ebf5:#e2ebf5; --c-e2edfa:#e2edfa; --c-e2eefc:#efebf4; --c-e3e7ec:#e3e7ec; --c-e3e9f0:#e3e9f0;
  --c-e3eaf1:#e3eaf1; --c-e4e9ef:#e4e9ef; --c-e6a23c:#e6a23c; --c-e6b0b0:#e6b0b0; --c-e6b8b8:#e6b8b8; --c-e6ecf2:#e6ecf2;
  --c-e6f5ec:#e6f5ec; --c-e6f6ef:#e6f6ef; --c-e7ecf2:#e7ecf2; --c-e7eef7:#e7eef7; --c-e8cf92:#e8cf92; --c-e8eef6:#e8eef6;
  --c-e8eff8:#f0edf5; --c-e8f0fa:#e8f0fa; --c-e8f1fb:#e8f1fb; --c-e8f6ee:#e8f6ee; --c-e9eff6:#e9eff6; --c-e9f1f9:#e9f1f9;
  --c-e9f2fb:#e9f2fb; --c-e9f2fc:#e9f2fc; --c-eaf1fb:#eaf1fb; --c-eaf2fb:#eaf2fb; --c-eaf7ef:#eaf7ef; --c-edf4fb:#f5f2f8;
  --c-eec3c3:#eec3c3; --c-eef1f5:#eef1f5; --c-eef2f6:#eef2f6; --c-eef2f7:#f3f0f7; --c-eef2f8:#eef2f8; --c-eef3f9:#eef3f9;
  --c-eef4fb:#eef4fb; --c-eef8f1:#eef8f1; --c-eef8f3:#eef8f3; --c-f0b8b4:#f0b8b4; --c-f0c987:#f0c987; --c-f0cccc:#f0cccc;
  --c-f0d6d4:#f0d6d4; --c-f0d6d6:#f0d6d6; --c-f0d9ae:#f0d9ae; --c-f0dca8:#f0dca8; --c-f0dcb0:#f0dcb0; --c-f0dcb4:#f0dcb4;
  --c-f0dfae:#f0dfae; --c-f0f4f8:#f0f4f8; --c-f1f3f6:#f1f3f6; --c-f1f4f7:#f1f4f7; --c-f1f5f9:#f1f5f9; --c-f2c6c6:#f2c6c6;
  --c-f2f4f7:#f2f4f7; --c-f2f5f8:#f2f5f8; --c-f2f5f9:#f2f5f9; --c-f2f6fb:#f7f5f9; --c-f2f7fc:#f2f7fc; --c-f2f7fd:#f2f7fd;
  --c-f2f8ff:#f2f8ff; --c-f2fbf6:#f2fbf6; --c-f2fbf7:#f2fbf7; --c-f3e6c8:#f3e6c8; --c-f3e8ff:#f3e8ff; --c-f3f7f5:#f3f7f5;
  --c-f4f7fa:#f4f7fa; --c-f4f7fb:#f4f7fb; --c-f4f9ff:#f4f9ff; --c-f5c6c1:#f5c6c1; --c-f5ecf7:#f5ecf7; --c-f5f9fe:#f5f9fe;
  --c-f6f8fa:#f6f8fa; --c-f6f8fb:#f6f8fb; --c-f6f9fd:#f6f9fd; --c-f6faff:#f6faff; --c-f7f9fb:#f7f9fb; --c-f7f9fc:#f7f9fc;
  --c-f7fafd:#faf9fc; --c-f7faff:#f7faff; --c-f7fbff:#f7fbff; --c-f8dede:#f8dede; --c-f8fafc:#f8fafc; --c-faecec:#faecec;
  --c-fafbfd:#fafbfd; --c-fafcfe:#fafcfe; --c-fbd9d7:#fbd9d7; --c-fbdada:#fbdada; --c-fbe8cd:#fbe8cd; --c-fbfcfe:#fbfcfe;
  --c-fbfdff:#fbfdff; --c-fcfdfe:#fcfdfe; --c-fcfdff:#fcfdff; --c-fdeaea:#fbe3e3; --c-fdeceb:#fdeceb; --c-fdecec:#fdecec;
  --c-fdeded:#fdeded; --c-fdeeee:#fdeeee; --c-fdf0c8:#fdf0c8; --c-fdf2f2:#fdf2f2; --c-fdf3d7:#fdf3d7; --c-fdf3e2:#fdf3e2;
  --c-fdf3f3:#fdf3f3; --c-fdf5f5:#fdf5f5; --c-fdf6e8:#fdf6e8; --c-fdf6f6:#fdf6f6; --c-fdf7f7:#fdf7f7; --c-fdf9f0:#fdf9f0;
  --c-ffe9c9:#ffe9c9; --c-fff3cd:#fff3cd; --c-fff3d9:#fff3d9; --c-fff4e0:#fff4e0; --c-fff5e0:#fff5e0; --c-fff6f6:#fff6f6;
  --c-fff7e6:#fff7e6; --c-fff8e4:#fff8e4; --c-fff8e6:#fff8e6; --c-fffaf0:#fffaf0; --c-fffaf2:#fffaf2; --c-fffbf2:#fffbf2;
  --c-fffdf5:#fffdf5; --c-fffdf7:#fffdf7; --c-ffffff:#ffffff;
}

/* ── ⑧-皮肤 · 日落 ─────────────────────────────────────
   真值来源：v4.49b 重设计（2026-10-19 用户令「用你的视觉模型重新设计」，
     画布加深加饱和 + --band 带面槽 + 暖色簇拉开档位，WCAG AA 扫描守底线）
   只覆盖颜色（语义槽 + 灰阶 + 色阶），圆角 / 间距 / 字阶一个字不改。
   ⚠ 本段由 tmp/_skin_gen.py 生成，改这里不如改配置再重跑。 */
:root[data-skin="wb-sunset"]{
  --brand:#8a3a06; --brand2:#a3490b; --line:#ece4de; --bg:#fbf6f1; --ink:#332e2a; --mut:#766a61; --chip:#f5f0ec;
  --srf:#ffffff; --srf-2:#fbf6f1; --link:#a3490b; --focus:#a3490b;
  --hover:#fdebd9; --sel:#fbd9b8; --dis-bg:#f4efeb; --dis-ink:#aca19a;
  --sh-ring:0 0 0 3px rgba(163,73,11,.20);
  --sh-pop:0 8px 26px rgba(64,29,4,.16); --sh-menu:0 10px 30px rgba(64,29,4,.20); --sh-drag:0 4px 16px rgba(64,29,4,.28);
  --skin-wall:url("/static/skin_sunset_wall.jpg"); --skin-wall-op:1; --skin-wall-tint:rgba(253,246,240,.55);
  --skin-art:url("/static/skin_sunset_art.png"); --skin-art-op:.92; --skin-art-w:18px;
  --g-50:#f7f9fc; --g-100:#eef2f7; --g-200:#dde3ea; --g-300:#c2d2e3; --g-400:#9fb0c2; --g-500:#7d8fa2; --g-600:#6b7785; --g-700:#42505f; --g-800:#1c2530;
  --bd-50:#F6F8FA; --bd-100:#EBF0F4; --bd-200:#D4DFEC; --bd-300:#AFC9E4; --bd-400:#7AABE0; --bd-500:#3E8CE0;
  --bd-600:#1C70CA; --bd-700:#1C5796; --bd-900:#183B61; --nt-50:#FAFBFC; --nt-100:#F4F7F9; --nt-200:#EAEFF3;
  --nt-300:#D8E0E7; --nt-400:#BCC8D2; --nt-500:#95A6B4; --nt-600:#6D8295; --nt-700:#4B5965; --nt-900:#2D3741;
  --c-003070:#003070; --c-0086f6:#0086f6; --c-00bebd:#00bebd; --c-0b5c9a:#0b5c9a; --c-10603f:#10603f; --c-111111:#111111;
  --c-112244:#112244; --c-12456b:#12456b; --c-153a5b:#153a5b; --c-1a7f45:#1a7f45; --c-1d9e75:#1d9e75; --c-1f2a37:#1f2a37;
  --c-1f3a55:#3e3732; --c-1f4e79:#1f4e79; --c-1f6b3a:#1f6b3a; --c-1f6f8b:#1f6f8b; --c-22303f:#22303f; --c-2b3b52:#2b3b52;
  --c-2b5f8f:#2b5f8f; --c-2c3e50:#2c3e50; --c-2e7d4f:#2e7d4f; --c-2f5496:#2f5496; --c-2f5d8f:#2f5d8f; --c-2f6fd6:#2f6fd6;
  --c-2f7d55:#2f7d55; --c-33475c:#33475c; --c-3b82f6:#3b82f6; --c-3ba5d3:#3ba5d3; --c-3d5573:#3d5573; --c-3d5670:#3d5670;
  --c-3f5f86:#3f5f86; --c-42505f:#564d46; --c-48586a:#48586a; --c-4a6b8a:#4a6b8a; --c-4fa87a:#4fa87a; --c-5a6a7d:#5a6a7d;
  --c-5a6b7d:#5a6b7d; --c-5b6572:#5b6572; --c-5b6b7c:#5b6b7c; --c-5c4a12:#5c4a12; --c-5f7b99:#5f7b99; --c-64778c:#64778c;
  --c-6b21a8:#6b21a8; --c-6b4e00:#6b4e00; --c-6b7787:#6b7787; --c-6b7a8c:#6b7a8c; --c-6b7c8d:#647383; --c-7a4200:#7a4200;
  --c-7a5200:#7a5200; --c-7a5310:#7a5310; --c-7a5a12:#7a5a12; --c-7a8798:#7a8798; --c-7aa7d4:#7aa7d4; --c-7b8794:#7b8794;
  --c-7b8a99:#667484; --c-7b8b9c:#5d6d7d; --c-7d2222:#7d2222; --c-7d4a8c:#7d4a8c; --c-7d8b99:#7d8b99; --c-7d8fa2:#5e7084;
  --c-854f0b:#854f0b; --c-8798a8:#5f7082; --c-882244:#882244; --c-8a2b2b:#8a2b2b; --c-8a4b00:#8a4b00; --c-8a4b4b:#8a4b4b;
  --c-8a5a00:#8a5a00; --c-8a5a12:#8a5a12; --c-8a6100:#8a6100; --c-8a6a12:#8a6a12; --c-8a6d1a:#8a6d1a; --c-8a6d1f:#8a6d1f;
  --c-8a93a3:#8a93a3; --c-8a97a4:#8a97a4; --c-8a97a5:#8a97a5; --c-8b97a4:#8b97a4; --c-8c2020:#8c2020; --c-8c2f22:#8c2f22;
  --c-8d97a3:#8d97a3; --c-8f1b15:#8f1b15; --c-8f2020:#8f2020; --c-8fa3b8:#566e88; --c-8fa6bd:#8fa6bd; --c-93a0b0:#637388;
  --c-93a6b8:#93a6b8; --c-9aa8b6:#9aa8b6; --c-9aabbb:#9aabbb; --c-9db1c4:#c4aa97; --c-9dbde4:#9dbde4; --c-9fb0c2:#b6aca6;
  --c-9fb0c6:#9fb0c6; --c-9fd0f5:#9fd0f5; --c-a05a00:#a05a00; --c-a05a5a:#a05a5a; --c-a32d2d:#a32d2d; --c-a3c6ec:#d3bfb1;
  --c-a8302a:#a8302a; --c-a8b4c2:#a8b4c2; --c-a9b4bf:#bab1ab; --c-a9bac9:#a9bac9; --c-aa3333:#aa3333; --c-aab6c3:#aab6c3;
  --c-aec6dd:#d4c0b2; --c-b09a5f:#b09a5f; --c-b3261e:#b3261e; --c-b3bcc7:#b3bcc7; --c-b46565:#b46565; --c-b7d1ea:#b7d1ea;
  --c-b7e2ce:#b7e2ce; --c-b8860b:#8a6208; --c-b8e0c8:#b8e0c8; --c-b9701d:#b9701d; --c-b9c1cd:#b9c1cd; --c-b9c4d0:#b9c4d0;
  --c-b9cce2:#b9cce2; --c-ba7517:#ba7517; --c-bbbbbb:#bbbbbb; --c-bcd3ee:#bcd3ee; --c-bdd6f0:#dfd1c6; --c-c0392b:#c0392b;
  --c-c2c8d0:#c2c8d0; --c-c2cdda:#c2cdda; --c-c2d2e3:#c2d2e3; --c-c3ccd6:#c3ccd6; --c-c3ccd8:#c3ccd8; --c-c3d2e3:#c3d2e3;
  --c-c3d3e4:#decec4; --c-c3e3d1:#c3e3d1; --c-c6d3e3:#decfc4; --c-c6dbf1:#c6dbf1; --c-c6e2d2:#c6e2d2; --c-c8d1db:#c8d1db;
  --c-c8d4e0:#c8d4e0; --c-c8dbef:#e4d6cd; --c-c9a227:#c9a227; --c-c9d4e0:#dfd0c6; --c-c9d8ea:#c9d8ea; --c-cbdcef:#cbdcef;
  --c-ccd3dc:#ccd3dc; --c-cddcec:#cddcec; --c-cfd9e4:#cfd9e4; --c-cfdbe8:#cfdbe8; --c-cfe0f2:#cfe0f2; --c-cfe1f5:#cfe1f5;
  --c-cfe2f9:#e9ded6; --c-d2d8df:#d2d8df; --c-d3e2f2:#e9ded7; --c-d4af37:#d4af37; --c-d5e0eb:#d5e0eb; --c-d6dce4:#d6dce4;
  --c-d6e3f2:#d6e3f2; --c-d7e1ec:#d7e1ec; --c-d7e7f7:#d7e7f7; --c-d8c489:#d8c489; --c-d8dee6:#d8dee6; --c-d8ecff:#d8ecff;
  --c-d9822b:#d9822b; --c-d9b45a:#d9b45a; --c-dbe3ea:#dbe3ea; --c-dbe3ec:#eae0da; --c-dbe4ee:#dbe4ee; --c-dbe6f2:#ece3dd;
  --c-dbe7f6:#dbe7f6; --c-dbe8f6:#dbe8f6; --c-dbe8fb:#dbe8fb; --c-dbe9fa:#dbe9fa; --c-dceafa:#dceafa; --c-dde5ec:#dde5ec;
  --c-dde6ef:#dde6ef; --c-dde8f4:#dde8f4; --c-dde9f7:#dde9f7; --c-dfe6ee:#dfe6ee; --c-dfe7ef:#dfe7ef; --c-e04f4f:#e04f4f;
  --c-e06a63:#e06a63; --c-e0b678:#e0b678; --c-e0cffc:#e0cffc; --c-e0e9f3:#efe6e1; --c-e1e7ee:#e1e7ee; --c-e2b13c:#e2b13c;
  --c-e2e8ef:#e2e8ef; --c-e2ebf5:#e2ebf5; --c-e2edfa:#e2edfa; --c-e2eefc:#f2ebe7; --c-e3e7ec:#e3e7ec; --c-e3e9f0:#e3e9f0;
  --c-e3eaf1:#e3eaf1; --c-e4e9ef:#e4e9ef; --c-e6a23c:#e6a23c; --c-e6b0b0:#e6b0b0; --c-e6b8b8:#e6b8b8; --c-e6ecf2:#e6ecf2;
  --c-e6f5ec:#e6f5ec; --c-e6f6ef:#e6f6ef; --c-e7ecf2:#e7ecf2; --c-e7eef7:#e7eef7; --c-e8cf92:#e8cf92; --c-e8eef6:#e8eef6;
  --c-e8eff8:#f3ede9; --c-e8f0fa:#e8f0fa; --c-e8f1fb:#e8f1fb; --c-e8f6ee:#e8f6ee; --c-e9eff6:#e9eff6; --c-e9f1f9:#e9f1f9;
  --c-e9f2fb:#e9f2fb; --c-e9f2fc:#e9f2fc; --c-eaf1fb:#eaf1fb; --c-eaf2fb:#eaf2fb; --c-eaf7ef:#eaf7ef; --c-edf4fb:#f7f2ef;
  --c-eec3c3:#eec3c3; --c-eef1f5:#eef1f5; --c-eef2f6:#eef2f6; --c-eef2f7:#f6f1ed; --c-eef2f8:#eef2f8; --c-eef3f9:#eef3f9;
  --c-eef4fb:#eef4fb; --c-eef8f1:#eef8f1; --c-eef8f3:#eef8f3; --c-f0b8b4:#f0b8b4; --c-f0c987:#f0c987; --c-f0cccc:#f0cccc;
  --c-f0d6d4:#f0d6d4; --c-f0d6d6:#f0d6d6; --c-f0d9ae:#f0d9ae; --c-f0dca8:#f0dca8; --c-f0dcb0:#f0dcb0; --c-f0dcb4:#f0dcb4;
  --c-f0dfae:#f0dfae; --c-f0f4f8:#f0f4f8; --c-f1f3f6:#f1f3f6; --c-f1f4f7:#f1f4f7; --c-f1f5f9:#f1f5f9; --c-f2c6c6:#f2c6c6;
  --c-f2f4f7:#f2f4f7; --c-f2f5f8:#f2f5f8; --c-f2f5f9:#f2f5f9; --c-f2f6fb:#f8f5f3; --c-f2f7fc:#f2f7fc; --c-f2f7fd:#f2f7fd;
  --c-f2f8ff:#f2f8ff; --c-f2fbf6:#f2fbf6; --c-f2fbf7:#f2fbf7; --c-f3e6c8:#f3e6c8; --c-f3e8ff:#f3e8ff; --c-f3f7f5:#f3f7f5;
  --c-f4f7fa:#f4f7fa; --c-f4f7fb:#f4f7fb; --c-f4f9ff:#f4f9ff; --c-f5c6c1:#f5c6c1; --c-f5ecf7:#f5ecf7; --c-f5f9fe:#f5f9fe;
  --c-f6f8fa:#f6f8fa; --c-f6f8fb:#f6f8fb; --c-f6f9fd:#f6f9fd; --c-f6faff:#f6faff; --c-f7f9fb:#f7f9fb; --c-f7f9fc:#f7f9fc;
  --c-f7fafd:#fbf9f8; --c-f7faff:#f7faff; --c-f7fbff:#f7fbff; --c-f8dede:#f8dede; --c-f8fafc:#f8fafc; --c-faecec:#faecec;
  --c-fafbfd:#fafbfd; --c-fafcfe:#fafcfe; --c-fbd9d7:#fbd9d7; --c-fbdada:#fbdada; --c-fbe8cd:#fbe8cd; --c-fbfcfe:#fbfcfe;
  --c-fbfdff:#fbfdff; --c-fcfdfe:#fcfdfe; --c-fcfdff:#fcfdff; --c-fdeaea:#fbe3e3; --c-fdeceb:#fdeceb; --c-fdecec:#fdecec;
  --c-fdeded:#fdeded; --c-fdeeee:#fdeeee; --c-fdf0c8:#fdf0c8; --c-fdf2f2:#fdf2f2; --c-fdf3d7:#fdf3d7; --c-fdf3e2:#fdf3e2;
  --c-fdf3f3:#fdf3f3; --c-fdf5f5:#fdf5f5; --c-fdf6e8:#fdf6e8; --c-fdf6f6:#fdf6f6; --c-fdf7f7:#fdf7f7; --c-fdf9f0:#fdf9f0;
  --c-ffe9c9:#ffe9c9; --c-fff3cd:#fff3cd; --c-fff3d9:#fff3d9; --c-fff4e0:#fff4e0; --c-fff5e0:#fff5e0; --c-fff6f6:#fff6f6;
  --c-fff7e6:#fff7e6; --c-fff8e4:#fff8e4; --c-fff8e6:#fff8e6; --c-fffaf0:#fffaf0; --c-fffaf2:#fffaf2; --c-fffbf2:#fffbf2;
  --c-fffdf5:#fffdf5; --c-fffdf7:#fffdf7; --c-ffffff:#ffffff;
}
:root[data-skin='wb-sunset'] .hd{background:var(--brand) url('/static/skin_sunset_tile.png') repeat}
:root[data-skin='wb-sunset'] .hd .logo::before{width:22px;height:22px;vertical-align:-6px}
:root[data-skin='wb-sunset'] .empty:not(td)::before{border:0;border-radius:0;background:var(--skin-art) center/contain no-repeat;width:44px;height:44px;opacity:.5}

/* ── ⑧-皮肤 · 玫瑰 ─────────────────────────────────────
   真值来源：v4.49b 重设计（2026-10-19 用户令「用你的视觉模型重新设计」，
     画布加深加饱和 + --band 带面槽 + 暖色簇拉开档位，WCAG AA 扫描守底线）
   只覆盖颜色（语义槽 + 灰阶 + 色阶），圆角 / 间距 / 字阶一个字不改。
   ⚠ 本段由 tmp/_skin_gen.py 生成，改这里不如改配置再重跑。 */
:root[data-skin="wb-rose"]{
  --brand:#8e2c4e; --brand2:#a23e60; --line:#efe2e6; --bg:#fbf5f7; --ink:#362c30; --mut:#7d666e; --chip:#f6eff1;
  --srf:#ffffff; --srf-2:#fbf5f7; --link:#a23e60; --focus:#a23e60;
  --hover:#fbe8ef; --sel:#f6cfdd; --dis-bg:#f5eef0; --dis-ink:#b09fa5;
  --sh-ring:0 0 0 3px rgba(162,62,96,.20);
  --sh-pop:0 8px 26px rgba(66,25,39,.16); --sh-menu:0 10px 30px rgba(66,25,39,.20); --sh-drag:0 4px 16px rgba(66,25,39,.28);
  --skin-wall:linear-gradient(160deg,#f6cfdd 0%,#e8a4bc 55%,#d17e9e 100%); --skin-wall-op:1; --skin-wall-tint:rgba(255,244,248,.45);
  --g-50:#f7f9fc; --g-100:#eef2f7; --g-200:#dde3ea; --g-300:#c2d2e3; --g-400:#9fb0c2; --g-500:#7d8fa2; --g-600:#6b7785; --g-700:#42505f; --g-800:#1c2530;
  --bd-50:#F6F8FA; --bd-100:#EBF0F4; --bd-200:#D4DFEC; --bd-300:#AFC9E4; --bd-400:#7AABE0; --bd-500:#3E8CE0;
  --bd-600:#1C70CA; --bd-700:#1C5796; --bd-900:#183B61; --nt-50:#FAFBFC; --nt-100:#F4F7F9; --nt-200:#EAEFF3;
  --nt-300:#D8E0E7; --nt-400:#BCC8D2; --nt-500:#95A6B4; --nt-600:#6D8295; --nt-700:#4B5965; --nt-900:#2D3741;
  --c-003070:#003070; --c-0086f6:#0086f6; --c-00bebd:#00bebd; --c-0b5c9a:#0b5c9a; --c-10603f:#10603f; --c-111111:#111111;
  --c-112244:#112244; --c-12456b:#12456b; --c-153a5b:#153a5b; --c-1a7f45:#1a7f45; --c-1d9e75:#1d9e75; --c-1f2a37:#1f2a37;
  --c-1f3a55:#413539; --c-1f4e79:#1f4e79; --c-1f6b3a:#1f6b3a; --c-1f6f8b:#1f6f8b; --c-22303f:#22303f; --c-2b3b52:#2b3b52;
  --c-2b5f8f:#2b5f8f; --c-2c3e50:#2c3e50; --c-2e7d4f:#2e7d4f; --c-2f5496:#2f5496; --c-2f5d8f:#2f5d8f; --c-2f6fd6:#2f6fd6;
  --c-2f7d55:#2f7d55; --c-33475c:#33475c; --c-3b82f6:#3b82f6; --c-3ba5d3:#3ba5d3; --c-3d5573:#3d5573; --c-3d5670:#3d5670;
  --c-3f5f86:#3f5f86; --c-42505f:#5b4a50; --c-48586a:#48586a; --c-4a6b8a:#4a6b8a; --c-4fa87a:#4fa87a; --c-5a6a7d:#5a6a7d;
  --c-5a6b7d:#5a6b7d; --c-5b6572:#5b6572; --c-5b6b7c:#5b6b7c; --c-5c4a12:#5c4a12; --c-5f7b99:#5f7b99; --c-64778c:#64778c;
  --c-6b21a8:#6b21a8; --c-6b4e00:#6b4e00; --c-6b7787:#6b7787; --c-6b7a8c:#6b7a8c; --c-6b7c8d:#647383; --c-7a4200:#7a4200;
  --c-7a5200:#7a5200; --c-7a5310:#7a5310; --c-7a5a12:#7a5a12; --c-7a8798:#7a8798; --c-7aa7d4:#7aa7d4; --c-7b8794:#7b8794;
  --c-7b8a99:#667484; --c-7b8b9c:#5d6d7d; --c-7d2222:#7d2222; --c-7d4a8c:#7d4a8c; --c-7d8b99:#7d8b99; --c-7d8fa2:#5e7084;
  --c-854f0b:#854f0b; --c-8798a8:#5f7082; --c-882244:#882244; --c-8a2b2b:#8a2b2b; --c-8a4b00:#8a4b00; --c-8a4b4b:#8a4b4b;
  --c-8a5a00:#8a5a00; --c-8a5a12:#8a5a12; --c-8a6100:#8a6100; --c-8a6a12:#8a6a12; --c-8a6d1a:#8a6d1a; --c-8a6d1f:#8a6d1f;
  --c-8a93a3:#8a93a3; --c-8a97a4:#8a97a4; --c-8a97a5:#8a97a5; --c-8b97a4:#8b97a4; --c-8c2020:#8c2020; --c-8c2f22:#8c2f22;
  --c-8d97a3:#8d97a3; --c-8f1b15:#8f1b15; --c-8f2020:#8f2020; --c-8fa3b8:#566e88; --c-8fa6bd:#8fa6bd; --c-93a0b0:#637388;
  --c-93a6b8:#93a6b8; --c-9aa8b6:#9aa8b6; --c-9aabbb:#9aabbb; --c-9db1c4:#cca4b2; --c-9dbde4:#9dbde4; --c-9fb0c2:#baaaaf;
  --c-9fb0c6:#9fb0c6; --c-9fd0f5:#9fd0f5; --c-a05a00:#a05a00; --c-a05a5a:#a05a5a; --c-a32d2d:#a32d2d; --c-a3c6ec:#d9bbc5;
  --c-a8302a:#a8302a; --c-a8b4c2:#a8b4c2; --c-a9b4bf:#beafb4; --c-a9bac9:#a9bac9; --c-aa3333:#aa3333; --c-aab6c3:#aab6c3;
  --c-aec6dd:#d9bcc6; --c-b09a5f:#b09a5f; --c-b3261e:#b3261e; --c-b3bcc7:#b3bcc7; --c-b46565:#b46565; --c-b7d1ea:#b7d1ea;
  --c-b7e2ce:#b7e2ce; --c-b8860b:#8a6208; --c-b8e0c8:#b8e0c8; --c-b9701d:#b9701d; --c-b9c1cd:#b9c1cd; --c-b9c4d0:#b9c4d0;
  --c-b9cce2:#b9cce2; --c-ba7517:#ba7517; --c-bbbbbb:#bbbbbb; --c-bcd3ee:#bcd3ee; --c-bdd6f0:#e3ced5; --c-c0392b:#c0392b;
  --c-c2c8d0:#c2c8d0; --c-c2cdda:#c2cdda; --c-c2d2e3:#c2d2e3; --c-c3ccd6:#c3ccd6; --c-c3ccd8:#c3ccd8; --c-c3d2e3:#c3d2e3;
  --c-c3d3e4:#e2cbd3; --c-c3e3d1:#c3e3d1; --c-c6d3e3:#e2ccd4; --c-c6dbf1:#c6dbf1; --c-c6e2d2:#c6e2d2; --c-c8d1db:#c8d1db;
  --c-c8d4e0:#c8d4e0; --c-c8dbef:#e8d4db; --c-c9a227:#c9a227; --c-c9d4e0:#e3cdd5; --c-c9d8ea:#c9d8ea; --c-cbdcef:#cbdcef;
  --c-ccd3dc:#ccd3dc; --c-cddcec:#cddcec; --c-cfd9e4:#cfd9e4; --c-cfdbe8:#cfdbe8; --c-cfe0f2:#cfe0f2; --c-cfe1f5:#cfe1f5;
  --c-cfe2f9:#ecdce1; --c-d2d8df:#d2d8df; --c-d3e2f2:#ecdce2; --c-d4af37:#d4af37; --c-d5e0eb:#d5e0eb; --c-d6dce4:#d6dce4;
  --c-d6e3f2:#d6e3f2; --c-d7e1ec:#d7e1ec; --c-d7e7f7:#d7e7f7; --c-d8c489:#d8c489; --c-d8dee6:#d8dee6; --c-d8ecff:#d8ecff;
  --c-d9822b:#d9822b; --c-d9b45a:#d9b45a; --c-dbe3ea:#dbe3ea; --c-dbe3ec:#eddfe3; --c-dbe4ee:#dbe4ee; --c-dbe6f2:#eee1e6;
  --c-dbe7f6:#dbe7f6; --c-dbe8f6:#dbe8f6; --c-dbe8fb:#dbe8fb; --c-dbe9fa:#dbe9fa; --c-dceafa:#dceafa; --c-dde5ec:#dde5ec;
  --c-dde6ef:#dde6ef; --c-dde8f4:#dde8f4; --c-dde9f7:#dde9f7; --c-dfe6ee:#dfe6ee; --c-dfe7ef:#dfe7ef; --c-e04f4f:#e04f4f;
  --c-e06a63:#e06a63; --c-e0b678:#e0b678; --c-e0cffc:#e0cffc; --c-e0e9f3:#f1e5e9; --c-e1e7ee:#e1e7ee; --c-e2b13c:#e2b13c;
  --c-e2e8ef:#e2e8ef; --c-e2ebf5:#e2ebf5; --c-e2edfa:#e2edfa; --c-e2eefc:#f4eaee; --c-e3e7ec:#e3e7ec; --c-e3e9f0:#e3e9f0;
  --c-e3eaf1:#e3eaf1; --c-e4e9ef:#e4e9ef; --c-e6a23c:#e6a23c; --c-e6b0b0:#e6b0b0; --c-e6b8b8:#e6b8b8; --c-e6ecf2:#e6ecf2;
  --c-e6f5ec:#e6f5ec; --c-e6f6ef:#e6f6ef; --c-e7ecf2:#e7ecf2; --c-e7eef7:#e7eef7; --c-e8cf92:#e8cf92; --c-e8eef6:#e8eef6;
  --c-e8eff8:#f5ecef; --c-e8f0fa:#e8f0fa; --c-e8f1fb:#e8f1fb; --c-e8f6ee:#e8f6ee; --c-e9eff6:#e9eff6; --c-e9f1f9:#e9f1f9;
  --c-e9f2fb:#e9f2fb; --c-e9f2fc:#e9f2fc; --c-eaf1fb:#eaf1fb; --c-eaf2fb:#eaf2fb; --c-eaf7ef:#eaf7ef; --c-edf4fb:#f8f2f4;
  --c-eec3c3:#eec3c3; --c-eef1f5:#eef1f5; --c-eef2f6:#eef2f6; --c-eef2f7:#f7f0f2; --c-eef2f8:#eef2f8; --c-eef3f9:#eef3f9;
  --c-eef4fb:#eef4fb; --c-eef8f1:#eef8f1; --c-eef8f3:#eef8f3; --c-f0b8b4:#f0b8b4; --c-f0c987:#f0c987; --c-f0cccc:#f0cccc;
  --c-f0d6d4:#f0d6d4; --c-f0d6d6:#f0d6d6; --c-f0d9ae:#f0d9ae; --c-f0dca8:#f0dca8; --c-f0dcb0:#f0dcb0; --c-f0dcb4:#f0dcb4;
  --c-f0dfae:#f0dfae; --c-f0f4f8:#f0f4f8; --c-f1f3f6:#f1f3f6; --c-f1f4f7:#f1f4f7; --c-f1f5f9:#f1f5f9; --c-f2c6c6:#f2c6c6;
  --c-f2f4f7:#f2f4f7; --c-f2f5f8:#f2f5f8; --c-f2f5f9:#f2f5f9; --c-f2f6fb:#f9f4f6; --c-f2f7fc:#f2f7fc; --c-f2f7fd:#f2f7fd;
  --c-f2f8ff:#f2f8ff; --c-f2fbf6:#f2fbf6; --c-f2fbf7:#f2fbf7; --c-f3e6c8:#f3e6c8; --c-f3e8ff:#f3e8ff; --c-f3f7f5:#f3f7f5;
  --c-f4f7fa:#f4f7fa; --c-f4f7fb:#f4f7fb; --c-f4f9ff:#f4f9ff; --c-f5c6c1:#f5c6c1; --c-f5ecf7:#f5ecf7; --c-f5f9fe:#f5f9fe;
  --c-f6f8fa:#f6f8fa; --c-f6f8fb:#f6f8fb; --c-f6f9fd:#f6f9fd; --c-f6faff:#f6faff; --c-f7f9fb:#f7f9fb; --c-f7f9fc:#f7f9fc;
  --c-f7fafd:#fcf9fa; --c-f7faff:#f7faff; --c-f7fbff:#f7fbff; --c-f8dede:#f8dede; --c-f8fafc:#f8fafc; --c-faecec:#faecec;
  --c-fafbfd:#fafbfd; --c-fafcfe:#fafcfe; --c-fbd9d7:#fbd9d7; --c-fbdada:#fbdada; --c-fbe8cd:#fbe8cd; --c-fbfcfe:#fbfcfe;
  --c-fbfdff:#fbfdff; --c-fcfdfe:#fcfdfe; --c-fcfdff:#fcfdff; --c-fdeaea:#fbe3e3; --c-fdeceb:#fdeceb; --c-fdecec:#fdecec;
  --c-fdeded:#fdeded; --c-fdeeee:#fdeeee; --c-fdf0c8:#fdf0c8; --c-fdf2f2:#fdf2f2; --c-fdf3d7:#fdf3d7; --c-fdf3e2:#fdf3e2;
  --c-fdf3f3:#fdf3f3; --c-fdf5f5:#fdf5f5; --c-fdf6e8:#fdf6e8; --c-fdf6f6:#fdf6f6; --c-fdf7f7:#fdf7f7; --c-fdf9f0:#fdf9f0;
  --c-ffe9c9:#ffe9c9; --c-fff3cd:#fff3cd; --c-fff3d9:#fff3d9; --c-fff4e0:#fff4e0; --c-fff5e0:#fff5e0; --c-fff6f6:#fff6f6;
  --c-fff7e6:#fff7e6; --c-fff8e4:#fff8e4; --c-fff8e6:#fff8e6; --c-fffaf0:#fffaf0; --c-fffaf2:#fffaf2; --c-fffbf2:#fffbf2;
  --c-fffdf5:#fffdf5; --c-fffdf7:#fffdf7; --c-ffffff:#ffffff;
}

/* ── ⑧-皮肤 · 咖啡 ─────────────────────────────────────
   真值来源：v4.49b 重设计（2026-10-19 用户令「用你的视觉模型重新设计」，
     画布加深加饱和 + --band 带面槽 + 暖色簇拉开档位，WCAG AA 扫描守底线）
   只覆盖颜色（语义槽 + 灰阶 + 色阶），圆角 / 间距 / 字阶一个字不改。
   ⚠ 本段由 tmp/_skin_gen.py 生成，改这里不如改配置再重跑。 */
:root[data-skin="wb-coffee"]{
  --brand:#5f3d1c; --brand2:#7c5426; --line:#ebe4dc; --bg:#f9f5f0; --ink:#322e29; --mut:#746b5f; --chip:#f4f0eb;
  --srf:#ffffff; --srf-2:#f9f5f0; --link:#7c5426; --focus:#7c5426;
  --hover:#f2e8da; --sel:#e8d5bd; --dis-bg:#f3efea; --dis-ink:#aba298;
  --sh-ring:0 0 0 3px rgba(124,84,38,.20);
  --sh-pop:0 8px 26px rgba(52,35,16,.16); --sh-menu:0 10px 30px rgba(52,35,16,.20); --sh-drag:0 4px 16px rgba(52,35,16,.28);
  --skin-wall:linear-gradient(160deg,#e2c9a8 0%,#c8a075 55%,#a67c4e 100%); --skin-wall-op:1; --skin-wall-tint:rgba(250,244,236,.50);
  --g-50:#f7f9fc; --g-100:#eef2f7; --g-200:#dde3ea; --g-300:#c2d2e3; --g-400:#9fb0c2; --g-500:#7d8fa2; --g-600:#6b7785; --g-700:#42505f; --g-800:#1c2530;
  --bd-50:#F6F8FA; --bd-100:#EBF0F4; --bd-200:#D4DFEC; --bd-300:#AFC9E4; --bd-400:#7AABE0; --bd-500:#3E8CE0;
  --bd-600:#1C70CA; --bd-700:#1C5796; --bd-900:#183B61; --nt-50:#FAFBFC; --nt-100:#F4F7F9; --nt-200:#EAEFF3;
  --nt-300:#D8E0E7; --nt-400:#BCC8D2; --nt-500:#95A6B4; --nt-600:#6D8295; --nt-700:#4B5965; --nt-900:#2D3741;
  --c-003070:#003070; --c-0086f6:#0086f6; --c-00bebd:#00bebd; --c-0b5c9a:#0b5c9a; --c-10603f:#10603f; --c-111111:#111111;
  --c-112244:#112244; --c-12456b:#12456b; --c-153a5b:#153a5b; --c-1a7f45:#1a7f45; --c-1d9e75:#1d9e75; --c-1f2a37:#1f2a37;
  --c-1f3a55:#3d3732; --c-1f4e79:#1f4e79; --c-1f6b3a:#1f6b3a; --c-1f6f8b:#1f6f8b; --c-22303f:#22303f; --c-2b3b52:#2b3b52;
  --c-2b5f8f:#2b5f8f; --c-2c3e50:#2c3e50; --c-2e7d4f:#2e7d4f; --c-2f5496:#2f5496; --c-2f5d8f:#2f5d8f; --c-2f6fd6:#2f6fd6;
  --c-2f7d55:#2f7d55; --c-33475c:#33475c; --c-3b82f6:#3b82f6; --c-3ba5d3:#3ba5d3; --c-3d5573:#3d5573; --c-3d5670:#3d5670;
  --c-3f5f86:#3f5f86; --c-42505f:#554d45; --c-48586a:#48586a; --c-4a6b8a:#4a6b8a; --c-4fa87a:#4fa87a; --c-5a6a7d:#5a6a7d;
  --c-5a6b7d:#5a6b7d; --c-5b6572:#5b6572; --c-5b6b7c:#5b6b7c; --c-5c4a12:#5c4a12; --c-5f7b99:#5f7b99; --c-64778c:#64778c;
  --c-6b21a8:#6b21a8; --c-6b4e00:#6b4e00; --c-6b7787:#6b7787; --c-6b7a8c:#6b7a8c; --c-6b7c8d:#647383; --c-7a4200:#7a4200;
  --c-7a5200:#7a5200; --c-7a5310:#7a5310; --c-7a5a12:#7a5a12; --c-7a8798:#7a8798; --c-7aa7d4:#7aa7d4; --c-7b8794:#7b8794;
  --c-7b8a99:#667484; --c-7b8b9c:#5d6d7d; --c-7d2222:#7d2222; --c-7d4a8c:#7d4a8c; --c-7d8b99:#7d8b99; --c-7d8fa2:#5e7084;
  --c-854f0b:#854f0b; --c-8798a8:#5f7082; --c-882244:#882244; --c-8a2b2b:#8a2b2b; --c-8a4b00:#8a4b00; --c-8a4b4b:#8a4b4b;
  --c-8a5a00:#8a5a00; --c-8a5a12:#8a5a12; --c-8a6100:#8a6100; --c-8a6a12:#8a6a12; --c-8a6d1a:#8a6d1a; --c-8a6d1f:#8a6d1f;
  --c-8a93a3:#8a93a3; --c-8a97a4:#8a97a4; --c-8a97a5:#8a97a5; --c-8b97a4:#8b97a4; --c-8c2020:#8c2020; --c-8c2f22:#8c2f22;
  --c-8d97a3:#8d97a3; --c-8f1b15:#8f1b15; --c-8f2020:#8f2020; --c-8fa3b8:#566e88; --c-8fa6bd:#8fa6bd; --c-93a0b0:#637388;
  --c-93a6b8:#93a6b8; --c-9aa8b6:#9aa8b6; --c-9aabbb:#9aabbb; --c-9db1c4:#c1ab91; --c-9dbde4:#9dbde4; --c-9fb0c2:#b5ada4;
  --c-9fb0c6:#9fb0c6; --c-9fd0f5:#9fd0f5; --c-a05a00:#a05a00; --c-a05a5a:#a05a5a; --c-a32d2d:#a32d2d; --c-a3c6ec:#d1c0ad;
  --c-a8302a:#a8302a; --c-a8b4c2:#a8b4c2; --c-a9b4bf:#b9b2a9; --c-a9bac9:#a9bac9; --c-aa3333:#aa3333; --c-aab6c3:#aab6c3;
  --c-aec6dd:#d1c1ae; --c-b09a5f:#b09a5f; --c-b3261e:#b3261e; --c-b3bcc7:#b3bcc7; --c-b46565:#b46565; --c-b7d1ea:#b7d1ea;
  --c-b7e2ce:#b7e2ce; --c-b8860b:#8a6208; --c-b8e0c8:#b8e0c8; --c-b9701d:#b9701d; --c-b9c1cd:#b9c1cd; --c-b9c4d0:#b9c4d0;
  --c-b9cce2:#b9cce2; --c-ba7517:#ba7517; --c-bbbbbb:#bbbbbb; --c-bcd3ee:#bcd3ee; --c-bdd6f0:#ded1c3; --c-c0392b:#c0392b;
  --c-c2c8d0:#c2c8d0; --c-c2cdda:#c2cdda; --c-c2d2e3:#c2d2e3; --c-c3ccd6:#c3ccd6; --c-c3ccd8:#c3ccd8; --c-c3d2e3:#c3d2e3;
  --c-c3d3e4:#dccfc1; --c-c3e3d1:#c3e3d1; --c-c6d3e3:#dcd0c1; --c-c6dbf1:#c6dbf1; --c-c6e2d2:#c6e2d2; --c-c8d1db:#c8d1db;
  --c-c8d4e0:#c8d4e0; --c-c8dbef:#e2d7ca; --c-c9a227:#c9a227; --c-c9d4e0:#ddd1c3; --c-c9d8ea:#c9d8ea; --c-cbdcef:#cbdcef;
  --c-ccd3dc:#ccd3dc; --c-cddcec:#cddcec; --c-cfd9e4:#cfd9e4; --c-cfdbe8:#cfdbe8; --c-cfe0f2:#cfe0f2; --c-cfe1f5:#cfe1f5;
  --c-cfe2f9:#e8dfd4; --c-d2d8df:#d2d8df; --c-d3e2f2:#e8dfd4; --c-d4af37:#d4af37; --c-d5e0eb:#d5e0eb; --c-d6dce4:#d6dce4;
  --c-d6e3f2:#d6e3f2; --c-d7e1ec:#d7e1ec; --c-d7e7f7:#d7e7f7; --c-d8c489:#d8c489; --c-d8dee6:#d8dee6; --c-d8ecff:#d8ecff;
  --c-d9822b:#d9822b; --c-d9b45a:#d9b45a; --c-dbe3ea:#dbe3ea; --c-dbe3ec:#e9e1d8; --c-dbe4ee:#dbe4ee; --c-dbe6f2:#ebe4db;
  --c-dbe7f6:#dbe7f6; --c-dbe8f6:#dbe8f6; --c-dbe8fb:#dbe8fb; --c-dbe9fa:#dbe9fa; --c-dceafa:#dceafa; --c-dde5ec:#dde5ec;
  --c-dde6ef:#dde6ef; --c-dde8f4:#dde8f4; --c-dde9f7:#dde9f7; --c-dfe6ee:#dfe6ee; --c-dfe7ef:#dfe7ef; --c-e04f4f:#e04f4f;
  --c-e06a63:#e06a63; --c-e0b678:#e0b678; --c-e0cffc:#e0cffc; --c-e0e9f3:#eee7df; --c-e1e7ee:#e1e7ee; --c-e2b13c:#e2b13c;
  --c-e2e8ef:#e2e8ef; --c-e2ebf5:#e2ebf5; --c-e2edfa:#e2edfa; --c-e2eefc:#f1ece6; --c-e3e7ec:#e3e7ec; --c-e3e9f0:#e3e9f0;
  --c-e3eaf1:#e3eaf1; --c-e4e9ef:#e4e9ef; --c-e6a23c:#e6a23c; --c-e6b0b0:#e6b0b0; --c-e6b8b8:#e6b8b8; --c-e6ecf2:#e6ecf2;
  --c-e6f5ec:#e6f5ec; --c-e6f6ef:#e6f6ef; --c-e7ecf2:#e7ecf2; --c-e7eef7:#e7eef7; --c-e8cf92:#e8cf92; --c-e8eef6:#e8eef6;
  --c-e8eff8:#f3eee8; --c-e8f0fa:#e8f0fa; --c-e8f1fb:#e8f1fb; --c-e8f6ee:#e8f6ee; --c-e9eff6:#e9eff6; --c-e9f1f9:#e9f1f9;
  --c-e9f2fb:#e9f2fb; --c-e9f2fc:#e9f2fc; --c-eaf1fb:#eaf1fb; --c-eaf2fb:#eaf2fb; --c-eaf7ef:#eaf7ef; --c-edf4fb:#f6f3ef;
  --c-eec3c3:#eec3c3; --c-eef1f5:#eef1f5; --c-eef2f6:#eef2f6; --c-eef2f7:#f5f1ec; --c-eef2f8:#eef2f8; --c-eef3f9:#eef3f9;
  --c-eef4fb:#eef4fb; --c-eef8f1:#eef8f1; --c-eef8f3:#eef8f3; --c-f0b8b4:#f0b8b4; --c-f0c987:#f0c987; --c-f0cccc:#f0cccc;
  --c-f0d6d4:#f0d6d4; --c-f0d6d6:#f0d6d6; --c-f0d9ae:#f0d9ae; --c-f0dca8:#f0dca8; --c-f0dcb0:#f0dcb0; --c-f0dcb4:#f0dcb4;
  --c-f0dfae:#f0dfae; --c-f0f4f8:#f0f4f8; --c-f1f3f6:#f1f3f6; --c-f1f4f7:#f1f4f7; --c-f1f5f9:#f1f5f9; --c-f2c6c6:#f2c6c6;
  --c-f2f4f7:#f2f4f7; --c-f2f5f8:#f2f5f8; --c-f2f5f9:#f2f5f9; --c-f2f6fb:#f8f5f2; --c-f2f7fc:#f2f7fc; --c-f2f7fd:#f2f7fd;
  --c-f2f8ff:#f2f8ff; --c-f2fbf6:#f2fbf6; --c-f2fbf7:#f2fbf7; --c-f3e6c8:#f3e6c8; --c-f3e8ff:#f3e8ff; --c-f3f7f5:#f3f7f5;
  --c-f4f7fa:#f4f7fa; --c-f4f7fb:#f4f7fb; --c-f4f9ff:#f4f9ff; --c-f5c6c1:#f5c6c1; --c-f5ecf7:#f5ecf7; --c-f5f9fe:#f5f9fe;
  --c-f6f8fa:#f6f8fa; --c-f6f8fb:#f6f8fb; --c-f6f9fd:#f6f9fd; --c-f6faff:#f6faff; --c-f7f9fb:#f7f9fb; --c-f7f9fc:#f7f9fc;
  --c-f7fafd:#fbf9f8; --c-f7faff:#f7faff; --c-f7fbff:#f7fbff; --c-f8dede:#f8dede; --c-f8fafc:#f8fafc; --c-faecec:#faecec;
  --c-fafbfd:#fafbfd; --c-fafcfe:#fafcfe; --c-fbd9d7:#fbd9d7; --c-fbdada:#fbdada; --c-fbe8cd:#fbe8cd; --c-fbfcfe:#fbfcfe;
  --c-fbfdff:#fbfdff; --c-fcfdfe:#fcfdfe; --c-fcfdff:#fcfdff; --c-fdeaea:#fbe3e3; --c-fdeceb:#fdeceb; --c-fdecec:#fdecec;
  --c-fdeded:#fdeded; --c-fdeeee:#fdeeee; --c-fdf0c8:#fdf0c8; --c-fdf2f2:#fdf2f2; --c-fdf3d7:#fdf3d7; --c-fdf3e2:#fdf3e2;
  --c-fdf3f3:#fdf3f3; --c-fdf5f5:#fdf5f5; --c-fdf6e8:#fdf6e8; --c-fdf6f6:#fdf6f6; --c-fdf7f7:#fdf7f7; --c-fdf9f0:#fdf9f0;
  --c-ffe9c9:#ffe9c9; --c-fff3cd:#fff3cd; --c-fff3d9:#fff3d9; --c-fff4e0:#fff4e0; --c-fff5e0:#fff5e0; --c-fff6f6:#fff6f6;
  --c-fff7e6:#fff7e6; --c-fff8e4:#fff8e4; --c-fff8e6:#fff8e6; --c-fffaf0:#fffaf0; --c-fffaf2:#fffaf2; --c-fffbf2:#fffbf2;
  --c-fffdf5:#fffdf5; --c-fffdf7:#fffdf7; --c-ffffff:#ffffff;
}

/* ── ⑧-皮肤 · 星空 ─────────────────────────────────────
   真值来源：v4.49b 重设计（2026-10-19 用户令「用你的视觉模型重新设计」，
     画布加深加饱和 + --band 带面槽 + 暖色簇拉开档位，WCAG AA 扫描守底线）
   只覆盖颜色（语义槽 + 灰阶 + 色阶），圆角 / 间距 / 字阶一个字不改。
   ⚠ 本段由 tmp/_skin_gen.py 生成，改这里不如改配置再重跑。 */
:root[data-skin="wb-starry"]{
  --brand:#8ea6f0; --brand2:#7c9ef8; --line:#263251; --bg:#0b0f1e; --ink:#dee5f4; --mut:#95a3c6; --chip:#1a2440;
  --srf:#121a2d; --srf-2:#0b0f1e; --band:#0e1425; --link:#7c9ef8; --focus:#7c9ef8; --hd-bg:#080b18; --hover:#19233f; --sel:#22335e; --dis-bg:#101528; --dis-ink:#4d5878; --sh-ring:0 0 0 3px rgba(124,158,248,.20); --sh-pop:0 8px 26px rgba(0,0,0,.45); --sh-menu:0 10px 30px rgba(0,0,0,.50); --sh-drag:0 4px 16px rgba(0,0,0,.55); --skin-wall:url("/static/skin_star_wall.jpg"); --skin-wall-op:1; --skin-wall-tint:rgba(13,17,32,.30); --skin-art:url("/static/skin_star_art.png"); --skin-art-op:.92; --skin-art-w:18px; --skin-wall-tint2:rgba(13,17,32,.55);
  --g-50:#2f333a; --g-100:#282c31; --g-200:#2d3136; --g-300:#273e56; --g-400:#45596d; --g-500:#607386;
  --g-600:#788493; --g-700:#94a4b5; --g-800:#b6c4d4; --bd-50:#2f343a; --bd-100:#282d31; --bd-200:#2f3439;
  --bd-300:#234568; --bd-400:#235a95; --bd-500:#2070c7; --bd-600:#3086e2; --bd-700:#5b9be0; --bd-900:#86b2e1;
  --nt-50:#2f343a; --nt-100:#282e31; --nt-200:#282d31; --nt-300:#2f353a; --nt-400:#3a4956; --nt-500:#526474;
  --nt-600:#6a7f92; --nt-700:#909fad; --nt-900:#abb8c5; --c-003070:#a7abb4; --c-0086f6:#888d9a; --c-00bebd:#33fffe;
  --c-0b5c9a:#a2a6b0; --c-10603f:#84ebc0; --c-111111:#d6d6d6; --c-112244:#b2b5be; --c-12456b:#b0b3bc; --c-153a5b:#b2b5bd;
  --c-1a7f45:#6de19f; --c-1d9e75:#54e0b3; --c-1f2a37:#bcbec6; --c-1f3a55:#afb2bb; --c-1f4e79:#a1a5af; --c-1f6b3a:#80daa0;
  --c-1f6f8b:#afb3bb; --c-22303f:#b7bac2; --c-2b3b52:#a9acb6; --c-2b5f8f:#9498a4; --c-2c3e50:#adb0b9; --c-2e7d4f:#74cc99;
  --c-2f5496:#828794; --c-2f5d8f:#8f939f; --c-2f6fd6:#686d7a; --c-2f7d55:#75cb9f; --c-33475c:#a5a8b2; --c-3b82f6:#595d68;
  --c-3ba5d3:#898e9b; --c-3d5573:#9499a4; --c-3d5670:#989ca7; --c-3f5f86:#8b8f9c; --c-42505f:#9ea2ad; --c-48586a:#969aa6;
  --c-4a6b8a:#898e9a; --c-4fa87a:#56af81; --c-5a6a7d:#878c99; --c-5a6b7d:#888d9a; --c-5b6572:#8b909c; --c-5b6b7c:#888d9a;
  --c-5c4a12:#e8d188; --c-5f7b99:#797e8d; --c-64778c:#7d8290; --c-6b21a8:#b378e4; --c-6b4e00:#ffd973; --c-6b7787:#7c8290;
  --c-6b7a8c:#7a7f8e; --c-6b7c8d:#7d8290; --c-7a4200:#ffba68; --c-7a5200:#ffcd68; --c-7a5310:#ecbe6e; --c-7a5a12:#eac46f;
  --c-7a8798:#6f7583; --c-7aa7d4:#5a5e69; --c-7b8794:#727886; --c-7b8a99:#9ca1ab; --c-7b8b9c:#8f94a0; --c-7d2222:#d87171;
  --c-7d4a8c:#b082bd; --c-7d8b99:#707583; --c-7d8fa2:#999da8; --c-854f0b:#f2b363; --c-8798a8:#9da1ab; --c-882244:#d9688e;
  --c-8a2b2b:#d06969; --c-8a4b00:#ffb45b; --c-8a4b4b:#b16f6f; --c-8a5a00:#ffc65b; --c-8a5a12:#eab462; --c-8a6100:#ffce5b;
  --c-8a6a12:#eac662; --c-8a6d1a:#e2c164; --c-8a6d1f:#ddbc66; --c-8a93a3:#656976; --c-8a97a4:#676c78; --c-8a97a5:#666b77;
  --c-8b97a4:#666b78; --c-8c2020:#dc6464; --c-8c2f22:#da7365; --c-8d97a3:#656a77; --c-8f1b15:#e7655f; --c-8f2020:#dc6262;
  --c-8fa3b8:#b7bac1; --c-8fa6bd:#5a5f6a; --c-93a0b0:#989ca7; --c-93a6b8:#5c606b; --c-9aa8b6:#5a5e69; --c-9aabbb:#595d68;
  --c-9db1c4:#545862; --c-9dbde4:#444750; --c-9fb0c2:#989da8; --c-9fb0c6:#50535e; --c-9fd0f5:#474a53; --c-a05a00:#ffb04a;
  --c-a05a5a:#a55e5e; --c-a32d2d:#e08888; --c-a3c6ec:#41444c; --c-a8302a:#df827d; --c-a8b4c2:#50545e; --c-a9b4bf:#999da8;
  --c-a9bac9:#4e525c; --c-aa3333:#ca4f4f; --c-aab6c3:#4f535c; --c-aec6dd:#444850; --c-b09a5f:#a28c50; --c-b3261e:#e66d65;
  --c-b3bcc7:#494d56; --c-b46565:#9e4d4d; --c-b7d1ea:#3c3f47; --c-b7e2ce:#276045; --c-b8860b:#f3be3b; --c-b8e0c8:#295e3f;
  --c-b9701d:#e1953e; --c-b9c1cd:#444750; --c-b9c4d0:#444850; --c-b9cce2:#3c3f47; --c-ba7517:#e79f3c; --c-bbbbbb:#515151;
  --c-bcd3ee:#363940; --c-bdd6f0:#373a40; --c-c0392b:#d96457; --c-c2c8d0:#41444c; --c-c2cdda:#3d4047; --c-c2d2e3:#393c43;
  --c-c3ccd6:#3f424a; --c-c3ccd8:#3d4048; --c-c3d2e3:#393c43; --c-c3d3e4:#393b42; --c-c3e3d1:#28553c; --c-c6d3e3:#373a41;
  --c-c6dbf1:#35373e; --c-c6e2d2:#2a523b; --c-c8d1db:#3b3e45; --c-c8d4e0:#393c43; --c-c8dbef:#35373e; --c-c9a227:#d7b033;
  --c-c9d4e0:#383b42; --c-c9d8ea:#36383f; --c-cbdcef:#33353c; --c-ccd3dc:#383b42; --c-cddcec:#34363d; --c-cfd9e4:#36383f;
  --c-cfdbe8:#35373e; --c-cfe0f2:#c2c4cb; --c-cfe1f5:#2f3238; --c-cfe2f9:#2e3036; --c-d2d8df:#36383f; --c-d3e2f2:#2f3137;
  --c-d4af37:#caa52b; --c-d5e0eb:#31333a; --c-d6dce4:#33353c; --c-d6e3f2:#2e3036; --c-d7e1ec:#303238; --c-d7e7f7:#2c2e34;
  --c-d8c489:#866f2c; --c-d8dee6:#31343a; --c-d8ecff:#292b30; --c-d9822b:#d57e26; --c-d9b45a:#ae8728; --c-dbe3ea:#303238;
  --c-dbe3ec:#2e3136; --c-dbe4ee:#2d3035; --c-dbe6f2:#9a9fa9; --c-dbe7f6:#2b2d32; --c-dbe8f6:#2b2d32; --c-dbe8fb:#292b30;
  --c-dbe9fa:#2a2b31; --c-dceafa:#292b30; --c-dde5ec:#2e3036; --c-dde6ef:#2d2f35; --c-dde8f4:#2b2d32; --c-dde9f7:#2a2c31;
  --c-dfe6ee:#9a9fa9; --c-dfe7ef:#2c2e34; --c-e04f4f:#b92121; --c-e06a63:#a82921; --c-e0b678:#976823; --c-e0cffc:#2f2b35;
  --c-e0e9f3:#2a2c32; --c-e1e7ee:#2b2e33; --c-e2b13c:#c9961e; --c-e2e8ef:#2b2d32; --c-e2ebf5:#292b30; --c-e2edfa:#2a2c31;
  --c-e2eefc:#2a2c31; --c-e3e7ec:#2b2e33; --c-e3e9f0:#2a2c31; --c-e3eaf1:#2a2c31; --c-e4e9ef:#2a2c31; --c-e6a23c:#ca831a;
  --c-e6b0b0:#682121; --c-e6b8b8:#612222; --c-e6ecf2:#292b30; --c-e6f5ec:#28312c; --c-e6f6ef:#28312d; --c-e7ecf2:#282a2f;
  --c-e7eef7:#2a2c31; --c-e8cf92:#83651c; --c-e8eef6:#2a2c31; --c-e8eff8:#2a2c31; --c-e8f0fa:#2a2c31; --c-e8f1fb:#2a2c31;
  --c-e8f6ee:#28312c; --c-e9eff6:#2a2c31; --c-e9f1f9:#2a2c32; --c-e9f2fb:#2a2c32; --c-e9f2fc:#2a2c31; --c-eaf1fb:#2a2c31;
  --c-eaf2fb:#2a2c31; --c-eaf7ef:#28312c; --c-edf4fb:#2a2c32; --c-eec3c3:#5b1a1a; --c-eef1f5:#2a2c31; --c-eef2f6:#2a2c32;
  --c-eef2f7:#2a2c31; --c-eef2f8:#2a2c31; --c-eef3f9:#2a2c31; --c-eef4fb:#2a2c31; --c-eef8f1:#28312b; --c-eef8f3:#28312d;
  --c-f0b8b4:#691b15; --c-f0c987:#8f6112; --c-f0cccc:#3b3030; --c-f0d6d4:#382e2e; --c-f0d6d6:#372d2d; --c-f0d9ae:#6f4f14;
  --c-f0dca8:#745914; --c-f0dcb0:#6d5115; --c-f0dcb4:#694d15; --c-f0dfae:#6f5714; --c-f0f4f8:#2a2c32; --c-f1f3f6:#2a2c31;
  --c-f1f4f7:#2a2c32; --c-f1f5f9:#2a2c32; --c-f2c6c6:#3d3232; --c-f2f4f7:#2a2c31; --c-f2f5f8:#2a2c32; --c-f2f5f9:#2a2c31;
  --c-f2f6fb:#2a2c31; --c-f2f7fc:#2a2c32; --c-f2f7fd:#31333a; --c-f2f8ff:#31333a; --c-f2fbf6:#28312c; --c-f2fbf7:#28312d;
  --c-f3e6c8:#3c3831; --c-f3e8ff:#2c2831; --c-f3f7f5:#28312d; --c-f4f7fa:#2a2c32; --c-f4f7fb:#31333a; --c-f4f9ff:#31333a;
  --c-f5c6c1:#3e3433; --c-f5ecf7:#2f2831; --c-f5f9fe:#31333a; --c-f6f8fa:#31333a; --c-f6f8fb:#303339; --c-f6f9fd:#31333a;
  --c-f6faff:#31333a; --c-f7f9fb:#31333a; --c-f7f9fc:#303339; --c-f7fafd:#31333a; --c-f7faff:#303339; --c-f7fbff:#31333a;
  --c-f8dede:#302727; --c-f8fafc:#31333a; --c-faecec:#312828; --c-fafbfd:#303339; --c-fafcfe:#31333a; --c-fbd9d7:#322929;
  --c-fbdada:#302828; --c-fbe8cd:#36322c; --c-fbfcfe:#303339; --c-fbfdff:#31333a; --c-fcfdfe:#31333a; --c-fcfdff:#303339;
  --c-fdeaea:#312828; --c-fdeceb:#312928; --c-fdecec:#312828; --c-fdeded:#312828; --c-fdeeee:#312828; --c-fdf0c8:#37352d;
  --c-fdf2f2:#3a2f2f; --c-fdf3d7:#312f28; --c-fdf3e2:#312e28; --c-fdf3f3:#3a2f2f; --c-fdf5f5:#3a2f2f; --c-fdf6e8:#312e28;
  --c-fdf6f6:#3a2f2f; --c-fdf7f7:#3a2f2f; --c-fdf9f0:#312e28; --c-ffe9c9:#36322c; --c-fff3cd:#34322b; --c-fff3d9:#2f2c27;
  --c-fff4e0:#312e28; --c-fff5e0:#312e28; --c-fff6f6:#3a2f2f; --c-fff7e6:#312e28; --c-fff8e4:#312f28; --c-fff8e6:#312f28;
  --c-fffaf0:#3a362f; --c-fffaf2:#3a352f; --c-fffbf2:#3a362f; --c-fffdf5:#3a372f; --c-fffdf7:#3a372f; --c-ffffff:#e9eaec;
  --on-brand:#12161a; --hd-ink:#e8eaec; --nil-ink:#98A2AE; --dcb-n-bg:#282d31; --dcb-n-fg:#b8c3cf; --dcb-0-fg:#93a0ac;
  --dcb-merge-bg:#1E2C3C; --dcb-merge-fg:#9CC4EA; --dcb-refund-bg:#1B2A20; --dcb-refund-fg:#8ED2A6; --bad:#e08a8a; --ok:#20ac7f;
  --warn:#e0942a; --am-100:#262015; --am-200:#483822; --am-300:#664c26; --am-400:#8e6629; --am-50:#2c2219;
  --am-500:#b28034; --am-600:#c99546; --am-700:#d2a765; --am-900:#dbb886; --gn-100:#17241e; --gn-200:#254538;
  --gn-300:#2b6148; --gn-400:#30875e; --gn-50:#1c2925; --gn-500:#34b177; --gn-600:#46c98d; --gn-700:#6dd1a3;
  --gn-900:#8dd5b3; --rd-100:#251616; --rd-200:#462424; --rd-300:#632929; --rd-400:#8b2d2d; --rd-50:#291c1c;
  --rd-500:#b13434; --rd-600:#d36868; --rd-700:#d36868; --rd-900:#d88a8a;
}
:root[data-skin='wb-starry'] .hd{background:var(--hd-bg,#141414) url('/static/skin_star_tile.png') repeat}
:root[data-skin='wb-starry'] .hd .logo::before{width:22px;height:22px;vertical-align:-6px}
:root[data-skin='wb-starry'] .empty:not(td)::before{border:0;border-radius:0;background:var(--skin-art) center/contain no-repeat;width:44px;height:44px;opacity:.85}

/* ── ⑧-皮肤 · 青瓷 ─────────────────────────────────────
   真值来源：v4.49b 重设计（2026-10-19 用户令「用你的视觉模型重新设计」，
     画布加深加饱和 + --band 带面槽 + 暖色簇拉开档位，WCAG AA 扫描守底线）
   只覆盖颜色（语义槽 + 灰阶 + 色阶），圆角 / 间距 / 字阶一个字不改。
   ⚠ 本段由 tmp/_skin_gen.py 生成，改这里不如改配置再重跑。 */
:root[data-skin="wb-porcelain"]{
  --brand:#1a3268; --brand2:#33518c; --line:#e5e4df; --bg:#f6f5f1; --ink:#2d2f35; --mut:#666c79; --chip:#eff1f6;
  --srf:#ffffff; --srf-2:#f6f5f1; --link:#33518c; --focus:#33518c;
  --band:#ebeef6;
  --hover:#eaeef6; --sel:#dde4f2; --dis-bg:#eef0f2; --dis-ink:#9ea3ae;
  --sh-ring:0 0 0 3px rgba(51,81,140,.20);
  --sh-pop:0 8px 26px rgba(24,39,67,.16); --sh-menu:0 10px 30px rgba(24,39,67,.20); --sh-drag:0 4px 16px rgba(24,39,67,.28);
  --skin-wall:url("/static/skin_qh_shanshui.jpg"); --skin-wall-op:1; --skin-wall-tint:rgba(246,245,241,.30);
  --skin-art:url("/static/skin_qh_art.png"); --skin-art-op:.92; --skin-art-w:18px;
  --skin-wall-tint2:rgba(246,245,241,.55);
  --g-50:#f7f9fc; --g-100:#eef2f7; --g-200:#dde3ea; --g-300:#c2d2e3; --g-400:#9fb0c2; --g-500:#7d8fa2; --g-600:#6b7785; --g-700:#42505f; --g-800:#1c2530;
  --bd-50:#F6F8FA; --bd-100:#EBF0F4; --bd-200:#D4DFEC; --bd-300:#AFC9E4; --bd-400:#7AABE0; --bd-500:#3E8CE0;
  --bd-600:#1C70CA; --bd-700:#1C5796; --bd-900:#183B61; --nt-50:#FAFBFC; --nt-100:#F4F7F9; --nt-200:#EAEFF3;
  --nt-300:#D8E0E7; --nt-400:#BCC8D2; --nt-500:#95A6B4; --nt-600:#6D8295; --nt-700:#4B5965; --nt-900:#2D3741;
  --c-003070:#003070; --c-0086f6:#0086f6; --c-00bebd:#00bebd; --c-0b5c9a:#0b5c9a; --c-10603f:#10603f; --c-111111:#111111;
  --c-112244:#112244; --c-12456b:#12456b; --c-153a5b:#153a5b; --c-1a7f45:#1a7f45; --c-1d9e75:#1d9e75; --c-1f2a37:#1f2a37;
  --c-1f3a55:#34383e; --c-1f4e79:#1f4e79; --c-1f6b3a:#1f6b3a; --c-1f6f8b:#1f6f8b; --c-22303f:#22303f; --c-2b3b52:#2b3b52;
  --c-2b5f8f:#2b5f8f; --c-2c3e50:#2c3e50; --c-2e7d4f:#2e7d4f; --c-2f5496:#2f5496; --c-2f5d8f:#2f5d8f; --c-2f6fd6:#2f6fd6;
  --c-2f7d55:#2f7d55; --c-33475c:#33475c; --c-3b82f6:#3b82f6; --c-3ba5d3:#3ba5d3; --c-3d5573:#3d5573; --c-3d5670:#3d5670;
  --c-3f5f86:#3f5f86; --c-42505f:#4a4f59; --c-48586a:#48586a; --c-4a6b8a:#4a6b8a; --c-4fa87a:#4fa87a; --c-5a6a7d:#5a6a7d;
  --c-5a6b7d:#5a6b7d; --c-5b6572:#5b6572; --c-5b6b7c:#5b6b7c; --c-5c4a12:#5c4a12; --c-5f7b99:#5f7b99; --c-64778c:#64778c;
  --c-6b21a8:#6b21a8; --c-6b4e00:#6b4e00; --c-6b7787:#6b7787; --c-6b7a8c:#6b7a8c; --c-6b7c8d:#647383; --c-7a4200:#7a4200;
  --c-7a5200:#7a5200; --c-7a5310:#7a5310; --c-7a5a12:#7a5a12; --c-7a8798:#7a8798; --c-7aa7d4:#7aa7d4; --c-7b8794:#7b8794;
  --c-7b8a99:#667484; --c-7b8b9c:#5d6d7d; --c-7d2222:#7d2222; --c-7d4a8c:#7d4a8c; --c-7d8b99:#7d8b99; --c-7d8fa2:#5e7084;
  --c-854f0b:#854f0b; --c-8798a8:#5f7082; --c-882244:#882244; --c-8a2b2b:#8a2b2b; --c-8a4b00:#8a4b00; --c-8a4b4b:#8a4b4b;
  --c-8a5a00:#8a5a00; --c-8a5a12:#8a5a12; --c-8a6100:#8a6100; --c-8a6a12:#8a6a12; --c-8a6d1a:#8a6d1a; --c-8a6d1f:#8a6d1f;
  --c-8a93a3:#8a93a3; --c-8a97a4:#8a97a4; --c-8a97a5:#8a97a5; --c-8b97a4:#8b97a4; --c-8c2020:#8c2020; --c-8c2f22:#8c2f22;
  --c-8d97a3:#8d97a3; --c-8f1b15:#8f1b15; --c-8f2020:#8f2020; --c-8fa3b8:#566e88; --c-8fa6bd:#8fa6bd; --c-93a0b0:#637388;
  --c-93a6b8:#93a6b8; --c-9aa8b6:#9aa8b6; --c-9aabbb:#9aabbb; --c-9db1c4:#a3afc8; --c-9dbde4:#9dbde4; --c-9fb0c2:#aaafb8;
  --c-9fb0c6:#9fb0c6; --c-9fd0f5:#9fd0f5; --c-a05a00:#a05a00; --c-a05a5a:#a05a5a; --c-a32d2d:#a32d2d; --c-a3c6ec:#b9c3d5;
  --c-a8302a:#a8302a; --c-a8b4c2:#a8b4c2; --c-a9b4bf:#aeb3bb; --c-a9bac9:#a9bac9; --c-aa3333:#aa3333; --c-aab6c3:#aab6c3;
  --c-aec6dd:#bac4d6; --c-b09a5f:#b09a5f; --c-b3261e:#b3261e; --c-b3bcc7:#b3bcc7; --c-b46565:#b46565; --c-b7d1ea:#b7d1ea;
  --c-b7e2ce:#b7e2ce; --c-b8860b:#8a6208; --c-b8e0c8:#b8e0c8; --c-b9701d:#b9701d; --c-b9c1cd:#b9c1cd; --c-b9c4d0:#b9c4d0;
  --c-b9cce2:#b9cce2; --c-ba7517:#ba7517; --c-bbbbbb:#bbbbbb; --c-bcd3ee:#bcd3ee; --c-bdd6f0:#cdd3e1; --c-c0392b:#c0392b;
  --c-c2c8d0:#c2c8d0; --c-c2cdda:#c2cdda; --c-c2d2e3:#c2d2e3; --c-c3ccd6:#c3ccd6; --c-c3ccd8:#c3ccd8; --c-c3d2e3:#c3d2e3;
  --c-c3d3e4:#cad2e0; --c-c3e3d1:#c3e3d1; --c-c6d3e3:#cbd2e0; --c-c6dbf1:#c6dbf1; --c-c6e2d2:#c6e2d2; --c-c8d1db:#c8d1db;
  --c-c8d4e0:#c8d4e0; --c-c8dbef:#d2d9e6; --c-c9a227:#c9a227; --c-c9d4e0:#ccd3e0; --c-c9d8ea:#c9d8ea; --c-cbdcef:#cbdcef;
  --c-ccd3dc:#ccd3dc; --c-cddcec:#cddcec; --c-cfd9e4:#cfd9e4; --c-cfdbe8:#cfdbe8; --c-cfe0f2:#cfe0f2; --c-cfe1f5:#cfe1f5;
  --c-cfe2f9:#dce1ea; --c-d2d8df:#d2d8df; --c-d3e2f2:#dce1ea; --c-d4af37:#d4af37; --c-d5e0eb:#d5e0eb; --c-d6dce4:#d6dce4;
  --c-d6e3f2:#d6e3f2; --c-d7e1ec:#d7e1ec; --c-d7e7f7:#d7e7f7; --c-d8c489:#d8c489; --c-d8dee6:#d8dee6; --c-d8ecff:#d8ecff;
  --c-d9822b:#d9822b; --c-d9b45a:#d9b45a; --c-dbe3ea:#dbe3ea; --c-dbe3ec:#dee2eb; --c-dbe4ee:#dbe4ee; --c-dbe6f2:#e1e5ee;
  --c-dbe7f6:#dbe7f6; --c-dbe8f6:#dbe8f6; --c-dbe8fb:#dbe8fb; --c-dbe9fa:#dbe9fa; --c-dceafa:#dceafa; --c-dde5ec:#dde5ec;
  --c-dde6ef:#dde6ef; --c-dde8f4:#dde8f4; --c-dde9f7:#dde9f7; --c-dfe6ee:#dfe6ee; --c-dfe7ef:#dfe7ef; --c-e04f4f:#e04f4f;
  --c-e06a63:#e06a63; --c-e0b678:#e0b678; --c-e0cffc:#e0cffc; --c-e0e9f3:#e5e8f0; --c-e1e7ee:#e1e7ee; --c-e2b13c:#e2b13c;
  --c-e2e8ef:#e2e8ef; --c-e2ebf5:#e2ebf5; --c-e2edfa:#e2edfa; --c-e2eefc:#eaedf3; --c-e3e7ec:#e3e7ec; --c-e3e9f0:#e3e9f0;
  --c-e3eaf1:#e3eaf1; --c-e4e9ef:#e4e9ef; --c-e6a23c:#e6a23c; --c-e6b0b0:#e6b0b0; --c-e6b8b8:#e6b8b8; --c-e6ecf2:#e6ecf2;
  --c-e6f5ec:#e6f5ec; --c-e6f6ef:#e6f6ef; --c-e7ecf2:#e7ecf2; --c-e7eef7:#e7eef7; --c-e8cf92:#e8cf92; --c-e8eef6:#e8eef6;
  --c-e8eff8:#eceef4; --c-e8f0fa:#e8f0fa; --c-e8f1fb:#e8f1fb; --c-e8f6ee:#e8f6ee; --c-e9eff6:#e9eff6; --c-e9f1f9:#e9f1f9;
  --c-e9f2fb:#e9f2fb; --c-e9f2fc:#e9f2fc; --c-eaf1fb:#eaf1fb; --c-eaf2fb:#eaf2fb; --c-eaf7ef:#eaf7ef; --c-edf4fb:#f2f3f7;
  --c-eec3c3:#eec3c3; --c-eef1f5:#eef1f5; --c-eef2f6:#eef2f6; --c-eef2f7:#eff1f6; --c-eef2f8:#eef2f8; --c-eef3f9:#eef3f9;
  --c-eef4fb:#eef4fb; --c-eef8f1:#eef8f1; --c-eef8f3:#eef8f3; --c-f0b8b4:#f0b8b4; --c-f0c987:#f0c987; --c-f0cccc:#f0cccc;
  --c-f0d6d4:#f0d6d4; --c-f0d6d6:#f0d6d6; --c-f0d9ae:#f0d9ae; --c-f0dca8:#f0dca8; --c-f0dcb0:#f0dcb0; --c-f0dcb4:#f0dcb4;
  --c-f0dfae:#f0dfae; --c-f0f4f8:#f0f4f8; --c-f1f3f6:#f1f3f6; --c-f1f4f7:#f1f4f7; --c-f1f5f9:#f1f5f9; --c-f2c6c6:#f2c6c6;
  --c-f2f4f7:#f2f4f7; --c-f2f5f8:#f2f5f8; --c-f2f5f9:#f2f5f9; --c-f2f6fb:#f4f5f9; --c-f2f7fc:#f2f7fc; --c-f2f7fd:#f2f7fd;
  --c-f2f8ff:#f2f8ff; --c-f2fbf6:#f2fbf6; --c-f2fbf7:#f2fbf7; --c-f3e6c8:#f3e6c8; --c-f3e8ff:#f3e8ff; --c-f3f7f5:#f3f7f5;
  --c-f4f7fa:#f4f7fa; --c-f4f7fb:#f4f7fb; --c-f4f9ff:#f4f9ff; --c-f5c6c1:#f5c6c1; --c-f5ecf7:#f5ecf7; --c-f5f9fe:#f5f9fe;
  --c-f6f8fa:#f6f8fa; --c-f6f8fb:#f6f8fb; --c-f6f9fd:#f6f9fd; --c-f6faff:#f6faff; --c-f7f9fb:#f7f9fb; --c-f7f9fc:#f7f9fc;
  --c-f7fafd:#f9fafb; --c-f7faff:#f7faff; --c-f7fbff:#f7fbff; --c-f8dede:#f8dede; --c-f8fafc:#f8fafc; --c-faecec:#faecec;
  --c-fafbfd:#fafbfd; --c-fafcfe:#fafcfe; --c-fbd9d7:#fbd9d7; --c-fbdada:#fbdada; --c-fbe8cd:#fbe8cd; --c-fbfcfe:#fbfcfe;
  --c-fbfdff:#fbfdff; --c-fcfdfe:#fcfdfe; --c-fcfdff:#fcfdff; --c-fdeaea:#fbe3e3; --c-fdeceb:#fdeceb; --c-fdecec:#fdecec;
  --c-fdeded:#fdeded; --c-fdeeee:#fdeeee; --c-fdf0c8:#fdf0c8; --c-fdf2f2:#fdf2f2; --c-fdf3d7:#fdf3d7; --c-fdf3e2:#fdf3e2;
  --c-fdf3f3:#fdf3f3; --c-fdf5f5:#fdf5f5; --c-fdf6e8:#fdf6e8; --c-fdf6f6:#fdf6f6; --c-fdf7f7:#fdf7f7; --c-fdf9f0:#fdf9f0;
  --c-ffe9c9:#ffe9c9; --c-fff3cd:#fff3cd; --c-fff3d9:#fff3d9; --c-fff4e0:#fff4e0; --c-fff5e0:#fff5e0; --c-fff6f6:#fff6f6;
  --c-fff7e6:#fff7e6; --c-fff8e4:#fff8e4; --c-fff8e6:#fff8e6; --c-fffaf0:#fffaf0; --c-fffaf2:#fffaf2; --c-fffbf2:#fffbf2;
  --c-fffdf5:#fffdf5; --c-fffdf7:#fffdf7; --c-ffffff:#ffffff;
}
:root[data-skin='wb-porcelain'] .hd{background:var(--brand) url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"%3E%3Cpath d="M1 7V1h10v4.5H4V3h4" fill="none" stroke="white" stroke-opacity=".52"/%3E%3C/svg%3E') repeat-x center bottom/auto 8px}
:root[data-skin='wb-porcelain'] .hd .logo::before{width:24px;height:24px;vertical-align:-7px}
:root[data-skin='wb-porcelain'] .nv{background:var(--brand2) url('/static/skin_qh_band.png') right center/auto 46px no-repeat}
:root[data-skin='wb-porcelain'] .empty:not(td)::before{border:0;border-radius:0;background:var(--skin-art) center/contain no-repeat;width:44px;height:44px;opacity:.5}

/* ── ⑧-皮肤 · 朱砂 ─────────────────────────────────────
   真值来源：v4.49b 重设计（2026-10-19 用户令「用你的视觉模型重新设计」，
     画布加深加饱和 + --band 带面槽 + 暖色簇拉开档位，WCAG AA 扫描守底线）
   只覆盖颜色（语义槽 + 灰阶 + 色阶），圆角 / 间距 / 字阶一个字不改。
   ⚠ 本段由 tmp/_skin_gen.py 生成，改这里不如改配置再重跑。 */
:root[data-skin="wb-cinnabar"]{
  --brand:#8e2016; --brand2:#ad2f1f; --line:#eee3e1; --bg:#fbf4f1; --ink:#352d2c; --mut:#7b6865; --chip:#f6efee;
  --srf:#ffffff; --srf-2:#fbf4f1; --link:#ad2f1f; --focus:#ad2f1f;
  --hover:#fae4dd; --sel:#f6cdc2; --dis-bg:#f5eeed; --dis-ink:#b0a09e;
  --sh-ring:0 0 0 3px rgba(173,47,31,.20);
  --sh-pop:0 8px 26px rgba(75,20,13,.16); --sh-menu:0 10px 30px rgba(75,20,13,.20); --sh-drag:0 4px 16px rgba(75,20,13,.28);
  --skin-wall:linear-gradient(160deg,#f2c4b4 0%,#e09a84 55%,#c26b52 100%); --skin-wall-op:1; --skin-wall-tint:rgba(254,244,240,.50);
  --g-50:#f7f9fc; --g-100:#eef2f7; --g-200:#dde3ea; --g-300:#c2d2e3; --g-400:#9fb0c2; --g-500:#7d8fa2; --g-600:#6b7785; --g-700:#42505f; --g-800:#1c2530;
  --bd-50:#F6F8FA; --bd-100:#EBF0F4; --bd-200:#D4DFEC; --bd-300:#AFC9E4; --bd-400:#7AABE0; --bd-500:#3E8CE0;
  --bd-600:#1C70CA; --bd-700:#1C5796; --bd-900:#183B61; --nt-50:#FAFBFC; --nt-100:#F4F7F9; --nt-200:#EAEFF3;
  --nt-300:#D8E0E7; --nt-400:#BCC8D2; --nt-500:#95A6B4; --nt-600:#6D8295; --nt-700:#4B5965; --nt-900:#2D3741;
  --c-003070:#003070; --c-0086f6:#0086f6; --c-00bebd:#00bebd; --c-0b5c9a:#0b5c9a; --c-10603f:#10603f; --c-111111:#111111;
  --c-112244:#112244; --c-12456b:#12456b; --c-153a5b:#153a5b; --c-1a7f45:#1a7f45; --c-1d9e75:#1d9e75; --c-1f2a37:#1f2a37;
  --c-1f3a55:#403635; --c-1f4e79:#1f4e79; --c-1f6b3a:#1f6b3a; --c-1f6f8b:#1f6f8b; --c-22303f:#22303f; --c-2b3b52:#2b3b52;
  --c-2b5f8f:#2b5f8f; --c-2c3e50:#2c3e50; --c-2e7d4f:#2e7d4f; --c-2f5496:#2f5496; --c-2f5d8f:#2f5d8f; --c-2f6fd6:#2f6fd6;
  --c-2f7d55:#2f7d55; --c-33475c:#33475c; --c-3b82f6:#3b82f6; --c-3ba5d3:#3ba5d3; --c-3d5573:#3d5573; --c-3d5670:#3d5670;
  --c-3f5f86:#3f5f86; --c-42505f:#5a4b49; --c-48586a:#48586a; --c-4a6b8a:#4a6b8a; --c-4fa87a:#4fa87a; --c-5a6a7d:#5a6a7d;
  --c-5a6b7d:#5a6b7d; --c-5b6572:#5b6572; --c-5b6b7c:#5b6b7c; --c-5c4a12:#5c4a12; --c-5f7b99:#5f7b99; --c-64778c:#64778c;
  --c-6b21a8:#6b21a8; --c-6b4e00:#6b4e00; --c-6b7787:#6b7787; --c-6b7a8c:#6b7a8c; --c-6b7c8d:#647383; --c-7a4200:#7a4200;
  --c-7a5200:#7a5200; --c-7a5310:#7a5310; --c-7a5a12:#7a5a12; --c-7a8798:#7a8798; --c-7aa7d4:#7aa7d4; --c-7b8794:#7b8794;
  --c-7b8a99:#667484; --c-7b8b9c:#5d6d7d; --c-7d2222:#7d2222; --c-7d4a8c:#7d4a8c; --c-7d8b99:#7d8b99; --c-7d8fa2:#5e7084;
  --c-854f0b:#854f0b; --c-8798a8:#5f7082; --c-882244:#882244; --c-8a2b2b:#8a2b2b; --c-8a4b00:#8a4b00; --c-8a4b4b:#8a4b4b;
  --c-8a5a00:#8a5a00; --c-8a5a12:#8a5a12; --c-8a6100:#8a6100; --c-8a6a12:#8a6a12; --c-8a6d1a:#8a6d1a; --c-8a6d1f:#8a6d1f;
  --c-8a93a3:#8a93a3; --c-8a97a4:#8a97a4; --c-8a97a5:#8a97a5; --c-8b97a4:#8b97a4; --c-8c2020:#8c2020; --c-8c2f22:#8c2f22;
  --c-8d97a3:#8d97a3; --c-8f1b15:#8f1b15; --c-8f2020:#8f2020; --c-8fa3b8:#566e88; --c-8fa6bd:#8fa6bd; --c-93a0b0:#637388;
  --c-93a6b8:#93a6b8; --c-9aa8b6:#9aa8b6; --c-9aabbb:#9aabbb; --c-9db1c4:#caa6a2; --c-9dbde4:#9dbde4; --c-9fb0c2:#b9aba9;
  --c-9fb0c6:#9fb0c6; --c-9fd0f5:#9fd0f5; --c-a05a00:#a05a00; --c-a05a5a:#a05a5a; --c-a32d2d:#a32d2d; --c-a3c6ec:#d8bdb9;
  --c-a8302a:#a8302a; --c-a8b4c2:#a8b4c2; --c-a9b4bf:#bdb0ae; --c-a9bac9:#a9bac9; --c-aa3333:#aa3333; --c-aab6c3:#aab6c3;
  --c-aec6dd:#d8bdba; --c-b09a5f:#b09a5f; --c-b3261e:#b3261e; --c-b3bcc7:#b3bcc7; --c-b46565:#b46565; --c-b7d1ea:#b7d1ea;
  --c-b7e2ce:#b7e2ce; --c-b8860b:#8a6208; --c-b8e0c8:#b8e0c8; --c-b9701d:#b9701d; --c-b9c1cd:#b9c1cd; --c-b9c4d0:#b9c4d0;
  --c-b9cce2:#b9cce2; --c-ba7517:#ba7517; --c-bbbbbb:#bbbbbb; --c-bcd3ee:#bcd3ee; --c-bdd6f0:#e3cfcc; --c-c0392b:#c0392b;
  --c-c2c8d0:#c2c8d0; --c-c2cdda:#c2cdda; --c-c2d2e3:#c2d2e3; --c-c3ccd6:#c3ccd6; --c-c3ccd8:#c3ccd8; --c-c3d2e3:#c3d2e3;
  --c-c3d3e4:#e1cdca; --c-c3e3d1:#c3e3d1; --c-c6d3e3:#e2cdcb; --c-c6dbf1:#c6dbf1; --c-c6e2d2:#c6e2d2; --c-c8d1db:#c8d1db;
  --c-c8d4e0:#c8d4e0; --c-c8dbef:#e7d5d2; --c-c9a227:#c9a227; --c-c9d4e0:#e2cecc; --c-c9d8ea:#c9d8ea; --c-cbdcef:#cbdcef;
  --c-ccd3dc:#ccd3dc; --c-cddcec:#cddcec; --c-cfd9e4:#cfd9e4; --c-cfdbe8:#cfdbe8; --c-cfe0f2:#cfe0f2; --c-cfe1f5:#cfe1f5;
  --c-cfe2f9:#ecdddb; --c-d2d8df:#d2d8df; --c-d3e2f2:#ecdddb; --c-d4af37:#d4af37; --c-d5e0eb:#d5e0eb; --c-d6dce4:#d6dce4;
  --c-d6e3f2:#d6e3f2; --c-d7e1ec:#d7e1ec; --c-d7e7f7:#d7e7f7; --c-d8c489:#d8c489; --c-d8dee6:#d8dee6; --c-d8ecff:#d8ecff;
  --c-d9822b:#d9822b; --c-d9b45a:#d9b45a; --c-dbe3ea:#dbe3ea; --c-dbe3ec:#ecdfde; --c-dbe4ee:#dbe4ee; --c-dbe6f2:#eee2e1;
  --c-dbe7f6:#dbe7f6; --c-dbe8f6:#dbe8f6; --c-dbe8fb:#dbe8fb; --c-dbe9fa:#dbe9fa; --c-dceafa:#dceafa; --c-dde5ec:#dde5ec;
  --c-dde6ef:#dde6ef; --c-dde8f4:#dde8f4; --c-dde9f7:#dde9f7; --c-dfe6ee:#dfe6ee; --c-dfe7ef:#dfe7ef; --c-e04f4f:#e04f4f;
  --c-e06a63:#e06a63; --c-e0b678:#e0b678; --c-e0cffc:#e0cffc; --c-e0e9f3:#f1e6e4; --c-e1e7ee:#e1e7ee; --c-e2b13c:#e2b13c;
  --c-e2e8ef:#e2e8ef; --c-e2ebf5:#e2ebf5; --c-e2edfa:#e2edfa; --c-e2eefc:#f4ebea; --c-e3e7ec:#e3e7ec; --c-e3e9f0:#e3e9f0;
  --c-e3eaf1:#e3eaf1; --c-e4e9ef:#e4e9ef; --c-e6a23c:#e6a23c; --c-e6b0b0:#e6b0b0; --c-e6b8b8:#e6b8b8; --c-e6ecf2:#e6ecf2;
  --c-e6f5ec:#e6f5ec; --c-e6f6ef:#e6f6ef; --c-e7ecf2:#e7ecf2; --c-e7eef7:#e7eef7; --c-e8cf92:#e8cf92; --c-e8eef6:#e8eef6;
  --c-e8eff8:#f5edec; --c-e8f0fa:#e8f0fa; --c-e8f1fb:#e8f1fb; --c-e8f6ee:#e8f6ee; --c-e9eff6:#e9eff6; --c-e9f1f9:#e9f1f9;
  --c-e9f2fb:#e9f2fb; --c-e9f2fc:#e9f2fc; --c-eaf1fb:#eaf1fb; --c-eaf2fb:#eaf2fb; --c-eaf7ef:#eaf7ef; --c-edf4fb:#f8f2f1;
  --c-eec3c3:#eec3c3; --c-eef1f5:#eef1f5; --c-eef2f6:#eef2f6; --c-eef2f7:#f7f0ef; --c-eef2f8:#eef2f8; --c-eef3f9:#eef3f9;
  --c-eef4fb:#eef4fb; --c-eef8f1:#eef8f1; --c-eef8f3:#eef8f3; --c-f0b8b4:#f0b8b4; --c-f0c987:#f0c987; --c-f0cccc:#f0cccc;
  --c-f0d6d4:#f0d6d4; --c-f0d6d6:#f0d6d6; --c-f0d9ae:#f0d9ae; --c-f0dca8:#f0dca8; --c-f0dcb0:#f0dcb0; --c-f0dcb4:#f0dcb4;
  --c-f0dfae:#f0dfae; --c-f0f4f8:#f0f4f8; --c-f1f3f6:#f1f3f6; --c-f1f4f7:#f1f4f7; --c-f1f5f9:#f1f5f9; --c-f2c6c6:#f2c6c6;
  --c-f2f4f7:#f2f4f7; --c-f2f5f8:#f2f5f8; --c-f2f5f9:#f2f5f9; --c-f2f6fb:#f9f5f4; --c-f2f7fc:#f2f7fc; --c-f2f7fd:#f2f7fd;
  --c-f2f8ff:#f2f8ff; --c-f2fbf6:#f2fbf6; --c-f2fbf7:#f2fbf7; --c-f3e6c8:#f3e6c8; --c-f3e8ff:#f3e8ff; --c-f3f7f5:#f3f7f5;
  --c-f4f7fa:#f4f7fa; --c-f4f7fb:#f4f7fb; --c-f4f9ff:#f4f9ff; --c-f5c6c1:#f5c6c1; --c-f5ecf7:#f5ecf7; --c-f5f9fe:#f5f9fe;
  --c-f6f8fa:#f6f8fa; --c-f6f8fb:#f6f8fb; --c-f6f9fd:#f6f9fd; --c-f6faff:#f6faff; --c-f7f9fb:#f7f9fb; --c-f7f9fc:#f7f9fc;
  --c-f7fafd:#fcf9f9; --c-f7faff:#f7faff; --c-f7fbff:#f7fbff; --c-f8dede:#f8dede; --c-f8fafc:#f8fafc; --c-faecec:#faecec;
  --c-fafbfd:#fafbfd; --c-fafcfe:#fafcfe; --c-fbd9d7:#fbd9d7; --c-fbdada:#fbdada; --c-fbe8cd:#fbe8cd; --c-fbfcfe:#fbfcfe;
  --c-fbfdff:#fbfdff; --c-fcfdfe:#fcfdfe; --c-fcfdff:#fcfdff; --c-fdeaea:#fbe3e3; --c-fdeceb:#fdeceb; --c-fdecec:#fdecec;
  --c-fdeded:#fdeded; --c-fdeeee:#fdeeee; --c-fdf0c8:#fdf0c8; --c-fdf2f2:#fdf2f2; --c-fdf3d7:#fdf3d7; --c-fdf3e2:#fdf3e2;
  --c-fdf3f3:#fdf3f3; --c-fdf5f5:#fdf5f5; --c-fdf6e8:#fdf6e8; --c-fdf6f6:#fdf6f6; --c-fdf7f7:#fdf7f7; --c-fdf9f0:#fdf9f0;
  --c-ffe9c9:#ffe9c9; --c-fff3cd:#fff3cd; --c-fff3d9:#fff3d9; --c-fff4e0:#fff4e0; --c-fff5e0:#fff5e0; --c-fff6f6:#fff6f6;
  --c-fff7e6:#fff7e6; --c-fff8e4:#fff8e4; --c-fff8e6:#fff8e6; --c-fffaf0:#fffaf0; --c-fffaf2:#fffaf2; --c-fffbf2:#fffbf2;
  --c-fffdf5:#fffdf5; --c-fffdf7:#fffdf7; --c-ffffff:#ffffff;
}

/* ── ⑧-皮肤 · 冰川 ─────────────────────────────────────
   真值来源：v4.49b 重设计（2026-10-19 用户令「用你的视觉模型重新设计」，
     画布加深加饱和 + --band 带面槽 + 暖色簇拉开档位，WCAG AA 扫描守底线）
   只覆盖颜色（语义槽 + 灰阶 + 色阶），圆角 / 间距 / 字阶一个字不改。
   ⚠ 本段由 tmp/_skin_gen.py 生成，改这里不如改配置再重跑。 */
:root[data-skin="wb-glacier"]{
  --brand:#135a80; --brand2:#1c6e95; --line:#dde7ec; --bg:#f6f9fb; --ink:#293033; --mut:#606e75; --chip:#ecf2f4;
  --srf:#ffffff; --srf-2:#f6f9fb; --link:#1c6e95; --focus:#1c6e95;
  --hover:#eaf4fa; --sel:#d8ecf7; --dis-bg:#ebf1f4; --dis-ink:#99a5ab;
  --sh-ring:0 0 0 3px rgba(28,110,149,.20);
  --sh-pop:0 8px 26px rgba(11,41,56,.16); --sh-menu:0 10px 30px rgba(11,41,56,.20); --sh-drag:0 4px 16px rgba(11,41,56,.28);
  --skin-wall:url("/static/skin_glacier_wall.jpg"); --skin-wall-op:1; --skin-wall-tint:rgba(240,250,254,.45);
  --skin-art:url("/static/skin_glacier_art.png"); --skin-art-op:.92; --skin-art-w:18px;
  --g-50:#f7f9fc; --g-100:#eef2f7; --g-200:#dde3ea; --g-300:#c2d2e3; --g-400:#9fb0c2; --g-500:#7d8fa2; --g-600:#6b7785; --g-700:#42505f; --g-800:#1c2530;
  --bd-50:#F6F8FA; --bd-100:#EBF0F4; --bd-200:#D4DFEC; --bd-300:#AFC9E4; --bd-400:#7AABE0; --bd-500:#3E8CE0;
  --bd-600:#1C70CA; --bd-700:#1C5796; --bd-900:#183B61; --nt-50:#FAFBFC; --nt-100:#F4F7F9; --nt-200:#EAEFF3;
  --nt-300:#D8E0E7; --nt-400:#BCC8D2; --nt-500:#95A6B4; --nt-600:#6D8295; --nt-700:#4B5965; --nt-900:#2D3741;
  --c-003070:#003070; --c-0086f6:#0086f6; --c-00bebd:#00bebd; --c-0b5c9a:#0b5c9a; --c-10603f:#10603f; --c-111111:#111111;
  --c-112244:#112244; --c-12456b:#12456b; --c-153a5b:#153a5b; --c-1a7f45:#1a7f45; --c-1d9e75:#1d9e75; --c-1f2a37:#1f2a37;
  --c-1f3a55:#32393d; --c-1f4e79:#1f4e79; --c-1f6b3a:#1f6b3a; --c-1f6f8b:#1f6f8b; --c-22303f:#22303f; --c-2b3b52:#2b3b52;
  --c-2b5f8f:#2b5f8f; --c-2c3e50:#2c3e50; --c-2e7d4f:#2e7d4f; --c-2f5496:#2f5496; --c-2f5d8f:#2f5d8f; --c-2f6fd6:#2f6fd6;
  --c-2f7d55:#2f7d55; --c-33475c:#33475c; --c-3b82f6:#3b82f6; --c-3ba5d3:#3ba5d3; --c-3d5573:#3d5573; --c-3d5670:#3d5670;
  --c-3f5f86:#3f5f86; --c-42505f:#465055; --c-48586a:#48586a; --c-4a6b8a:#4a6b8a; --c-4fa87a:#4fa87a; --c-5a6a7d:#5a6a7d;
  --c-5a6b7d:#5a6b7d; --c-5b6572:#5b6572; --c-5b6b7c:#5b6b7c; --c-5c4a12:#5c4a12; --c-5f7b99:#5f7b99; --c-64778c:#64778c;
  --c-6b21a8:#6b21a8; --c-6b4e00:#6b4e00; --c-6b7787:#6b7787; --c-6b7a8c:#6b7a8c; --c-6b7c8d:#647383; --c-7a4200:#7a4200;
  --c-7a5200:#7a5200; --c-7a5310:#7a5310; --c-7a5a12:#7a5a12; --c-7a8798:#7a8798; --c-7aa7d4:#7aa7d4; --c-7b8794:#7b8794;
  --c-7b8a99:#667484; --c-7b8b9c:#5d6d7d; --c-7d2222:#7d2222; --c-7d4a8c:#7d4a8c; --c-7d8b99:#7d8b99; --c-7d8fa2:#5e7084;
  --c-854f0b:#854f0b; --c-8798a8:#5f7082; --c-882244:#882244; --c-8a2b2b:#8a2b2b; --c-8a4b00:#8a4b00; --c-8a4b4b:#8a4b4b;
  --c-8a5a00:#8a5a00; --c-8a5a12:#8a5a12; --c-8a6100:#8a6100; --c-8a6a12:#8a6a12; --c-8a6d1a:#8a6d1a; --c-8a6d1f:#8a6d1f;
  --c-8a93a3:#8a93a3; --c-8a97a4:#8a97a4; --c-8a97a5:#8a97a5; --c-8b97a4:#8b97a4; --c-8c2020:#8c2020; --c-8c2f22:#8c2f22;
  --c-8d97a3:#8d97a3; --c-8f1b15:#8f1b15; --c-8f2020:#8f2020; --c-8fa3b8:#566e88; --c-8fa6bd:#8fa6bd; --c-93a0b0:#637388;
  --c-93a6b8:#93a6b8; --c-9aa8b6:#9aa8b6; --c-9aabbb:#9aabbb; --c-9db1c4:#94b3c3; --c-9dbde4:#9dbde4; --c-9fb0c2:#a5b0b5;
  --c-9fb0c6:#9fb0c6; --c-9fd0f5:#9fd0f5; --c-a05a00:#a05a00; --c-a05a5a:#a05a5a; --c-a32d2d:#a32d2d; --c-a3c6ec:#aec6d2;
  --c-a8302a:#a8302a; --c-a8b4c2:#a8b4c2; --c-a9b4bf:#aab4b9; --c-a9bac9:#a9bac9; --c-aa3333:#aa3333; --c-aab6c3:#aab6c3;
  --c-aec6dd:#afc7d2; --c-b09a5f:#b09a5f; --c-b3261e:#b3261e; --c-b3bcc7:#b3bcc7; --c-b46565:#b46565; --c-b7d1ea:#b7d1ea;
  --c-b7e2ce:#b7e2ce; --c-b8860b:#8a6208; --c-b8e0c8:#b8e0c8; --c-b9701d:#b9701d; --c-b9c1cd:#b9c1cd; --c-b9c4d0:#b9c4d0;
  --c-b9cce2:#b9cce2; --c-ba7517:#ba7517; --c-bbbbbb:#bbbbbb; --c-bcd3ee:#bcd3ee; --c-bdd6f0:#c5d6de; --c-c0392b:#c0392b;
  --c-c2c8d0:#c2c8d0; --c-c2cdda:#c2cdda; --c-c2d2e3:#c2d2e3; --c-c3ccd6:#c3ccd6; --c-c3ccd8:#c3ccd8; --c-c3d2e3:#c3d2e3;
  --c-c3d3e4:#c2d4dd; --c-c3e3d1:#c3e3d1; --c-c6d3e3:#c3d5dd; --c-c6dbf1:#c6dbf1; --c-c6e2d2:#c6e2d2; --c-c8d1db:#c8d1db;
  --c-c8d4e0:#c8d4e0; --c-c8dbef:#cbdbe3; --c-c9a227:#c9a227; --c-c9d4e0:#c4d6de; --c-c9d8ea:#c9d8ea; --c-cbdcef:#cbdcef;
  --c-ccd3dc:#ccd3dc; --c-cddcec:#cddcec; --c-cfd9e4:#cfd9e4; --c-cfdbe8:#cfdbe8; --c-cfe0f2:#cfe0f2; --c-cfe1f5:#cfe1f5;
  --c-cfe2f9:#d5e2e8; --c-d2d8df:#d2d8df; --c-d3e2f2:#d5e2e9; --c-d4af37:#d4af37; --c-d5e0eb:#d5e0eb; --c-d6dce4:#d6dce4;
  --c-d6e3f2:#d6e3f2; --c-d7e1ec:#d7e1ec; --c-d7e7f7:#d7e7f7; --c-d8c489:#d8c489; --c-d8dee6:#d8dee6; --c-d8ecff:#d8ecff;
  --c-d9822b:#d9822b; --c-d9b45a:#d9b45a; --c-dbe3ea:#dbe3ea; --c-dbe3ec:#d9e4e9; --c-dbe4ee:#dbe4ee; --c-dbe6f2:#dce6eb;
  --c-dbe7f6:#dbe7f6; --c-dbe8f6:#dbe8f6; --c-dbe8fb:#dbe8fb; --c-dbe9fa:#dbe9fa; --c-dceafa:#dceafa; --c-dde5ec:#dde5ec;
  --c-dde6ef:#dde6ef; --c-dde8f4:#dde8f4; --c-dde9f7:#dde9f7; --c-dfe6ee:#dfe6ee; --c-dfe7ef:#dfe7ef; --c-e04f4f:#e04f4f;
  --c-e06a63:#e06a63; --c-e0b678:#e0b678; --c-e0cffc:#e0cffc; --c-e0e9f3:#e0eaee; --c-e1e7ee:#e1e7ee; --c-e2b13c:#e2b13c;
  --c-e2e8ef:#e2e8ef; --c-e2ebf5:#e2ebf5; --c-e2edfa:#e2edfa; --c-e2eefc:#e6eef2; --c-e3e7ec:#e3e7ec; --c-e3e9f0:#e3e9f0;
  --c-e3eaf1:#e3eaf1; --c-e4e9ef:#e4e9ef; --c-e6a23c:#e6a23c; --c-e6b0b0:#e6b0b0; --c-e6b8b8:#e6b8b8; --c-e6ecf2:#e6ecf2;
  --c-e6f5ec:#e6f5ec; --c-e6f6ef:#e6f6ef; --c-e7ecf2:#e7ecf2; --c-e7eef7:#e7eef7; --c-e8cf92:#e8cf92; --c-e8eef6:#e8eef6;
  --c-e8eff8:#e8eff3; --c-e8f0fa:#e8f0fa; --c-e8f1fb:#e8f1fb; --c-e8f6ee:#e8f6ee; --c-e9eff6:#e9eff6; --c-e9f1f9:#e9f1f9;
  --c-e9f2fb:#e9f2fb; --c-e9f2fc:#e9f2fc; --c-eaf1fb:#eaf1fb; --c-eaf2fb:#eaf2fb; --c-eaf7ef:#eaf7ef; --c-edf4fb:#eff4f6;
  --c-eec3c3:#eec3c3; --c-eef1f5:#eef1f5; --c-eef2f6:#eef2f6; --c-eef2f7:#edf3f5; --c-eef2f8:#eef2f8; --c-eef3f9:#eef3f9;
  --c-eef4fb:#eef4fb; --c-eef8f1:#eef8f1; --c-eef8f3:#eef8f3; --c-f0b8b4:#f0b8b4; --c-f0c987:#f0c987; --c-f0cccc:#f0cccc;
  --c-f0d6d4:#f0d6d4; --c-f0d6d6:#f0d6d6; --c-f0d9ae:#f0d9ae; --c-f0dca8:#f0dca8; --c-f0dcb0:#f0dcb0; --c-f0dcb4:#f0dcb4;
  --c-f0dfae:#f0dfae; --c-f0f4f8:#f0f4f8; --c-f1f3f6:#f1f3f6; --c-f1f4f7:#f1f4f7; --c-f1f5f9:#f1f5f9; --c-f2c6c6:#f2c6c6;
  --c-f2f4f7:#f2f4f7; --c-f2f5f8:#f2f5f8; --c-f2f5f9:#f2f5f9; --c-f2f6fb:#f2f6f8; --c-f2f7fc:#f2f7fc; --c-f2f7fd:#f2f7fd;
  --c-f2f8ff:#f2f8ff; --c-f2fbf6:#f2fbf6; --c-f2fbf7:#f2fbf7; --c-f3e6c8:#f3e6c8; --c-f3e8ff:#f3e8ff; --c-f3f7f5:#f3f7f5;
  --c-f4f7fa:#f4f7fa; --c-f4f7fb:#f4f7fb; --c-f4f9ff:#f4f9ff; --c-f5c6c1:#f5c6c1; --c-f5ecf7:#f5ecf7; --c-f5f9fe:#f5f9fe;
  --c-f6f8fa:#f6f8fa; --c-f6f8fb:#f6f8fb; --c-f6f9fd:#f6f9fd; --c-f6faff:#f6faff; --c-f7f9fb:#f7f9fb; --c-f7f9fc:#f7f9fc;
  --c-f7fafd:#f8fafb; --c-f7faff:#f7faff; --c-f7fbff:#f7fbff; --c-f8dede:#f8dede; --c-f8fafc:#f8fafc; --c-faecec:#faecec;
  --c-fafbfd:#fafbfd; --c-fafcfe:#fafcfe; --c-fbd9d7:#fbd9d7; --c-fbdada:#fbdada; --c-fbe8cd:#fbe8cd; --c-fbfcfe:#fbfcfe;
  --c-fbfdff:#fbfdff; --c-fcfdfe:#fcfdfe; --c-fcfdff:#fcfdff; --c-fdeaea:#fbe3e3; --c-fdeceb:#fdeceb; --c-fdecec:#fdecec;
  --c-fdeded:#fdeded; --c-fdeeee:#fdeeee; --c-fdf0c8:#fdf0c8; --c-fdf2f2:#fdf2f2; --c-fdf3d7:#fdf3d7; --c-fdf3e2:#fdf3e2;
  --c-fdf3f3:#fdf3f3; --c-fdf5f5:#fdf5f5; --c-fdf6e8:#fdf6e8; --c-fdf6f6:#fdf6f6; --c-fdf7f7:#fdf7f7; --c-fdf9f0:#fdf9f0;
  --c-ffe9c9:#ffe9c9; --c-fff3cd:#fff3cd; --c-fff3d9:#fff3d9; --c-fff4e0:#fff4e0; --c-fff5e0:#fff5e0; --c-fff6f6:#fff6f6;
  --c-fff7e6:#fff7e6; --c-fff8e4:#fff8e4; --c-fff8e6:#fff8e6; --c-fffaf0:#fffaf0; --c-fffaf2:#fffaf2; --c-fffbf2:#fffbf2;
  --c-fffdf5:#fffdf5; --c-fffdf7:#fffdf7; --c-ffffff:#ffffff;
}
:root[data-skin='wb-glacier'] .hd{background:var(--brand) url('/static/skin_glacier_tile.png') repeat}
:root[data-skin='wb-glacier'] .hd .logo::before{width:22px;height:22px;vertical-align:-6px}
:root[data-skin='wb-glacier'] .empty:not(td)::before{border:0;border-radius:0;background:var(--skin-art) center/contain no-repeat;width:44px;height:44px;opacity:.5}

/* ── ⑧-皮肤 · 橘橙 ─────────────────────────────────────
   真值来源：v4.49b 重设计（2026-10-19 用户令「用你的视觉模型重新设计」，
     画布加深加饱和 + --band 带面槽 + 暖色簇拉开档位，WCAG AA 扫描守底线）
   只覆盖颜色（语义槽 + 灰阶 + 色阶），圆角 / 间距 / 字阶一个字不改。
   ⚠ 本段由 tmp/_skin_gen.py 生成，改这里不如改配置再重跑。 */
:root[data-skin="wb-orange"]{
  --brand:#b34700; --brand2:#c14e00; --line:#eadfd6; --bg:#fdf7f2; --ink:#33291f; --mut:#7d6f61; --chip:#f6efe9;
  --srf:#ffffff; --srf-2:#fdf7f2; --link:#c14e00; --focus:#c14e00;
  --hover:#fdeede; --sel:#fbdec4; --dis-bg:#f2ece6; --dis-ink:#a89e94;
  --sh-ring:0 0 0 3px rgba(193,78,0,.20);
  --sh-pop:0 8px 26px rgba(67,27,0,.16); --sh-menu:0 10px 30px rgba(67,27,0,.20); --sh-drag:0 4px 16px rgba(67,27,0,.28);
  --skin-wall:linear-gradient(160deg,#f7c99a 0%,#e89a58 55%,#c16a1e 100%); --skin-wall-op:1; --skin-wall-tint:rgba(253,247,240,.50);
  --g-50:#f7f9fc; --g-100:#eef2f7; --g-200:#dde3ea; --g-300:#c2d2e3; --g-400:#9fb0c2; --g-500:#7d8fa2; --g-600:#6b7785; --g-700:#42505f; --g-800:#1c2530;
  --bd-50:#F6F8FA; --bd-100:#EBF0F4; --bd-200:#D4DFEC; --bd-300:#AFC9E4; --bd-400:#7AABE0; --bd-500:#3E8CE0;
  --bd-600:#1C70CA; --bd-700:#1C5796; --bd-900:#183B61; --nt-50:#FAFBFC; --nt-100:#F4F7F9; --nt-200:#EAEFF3;
  --nt-300:#D8E0E7; --nt-400:#BCC8D2; --nt-500:#95A6B4; --nt-600:#6D8295; --nt-700:#4B5965; --nt-900:#2D3741;
  --c-003070:#003070; --c-0086f6:#0086f6; --c-00bebd:#00bebd; --c-0b5c9a:#0b5c9a; --c-10603f:#10603f; --c-111111:#111111;
  --c-112244:#112244; --c-12456b:#12456b; --c-153a5b:#153a5b; --c-1a7f45:#1a7f45; --c-1d9e75:#1d9e75; --c-1f2a37:#1f2a37;
  --c-1f3a55:#3d3732; --c-1f4e79:#1f4e79; --c-1f6b3a:#1f6b3a; --c-1f6f8b:#1f6f8b; --c-22303f:#22303f; --c-2b3b52:#2b3b52;
  --c-2b5f8f:#2b5f8f; --c-2c3e50:#2c3e50; --c-2e7d4f:#2e7d4f; --c-2f5496:#2f5496; --c-2f5d8f:#2f5d8f; --c-2f6fd6:#2f6fd6;
  --c-2f7d55:#2f7d55; --c-33475c:#33475c; --c-3b82f6:#3b82f6; --c-3ba5d3:#3ba5d3; --c-3d5573:#3d5573; --c-3d5670:#3d5670;
  --c-3f5f86:#3f5f86; --c-42505f:#564e47; --c-48586a:#48586a; --c-4a6b8a:#4a6b8a; --c-4fa87a:#4fa87a; --c-5a6a7d:#5a6a7d;
  --c-5a6b7d:#5a6b7d; --c-5b6572:#5b6572; --c-5b6b7c:#5b6b7c; --c-5c4a12:#5c4a12; --c-5f7b99:#5f7b99; --c-64778c:#64778c;
  --c-6b21a8:#6b21a8; --c-6b4e00:#6b4e00; --c-6b7787:#6b7787; --c-6b7a8c:#6b7a8c; --c-6b7c8d:#647383; --c-7a4200:#7a4200;
  --c-7a5200:#7a5200; --c-7a5310:#7a5310; --c-7a5a12:#7a5a12; --c-7a8798:#7a8798; --c-7aa7d4:#7aa7d4; --c-7b8794:#7b8794;
  --c-7b8a99:#667484; --c-7b8b9c:#5d6d7d; --c-7d2222:#7d2222; --c-7d4a8c:#7d4a8c; --c-7d8b99:#7d8b99; --c-7d8fa2:#5e7084;
  --c-854f0b:#854f0b; --c-8798a8:#5f7082; --c-882244:#882244; --c-8a2b2b:#8a2b2b; --c-8a4b00:#8a4b00; --c-8a4b4b:#8a4b4b;
  --c-8a5a00:#8a5a00; --c-8a5a12:#8a5a12; --c-8a6100:#8a6100; --c-8a6a12:#8a6a12; --c-8a6d1a:#8a6d1a; --c-8a6d1f:#8a6d1f;
  --c-8a93a3:#8a93a3; --c-8a97a4:#8a97a4; --c-8a97a5:#8a97a5; --c-8b97a4:#8b97a4; --c-8c2020:#8c2020; --c-8c2f22:#8c2f22;
  --c-8d97a3:#8d97a3; --c-8f1b15:#8f1b15; --c-8f2020:#8f2020; --c-8fa3b8:#566e88; --c-8fa6bd:#8fa6bd; --c-93a0b0:#637388;
  --c-93a6b8:#93a6b8; --c-9aa8b6:#9aa8b6; --c-9aabbb:#9aabbb; --c-9db1c4:#c4ab97; --c-9dbde4:#9dbde4; --c-9fb0c2:#b6ada5;
  --c-9fb0c6:#9fb0c6; --c-9fd0f5:#9fd0f5; --c-a05a00:#a05a00; --c-a05a5a:#a05a5a; --c-a32d2d:#a32d2d; --c-a3c6ec:#d2bfb0;
  --c-a8302a:#a8302a; --c-a8b4c2:#a8b4c2; --c-a9b4bf:#b9b1aa; --c-a9bac9:#a9bac9; --c-aa3333:#aa3333; --c-aab6c3:#aab6c3;
  --c-aec6dd:#d3c0b1; --c-b09a5f:#b09a5f; --c-b3261e:#b3261e; --c-b3bcc7:#b3bcc7; --c-b46565:#b46565; --c-b7d1ea:#b7d1ea;
  --c-b7e2ce:#b7e2ce; --c-b8860b:#8a6208; --c-b8e0c8:#b8e0c8; --c-b9701d:#b9701d; --c-b9c1cd:#b9c1cd; --c-b9c4d0:#b9c4d0;
  --c-b9cce2:#b9cce2; --c-ba7517:#ba7517; --c-bbbbbb:#bbbbbb; --c-bcd3ee:#bcd3ee; --c-bdd6f0:#dfd1c6; --c-c0392b:#c0392b;
  --c-c2c8d0:#c2c8d0; --c-c2cdda:#c2cdda; --c-c2d2e3:#c2d2e3; --c-c3ccd6:#c3ccd6; --c-c3ccd8:#c3ccd8; --c-c3d2e3:#c3d2e3;
  --c-c3d3e4:#decfc3; --c-c3e3d1:#c3e3d1; --c-c6d3e3:#decfc4; --c-c6dbf1:#c6dbf1; --c-c6e2d2:#c6e2d2; --c-c8d1db:#c8d1db;
  --c-c8d4e0:#c8d4e0; --c-c8dbef:#e4d6cc; --c-c9a227:#c9a227; --c-c9d4e0:#dfd0c6; --c-c9d8ea:#c9d8ea; --c-cbdcef:#cbdcef;
  --c-ccd3dc:#ccd3dc; --c-cddcec:#cddcec; --c-cfd9e4:#cfd9e4; --c-cfdbe8:#cfdbe8; --c-cfe0f2:#cfe0f2; --c-cfe1f5:#cfe1f5;
  --c-cfe2f9:#e9ded6; --c-d2d8df:#d2d8df; --c-d3e2f2:#e9ded6; --c-d4af37:#d4af37; --c-d5e0eb:#d5e0eb; --c-d6dce4:#d6dce4;
  --c-d6e3f2:#d6e3f2; --c-d7e1ec:#d7e1ec; --c-d7e7f7:#d7e7f7; --c-d8c489:#d8c489; --c-d8dee6:#d8dee6; --c-d8ecff:#d8ecff;
  --c-d9822b:#d9822b; --c-d9b45a:#d9b45a; --c-dbe3ea:#dbe3ea; --c-dbe3ec:#eae0d9; --c-dbe4ee:#dbe4ee; --c-dbe6f2:#ece4dd;
  --c-dbe7f6:#dbe7f6; --c-dbe8f6:#dbe8f6; --c-dbe8fb:#dbe8fb; --c-dbe9fa:#dbe9fa; --c-dceafa:#dceafa; --c-dde5ec:#dde5ec;
  --c-dde6ef:#dde6ef; --c-dde8f4:#dde8f4; --c-dde9f7:#dde9f7; --c-dfe6ee:#dfe6ee; --c-dfe7ef:#dfe7ef; --c-e04f4f:#e04f4f;
  --c-e06a63:#e06a63; --c-e0b678:#e0b678; --c-e0cffc:#e0cffc; --c-e0e9f3:#efe7e0; --c-e1e7ee:#e1e7ee; --c-e2b13c:#e2b13c;
  --c-e2e8ef:#e2e8ef; --c-e2ebf5:#e2ebf5; --c-e2edfa:#e2edfa; --c-e2eefc:#f2ebe6; --c-e3e7ec:#e3e7ec; --c-e3e9f0:#e3e9f0;
  --c-e3eaf1:#e3eaf1; --c-e4e9ef:#e4e9ef; --c-e6a23c:#e6a23c; --c-e6b0b0:#e6b0b0; --c-e6b8b8:#e6b8b8; --c-e6ecf2:#e6ecf2;
  --c-e6f5ec:#e6f5ec; --c-e6f6ef:#e6f6ef; --c-e7ecf2:#e7ecf2; --c-e7eef7:#e7eef7; --c-e8cf92:#e8cf92; --c-e8eef6:#e8eef6;
  --c-e8eff8:#f3ede9; --c-e8f0fa:#e8f0fa; --c-e8f1fb:#e8f1fb; --c-e8f6ee:#e8f6ee; --c-e9eff6:#e9eff6; --c-e9f1f9:#e9f1f9;
  --c-e9f2fb:#e9f2fb; --c-e9f2fc:#e9f2fc; --c-eaf1fb:#eaf1fb; --c-eaf2fb:#eaf2fb; --c-eaf7ef:#eaf7ef; --c-edf4fb:#f6f2f0;
  --c-eec3c3:#eec3c3; --c-eef1f5:#eef1f5; --c-eef2f6:#eef2f6; --c-eef2f7:#f5f1ed; --c-eef2f8:#eef2f8; --c-eef3f9:#eef3f9;
  --c-eef4fb:#eef4fb; --c-eef8f1:#eef8f1; --c-eef8f3:#eef8f3; --c-f0b8b4:#f0b8b4; --c-f0c987:#f0c987; --c-f0cccc:#f0cccc;
  --c-f0d6d4:#f0d6d4; --c-f0d6d6:#f0d6d6; --c-f0d9ae:#f0d9ae; --c-f0dca8:#f0dca8; --c-f0dcb0:#f0dcb0; --c-f0dcb4:#f0dcb4;
  --c-f0dfae:#f0dfae; --c-f0f4f8:#f0f4f8; --c-f1f3f6:#f1f3f6; --c-f1f4f7:#f1f4f7; --c-f1f5f9:#f1f5f9; --c-f2c6c6:#f2c6c6;
  --c-f2f4f7:#f2f4f7; --c-f2f5f8:#f2f5f8; --c-f2f5f9:#f2f5f9; --c-f2f6fb:#f8f5f2; --c-f2f7fc:#f2f7fc; --c-f2f7fd:#f2f7fd;
  --c-f2f8ff:#f2f8ff; --c-f2fbf6:#f2fbf6; --c-f2fbf7:#f2fbf7; --c-f3e6c8:#f3e6c8; --c-f3e8ff:#f3e8ff; --c-f3f7f5:#f3f7f5;
  --c-f4f7fa:#f4f7fa; --c-f4f7fb:#f4f7fb; --c-f4f9ff:#f4f9ff; --c-f5c6c1:#f5c6c1; --c-f5ecf7:#f5ecf7; --c-f5f9fe:#f5f9fe;
  --c-f6f8fa:#f6f8fa; --c-f6f8fb:#f6f8fb; --c-f6f9fd:#f6f9fd; --c-f6faff:#f6faff; --c-f7f9fb:#f7f9fb; --c-f7f9fc:#f7f9fc;
  --c-f7fafd:#fbf9f8; --c-f7faff:#f7faff; --c-f7fbff:#f7fbff; --c-f8dede:#f8dede; --c-f8fafc:#f8fafc; --c-faecec:#faecec;
  --c-fafbfd:#fafbfd; --c-fafcfe:#fafcfe; --c-fbd9d7:#fbd9d7; --c-fbdada:#fbdada; --c-fbe8cd:#fbe8cd; --c-fbfcfe:#fbfcfe;
  --c-fbfdff:#fbfdff; --c-fcfdfe:#fcfdfe; --c-fcfdff:#fcfdff; --c-fdeaea:#fbe3e3; --c-fdeceb:#fdeceb; --c-fdecec:#fdecec;
  --c-fdeded:#fdeded; --c-fdeeee:#fdeeee; --c-fdf0c8:#fdf0c8; --c-fdf2f2:#fdf2f2; --c-fdf3d7:#fdf3d7; --c-fdf3e2:#fdf3e2;
  --c-fdf3f3:#fdf3f3; --c-fdf5f5:#fdf5f5; --c-fdf6e8:#fdf6e8; --c-fdf6f6:#fdf6f6; --c-fdf7f7:#fdf7f7; --c-fdf9f0:#fdf9f0;
  --c-ffe9c9:#ffe9c9; --c-fff3cd:#fff3cd; --c-fff3d9:#fff3d9; --c-fff4e0:#fff4e0; --c-fff5e0:#fff5e0; --c-fff6f6:#fff6f6;
  --c-fff7e6:#fff7e6; --c-fff8e4:#fff8e4; --c-fff8e6:#fff8e6; --c-fffaf0:#fffaf0; --c-fffaf2:#fffaf2; --c-fffbf2:#fffbf2;
  --c-fffdf5:#fffdf5; --c-fffdf7:#fffdf7; --c-ffffff:#ffffff;
}

/* ── ⑧-皮肤 · 鹅黄 ─────────────────────────────────────
   真值来源：v4.49b 重设计（2026-10-19 用户令「用你的视觉模型重新设计」，
     画布加深加饱和 + --band 带面槽 + 暖色簇拉开档位，WCAG AA 扫描守底线）
   只覆盖颜色（语义槽 + 灰阶 + 色阶），圆角 / 间距 / 字阶一个字不改。
   ⚠ 本段由 tmp/_skin_gen.py 生成，改这里不如改配置再重跑。 */
:root[data-skin="wb-yellow"]{
  --brand:#8a6d05; --brand2:#8f7205; --line:#e8e2cd; --bg:#fdfaf0; --ink:#332f1d; --mut:#756e53; --chip:#f5f1e2;
  --srf:#ffffff; --srf-2:#fdfaf0; --link:#8f7205; --focus:#8f7205;
  --hover:#faf2d8; --sel:#f5e6b4; --dis-bg:#f1eee2; --dis-ink:#aaa48e;
  --sh-ring:0 0 0 3px rgba(143,114,5,.20);
  --sh-pop:0 8px 26px rgba(47,38,2,.16); --sh-menu:0 10px 30px rgba(47,38,2,.20); --sh-drag:0 4px 16px rgba(47,38,2,.28);
  --skin-wall:linear-gradient(160deg,#f3e2a0 0%,#e3c465 55%,#b99a2e 100%); --skin-wall-op:1; --skin-wall-tint:rgba(253,250,238,.50);
  --g-50:#f7f9fc; --g-100:#eef2f7; --g-200:#dde3ea; --g-300:#c2d2e3; --g-400:#9fb0c2; --g-500:#7d8fa2; --g-600:#6b7785; --g-700:#42505f; --g-800:#1c2530;
  --bd-50:#F6F8FA; --bd-100:#EBF0F4; --bd-200:#D4DFEC; --bd-300:#AFC9E4; --bd-400:#7AABE0; --bd-500:#3E8CE0;
  --bd-600:#1C70CA; --bd-700:#1C5796; --bd-900:#183B61; --nt-50:#FAFBFC; --nt-100:#F4F7F9; --nt-200:#EAEFF3;
  --nt-300:#D8E0E7; --nt-400:#BCC8D2; --nt-500:#95A6B4; --nt-600:#6D8295; --nt-700:#4B5965; --nt-900:#2D3741;
  --c-003070:#003070; --c-0086f6:#0086f6; --c-00bebd:#00bebd; --c-0b5c9a:#0b5c9a; --c-10603f:#10603f; --c-111111:#111111;
  --c-112244:#112244; --c-12456b:#12456b; --c-153a5b:#153a5b; --c-1a7f45:#1a7f45; --c-1d9e75:#1d9e75; --c-1f2a37:#1f2a37;
  --c-1f3a55:#3a3831; --c-1f4e79:#1f4e79; --c-1f6b3a:#1f6b3a; --c-1f6f8b:#1f6f8b; --c-22303f:#22303f; --c-2b3b52:#2b3b52;
  --c-2b5f8f:#2b5f8f; --c-2c3e50:#2c3e50; --c-2e7d4f:#2e7d4f; --c-2f5496:#2f5496; --c-2f5d8f:#2f5d8f; --c-2f6fd6:#2f6fd6;
  --c-2f7d55:#2f7d55; --c-33475c:#33475c; --c-3b82f6:#3b82f6; --c-3ba5d3:#3ba5d3; --c-3d5573:#3d5573; --c-3d5670:#3d5670;
  --c-3f5f86:#3f5f86; --c-42505f:#514f44; --c-48586a:#48586a; --c-4a6b8a:#4a6b8a; --c-4fa87a:#4fa87a; --c-5a6a7d:#5a6a7d;
  --c-5a6b7d:#5a6b7d; --c-5b6572:#5b6572; --c-5b6b7c:#5b6b7c; --c-5c4a12:#5c4a12; --c-5f7b99:#5f7b99; --c-64778c:#64778c;
  --c-6b21a8:#6b21a8; --c-6b4e00:#6b4e00; --c-6b7787:#6b7787; --c-6b7a8c:#6b7a8c; --c-6b7c8d:#647383; --c-7a4200:#7a4200;
  --c-7a5200:#7a5200; --c-7a5310:#7a5310; --c-7a5a12:#7a5a12; --c-7a8798:#7a8798; --c-7aa7d4:#7aa7d4; --c-7b8794:#7b8794;
  --c-7b8a99:#667484; --c-7b8b9c:#5d6d7d; --c-7d2222:#7d2222; --c-7d4a8c:#7d4a8c; --c-7d8b99:#7d8b99; --c-7d8fa2:#5e7084;
  --c-854f0b:#854f0b; --c-8798a8:#5f7082; --c-882244:#882244; --c-8a2b2b:#8a2b2b; --c-8a4b00:#8a4b00; --c-8a4b4b:#8a4b4b;
  --c-8a5a00:#8a5a00; --c-8a5a12:#8a5a12; --c-8a6100:#8a6100; --c-8a6a12:#8a6a12; --c-8a6d1a:#8a6d1a; --c-8a6d1f:#8a6d1f;
  --c-8a93a3:#8a93a3; --c-8a97a4:#8a97a4; --c-8a97a5:#8a97a5; --c-8b97a4:#8b97a4; --c-8c2020:#8c2020; --c-8c2f22:#8c2f22;
  --c-8d97a3:#8d97a3; --c-8f1b15:#8f1b15; --c-8f2020:#8f2020; --c-8fa3b8:#566e88; --c-8fa6bd:#8fa6bd; --c-93a0b0:#637388;
  --c-93a6b8:#93a6b8; --c-9aa8b6:#9aa8b6; --c-9aabbb:#9aabbb; --c-9db1c4:#b9af8a; --c-9dbde4:#9dbde4; --c-9fb0c2:#b2afa3;
  --c-9fb0c6:#9fb0c6; --c-9fd0f5:#9fd0f5; --c-a05a00:#a05a00; --c-a05a5a:#a05a5a; --c-a32d2d:#a32d2d; --c-a3c6ec:#cac2a7;
  --c-a8302a:#a8302a; --c-a8b4c2:#a8b4c2; --c-a9b4bf:#b6b3a7; --c-a9bac9:#a9bac9; --c-aa3333:#aa3333; --c-aab6c3:#aab6c3;
  --c-aec6dd:#cbc3a8; --c-b09a5f:#b09a5f; --c-b3261e:#b3261e; --c-b3bcc7:#b3bcc7; --c-b46565:#b46565; --c-b7d1ea:#b7d1ea;
  --c-b7e2ce:#b7e2ce; --c-b8860b:#8a6208; --c-b8e0c8:#b8e0c8; --c-b9701d:#b9701d; --c-b9c1cd:#b9c1cd; --c-b9c4d0:#b9c4d0;
  --c-b9cce2:#b9cce2; --c-ba7517:#ba7517; --c-bbbbbb:#bbbbbb; --c-bcd3ee:#bcd3ee; --c-bdd6f0:#d9d3bf; --c-c0392b:#c0392b;
  --c-c2c8d0:#c2c8d0; --c-c2cdda:#c2cdda; --c-c2d2e3:#c2d2e3; --c-c3ccd6:#c3ccd6; --c-c3ccd8:#c3ccd8; --c-c3d2e3:#c3d2e3;
  --c-c3d3e4:#d7d2bc; --c-c3e3d1:#c3e3d1; --c-c6d3e3:#d7d1bd; --c-c6dbf1:#c6dbf1; --c-c6e2d2:#c6e2d2; --c-c8d1db:#c8d1db;
  --c-c8d4e0:#c8d4e0; --c-c8dbef:#ded9c5; --c-c9a227:#c9a227; --c-c9d4e0:#d8d3be; --c-c9d8ea:#c9d8ea; --c-cbdcef:#cbdcef;
  --c-ccd3dc:#ccd3dc; --c-cddcec:#cddcec; --c-cfd9e4:#cfd9e4; --c-cfdbe8:#cfdbe8; --c-cfe0f2:#cfe0f2; --c-cfe1f5:#cfe1f5;
  --c-cfe2f9:#e5e0d1; --c-d2d8df:#d2d8df; --c-d3e2f2:#e5e1d1; --c-d4af37:#d4af37; --c-d5e0eb:#d5e0eb; --c-d6dce4:#d6dce4;
  --c-d6e3f2:#d6e3f2; --c-d7e1ec:#d7e1ec; --c-d7e7f7:#d7e7f7; --c-d8c489:#d8c489; --c-d8dee6:#d8dee6; --c-d8ecff:#d8ecff;
  --c-d9822b:#d9822b; --c-d9b45a:#d9b45a; --c-dbe3ea:#dbe3ea; --c-dbe3ec:#e5e2d5; --c-dbe4ee:#dbe4ee; --c-dbe6f2:#e9e5d9;
  --c-dbe7f6:#dbe7f6; --c-dbe8f6:#dbe8f6; --c-dbe8fb:#dbe8fb; --c-dbe9fa:#dbe9fa; --c-dceafa:#dceafa; --c-dde5ec:#dde5ec;
  --c-dde6ef:#dde6ef; --c-dde8f4:#dde8f4; --c-dde9f7:#dde9f7; --c-dfe6ee:#dfe6ee; --c-dfe7ef:#dfe7ef; --c-e04f4f:#e04f4f;
  --c-e06a63:#e06a63; --c-e0b678:#e0b678; --c-e0cffc:#e0cffc; --c-e0e9f3:#ece8dd; --c-e1e7ee:#e1e7ee; --c-e2b13c:#e2b13c;
  --c-e2e8ef:#e2e8ef; --c-e2ebf5:#e2ebf5; --c-e2edfa:#e2edfa; --c-e2eefc:#efede3; --c-e3e7ec:#e3e7ec; --c-e3e9f0:#e3e9f0;
  --c-e3eaf1:#e3eaf1; --c-e4e9ef:#e4e9ef; --c-e6a23c:#e6a23c; --c-e6b0b0:#e6b0b0; --c-e6b8b8:#e6b8b8; --c-e6ecf2:#e6ecf2;
  --c-e6f5ec:#e6f5ec; --c-e6f6ef:#e6f6ef; --c-e7ecf2:#e7ecf2; --c-e7eef7:#e7eef7; --c-e8cf92:#e8cf92; --c-e8eef6:#e8eef6;
  --c-e8eff8:#f1eee6; --c-e8f0fa:#e8f0fa; --c-e8f1fb:#e8f1fb; --c-e8f6ee:#e8f6ee; --c-e9eff6:#e9eff6; --c-e9f1f9:#e9f1f9;
  --c-e9f2fb:#e9f2fb; --c-e9f2fc:#e9f2fc; --c-eaf1fb:#eaf1fb; --c-eaf2fb:#eaf2fb; --c-eaf7ef:#eaf7ef; --c-edf4fb:#f5f3ee;
  --c-eec3c3:#eec3c3; --c-eef1f5:#eef1f5; --c-eef2f6:#eef2f6; --c-eef2f7:#f3f2ea; --c-eef2f8:#eef2f8; --c-eef3f9:#eef3f9;
  --c-eef4fb:#eef4fb; --c-eef8f1:#eef8f1; --c-eef8f3:#eef8f3; --c-f0b8b4:#f0b8b4; --c-f0c987:#f0c987; --c-f0cccc:#f0cccc;
  --c-f0d6d4:#f0d6d4; --c-f0d6d6:#f0d6d6; --c-f0d9ae:#f0d9ae; --c-f0dca8:#f0dca8; --c-f0dcb0:#f0dcb0; --c-f0dcb4:#f0dcb4;
  --c-f0dfae:#f0dfae; --c-f0f4f8:#f0f4f8; --c-f1f3f6:#f1f3f6; --c-f1f4f7:#f1f4f7; --c-f1f5f9:#f1f5f9; --c-f2c6c6:#f2c6c6;
  --c-f2f4f7:#f2f4f7; --c-f2f5f8:#f2f5f8; --c-f2f5f9:#f2f5f9; --c-f2f6fb:#f7f5f1; --c-f2f7fc:#f2f7fc; --c-f2f7fd:#f2f7fd;
  --c-f2f8ff:#f2f8ff; --c-f2fbf6:#f2fbf6; --c-f2fbf7:#f2fbf7; --c-f3e6c8:#f3e6c8; --c-f3e8ff:#f3e8ff; --c-f3f7f5:#f3f7f5;
  --c-f4f7fa:#f4f7fa; --c-f4f7fb:#f4f7fb; --c-f4f9ff:#f4f9ff; --c-f5c6c1:#f5c6c1; --c-f5ecf7:#f5ecf7; --c-f5f9fe:#f5f9fe;
  --c-f6f8fa:#f6f8fa; --c-f6f8fb:#f6f8fb; --c-f6f9fd:#f6f9fd; --c-f6faff:#f6faff; --c-f7f9fb:#f7f9fb; --c-f7f9fc:#f7f9fc;
  --c-f7fafd:#faf9f7; --c-f7faff:#f7faff; --c-f7fbff:#f7fbff; --c-f8dede:#f8dede; --c-f8fafc:#f8fafc; --c-faecec:#faecec;
  --c-fafbfd:#fafbfd; --c-fafcfe:#fafcfe; --c-fbd9d7:#fbd9d7; --c-fbdada:#fbdada; --c-fbe8cd:#fbe8cd; --c-fbfcfe:#fbfcfe;
  --c-fbfdff:#fbfdff; --c-fcfdfe:#fcfdfe; --c-fcfdff:#fcfdff; --c-fdeaea:#fbe3e3; --c-fdeceb:#fdeceb; --c-fdecec:#fdecec;
  --c-fdeded:#fdeded; --c-fdeeee:#fdeeee; --c-fdf0c8:#fdf0c8; --c-fdf2f2:#fdf2f2; --c-fdf3d7:#fdf3d7; --c-fdf3e2:#fdf3e2;
  --c-fdf3f3:#fdf3f3; --c-fdf5f5:#fdf5f5; --c-fdf6e8:#fdf6e8; --c-fdf6f6:#fdf6f6; --c-fdf7f7:#fdf7f7; --c-fdf9f0:#fdf9f0;
  --c-ffe9c9:#ffe9c9; --c-fff3cd:#fff3cd; --c-fff3d9:#fff3d9; --c-fff4e0:#fff4e0; --c-fff5e0:#fff5e0; --c-fff6f6:#fff6f6;
  --c-fff7e6:#fff7e6; --c-fff8e4:#fff8e4; --c-fff8e6:#fff8e6; --c-fffaf0:#fffaf0; --c-fffaf2:#fffaf2; --c-fffbf2:#fffbf2;
  --c-fffdf5:#fffdf5; --c-fffdf7:#fffdf7; --c-ffffff:#ffffff;
}

/* ── ⑧-皮肤 · 春 ─────────────────────────────────────
   真值来源：v4.49b 重设计（2026-10-19 用户令「用你的视觉模型重新设计」，
     画布加深加饱和 + --band 带面槽 + 暖色簇拉开档位，WCAG AA 扫描守底线）
   只覆盖颜色（语义槽 + 灰阶 + 色阶），圆角 / 间距 / 字阶一个字不改。
   ⚠ 本段由 tmp/_skin_gen.py 生成，改这里不如改配置再重跑。 */
:root[data-skin="wb-spring"]{
  --brand:#4d7c0f; --brand2:#527f0e; --line:#dfe8d2; --bg:#efF5e4; --ink:#2a3319; --mut:#677154; --chip:#eff3e6;
  --srf:#ffffff; --srf-2:#efF5e4; --band:#f6faf0; --link:#527f0e; --focus:#527f0e;
  --hover:#edf5da; --sel:#dfeec0; --dis-bg:#eef2e6; --dis-ink:#a3ae93;
  --sh-ring:0 0 0 3px rgba(82,127,14,.20);
  --sh-pop:0 8px 26px rgba(28,43,5,.16); --sh-menu:0 10px 30px rgba(28,43,5,.20); --sh-drag:0 4px 16px rgba(28,43,5,.28);
  --skin-wall:url("/static/skin_spring_wall.jpg"); --skin-wall-op:1; --skin-wall-tint:rgba(248,251,238,.50);
  --skin-art:url("/static/skin_spring_art.png"); --skin-art-op:.92; --skin-art-w:18px;
  --hd-on:#3f4a1c;
  --dcb-n-bg:#f5f6f4; --dcb-n-fg:#646e53; --dcb-0-fg:#697458;
  --g-50:#f7f9fc; --g-100:#eef2f7; --g-200:#dde3ea; --g-300:#c2d2e3; --g-400:#9fb0c2; --g-500:#7d8fa2; --g-600:#6b7785; --g-700:#42505f; --g-800:#1c2530;
  --bd-50:#F6F8FA; --bd-100:#EBF0F4; --bd-200:#D4DFEC; --bd-300:#AFC9E4; --bd-400:#7AABE0; --bd-500:#3E8CE0;
  --bd-600:#1C70CA; --bd-700:#1C5796; --bd-900:#183B61; --nt-50:#fbfbfb; --nt-100:#f7f7f6; --nt-200:#efefee;
  --nt-300:#e0e1de; --nt-400:#c8cac4; --nt-500:#a6aa9f; --nt-600:#838979; --nt-700:#595d53; --nt-900:#383a34;
  --c-003070:#003070; --c-0086f6:#0086f6; --c-00bebd:#00bebd; --c-0b5c9a:#0b5c9a; --c-10603f:#10603f; --c-111111:#111111;
  --c-112244:#112244; --c-12456b:#12456b; --c-153a5b:#153a5b; --c-1a7f45:#1a7f45; --c-1d9e75:#1d9e75; --c-1f2a37:#1f2a37;
  --c-1f3a55:#343a30; --c-1f4e79:#1f4e79; --c-1f6b3a:#1f6b3a; --c-1f6f8b:#1f6f8b; --c-22303f:#22303f; --c-2b3b52:#2b3b52;
  --c-2b5f8f:#2b5f8f; --c-2c3e50:#2c3e50; --c-2e7d4f:#2e7d4f; --c-2f5496:#2f5496; --c-2f5d8f:#2f5d8f; --c-2f6fd6:#2f6fd6;
  --c-2f7d55:#2f7d55; --c-33475c:#33475c; --c-3b82f6:#3b82f6; --c-3ba5d3:#3ba5d3; --c-3d5573:#3d5573; --c-3d5670:#3d5670;
  --c-3f5f86:#3f5f86; --c-42505f:#4a5243; --c-48586a:#48586a; --c-4a6b8a:#4a6b8a; --c-4fa87a:#4fa87a; --c-5a6a7d:#5a6a7d;
  --c-5a6b7d:#5a6b7d; --c-5b6572:#5b6572; --c-5b6b7c:#5b6b7c; --c-5c4a12:#5c4a12; --c-5f7b99:#5f7b99; --c-64778c:#64778c;
  --c-6b21a8:#6b21a8; --c-6b4e00:#6b4e00; --c-6b7787:#6b7787; --c-6b7a8c:#6b7a8c; --c-6b7c8d:#647383; --c-7a4200:#7a4200;
  --c-7a5200:#7a5200; --c-7a5310:#7a5310; --c-7a5a12:#7a5a12; --c-7a8798:#7a8798; --c-7aa7d4:#7aa7d4; --c-7b8794:#7b8794;
  --c-7b8a99:#667484; --c-7b8b9c:#5d6d7d; --c-7d2222:#7d2222; --c-7d4a8c:#7d4a8c; --c-7d8b99:#7d8b99; --c-7d8fa2:#5e7084;
  --c-854f0b:#854f0b; --c-8798a8:#5f7082; --c-882244:#882244; --c-8a2b2b:#8a2b2b; --c-8a4b00:#8a4b00; --c-8a4b4b:#8a4b4b;
  --c-8a5a00:#8a5a00; --c-8a5a12:#8a5a12; --c-8a6100:#8a6100; --c-8a6a12:#8a6a12; --c-8a6d1a:#8a6d1a; --c-8a6d1f:#8a6d1f;
  --c-8a93a3:#8a93a3; --c-8a97a4:#8a97a4; --c-8a97a5:#8a97a5; --c-8b97a4:#8b97a4; --c-8c2020:#8c2020; --c-8c2f22:#8c2f22;
  --c-8d97a3:#8d97a3; --c-8f1b15:#8f1b15; --c-8f2020:#8f2020; --c-8fa3b8:#566e88; --c-8fa6bd:#8fa6bd; --c-93a0b0:#637388;
  --c-93a6b8:#93a6b8; --c-9aa8b6:#9aa8b6; --c-9aabbb:#9aabbb; --c-9db1c4:#9ab881; --c-9dbde4:#9dbde4; --c-9fb0c2:#a8b1a0;
  --c-9fb0c6:#9fb0c6; --c-9fd0f5:#cfe1b3; --c-a05a00:#a05a00; --c-a05a5a:#a05a5a; --c-a32d2d:#a32d2d; --c-a3c6ec:#cce0af;
  --c-a8302a:#a8302a; --c-a8b4c2:#a8b4c2; --c-a9b4bf:#adb6a5; --c-a9bac9:#a9bac9; --c-aa3333:#aa3333; --c-aab6c3:#aab6c3;
  --c-aec6dd:#b5caa1; --c-b09a5f:#b09a5f; --c-b3261e:#b3261e; --c-b3bcc7:#b3bcc7; --c-b46565:#b46565; --c-b7d1ea:#d5e5bc;
  --c-b7e2ce:#b7e2ce; --c-b8860b:#8a6208; --c-b8e0c8:#b8e0c8; --c-b9701d:#b9701d; --c-b9c1cd:#b9c1cd; --c-b9c4d0:#b9c4d0;
  --c-b9cce2:#d2e2b9; --c-ba7517:#ba7517; --c-bbbbbb:#bbbbbb; --c-bcd3ee:#d9e7c3; --c-bdd6f0:#dae8c5; --c-c0392b:#c0392b;
  --c-c2c8d0:#cad0c2; --c-c2cdda:#d0dac2; --c-c2d2e3:#d6e3c2; --c-c3ccd6:#ced6c3; --c-c3ccd8:#d0d8c3; --c-c3d2e3:#d6e3c3;
  --c-c3d3e4:#d7e4c3; --c-c3e3d1:#c3e3d1; --c-c6d3e3:#d7e3c6; --c-c6dbf1:#dfebcc; --c-c6e2d2:#c6e2d2; --c-c8d1db:#d3dbc8;
  --c-c8d4e0:#d6e0c8; --c-c8dbef:#dfebcc; --c-c9a227:#c9a227; --c-c9d4e0:#d7e0c9; --c-c9d8ea:#ddeac9; --c-cbdcef:#e0ecce;
  --c-ccd3dc:#d6dccc; --c-cddcec:#e0eccd; --c-cfd9e4:#dce4cf; --c-cfdbe8:#dee8cf; --c-cfe0f2:#e3eed3; --c-cfe1f5:#e5efd5;
  --c-cfe2f9:#e6f0d8; --c-d2d8df:#dadfd2; --c-d3e2f2:#e5efd6; --c-d4af37:#d4af37; --c-d5e0eb:#e2ebd5; --c-d6dce4:#dee4d6;
  --c-d6e3f2:#e6f0d8; --c-d7e1ec:#e4ecd7; --c-d7e7f7:#e9f2dc; --c-d8c489:#d8c489; --c-d8dee6:#e0e6d8; --c-d8ecff:#edf4e3;
  --c-d9822b:#d9822b; --c-d9b45a:#d9b45a; --c-dbe3ea:#e4eadb; --c-dbe3ec:#e5ecdb; --c-dbe4ee:#e6eedb; --c-dbe6f2:#e9f1dc;
  --c-dbe7f6:#ebf2df; --c-dbe8f6:#ebf2df; --c-dbe8fb:#edf4e2; --c-dbe9fa:#ecf4e1; --c-dceafa:#edf4e2; --c-dde5ec:#e6ecdd;
  --c-dde6ef:#e8efdd; --c-dde8f4:#ebf2df; --c-dde9f7:#ecf3e1; --c-dfe6ee:#e8eedf; --c-dfe7ef:#e9efdf; --c-e04f4f:#e04f4f;
  --c-e06a63:#e06a63; --c-e0b678:#e0b678; --c-e0cffc:#e0cffc; --c-e0e9f3:#ebf3e0; --c-e1e7ee:#e9eee1; --c-e2b13c:#e2b13c;
  --c-e2e8ef:#eaefe2; --c-e2ebf5:#edf4e3; --c-e2edfa:#f0f5e7; --c-e2eefc:#f0f6e8; --c-e3e7ec:#e8ece3; --c-e3e9f0:#ebf0e3;
  --c-e3eaf1:#ebf1e3; --c-e4e9ef:#ebefe4; --c-e6a23c:#e6a23c; --c-e6b0b0:#e6b0b0; --c-e6b8b8:#e6b8b8; --c-e6ecf2:#edf2e6;
  --c-e6f5ec:#e6f5ec; --c-e6f6ef:#e6f6ef; --c-e7ecf2:#eef2e7; --c-e7eef7:#f0f6e8; --c-e8cf92:#e8cf92; --c-e8eef6:#f0f6e8;
  --c-e8eff8:#f1f7e9; --c-e8f0fa:#f2f7eb; --c-e8f1fb:#f3f7ec; --c-e8f6ee:#e8f6ee; --c-e9eff6:#f1f6e9; --c-e9f1f9:#f2f7eb;
  --c-e9f2fb:#f3f8ec; --c-e9f2fc:#f4f8ed; --c-eaf1fb:#f4f8ed; --c-eaf2fb:#f4f8ed; --c-eaf7ef:#eaf7ef; --c-edf4fb:#f5f9ef;
  --c-eec3c3:#eec3c3; --c-eef1f5:#f2f5ee; --c-eef2f6:#f3f6ee; --c-eef2f7:#f3f7ee; --c-eef2f8:#f4f8ee; --c-eef3f9:#f5f9ee;
  --c-eef4fb:#f5f9f0; --c-eef8f1:#eef8f1; --c-eef8f3:#eef8f3; --c-f0b8b4:#f0b8b4; --c-f0c987:#f0c987; --c-f0cccc:#f0cccc;
  --c-f0d6d4:#f0d6d4; --c-f0d6d6:#f0d6d6; --c-f0d9ae:#f0d9ae; --c-f0dca8:#f0dca8; --c-f0dcb0:#f0dcb0; --c-f0dcb4:#f0dcb4;
  --c-f0dfae:#f0dfae; --c-f0f4f8:#f5f8f0; --c-f1f3f6:#f4f6f1; --c-f1f4f7:#f5f7f1; --c-f1f5f9:#f6f9f1; --c-f2c6c6:#f2c6c6;
  --c-f2f4f7:#f5f7f2; --c-f2f5f8:#f6f8f2; --c-f2f5f9:#f6f9f2; --c-f2f6fb:#f7faf2; --c-f2f7fc:#f7faf2; --c-f2f7fd:#f7faf2;
  --c-f2f8ff:#f7faf2; --c-f2fbf6:#f2fbf6; --c-f2fbf7:#f2fbf7; --c-f3e6c8:#f3e6c8; --c-f3e8ff:#f3e8ff; --c-f3f7f5:#f3f7f5;
  --c-f4f7fa:#f7f9f3; --c-f4f7fb:#f7faf2; --c-f4f9ff:#f7faf2; --c-f5c6c1:#f5c6c1; --c-f5ecf7:#f5ecf7; --c-f5f9fe:#f7faf2;
  --c-f6f8fa:#f7f9f4; --c-f6f8fb:#f7faf3; --c-f6f9fd:#f7faf2; --c-f6faff:#f7faf2; --c-f7f9fb:#f7f9f3; --c-f7f9fc:#f7faf2;
  --c-f7fafd:#f7faf2; --c-f7faff:#f7faf2; --c-f7fbff:#f7faf2; --c-f8dede:#f8dede; --c-f8fafc:#f7faf3; --c-faecec:#faecec;
  --c-fafbfd:#f7faf2; --c-fafcfe:#f7faf2; --c-fbd9d7:#fbd9d7; --c-fbdada:#fbdada; --c-fbe8cd:#fbe8cd; --c-fbfcfe:#f7faf2;
  --c-fbfdff:#f7faf2; --c-fcfdfe:#f7faf2; --c-fcfdff:#f7faf2; --c-fdeaea:#fbe3e3; --c-fdeceb:#fdeceb; --c-fdecec:#fdecec;
  --c-fdeded:#fdeded; --c-fdeeee:#fdeeee; --c-fdf0c8:#fdf0c8; --c-fdf2f2:#fdf2f2; --c-fdf3d7:#fdf3d7; --c-fdf3e2:#fdf3e2;
  --c-fdf3f3:#fdf3f3; --c-fdf5f5:#fdf5f5; --c-fdf6e8:#fdf6e8; --c-fdf6f6:#fdf6f6; --c-fdf7f7:#fdf7f7; --c-fdf9f0:#fdf9f0;
  --c-ffe9c9:#ffe9c9; --c-fff3cd:#fff3cd; --c-fff3d9:#fff3d9; --c-fff4e0:#fff4e0; --c-fff5e0:#fff5e0; --c-fff6f6:#fff6f6;
  --c-fff7e6:#fff7e6; --c-fff8e4:#fff8e4; --c-fff8e6:#fff8e6; --c-fffaf0:#fffaf0; --c-fffaf2:#fffaf2; --c-fffbf2:#fffbf2;
  --c-fffdf5:#fffdf5; --c-fffdf7:#fffdf7; --c-ffffff:#ffffff;
}
:root[data-skin='wb-spring'] .hd{background:var(--band) url('/static/skin_spring_banner.png') left top/auto 46px repeat-x}
:root[data-skin='wb-spring'] .hd .logo::before{width:22px;height:22px;vertical-align:-6px}
/* ★ v4.56（2026-10-19 用户报障）「花纹只有一半、上面筛选栏不跟皮肤」：
   ① 原 .nv 是 right center/auto 46px no-repeat —— 花纹图只贴右侧，1680 屏上左侧
      三分之二是纯品牌色，读起来像「贴了一半的墙纸」。
      ★ 本版（v4.56）先改成 band.jpg 整宽平铺 + 46% 遮罩，方向对但挑错了图：
        band.jpg 是 600x46 的照片碎片，两端色差 53.5 ⇒ 每 600px 一条竖缝。
        次日 v4.57 已整条换成 banner（来由与取舍见文件末尾「四季共用」那段），
        本行保留历史照录，防后来人又照 v4.56 的写法改回去。
   ② 页签条 / 页内筛选条原本吃的是灰阶与蓝味色阶，四季皮肤里没跟着染
      ⇒ 花带下面是两截灰蓝，断层明显。改为吃皮肤自己的表面色，
      筛选条不再是一块与皮肤无关的蓝灰。
   ③ 变量块补 --band（带面槽）—— v4.49b 立这个槽就是为了「工具条跟皮肤」，
      四季当初漏了它，于是 .tbar（筛选工具条 / 操作条）一直是纯白。
   ④ 同轮第二遍（用户「再优化优化，多覆盖一些」）：把「整族没跟皮肤」的底子补齐 ——
      变量块里最上面那批 --c 色阶（说明条 / 表头 / 分组行 / 悬停行 / 选中行 / 汇总块 /
      页签 / 输入框底）、9 档中性灰蓝 --nt、单证徽章 --dcb-n/0 全部按本季色相重算；
      整族一起搬色相、明度与彩深关系照旧 ⇒ 层次不变，只有颜色换季。
      ★ 判据是色相不是点名：色相 195~245 属冷灰蓝，告警红 0 / 提醒黄 45 / 通过绿 140
        天然在区间外，所以状态色一个都没被动。
      ★ 刻意不改的两族：状态色（红黄绿紫，含 --dcb-merge-bg 信息蓝、--dcb-refund-bg 通过绿）
        与 --g 灰阶 / --bd 蓝档 —— 前者是语义不能换，后两者别的浅色皮肤（青瓷、咖啡）也
        保持全局灰，属既定口径，动它反而让正文发绿。
      ★ 重算口径与脚本：工具/skin_season_align.py（四族一把跑，改配置即可重跑）。
   ★ 这几条规则只换背景与边框色，不动任何尺寸 / 间距。 */
:root[data-skin='wb-spring'] .nv{background:url('/static/skin_spring_banner.png') left center/auto 46px repeat-x,var(--band)}
:root[data-skin='wb-spring'] .dirbar{background:var(--srf-2);border-color:var(--line)}
:root[data-skin='wb-spring'] #pgTabs{background:var(--srf-2);border-bottom-color:var(--line)}
:root[data-skin='wb-spring'] .empty:not(td)::before{border:0;border-radius:0;background:var(--skin-art) center/contain no-repeat;width:44px;height:44px;opacity:.5}

/* ── ⑧-皮肤 · 夏 ─────────────────────────────────────
   真值来源：v4.49b 重设计（2026-10-19 用户令「用你的视觉模型重新设计」，
     画布加深加饱和 + --band 带面槽 + 暖色簇拉开档位，WCAG AA 扫描守底线）
   只覆盖颜色（语义槽 + 灰阶 + 色阶），圆角 / 间距 / 字阶一个字不改。
   ⚠ 本段由 tmp/_skin_gen.py 生成，改这里不如改配置再重跑。 */
:root[data-skin="wb-summer"]{
  --brand:#0e7490; --brand2:#0c7f95; --line:#d7e5e9; --bg:#e0f1f5; --ink:#1f3136; --mut:#5a6e74; --chip:#e9f2f4;
  --srf:#ffffff; --srf-2:#e0f1f5; --band:#f4fbfd; --link:#0c7f95; --focus:#0c7f95;
  --hover:#e0f2f6; --sel:#c9e7ee; --dis-bg:#ebf1f3; --dis-ink:#9badb3;
  --sh-ring:0 0 0 3px rgba(12,127,149,.20);
  --sh-pop:0 8px 26px rgba(4,43,51,.16); --sh-menu:0 10px 30px rgba(4,43,51,.20); --sh-drag:0 4px 16px rgba(4,43,51,.28);
  --skin-wall:url("/static/skin_summer_wall.jpg"); --skin-wall-op:1; --skin-wall-tint:rgba(244,251,253,.50);
  --skin-art:url("/static/skin_summer_art.png"); --skin-art-op:.92; --skin-art-w:18px;
  --hd-on:#0b4a56;
  --dcb-n-bg:#f4f6f6; --dcb-n-fg:#566d71; --dcb-0-fg:#5a7277;
  --g-50:#f7f9fc; --g-100:#eef2f7; --g-200:#dde3ea; --g-300:#c2d2e3; --g-400:#9fb0c2; --g-500:#7d8fa2; --g-600:#6b7785; --g-700:#42505f; --g-800:#1c2530;
  --bd-50:#F6F8FA; --bd-100:#EBF0F4; --bd-200:#D4DFEC; --bd-300:#AFC9E4; --bd-400:#7AABE0; --bd-500:#3E8CE0;
  --bd-600:#1C70CA; --bd-700:#1C5796; --bd-900:#183B61; --nt-50:#fbfbfb; --nt-100:#f6f7f7; --nt-200:#eeefef;
  --nt-300:#dee1e1; --nt-400:#c4c9ca; --nt-500:#9fa8aa; --nt-600:#798689; --nt-700:#535c5d; --nt-900:#34393a;
  --c-003070:#003070; --c-0086f6:#0086f6; --c-00bebd:#00bebd; --c-0b5c9a:#0b5c9a; --c-10603f:#10603f; --c-111111:#111111;
  --c-112244:#112244; --c-12456b:#12456b; --c-153a5b:#153a5b; --c-1a7f45:#1a7f45; --c-1d9e75:#1d9e75; --c-1f2a37:#1f2a37;
  --c-1f3a55:#323a3b; --c-1f4e79:#1f4e79; --c-1f6b3a:#1f6b3a; --c-1f6f8b:#1f6f8b; --c-22303f:#22303f; --c-2b3b52:#2b3b52;
  --c-2b5f8f:#2b5f8f; --c-2c3e50:#2c3e50; --c-2e7d4f:#2e7d4f; --c-2f5496:#2f5496; --c-2f5d8f:#2f5d8f; --c-2f6fd6:#2f6fd6;
  --c-2f7d55:#2f7d55; --c-33475c:#33475c; --c-3b82f6:#3b82f6; --c-3ba5d3:#3ba5d3; --c-3d5573:#3d5573; --c-3d5670:#3d5670;
  --c-3f5f86:#3f5f86; --c-42505f:#455053; --c-48586a:#48586a; --c-4a6b8a:#4a6b8a; --c-4fa87a:#4fa87a; --c-5a6a7d:#5a6a7d;
  --c-5a6b7d:#5a6b7d; --c-5b6572:#5b6572; --c-5b6b7c:#5b6b7c; --c-5c4a12:#5c4a12; --c-5f7b99:#5f7b99; --c-64778c:#64778c;
  --c-6b21a8:#6b21a8; --c-6b4e00:#6b4e00; --c-6b7787:#6b7787; --c-6b7a8c:#6b7a8c; --c-6b7c8d:#647383; --c-7a4200:#7a4200;
  --c-7a5200:#7a5200; --c-7a5310:#7a5310; --c-7a5a12:#7a5a12; --c-7a8798:#7a8798; --c-7aa7d4:#7aa7d4; --c-7b8794:#7b8794;
  --c-7b8a99:#667484; --c-7b8b9c:#5d6d7d; --c-7d2222:#7d2222; --c-7d4a8c:#7d4a8c; --c-7d8b99:#7d8b99; --c-7d8fa2:#5e7084;
  --c-854f0b:#854f0b; --c-8798a8:#5f7082; --c-882244:#882244; --c-8a2b2b:#8a2b2b; --c-8a4b00:#8a4b00; --c-8a4b4b:#8a4b4b;
  --c-8a5a00:#8a5a00; --c-8a5a12:#8a5a12; --c-8a6100:#8a6100; --c-8a6a12:#8a6a12; --c-8a6d1a:#8a6d1a; --c-8a6d1f:#8a6d1f;
  --c-8a93a3:#8a93a3; --c-8a97a4:#8a97a4; --c-8a97a5:#8a97a5; --c-8b97a4:#8b97a4; --c-8c2020:#8c2020; --c-8c2f22:#8c2f22;
  --c-8d97a3:#8d97a3; --c-8f1b15:#8f1b15; --c-8f2020:#8f2020; --c-8fa3b8:#566e88; --c-8fa6bd:#8fa6bd; --c-93a0b0:#637388;
  --c-93a6b8:#93a6b8; --c-9aa8b6:#9aa8b6; --c-9aabbb:#9aabbb; --c-9db1c4:#90b6bf; --c-9dbde4:#9dbde4; --c-9fb0c2:#a4b1b4;
  --c-9fb0c6:#9fb0c6; --c-9fd0f5:#b3dae1; --c-a05a00:#a05a00; --c-a05a5a:#a05a5a; --c-a32d2d:#a32d2d; --c-a3c6ec:#afd8e0;
  --c-a8302a:#a8302a; --c-a8b4c2:#a8b4c2; --c-a9b4bf:#a9b5b7; --c-a9bac9:#a9bac9; --c-aa3333:#aa3333; --c-aab6c3:#aab6c3;
  --c-aec6dd:#adc8cf; --c-b09a5f:#b09a5f; --c-b3261e:#b3261e; --c-b3bcc7:#b3bcc7; --c-b46565:#b46565; --c-b7d1ea:#bcdee5;
  --c-b7e2ce:#b7e2ce; --c-b8860b:#8a6208; --c-b8e0c8:#b8e0c8; --c-b9701d:#b9701d; --c-b9c1cd:#b9c1cd; --c-b9c4d0:#b9c4d0;
  --c-b9cce2:#b9dbe2; --c-ba7517:#ba7517; --c-bbbbbb:#bbbbbb; --c-bcd3ee:#c3e2e7; --c-bdd6f0:#c5e3e8; --c-c0392b:#c0392b;
  --c-c2c8d0:#c2ced0; --c-c2cdda:#c2d6da; --c-c2d2e3:#c2dee3; --c-c3ccd6:#c3d3d6; --c-c3ccd8:#c3d5d8; --c-c3d2e3:#c3dee3;
  --c-c3d3e4:#c3dfe4; --c-c3e3d1:#c3e3d1; --c-c6d3e3:#c6dee3; --c-c6dbf1:#cce6eb; --c-c6e2d2:#c6e2d2; --c-c8d1db:#c8d8db;
  --c-c8d4e0:#c8dce0; --c-c8dbef:#cce6eb; --c-c9a227:#c9a227; --c-c9d4e0:#c9dce0; --c-c9d8ea:#c9e5ea; --c-cbdcef:#cee7ec;
  --c-ccd3dc:#ccd9dc; --c-cddcec:#cde7ec; --c-cfd9e4:#cfe1e4; --c-cfdbe8:#cfe4e8; --c-cfe0f2:#d3eaee; --c-cfe1f5:#d5ebef;
  --c-cfe2f9:#d8ecf0; --c-d2d8df:#d2dddf; --c-d3e2f2:#d6ebef; --c-d4af37:#d4af37; --c-d5e0eb:#d5e7eb; --c-d6dce4:#d6e2e4;
  --c-d6e3f2:#d8ecf0; --c-d7e1ec:#d7e9ec; --c-d7e7f7:#dceef2; --c-d8c489:#d8c489; --c-d8dee6:#d8e4e6; --c-d8ecff:#e3f1f4;
  --c-d9822b:#d9822b; --c-d9b45a:#d9b45a; --c-dbe3ea:#dbe8ea; --c-dbe3ec:#dbe9ec; --c-dbe4ee:#dbebee; --c-dbe6f2:#dceef1;
  --c-dbe7f6:#dfeff2; --c-dbe8f6:#dfeff2; --c-dbe8fb:#e2f1f4; --c-dbe9fa:#e1f1f4; --c-dceafa:#e2f1f4; --c-dde5ec:#ddeaec;
  --c-dde6ef:#ddecef; --c-dde8f4:#dfeff2; --c-dde9f7:#e1f0f3; --c-dfe6ee:#dfecee; --c-dfe7ef:#dfecef; --c-e04f4f:#e04f4f;
  --c-e06a63:#e06a63; --c-e0b678:#e0b678; --c-e0cffc:#e0cffc; --c-e0e9f3:#e0f0f3; --c-e1e7ee:#e1ecee; --c-e2b13c:#e2b13c;
  --c-e2e8ef:#e2edef; --c-e2ebf5:#e3f1f4; --c-e2edfa:#e7f3f5; --c-e2eefc:#e8f4f6; --c-e3e7ec:#e3ebec; --c-e3e9f0:#e3eef0;
  --c-e3eaf1:#e3eff1; --c-e4e9ef:#e4edef; --c-e6a23c:#e6a23c; --c-e6b0b0:#e6b0b0; --c-e6b8b8:#e6b8b8; --c-e6ecf2:#e6f0f2;
  --c-e6f5ec:#e6f5ec; --c-e6f6ef:#e6f6ef; --c-e7ecf2:#e7f0f2; --c-e7eef7:#e8f4f6; --c-e8cf92:#e8cf92; --c-e8eef6:#e8f4f6;
  --c-e8eff8:#e9f4f7; --c-e8f0fa:#ebf5f7; --c-e8f1fb:#ecf6f7; --c-e8f6ee:#e8f6ee; --c-e9eff6:#e9f4f6; --c-e9f1f9:#ebf5f7;
  --c-e9f2fb:#ecf6f8; --c-e9f2fc:#edf6f8; --c-eaf1fb:#edf6f8; --c-eaf2fb:#edf6f8; --c-eaf7ef:#eaf7ef; --c-edf4fb:#eff7f9;
  --c-eec3c3:#eec3c3; --c-eef1f5:#eef4f5; --c-eef2f6:#eef5f6; --c-eef2f7:#eef6f7; --c-eef2f8:#eef6f8; --c-eef3f9:#eef7f9;
  --c-eef4fb:#f0f8f9; --c-eef8f1:#eef8f1; --c-eef8f3:#eef8f3; --c-f0b8b4:#f0b8b4; --c-f0c987:#f0c987; --c-f0cccc:#f0cccc;
  --c-f0d6d4:#f0d6d4; --c-f0d6d6:#f0d6d6; --c-f0d9ae:#f0d9ae; --c-f0dca8:#f0dca8; --c-f0dcb0:#f0dcb0; --c-f0dcb4:#f0dcb4;
  --c-f0dfae:#f0dfae; --c-f0f4f8:#f0f7f8; --c-f1f3f6:#f1f5f6; --c-f1f4f7:#f1f6f7; --c-f1f5f9:#f1f8f9; --c-f2c6c6:#f2c6c6;
  --c-f2f4f7:#f2f6f7; --c-f2f5f8:#f2f7f8; --c-f2f5f9:#f2f8f9; --c-f2f6fb:#f2f9fa; --c-f2f7fc:#f2f9fa; --c-f2f7fd:#f2f9fa;
  --c-f2f8ff:#f2f9fa; --c-f2fbf6:#f2fbf6; --c-f2fbf7:#f2fbf7; --c-f3e6c8:#f3e6c8; --c-f3e8ff:#f3e8ff; --c-f3f7f5:#f3f7f5;
  --c-f4f7fa:#f3f8f9; --c-f4f7fb:#f2f9fa; --c-f4f9ff:#f2f9fa; --c-f5c6c1:#f5c6c1; --c-f5ecf7:#f5ecf7; --c-f5f9fe:#f2f9fa;
  --c-f6f8fa:#f4f8f9; --c-f6f8fb:#f3f8fa; --c-f6f9fd:#f2f9fa; --c-f6faff:#f2f9fa; --c-f7f9fb:#f3f8f9; --c-f7f9fc:#f2f9fa;
  --c-f7fafd:#f2f9fa; --c-f7faff:#f2f9fa; --c-f7fbff:#f2f9fa; --c-f8dede:#f8dede; --c-f8fafc:#f3f8fa; --c-faecec:#faecec;
  --c-fafbfd:#f2f9fa; --c-fafcfe:#f2f9fa; --c-fbd9d7:#fbd9d7; --c-fbdada:#fbdada; --c-fbe8cd:#fbe8cd; --c-fbfcfe:#f2f9fa;
  --c-fbfdff:#f2f9fa; --c-fcfdfe:#f2f9fa; --c-fcfdff:#f2f9fa; --c-fdeaea:#fbe3e3; --c-fdeceb:#fdeceb; --c-fdecec:#fdecec;
  --c-fdeded:#fdeded; --c-fdeeee:#fdeeee; --c-fdf0c8:#fdf0c8; --c-fdf2f2:#fdf2f2; --c-fdf3d7:#fdf3d7; --c-fdf3e2:#fdf3e2;
  --c-fdf3f3:#fdf3f3; --c-fdf5f5:#fdf5f5; --c-fdf6e8:#fdf6e8; --c-fdf6f6:#fdf6f6; --c-fdf7f7:#fdf7f7; --c-fdf9f0:#fdf9f0;
  --c-ffe9c9:#ffe9c9; --c-fff3cd:#fff3cd; --c-fff3d9:#fff3d9; --c-fff4e0:#fff4e0; --c-fff5e0:#fff5e0; --c-fff6f6:#fff6f6;
  --c-fff7e6:#fff7e6; --c-fff8e4:#fff8e4; --c-fff8e6:#fff8e6; --c-fffaf0:#fffaf0; --c-fffaf2:#fffaf2; --c-fffbf2:#fffbf2;
  --c-fffdf5:#fffdf5; --c-fffdf7:#fffdf7; --c-ffffff:#ffffff;
}
:root[data-skin='wb-summer'] .hd{background:var(--band) url('/static/skin_summer_banner.png') left top/auto 46px repeat-x}
:root[data-skin='wb-summer'] .hd .logo::before{width:22px;height:22px;vertical-align:-6px}
/* ★ v4.56：铺满整宽 + 表面色跟皮肤 —— 与春同构，来由见春那段注释。 */
:root[data-skin='wb-summer'] .nv{background:url('/static/skin_summer_banner.png') left center/auto 46px repeat-x,var(--band)}
:root[data-skin='wb-summer'] .dirbar{background:var(--srf-2);border-color:var(--line)}
:root[data-skin='wb-summer'] #pgTabs{background:var(--srf-2);border-bottom-color:var(--line)}
:root[data-skin='wb-summer'] .empty:not(td)::before{border:0;border-radius:0;background:var(--skin-art) center/contain no-repeat;width:44px;height:44px;opacity:.5}

/* ── ⑧-皮肤 · 秋 ─────────────────────────────────────
   真值来源：v4.49b 重设计（2026-10-19 用户令「用你的视觉模型重新设计」，
     画布加深加饱和 + --band 带面槽 + 暖色簇拉开档位，WCAG AA 扫描守底线）
   只覆盖颜色（语义槽 + 灰阶 + 色阶），圆角 / 间距 / 字阶一个字不改。
   ⚠ 本段由 tmp/_skin_gen.py 生成，改这里不如改配置再重跑。 */
:root[data-skin="wb-autumn"]{
  --brand:#b45309; --brand2:#b85c0a; --line:#e9dfc9; --bg:#faf0dc; --ink:#332c1c; --mut:#786c55; --chip:#f5efe2;
  --srf:#ffffff; --srf-2:#faf0dc; --band:#fdf8ec; --link:#b85c0a; --focus:#b85c0a;
  --hover:#faf0d9; --sel:#f5e2b6; --dis-bg:#f2ede1; --dis-ink:#aaa08a;
  --sh-ring:0 0 0 3px rgba(184,92,10,.20);
  --sh-pop:0 8px 26px rgba(61,31,3,.16); --sh-menu:0 10px 30px rgba(61,31,3,.20); --sh-drag:0 4px 16px rgba(61,31,3,.28);
  --skin-wall:url("/static/skin_autumn_wall.jpg"); --skin-wall-op:1; --skin-wall-tint:rgba(253,248,238,.50);
  --skin-art:url("/static/skin_autumn_art.png"); --skin-art-op:.92; --skin-art-w:18px;
  --hd-on:#5a3208;
  --dcb-n-bg:#f6f5f4; --dcb-n-fg:#77685a; --dcb-0-fg:#7d6d5e;
  --g-50:#f7f9fc; --g-100:#eef2f7; --g-200:#dde3ea; --g-300:#c2d2e3; --g-400:#9fb0c2; --g-500:#7d8fa2; --g-600:#6b7785; --g-700:#42505f; --g-800:#1c2530;
  --bd-50:#F6F8FA; --bd-100:#EBF0F4; --bd-200:#D4DFEC; --bd-300:#AFC9E4; --bd-400:#7AABE0; --bd-500:#3E8CE0;
  --bd-600:#1C70CA; --bd-700:#1C5796; --bd-900:#183B61; --nt-50:#fbfbfb; --nt-100:#f7f6f6; --nt-200:#efeeee;
  --nt-300:#e1dfde; --nt-400:#cac7c4; --nt-500:#aaa49f; --nt-600:#898179; --nt-700:#5d5853; --nt-900:#3a3734;
  --c-003070:#003070; --c-0086f6:#0086f6; --c-00bebd:#00bebd; --c-0b5c9a:#0b5c9a; --c-10603f:#10603f; --c-111111:#111111;
  --c-112244:#112244; --c-12456b:#12456b; --c-153a5b:#153a5b; --c-1a7f45:#1a7f45; --c-1d9e75:#1d9e75; --c-1f2a37:#1f2a37;
  --c-1f3a55:#3c3832; --c-1f4e79:#1f4e79; --c-1f6b3a:#1f6b3a; --c-1f6f8b:#1f6f8b; --c-22303f:#22303f; --c-2b3b52:#2b3b52;
  --c-2b5f8f:#2b5f8f; --c-2c3e50:#2c3e50; --c-2e7d4f:#2e7d4f; --c-2f5496:#2f5496; --c-2f5d8f:#2f5d8f; --c-2f6fd6:#2f6fd6;
  --c-2f7d55:#2f7d55; --c-33475c:#33475c; --c-3b82f6:#3b82f6; --c-3ba5d3:#3ba5d3; --c-3d5573:#3d5573; --c-3d5670:#3d5670;
  --c-3f5f86:#3f5f86; --c-42505f:#544e45; --c-48586a:#48586a; --c-4a6b8a:#4a6b8a; --c-4fa87a:#4fa87a; --c-5a6a7d:#5a6a7d;
  --c-5a6b7d:#5a6b7d; --c-5b6572:#5b6572; --c-5b6b7c:#5b6b7c; --c-5c4a12:#5c4a12; --c-5f7b99:#5f7b99; --c-64778c:#64778c;
  --c-6b21a8:#6b21a8; --c-6b4e00:#6b4e00; --c-6b7787:#6b7787; --c-6b7a8c:#6b7a8c; --c-6b7c8d:#647383; --c-7a4200:#7a4200;
  --c-7a5200:#7a5200; --c-7a5310:#7a5310; --c-7a5a12:#7a5a12; --c-7a8798:#7a8798; --c-7aa7d4:#7aa7d4; --c-7b8794:#7b8794;
  --c-7b8a99:#667484; --c-7b8b9c:#5d6d7d; --c-7d2222:#7d2222; --c-7d4a8c:#7d4a8c; --c-7d8b99:#7d8b99; --c-7d8fa2:#5e7084;
  --c-854f0b:#854f0b; --c-8798a8:#5f7082; --c-882244:#882244; --c-8a2b2b:#8a2b2b; --c-8a4b00:#8a4b00; --c-8a4b4b:#8a4b4b;
  --c-8a5a00:#8a5a00; --c-8a5a12:#8a5a12; --c-8a6100:#8a6100; --c-8a6a12:#8a6a12; --c-8a6d1a:#8a6d1a; --c-8a6d1f:#8a6d1f;
  --c-8a93a3:#8a93a3; --c-8a97a4:#8a97a4; --c-8a97a5:#8a97a5; --c-8b97a4:#8b97a4; --c-8c2020:#8c2020; --c-8c2f22:#8c2f22;
  --c-8d97a3:#8d97a3; --c-8f1b15:#8f1b15; --c-8f2020:#8f2020; --c-8fa3b8:#566e88; --c-8fa6bd:#8fa6bd; --c-93a0b0:#637388;
  --c-93a6b8:#93a6b8; --c-9aa8b6:#9aa8b6; --c-9aabbb:#9aabbb; --c-9db1c4:#c0ac92; --c-9dbde4:#9dbde4; --c-9fb0c2:#b4ada5;
  --c-9fb0c6:#9fb0c6; --c-9fd0f5:#e1c9b3; --c-a05a00:#a05a00; --c-a05a5a:#a05a5a; --c-a32d2d:#a32d2d; --c-a3c6ec:#e0c6af;
  --c-a8302a:#a8302a; --c-a8b4c2:#a8b4c2; --c-a9b4bf:#b8b1a9; --c-a9bac9:#a9bac9; --c-aa3333:#aa3333; --c-aab6c3:#aab6c3;
  --c-aec6dd:#d1c1af; --c-b09a5f:#b09a5f; --c-b3261e:#b3261e; --c-b3bcc7:#b3bcc7; --c-b46565:#b46565; --c-b7d1ea:#e5cfbc;
  --c-b7e2ce:#b7e2ce; --c-b8860b:#8a6208; --c-b8e0c8:#b8e0c8; --c-b9701d:#b9701d; --c-b9c1cd:#b9c1cd; --c-b9c4d0:#b9c4d0;
  --c-b9cce2:#e2ccb9; --c-ba7517:#ba7517; --c-bbbbbb:#bbbbbb; --c-bcd3ee:#e7d4c3; --c-bdd6f0:#e8d5c5; --c-c0392b:#c0392b;
  --c-c2c8d0:#d0c9c2; --c-c2cdda:#dacdc2; --c-c2d2e3:#e3d2c2; --c-c3ccd6:#d6ccc3; --c-c3ccd8:#d8cdc3; --c-c3d2e3:#e3d2c3;
  --c-c3d3e4:#e4d3c3; --c-c3e3d1:#c3e3d1; --c-c6d3e3:#e3d4c6; --c-c6dbf1:#ebdbcc; --c-c6e2d2:#c6e2d2; --c-c8d1db:#dbd1c8;
  --c-c8d4e0:#e0d3c8; --c-c8dbef:#ebdbcc; --c-c9a227:#c9a227; --c-c9d4e0:#e0d4c9; --c-c9d8ea:#ead9c9; --c-cbdcef:#ecdcce;
  --c-ccd3dc:#dcd4cc; --c-cddcec:#ecdccd; --c-cfd9e4:#e4d9cf; --c-cfdbe8:#e8dbcf; --c-cfe0f2:#eee0d3; --c-cfe1f5:#efe1d5;
  --c-cfe2f9:#f0e3d8; --c-d2d8df:#dfd8d2; --c-d3e2f2:#efe2d6; --c-d4af37:#d4af37; --c-d5e0eb:#ebdfd5; --c-d6dce4:#e4ddd6;
  --c-d6e3f2:#f0e3d8; --c-d7e1ec:#ece1d7; --c-d7e7f7:#f2e6dc; --c-d8c489:#d8c489; --c-d8dee6:#e6dfd8; --c-d8ecff:#f4ebe3;
  --c-d9822b:#d9822b; --c-d9b45a:#d9b45a; --c-dbe3ea:#eae2db; --c-dbe3ec:#ece3db; --c-dbe4ee:#eee4db; --c-dbe6f2:#f1e6dc;
  --c-dbe7f6:#f2e8df; --c-dbe8f6:#f2e8df; --c-dbe8fb:#f4eae2; --c-dbe9fa:#f4eae1; --c-dceafa:#f4eae2; --c-dde5ec:#ece4dd;
  --c-dde6ef:#efe5dd; --c-dde8f4:#f2e8df; --c-dde9f7:#f3e9e1; --c-dfe6ee:#eee6df; --c-dfe7ef:#efe7df; --c-e04f4f:#e04f4f;
  --c-e06a63:#e06a63; --c-e0b678:#e0b678; --c-e0cffc:#e0cffc; --c-e0e9f3:#f3e9e0; --c-e1e7ee:#eee7e1; --c-e2b13c:#e2b13c;
  --c-e2e8ef:#efe8e2; --c-e2ebf5:#f4ebe3; --c-e2edfa:#f5eee7; --c-e2eefc:#f6efe8; --c-e3e7ec:#ece7e3; --c-e3e9f0:#f0e9e3;
  --c-e3eaf1:#f1eae3; --c-e4e9ef:#efe9e4; --c-e6a23c:#e6a23c; --c-e6b0b0:#e6b0b0; --c-e6b8b8:#e6b8b8; --c-e6ecf2:#f2ece6;
  --c-e6f5ec:#e6f5ec; --c-e6f6ef:#e6f6ef; --c-e7ecf2:#f2ece7; --c-e7eef7:#f6efe8; --c-e8cf92:#e8cf92; --c-e8eef6:#f6efe8;
  --c-e8eff8:#f7f0e9; --c-e8f0fa:#f7f1eb; --c-e8f1fb:#f7f1ec; --c-e8f6ee:#e8f6ee; --c-e9eff6:#f6efe9; --c-e9f1f9:#f7f1eb;
  --c-e9f2fb:#f8f2ec; --c-e9f2fc:#f8f2ed; --c-eaf1fb:#f8f2ed; --c-eaf2fb:#f8f2ed; --c-eaf7ef:#eaf7ef; --c-edf4fb:#f9f4ef;
  --c-eec3c3:#eec3c3; --c-eef1f5:#f5f1ee; --c-eef2f6:#f6f2ee; --c-eef2f7:#f7f2ee; --c-eef2f8:#f8f3ee; --c-eef3f9:#f9f3ee;
  --c-eef4fb:#f9f4f0; --c-eef8f1:#eef8f1; --c-eef8f3:#eef8f3; --c-f0b8b4:#f0b8b4; --c-f0c987:#f0c987; --c-f0cccc:#f0cccc;
  --c-f0d6d4:#f0d6d4; --c-f0d6d6:#f0d6d6; --c-f0d9ae:#f0d9ae; --c-f0dca8:#f0dca8; --c-f0dcb0:#f0dcb0; --c-f0dcb4:#f0dcb4;
  --c-f0dfae:#f0dfae; --c-f0f4f8:#f8f4f0; --c-f1f3f6:#f6f3f1; --c-f1f4f7:#f7f4f1; --c-f1f5f9:#f9f5f1; --c-f2c6c6:#f2c6c6;
  --c-f2f4f7:#f7f4f2; --c-f2f5f8:#f8f5f2; --c-f2f5f9:#f9f5f2; --c-f2f6fb:#faf6f2; --c-f2f7fc:#faf6f2; --c-f2f7fd:#faf6f2;
  --c-f2f8ff:#faf6f2; --c-f2fbf6:#f2fbf6; --c-f2fbf7:#f2fbf7; --c-f3e6c8:#f3e6c8; --c-f3e8ff:#f3e8ff; --c-f3f7f5:#f3f7f5;
  --c-f4f7fa:#f9f6f3; --c-f4f7fb:#faf6f2; --c-f4f9ff:#faf6f2; --c-f5c6c1:#f5c6c1; --c-f5ecf7:#f5ecf7; --c-f5f9fe:#faf6f2;
  --c-f6f8fa:#f9f6f4; --c-f6f8fb:#faf6f3; --c-f6f9fd:#faf6f2; --c-f6faff:#faf6f2; --c-f7f9fb:#f9f6f3; --c-f7f9fc:#faf6f2;
  --c-f7fafd:#faf6f2; --c-f7faff:#faf6f2; --c-f7fbff:#faf6f2; --c-f8dede:#f8dede; --c-f8fafc:#faf6f3; --c-faecec:#faecec;
  --c-fafbfd:#faf6f2; --c-fafcfe:#faf6f2; --c-fbd9d7:#fbd9d7; --c-fbdada:#fbdada; --c-fbe8cd:#fbe8cd; --c-fbfcfe:#faf6f2;
  --c-fbfdff:#faf6f2; --c-fcfdfe:#faf6f2; --c-fcfdff:#faf6f2; --c-fdeaea:#fbe3e3; --c-fdeceb:#fdeceb; --c-fdecec:#fdecec;
  --c-fdeded:#fdeded; --c-fdeeee:#fdeeee; --c-fdf0c8:#fdf0c8; --c-fdf2f2:#fdf2f2; --c-fdf3d7:#fdf3d7; --c-fdf3e2:#fdf3e2;
  --c-fdf3f3:#fdf3f3; --c-fdf5f5:#fdf5f5; --c-fdf6e8:#fdf6e8; --c-fdf6f6:#fdf6f6; --c-fdf7f7:#fdf7f7; --c-fdf9f0:#fdf9f0;
  --c-ffe9c9:#ffe9c9; --c-fff3cd:#fff3cd; --c-fff3d9:#fff3d9; --c-fff4e0:#fff4e0; --c-fff5e0:#fff5e0; --c-fff6f6:#fff6f6;
  --c-fff7e6:#fff7e6; --c-fff8e4:#fff8e4; --c-fff8e6:#fff8e6; --c-fffaf0:#fffaf0; --c-fffaf2:#fffaf2; --c-fffbf2:#fffbf2;
  --c-fffdf5:#fffdf5; --c-fffdf7:#fffdf7; --c-ffffff:#ffffff;
}
:root[data-skin='wb-autumn'] .hd{background:var(--band) url('/static/skin_autumn_banner.png') left top/auto 46px repeat-x}
:root[data-skin='wb-autumn'] .hd .logo::before{width:22px;height:22px;vertical-align:-6px}
/* ★ v4.56：铺满整宽 + 表面色跟皮肤 —— 与春同构，来由见春那段注释。 */
:root[data-skin='wb-autumn'] .nv{background:url('/static/skin_autumn_banner.png') left center/auto 46px repeat-x,var(--band)}
:root[data-skin='wb-autumn'] .dirbar{background:var(--srf-2);border-color:var(--line)}
:root[data-skin='wb-autumn'] #pgTabs{background:var(--srf-2);border-bottom-color:var(--line)}
:root[data-skin='wb-autumn'] .empty:not(td)::before{border:0;border-radius:0;background:var(--skin-art) center/contain no-repeat;width:44px;height:44px;opacity:.5}

/* ── ⑧-皮肤 · 冬 ─────────────────────────────────────
   真值来源：v4.49b 重设计（2026-10-19 用户令「用你的视觉模型重新设计」，
     画布加深加饱和 + --band 带面槽 + 暖色簇拉开档位，WCAG AA 扫描守底线）
   只覆盖颜色（语义槽 + 灰阶 + 色阶），圆角 / 间距 / 字阶一个字不改。
   ⚠ 本段由 tmp/_skin_gen.py 生成，改这里不如改配置再重跑。 */
:root[data-skin="wb-winter"]{
  --brand:#475e7a; --brand2:#57708e; --line:#dfe4ea; --bg:#e8eef4; --ink:#2a2f36; --mut:#636c78; --chip:#edf0f4;
  --srf:#ffffff; --srf-2:#e8eef4; --band:#f5f8fb; --link:#57708e; --focus:#57708e;
  --hover:#e8eef5; --sel:#d8e2ee; --dis-bg:#eef1f4; --dis-ink:#a2abb6;
  --sh-ring:0 0 0 3px rgba(87,112,142,.20);
  --sh-pop:0 8px 26px rgba(31,40,50,.16); --sh-menu:0 10px 30px rgba(31,40,50,.20); --sh-drag:0 4px 16px rgba(31,40,50,.28);
  --skin-wall:url("/static/skin_winter_wall.jpg"); --skin-wall-op:1; --skin-wall-tint:rgba(247,250,252,.55);
  --skin-art:url("/static/skin_winter_art.png"); --skin-art-op:.92; --skin-art-w:18px;
  --hd-on:#33465e;
  --dcb-n-bg:#f4f5f6; --dcb-n-fg:#5c6a7a; --dcb-0-fg:#606f80;
  --g-50:#f7f9fc; --g-100:#eef2f7; --g-200:#dde3ea; --g-300:#c2d2e3; --g-400:#9fb0c2; --g-500:#7d8fa2; --g-600:#6b7785; --g-700:#42505f; --g-800:#1c2530;
  --bd-50:#F6F8FA; --bd-100:#EBF0F4; --bd-200:#D4DFEC; --bd-300:#AFC9E4; --bd-400:#7AABE0; --bd-500:#3E8CE0;
  --bd-600:#1C70CA; --bd-700:#1C5796; --bd-900:#183B61; --nt-50:#fbfbfb; --nt-100:#f6f6f7; --nt-200:#eeeeef;
  --nt-300:#dedfe1; --nt-400:#c4c7ca; --nt-500:#9fa4aa; --nt-600:#798089; --nt-700:#53585d; --nt-900:#34373a;
  --c-003070:#003070; --c-0086f6:#0086f6; --c-00bebd:#00bebd; --c-0b5c9a:#0b5c9a; --c-10603f:#10603f; --c-111111:#111111;
  --c-112244:#112244; --c-12456b:#12456b; --c-153a5b:#153a5b; --c-1a7f45:#1a7f45; --c-1d9e75:#1d9e75; --c-1f2a37:#1f2a37;
  --c-1f3a55:#36383c; --c-1f4e79:#1f4e79; --c-1f6b3a:#1f6b3a; --c-1f6f8b:#1f6f8b; --c-22303f:#22303f; --c-2b3b52:#2b3b52;
  --c-2b5f8f:#2b5f8f; --c-2c3e50:#2c3e50; --c-2e7d4f:#2e7d4f; --c-2f5496:#2f5496; --c-2f5d8f:#2f5d8f; --c-2f6fd6:#2f6fd6;
  --c-2f7d55:#2f7d55; --c-33475c:#33475c; --c-3b82f6:#3b82f6; --c-3ba5d3:#3ba5d3; --c-3d5573:#3d5573; --c-3d5670:#3d5670;
  --c-3f5f86:#3f5f86; --c-42505f:#4b5054; --c-48586a:#48586a; --c-4a6b8a:#4a6b8a; --c-4fa87a:#4fa87a; --c-5a6a7d:#5a6a7d;
  --c-5a6b7d:#5a6b7d; --c-5b6572:#5b6572; --c-5b6b7c:#5b6b7c; --c-5c4a12:#5c4a12; --c-5f7b99:#5f7b99; --c-64778c:#64778c;
  --c-6b21a8:#6b21a8; --c-6b4e00:#6b4e00; --c-6b7787:#6b7787; --c-6b7a8c:#6b7a8c; --c-6b7c8d:#647383; --c-7a4200:#7a4200;
  --c-7a5200:#7a5200; --c-7a5310:#7a5310; --c-7a5a12:#7a5a12; --c-7a8798:#7a8798; --c-7aa7d4:#7aa7d4; --c-7b8794:#7b8794;
  --c-7b8a99:#667484; --c-7b8b9c:#5d6d7d; --c-7d2222:#7d2222; --c-7d4a8c:#7d4a8c; --c-7d8b99:#7d8b99; --c-7d8fa2:#5e7084;
  --c-854f0b:#854f0b; --c-8798a8:#5f7082; --c-882244:#882244; --c-8a2b2b:#8a2b2b; --c-8a4b00:#8a4b00; --c-8a4b4b:#8a4b4b;
  --c-8a5a00:#8a5a00; --c-8a5a12:#8a5a12; --c-8a6100:#8a6100; --c-8a6a12:#8a6a12; --c-8a6d1a:#8a6d1a; --c-8a6d1f:#8a6d1f;
  --c-8a93a3:#8a93a3; --c-8a97a4:#8a97a4; --c-8a97a5:#8a97a5; --c-8b97a4:#8b97a4; --c-8c2020:#8c2020; --c-8c2f22:#8c2f22;
  --c-8d97a3:#8d97a3; --c-8f1b15:#8f1b15; --c-8f2020:#8f2020; --c-8fa3b8:#566e88; --c-8fa6bd:#8fa6bd; --c-93a0b0:#637388;
  --c-93a6b8:#93a6b8; --c-9aa8b6:#9aa8b6; --c-9aabbb:#9aabbb; --c-9db1c4:#a5b1bd; --c-9dbde4:#9dbde4; --c-9fb0c2:#aaaeb3;
  --c-9fb0c6:#9fb0c6; --c-9fd0f5:#b3c8e1; --c-a05a00:#a05a00; --c-a05a5a:#a05a5a; --c-a32d2d:#a32d2d; --c-a3c6ec:#afc5e0;
  --c-a8302a:#a8302a; --c-a8b4c2:#a8b4c2; --c-a9b4bf:#afb2b7; --c-a9bac9:#a9bac9; --c-aa3333:#aa3333; --c-aab6c3:#aab6c3;
  --c-aec6dd:#bcc4ce; --c-b09a5f:#b09a5f; --c-b3261e:#b3261e; --c-b3bcc7:#b3bcc7; --c-b46565:#b46565; --c-b7d1ea:#bccfe5;
  --c-b7e2ce:#b7e2ce; --c-b8860b:#8a6208; --c-b8e0c8:#b8e0c8; --c-b9701d:#b9701d; --c-b9c1cd:#b9c1cd; --c-b9c4d0:#b9c4d0;
  --c-b9cce2:#b9cce2; --c-ba7517:#ba7517; --c-bbbbbb:#bbbbbb; --c-bcd3ee:#c3d3e7; --c-bdd6f0:#c5d5e8; --c-c0392b:#c0392b;
  --c-c2c8d0:#c2c8d0; --c-c2cdda:#c2cdda; --c-c2d2e3:#c2d1e3; --c-c3ccd6:#c3ccd6; --c-c3ccd8:#c3cdd8; --c-c3d2e3:#c3d2e3;
  --c-c3d3e4:#c3d2e4; --c-c3e3d1:#c3e3d1; --c-c6d3e3:#c6d3e3; --c-c6dbf1:#ccdaeb; --c-c6e2d2:#c6e2d2; --c-c8d1db:#c8d1db;
  --c-c8d4e0:#c8d3e0; --c-c8dbef:#ccdaeb; --c-c9a227:#c9a227; --c-c9d4e0:#c9d3e0; --c-c9d8ea:#c9d8ea; --c-cbdcef:#cedcec;
  --c-ccd3dc:#ccd3dc; --c-cddcec:#cddbec; --c-cfd9e4:#cfd9e4; --c-cfdbe8:#cfdae8; --c-cfe0f2:#d3dfee; --c-cfe1f5:#d5e1ef;
  --c-cfe2f9:#d8e3f0; --c-d2d8df:#d2d8df; --c-d3e2f2:#d6e1ef; --c-d4af37:#d4af37; --c-d5e0eb:#d5dfeb; --c-d6dce4:#d6dce4;
  --c-d6e3f2:#d8e3f0; --c-d7e1ec:#d7e1ec; --c-d7e7f7:#dce6f2; --c-d8c489:#d8c489; --c-d8dee6:#d8dee6; --c-d8ecff:#e3ebf4;
  --c-d9822b:#d9822b; --c-d9b45a:#d9b45a; --c-dbe3ea:#dbe2ea; --c-dbe3ec:#dbe3ec; --c-dbe4ee:#dbe4ee; --c-dbe6f2:#dce6f1;
  --c-dbe7f6:#dfe8f2; --c-dbe8f6:#dfe8f2; --c-dbe8fb:#e2eaf4; --c-dbe9fa:#e1eaf4; --c-dceafa:#e2eaf4; --c-dde5ec:#dde4ec;
  --c-dde6ef:#dde5ef; --c-dde8f4:#dfe8f2; --c-dde9f7:#e1e9f3; --c-dfe6ee:#dfe6ee; --c-dfe7ef:#dfe6ef; --c-e04f4f:#e04f4f;
  --c-e06a63:#e06a63; --c-e0b678:#e0b678; --c-e0cffc:#e0cffc; --c-e0e9f3:#e0e9f3; --c-e1e7ee:#e1e7ee; --c-e2b13c:#e2b13c;
  --c-e2e8ef:#e2e8ef; --c-e2ebf5:#e3ebf4; --c-e2edfa:#e7edf5; --c-e2eefc:#e8eef6; --c-e3e7ec:#e3e7ec; --c-e3e9f0:#e3e9f0;
  --c-e3eaf1:#e3e9f1; --c-e4e9ef:#e4e9ef; --c-e6a23c:#e6a23c; --c-e6b0b0:#e6b0b0; --c-e6b8b8:#e6b8b8; --c-e6ecf2:#e6ebf2;
  --c-e6f5ec:#e6f5ec; --c-e6f6ef:#e6f6ef; --c-e7ecf2:#e7ecf2; --c-e7eef7:#e8eef6; --c-e8cf92:#e8cf92; --c-e8eef6:#e8eef6;
  --c-e8eff8:#e9eff7; --c-e8f0fa:#ebf0f7; --c-e8f1fb:#ecf1f7; --c-e8f6ee:#e8f6ee; --c-e9eff6:#e9eff6; --c-e9f1f9:#ebf0f7;
  --c-e9f2fb:#ecf1f8; --c-e9f2fc:#edf2f8; --c-eaf1fb:#edf2f8; --c-eaf2fb:#edf2f8; --c-eaf7ef:#eaf7ef; --c-edf4fb:#eff4f9;
  --c-eec3c3:#eec3c3; --c-eef1f5:#eef1f5; --c-eef2f6:#eef2f6; --c-eef2f7:#eef2f7; --c-eef2f8:#eef3f8; --c-eef3f9:#eef3f9;
  --c-eef4fb:#f0f4f9; --c-eef8f1:#eef8f1; --c-eef8f3:#eef8f3; --c-f0b8b4:#f0b8b4; --c-f0c987:#f0c987; --c-f0cccc:#f0cccc;
  --c-f0d6d4:#f0d6d4; --c-f0d6d6:#f0d6d6; --c-f0d9ae:#f0d9ae; --c-f0dca8:#f0dca8; --c-f0dcb0:#f0dcb0; --c-f0dcb4:#f0dcb4;
  --c-f0dfae:#f0dfae; --c-f0f4f8:#f0f4f8; --c-f1f3f6:#f1f3f6; --c-f1f4f7:#f1f4f7; --c-f1f5f9:#f1f5f9; --c-f2c6c6:#f2c6c6;
  --c-f2f4f7:#f2f4f7; --c-f2f5f8:#f2f5f8; --c-f2f5f9:#f2f5f9; --c-f2f6fb:#f2f6fa; --c-f2f7fc:#f2f6fa; --c-f2f7fd:#f2f6fa;
  --c-f2f8ff:#f2f6fa; --c-f2fbf6:#f2fbf6; --c-f2fbf7:#f2fbf7; --c-f3e6c8:#f3e6c8; --c-f3e8ff:#f3e8ff; --c-f3f7f5:#f3f7f5;
  --c-f4f7fa:#f3f6f9; --c-f4f7fb:#f2f6fa; --c-f4f9ff:#f2f6fa; --c-f5c6c1:#f5c6c1; --c-f5ecf7:#f5ecf7; --c-f5f9fe:#f2f6fa;
  --c-f6f8fa:#f4f6f9; --c-f6f8fb:#f3f6fa; --c-f6f9fd:#f2f6fa; --c-f6faff:#f2f6fa; --c-f7f9fb:#f3f6f9; --c-f7f9fc:#f2f6fa;
  --c-f7fafd:#f2f6fa; --c-f7faff:#f2f6fa; --c-f7fbff:#f2f6fa; --c-f8dede:#f8dede; --c-f8fafc:#f3f6fa; --c-faecec:#faecec;
  --c-fafbfd:#f2f6fa; --c-fafcfe:#f2f6fa; --c-fbd9d7:#fbd9d7; --c-fbdada:#fbdada; --c-fbe8cd:#fbe8cd; --c-fbfcfe:#f2f6fa;
  --c-fbfdff:#f2f6fa; --c-fcfdfe:#f2f6fa; --c-fcfdff:#f2f6fa; --c-fdeaea:#fbe3e3; --c-fdeceb:#fdeceb; --c-fdecec:#fdecec;
  --c-fdeded:#fdeded; --c-fdeeee:#fdeeee; --c-fdf0c8:#fdf0c8; --c-fdf2f2:#fdf2f2; --c-fdf3d7:#fdf3d7; --c-fdf3e2:#fdf3e2;
  --c-fdf3f3:#fdf3f3; --c-fdf5f5:#fdf5f5; --c-fdf6e8:#fdf6e8; --c-fdf6f6:#fdf6f6; --c-fdf7f7:#fdf7f7; --c-fdf9f0:#fdf9f0;
  --c-ffe9c9:#ffe9c9; --c-fff3cd:#fff3cd; --c-fff3d9:#fff3d9; --c-fff4e0:#fff4e0; --c-fff5e0:#fff5e0; --c-fff6f6:#fff6f6;
  --c-fff7e6:#fff7e6; --c-fff8e4:#fff8e4; --c-fff8e6:#fff8e6; --c-fffaf0:#fffaf0; --c-fffaf2:#fffaf2; --c-fffbf2:#fffbf2;
  --c-fffdf5:#fffdf5; --c-fffdf7:#fffdf7; --c-ffffff:#ffffff;
}
:root[data-skin='wb-winter'] .hd{background:var(--band) url('/static/skin_winter_banner.png') left top/auto 46px repeat-x}
:root[data-skin='wb-winter'] .hd .logo::before{width:22px;height:22px;vertical-align:-6px}
/* ★ v4.56：铺满整宽 + 表面色跟皮肤 —— 与春同构，来由见春那段注释。 */
:root[data-skin='wb-winter'] .nv{background:url('/static/skin_winter_banner.png') left center/auto 46px repeat-x,var(--band)}
:root[data-skin='wb-winter'] .dirbar{background:var(--srf-2);border-color:var(--line)}
:root[data-skin='wb-winter'] #pgTabs{background:var(--srf-2);border-bottom-color:var(--line)}
:root[data-skin='wb-winter'] .empty:not(td)::before{border:0;border-radius:0;background:var(--skin-art) center/contain no-repeat;width:44px;height:44px;opacity:.5}

/* ── ⑧-皮肤 · 四季共用：顶栏改深字 ─────────────────────
   ★ v4.56（2026-10-19）同一轮报障里顺手修掉的一处：四季顶栏的 banner 都是浅色画
     （春 淡粉 / 夏 淡青 / 秋 浅橙 / 冬 雪白），而 .hd 的字色是全局写死的白
     （base.html:87 `color:var(--c-ffffff)`、:131 `.hd a{color:var(--c-ffffff)}`）
     ⇒ 真机放大看「排柜系统 M1·数据底座」几乎化在横幅里，认不出来。
   为什么不动 --hd-ink 本体：这个槽被导航条 `html .nv .nvl` 一起用，
     在根上改会把导航白字也变深 —— 而导航底下是压了遮罩的花带，深浅四季不一。
     ⇒ 只把 --hd-ink 重新声明在 `.hd` 这一层（自定义属性是继承的，作用域就到顶栏为止），
       导航条照旧取根上的白。深字色由各季变量块的 --hd-on 给，各随本季色相加深。
   为什么连 a / 皮肤下拉按钮一起改：它们都是写死的白，漏一个就还是白的。
   只换字色与那颗小按钮的底，不动尺寸 / 间距 / 字号。 */
:root[data-skin='wb-spring'] .hd,
:root[data-skin='wb-summer'] .hd,
:root[data-skin='wb-autumn'] .hd,
:root[data-skin='wb-winter'] .hd{--hd-ink:var(--hd-on);color:var(--hd-on)}
:root[data-skin='wb-spring'] .hd a,
:root[data-skin='wb-summer'] .hd a,
:root[data-skin='wb-autumn'] .hd a,
:root[data-skin='wb-winter'] .hd a,
:root[data-skin='wb-spring'] .hd .skseg .skcur,
:root[data-skin='wb-summer'] .hd .skseg .skcur,
:root[data-skin='wb-autumn'] .hd .skseg .skcur,
:root[data-skin='wb-winter'] .hd .skseg .skcur{color:var(--hd-on)}
:root[data-skin='wb-spring'] .hd .who em,
:root[data-skin='wb-summer'] .hd .who em,
:root[data-skin='wb-autumn'] .hd .who em,
:root[data-skin='wb-winter'] .hd .who em,
:root[data-skin='wb-spring'] .hd .skseg .skcur,
:root[data-skin='wb-summer'] .hd .skseg .skcur,
:root[data-skin='wb-autumn'] .hd .skseg .skcur,
:root[data-skin='wb-winter'] .hd .skseg .skcur{background:rgba(0,0,0,.07)}
:root[data-skin='wb-spring'] .hd .skseg .skcur:hover,
:root[data-skin='wb-summer'] .hd .skseg .skcur:hover,
:root[data-skin='wb-autumn'] .hd .skseg .skcur:hover,
:root[data-skin='wb-winter'] .hd .skseg .skcur:hover{background:rgba(0,0,0,.15);color:var(--hd-on)}
:root[data-skin='wb-spring'] .hd .skseg .skcur:focus-visible,
:root[data-skin='wb-summer'] .hd .skseg .skcur:focus-visible,
:root[data-skin='wb-autumn'] .hd .skseg .skcur:focus-visible,
:root[data-skin='wb-winter'] .hd .skseg .skcur:focus-visible{outline-color:var(--hd-on)}
/* ★★ v4.57（2026-10-19 用户截图报障「你这里都不一致，你觉得好看吗」）
   病根不在配色，在「两条带不是同一张图」：
     · 顶栏 .hd 用的是 skin_<季>_banner.png（2560x46，专为横条做的，左右两端色差 1.5~9.7
       ⇒ 天生可平铺），却被 background-size:100% 整宽拉伸，等于把一张设计好的横条拉变形；
     · 导航 .nv 用的是 skin_<季>_band.jpg（600x46，一张模糊照片碎片，左右两端色差 53.5
       ⇒ 根本不能平铺）—— v4.56 按文件名挑图挑错了，平铺后每 600px 一条竖缝，
       一条带从左到右由粉漂到蓝，再叠一层浓绿遮罩 ⇒ 又花又脏。
   ⇒ 现在两条都用同一张 banner、同一尺寸(auto 46px)、同一 x 起点：
       宽度 2560 已超过常见视口 ⇒ 1920/1680 屏上连一次重复都不会发生，接缝问题从根上消失；
       顶栏取图的上 34px（素色），导航取整张 46px（下沿那圈花），两块拼起来是一条连续的带。
   连带三件必须一起改，否则「统一底色」会带出新的不一致：
     ① 导航字色：原本取 --hd-ink 默认白，是为了压深底；底变浅后照旧取它就成白字压浅底
        ⇒ 就地重声明在 .nv 上（自定义属性是继承的，作用域到导航为止）；
     ② 悬停底：原来抬白（rgba(255,255,255,.10)）在浅底上等于没反应 ⇒ 改成压深七个点；
     ③ 当前项：原来是「白药丸压深底」，换浅底后白药丸几乎看不见 ⇒ 改成品牌色实心块 + 白字
        （对比度 4.8:1，仍达 AA），层级反而比原来更清楚。
   只换背景与字色，不动任何尺寸 / 间距 / 字号。 */
:root[data-skin='wb-spring'] .nv,

:root[data-skin='wb-summer'] .nv,

:root[data-skin='wb-autumn'] .nv,

:root[data-skin='wb-winter'] .nv{--hd-ink:var(--hd-on)}
:root[data-skin='wb-spring'] .nv .nvl:hover,

:root[data-skin='wb-summer'] .nv .nvl:hover,

:root[data-skin='wb-autumn'] .nv .nvl:hover,

:root[data-skin='wb-winter'] .nv .nvl:hover{background:rgba(0,0,0,.07);color:var(--hd-on)}
:root[data-skin='wb-spring'] .nvi.on .nvl,

:root[data-skin='wb-summer'] .nvi.on .nvl,

:root[data-skin='wb-autumn'] .nvi.on .nvl,

:root[data-skin='wb-winter'] .nvi.on .nvl{background:var(--brand2);color:var(--c-ffffff)}
:root[data-skin='wb-spring'] .nv.dim .nvi.on .nvl,

:root[data-skin='wb-summer'] .nv.dim .nvi.on .nvl,

:root[data-skin='wb-autumn'] .nv.dim .nvi.on .nvl,

:root[data-skin='wb-winter'] .nv.dim .nvi.on .nvl{background:transparent;color:var(--hd-on)}
