/* tokens.css —— 模板包色板令牌 · 两层可变性（`dev-06` §8.1 B14/B15 · `dev-03` §6.4 / §8）
 *
 * ── 分层（本文件的全部价值：**谁可以变**）────────────────────────────────────
 *   L0  FROZEN  `:root`                语义层 + 中性层 + 品牌键**中性兜底** + **尺度令牌**
 *                                      ⛔ 变体**只**覆盖品牌键（下列 10 个），其余不得覆盖
 *   L1  TINT    `html[data-tint="…"]`  只覆盖 10 个品牌键（色相槽位，纯数据，由脚本派生）
 *   L2  LOOK    `html[data-look="…"]`  只覆盖 6 个**尺度键**（区块节奏 / 圆角 / 标题字重与字距）；
 *                                      事实源 = `resources/packs/khd_official/looks.json`；
 *                                      消费方 = `site.css` 的 `var(--sp-… / --r-… / --w-… / --track-…)`
 *                                      （T-D-13 批 2 落地；冻结 6 个字号/行高键，见 `:root` 注释）
 *                                      ⚠️ 注释内禁写「星号 + 斜杠」的令牌通配写法
 *                                         （星号紧跟斜杠会**提前闭合注释**，整段 CSS 失效）。
 *
 * ── `:root` 为什么必须是**中性灰**（不是"某个品牌"）──────────────────────────
 *   旧产物 `:root` == `khd_jiazheng` 整块 ⇒ **漏配 / 拼错 `data-tint` 时页面静默变成家政品牌**，
 *   这正是多马甲矩阵最忌讳的**马甲关联风险**（R4 §2 B15 · `dev-06` §2 D-8）。
 *   现改为：品牌键在 `:root` 取**灰阶**（HSB `S == 0`，机械断言 C10），
 *   并配**显眼哨兵**（见文件末尾 `html:not([data-tint])`）⇒ 缺配一眼可见，绝不偷偷变成任一品牌。
 *
 * 写入权（D-86 · D-96 · D-97）：`:root` 段（含**尺度令牌**）= 人工维护的 L0（`tokenize_css.py` /
 *   `tokenize_scale.py` 只**读**它建映射表）；末尾轴段（哨兵 + L1 TINT 块 + L2 LOOK 块）
 *   = `python tools/make_variants.py --write` 的**逐字节派生物**，勿手改。
 */

:root{
  --c-brand: #737373;
  --c-brand-rgb: 115 115 115;
  --c-brand-hover: #525252;
  --c-brand-hover-rgb: 82 82 82;
  --c-brand-active: #404040;
  --c-brand-active-rgb: 64 64 64;
  --c-deep: #262626;
  --c-deep-rgb: 38 38 38;
  --c-deep-2: #171717;
  --c-deep-2-rgb: 23 23 23;
  --c-deep-card: #303030;
  --c-deep-card-rgb: 48 48 48;
  --c-deep-line: #4A4A4A;
  --c-deep-line-rgb: 74 74 74;
  --c-steel: #5A5A5A;
  --c-steel-rgb: 90 90 90;
  --c-gold: #A3A3A3;
  --c-gold-rgb: 163 163 163;
  --c-on-dark: #C7D0DA;
  --c-on-dark-rgb: 199 208 218;
  --c-on-dark-dim: #B6C4D6;
  --c-on-dark-dim-rgb: 182 196 214;
  --c-surface-warm: #F6F5F3;
  --c-surface-warm-rgb: 246 245 243;
  --c-surface-blue: #E5ECF4;
  --c-surface-blue-rgb: 229 236 244;
  --c-soft-blue: #E5E5E5;
  --c-soft-blue-rgb: 229 229 229;
  --c-soft-orange: #F0E4D8;
  --c-soft-orange-rgb: 240 228 216;
  --c-soft-green: #DCEFE6;
  --c-soft-green-rgb: 220 239 230;
  --c-soft-gray: #E9EDF2;
  --c-soft-gray-rgb: 233 237 242;
  --c-soft-gray2: #E3E7ED;
  --c-soft-gray2-rgb: 227 231 237;
  --c-error: #DC2626;
  --c-error-rgb: 220 38 38;
  --c-success: #047857;
  --c-success-rgb: 4 120 87;
  --c-warn: #B45309;
  --c-warn-rgb: 180 83 9;
  --c-disabled: #C9D2DC;
  --c-disabled-rgb: 201 210 220;
  --c-ink-title: #181D26;
  --c-ink-title-rgb: 24 29 38;
  --c-ink-body: #333D4B;
  --c-ink-body-rgb: 51 61 75;
  --c-ink-desc: #55637A;
  --c-ink-desc-rgb: 85 99 122;
  --c-ink-meta: #5B6B82;
  --c-ink-meta-rgb: 91 107 130;
  --c-deep-2-alt: #0A1F35;
  --c-deep-2-alt-rgb: 10 31 53;
  --c-footer-link: #A5B3C4;
  --c-footer-link-rgb: 165 179 196;
  --c-footer-dim: #828F9E;
  --c-footer-dim-rgb: 130 143 158;
  --c-focus: #3B82F6;
  --c-focus-rgb: 59 130 246;
  --c-shadow: #262E3D;
  --c-shadow-rgb: 38 46 61;
  --c-line: #E5E7EB;
  --c-line-rgb: 229 231 235;
  --c-surface: #F3F4F6;
  --c-surface-rgb: 243 244 246;

  /* ── 尺度令牌（L0 · 人工维护）= 6 LOOK 可变 + 6 冻结 ──────────────────────────
     ⚠️ 消费方在 `site.css`，由 `tools/tokenize_scale.py` 生成（对偶于颜色的 tokenize_css.py）；
        本段缺任一键 ⇒ 那条声明解析为空、整条作废（机械断言 = verify_css_tokens.py C14）。

     LOOK **可变** 6 键 —— 值即 LOOK `L2` 基线，也就是改造前的产物原值
       ⇒ **未配（或配成 L2）`data-look` 时渲染零变化**，避免视觉回归：
       --sp-section-y(-md) 区块纵向节奏（.section-y）· --r-sharp/--r-card 圆角（按钮族/卡片族）
       --w-section 区块标题字重 · --track-heading 全局标题字距

     冻结 6 键 —— **任何 LOOK 都不得覆盖**（C14 断言）。理由是它们承载**无障碍红线**
       （`dev-02` C-9.11 行高比 / Ardot §五 正文 ≥14px），必须全局恒定。
       ⚠️ 如实登记：现值为**产物既有值**，其与 C-9.11「行高 ≥1.7」的差距
          （`dev-06` A9 / R4 §122 记录的 15 处行高比 < 1.7）属 **NFR-11 既有技术债**，
          本包**只负责"不因切换 LOOK 而劣化"**，不在此处修（且全库当前**无**行高比门禁）。 */
  --fs-body: 14px;
  --lh-body: 23px;
  --fs-section: 24px;
  --lh-section: 34px;
  --fs-section-md: 40px;
  --lh-section-md: 52px;
  --sp-section-y: 36px;
  --sp-section-y-md: 88px;
  --r-sharp: 12px;
  --r-card: 14px;
  --w-section: 700;
  --track-heading: 0;
}

/* ── L0 缺配哨兵：未配置 / 空值 / 拼错 code 时，页面不得伪装成任一品牌 ────────────
   `:root` 已把品牌键置灰阶（机械断言见 tools/verify_css_tokens.py C10）；
   本段是最外层可视化提示，生产由 PHP 保证不出现（layout/index 空值 → `__UNSET__`）。 */
html[data-tint="__UNSET__"],html:not([data-tint]){outline:2px dashed var(--c-error)}

/* 保洁接单平台 · 洁净绿 —— 槽位 C2，主色 #0A7A50，H 157.5° */
html[data-tint="khd_baojie"]{
  --c-brand: #0A7A50;
  --c-brand-rgb: 10 122 80;
  --c-brand-hover: #096B46;
  --c-brand-hover-rgb: 9 107 70;
  --c-brand-active: #075B3B;
  --c-brand-active-rgb: 7 91 59;
  --c-deep: #06382A;
  --c-deep-rgb: 6 56 42;
  --c-deep-2: #042A1F;
  --c-deep-2-rgb: 4 42 31;
  --c-deep-card: #0A4A38;
  --c-deep-card-rgb: 10 74 56;
  --c-deep-line: #0A4A38;
  --c-deep-line-rgb: 10 74 56;
  --c-steel: #0E5A44;
  --c-steel-rgb: 14 90 68;
  --c-gold: #E8B87A;
  --c-gold-rgb: 232 184 122;
  --c-soft-blue: #D8F0E5;
  --c-soft-blue-rgb: 216 240 229;
}

/* 财税拓客宝 · 藏青 + 琥珀金 —— 槽位 E1，主色 #1E3A8A，H 224.4° */
html[data-tint="khd_caishui"]{
  --c-brand: #1E3A8A;
  --c-brand-rgb: 30 58 138;
  --c-brand-hover: #1E40AF;
  --c-brand-hover-rgb: 30 64 175;
  --c-brand-active: #172554;
  --c-brand-active-rgb: 23 37 84;
  --c-deep: #12244F;
  --c-deep-rgb: 18 36 79;
  --c-deep-2: #0B1838;
  --c-deep-2-rgb: 11 24 56;
  --c-deep-card: #1E3E7A;
  --c-deep-card-rgb: 30 62 122;
  --c-deep-line: #1E3E7A;
  --c-deep-line-rgb: 30 62 122;
  --c-steel: #2563EB;
  --c-steel-rgb: 37 99 235;
  --c-gold: #E8B87A;
  --c-gold-rgb: 232 184 122;
  --c-soft-blue: #E0E9FA;
  --c-soft-blue-rgb: 224 233 250;
}

/* 防水维修接单 · 深青 —— 槽位 D4，主色 #0A5361，H 189.7° */
html[data-tint="khd_fangshui"]{
  --c-brand: #0A5361;
  --c-brand-rgb: 10 83 97;
  --c-brand-hover: #084551;
  --c-brand-hover-rgb: 8 69 81;
  --c-brand-active: #073943;
  --c-brand-active-rgb: 7 57 67;
  --c-deep: #063037;
  --c-deep-rgb: 6 48 55;
  --c-deep-2: #042229;
  --c-deep-2-rgb: 4 34 41;
  --c-deep-card: #0A424C;
  --c-deep-card-rgb: 10 66 76;
  --c-deep-line: #0A424C;
  --c-deep-line-rgb: 10 66 76;
  --c-steel: #155E75;
  --c-steel-rgb: 21 94 117;
  --c-gold: #E8B87A;
  --c-gold-rgb: 232 184 122;
  --c-soft-blue: #D6EEF1;
  --c-soft-blue-rgb: 214 238 241;
}

/* 家庭维修接单平台 · 暖深红 —— 槽位 A6，主色 #551A09，H 13.4° */
html[data-tint="khd_jiaweixiu"]{
  --c-brand: #551A09;
  --c-brand-rgb: 85 26 9;
  --c-brand-hover: #461508;
  --c-brand-hover-rgb: 70 21 8;
  --c-brand-active: #381106;
  --c-brand-active-rgb: 56 17 6;
  --c-deep: #1B0C05;
  --c-deep-rgb: 27 12 5;
  --c-deep-2: #120804;
  --c-deep-2-rgb: 18 8 4;
  --c-deep-card: #27170D;
  --c-deep-card-rgb: 39 23 13;
  --c-deep-line: #27170D;
  --c-deep-line-rgb: 39 23 13;
  --c-steel: #7C2D12;
  --c-steel-rgb: 124 45 18;
  --c-gold: #E8B87A;
  --c-gold-rgb: 232 184 122;
  --c-soft-blue: #EFDCD4;
  --c-soft-blue-rgb: 239 220 212;
}

/* 家政接单宝 · 洁净青绿 —— 槽位 C1，主色 #0F766E，H 175.3° */
html[data-tint="khd_jiazheng"]{
  --c-brand: #0F766E;
  --c-brand-rgb: 15 118 110;
  --c-brand-hover: #115E59;
  --c-brand-hover-rgb: 17 94 89;
  --c-brand-active: #134E4A;
  --c-brand-active-rgb: 19 78 74;
  --c-deep: #0B3B38;
  --c-deep-rgb: 11 59 56;
  --c-deep-2: #0A2E2C;
  --c-deep-2-rgb: 10 46 44;
  --c-deep-card: #17504C;
  --c-deep-card-rgb: 23 80 76;
  --c-deep-line: #1E5B56;
  --c-deep-line-rgb: 30 91 86;
  --c-steel: #155E75;
  --c-steel-rgb: 21 94 117;
  --c-gold: #E8B87A;
  --c-gold-rgb: 232 184 122;
  --c-soft-blue: #DCF2EE;
  --c-soft-blue-rgb: 220 242 238;
}

/* 客户多 · 总入口信赖红棕 —— 槽位 A4，主色 #83280D，H 13.7° */
html[data-tint="khd_kehu"]{
  --c-brand: #83280D;
  --c-brand-rgb: 131 40 13;
  --c-brand-hover: #74210A;
  --c-brand-hover-rgb: 116 33 10;
  --c-brand-active: #5C1A08;
  --c-brand-active-rgb: 92 26 8;
  --c-deep: #26120A;
  --c-deep-rgb: 38 18 10;
  --c-deep-2: #190C06;
  --c-deep-2-rgb: 25 12 6;
  --c-deep-card: #33200F;
  --c-deep-card-rgb: 51 32 15;
  --c-deep-line: #33200F;
  --c-deep-line-rgb: 51 32 15;
  --c-steel: #7C2D12;
  --c-steel-rgb: 124 45 18;
  --c-gold: #E8B87A;
  --c-gold-rgb: 232 184 122;
  --c-soft-blue: #F5DCD2;
  --c-soft-blue-rgb: 245 220 210;
}

/* 美缝接单平台 · 缝金褐 —— 槽位 B4，主色 #6C4B0B，H 39.6° */
html[data-tint="khd_meifeng"]{
  --c-brand: #6C4B0B;
  --c-brand-rgb: 108 75 11;
  --c-brand-hover: #593D09;
  --c-brand-hover-rgb: 89 61 9;
  --c-brand-active: #483107;
  --c-brand-active-rgb: 72 49 7;
  --c-deep: #241A05;
  --c-deep-rgb: 36 26 5;
  --c-deep-2: #171103;
  --c-deep-2-rgb: 23 17 3;
  --c-deep-card: #312310;
  --c-deep-card-rgb: 49 35 16;
  --c-deep-line: #312310;
  --c-deep-line-rgb: 49 35 16;
  --c-steel: #854D0E;
  --c-steel-rgb: 133 77 14;
  --c-gold: #E8B87A;
  --c-gold-rgb: 232 184 122;
  --c-soft-blue: #F6EBD2;
  --c-soft-blue-rgb: 246 235 210;
}

/* 木工接单平台 · 原木深棕 —— 槽位 B3，主色 #4E2C08，H 30.9° */
html[data-tint="khd_mugong"]{
  --c-brand: #4E2C08;
  --c-brand-rgb: 78 44 8;
  --c-brand-hover: #402406;
  --c-brand-hover-rgb: 64 36 6;
  --c-brand-active: #331D05;
  --c-brand-active-rgb: 51 29 5;
  --c-deep: #221305;
  --c-deep-rgb: 34 19 5;
  --c-deep-2: #160C03;
  --c-deep-2-rgb: 22 12 3;
  --c-deep-card: #2F1D0A;
  --c-deep-card-rgb: 47 29 10;
  --c-deep-line: #2F1D0A;
  --c-deep-line-rgb: 47 29 10;
  --c-steel: #7C2D12;
  --c-steel-rgb: 124 45 18;
  --c-gold: #E8B87A;
  --c-gold-rgb: 232 184 122;
  --c-soft-blue: #F3E4CE;
  --c-soft-blue-rgb: 243 228 206;
}

/* 师傅接单通 · 工程橙 —— 槽位 A1，主色 #C2410C，H 17.5° */
html[data-tint="khd_shifu"]{
  --c-brand: #C2410C;
  --c-brand-rgb: 194 65 12;
  --c-brand-hover: #9A3412;
  --c-brand-hover-rgb: 154 52 18;
  --c-brand-active: #7C2D12;
  --c-brand-active-rgb: 124 45 18;
  --c-deep: #1F2937;
  --c-deep-rgb: 31 41 55;
  --c-deep-2: #111827;
  --c-deep-2-rgb: 17 24 39;
  --c-deep-card: #374151;
  --c-deep-card-rgb: 55 65 81;
  --c-deep-line: #374151;
  --c-deep-line-rgb: 55 65 81;
  --c-steel: #9A3412;
  --c-steel-rgb: 154 52 18;
  --c-gold: #FB923C;
  --c-gold-rgb: 251 146 60;
  --c-soft-blue: #FFEDD5;
  --c-soft-blue-rgb: 255 237 213;
}

/* 水电工接单 · 湖蓝 —— 槽位 D3，主色 #0F6AB6，H 207.3° */
html[data-tint="khd_shuidian"]{
  --c-brand: #0F6AB6;
  --c-brand-rgb: 15 106 182;
  --c-brand-hover: #0C599A;
  --c-brand-hover-rgb: 12 89 154;
  --c-brand-active: #0A487B;
  --c-brand-active-rgb: 10 72 123;
  --c-deep: #0A2E4F;
  --c-deep-rgb: 10 46 79;
  --c-deep-2: #062038;
  --c-deep-2-rgb: 6 32 56;
  --c-deep-card: #10406A;
  --c-deep-card-rgb: 16 64 106;
  --c-deep-line: #10406A;
  --c-deep-line-rgb: 16 64 106;
  --c-steel: #1D4F82;
  --c-steel-rgb: 29 79 130;
  --c-gold: #E8B87A;
  --c-gold-rgb: 232 184 122;
  --c-soft-blue: #D9EAF9;
  --c-soft-blue-rgb: 217 234 249;
}

/* 瓦工接单平台 · 泥陶橄榄 —— 槽位 B5，主色 #554409，H 46.6° */
html[data-tint="khd_wagong"]{
  --c-brand: #554409;
  --c-brand-rgb: 85 68 9;
  --c-brand-hover: #463807;
  --c-brand-hover-rgb: 70 56 7;
  --c-brand-active: #382D06;
  --c-brand-active-rgb: 56 45 6;
  --c-deep: #1F1804;
  --c-deep-rgb: 31 24 4;
  --c-deep-2: #141003;
  --c-deep-2-rgb: 20 16 3;
  --c-deep-card: #2B2210;
  --c-deep-card-rgb: 43 34 16;
  --c-deep-line: #2B2210;
  --c-deep-line-rgb: 43 34 16;
  --c-steel: #854D0E;
  --c-steel-rgb: 133 77 14;
  --c-gold: #E8B87A;
  --c-gold-rgb: 232 184 122;
  --c-soft-blue: #F1E9D0;
  --c-soft-blue-rgb: 241 233 208;
}

/* 维修接单平台 · 工装深红 —— 槽位 A5，主色 #6C200B，H 13.0° */
html[data-tint="khd_weixiu"]{
  --c-brand: #6C200B;
  --c-brand-rgb: 108 32 11;
  --c-brand-hover: #591B09;
  --c-brand-hover-rgb: 89 27 9;
  --c-brand-active: #481607;
  --c-brand-active-rgb: 72 22 7;
  --c-deep: #200E06;
  --c-deep-rgb: 32 14 6;
  --c-deep-2: #150905;
  --c-deep-2-rgb: 21 9 5;
  --c-deep-card: #2D1A0E;
  --c-deep-card-rgb: 45 26 14;
  --c-deep-line: #2D1A0E;
  --c-deep-line-rgb: 45 26 14;
  --c-steel: #7C2D12;
  --c-steel-rgb: 124 45 18;
  --c-gold: #E8B87A;
  --c-gold-rgb: 232 184 122;
  --c-soft-blue: #F2D9CE;
  --c-soft-blue-rgb: 242 217 206;
}

/* 装修师傅接单 · 深赭 —— 槽位 A2，主色 #9A3412，H 15.0° */
html[data-tint="khd_zhuangxiu"]{
  --c-brand: #9A3412;
  --c-brand-rgb: 154 52 18;
  --c-brand-hover: #7C2D12;
  --c-brand-hover-rgb: 124 45 18;
  --c-brand-active: #63290F;
  --c-brand-active-rgb: 99 41 15;
  --c-deep: #292524;
  --c-deep-rgb: 41 37 36;
  --c-deep-2: #1C1917;
  --c-deep-2-rgb: 28 25 23;
  --c-deep-card: #44403C;
  --c-deep-card-rgb: 68 64 60;
  --c-deep-line: #44403C;
  --c-deep-line-rgb: 68 64 60;
  --c-steel: #7C2D12;
  --c-steel-rgb: 124 45 18;
  --c-gold: #E8B87A;
  --c-gold-rgb: 232 184 122;
  --c-soft-blue: #F5E0D0;
  --c-soft-blue-rgb: 245 224 208;
}

/* ── L2 LOOK 层（尺度轴）：事实源 resources/packs/khd_official/looks.json ──────────
   只覆盖 6 个尺度键（区块纵向节奏 / 圆角 / 标题字重与字距）；
   字号与行高（--fs-… / --lh-…）**冻结**，任何 LOOK 不得覆盖（断言见 verify_css_tokens.py C14）。
   默认档 = looks.json 的 `default`（= 产物原值 ⇒ 未配 data-look 时渲染零变化）；
   消费方 = site.css 的 var(--sp-… / --r-… / --w-… / --track-…)。 */

/* LOOK L1 —— 利落 · 小圆角 + 紧凑节奏 + 标题重字重 */
html[data-look="L1"]{
  --sp-section-y: 28px;
  --sp-section-y-md: 72px;
  --r-sharp: 8px;
  --r-card: 10px;
  --w-section: 800;
  --track-heading: -0.005em;
}

/* LOOK L2 —— 标准（默认） */
html[data-look="L2"]{
  --sp-section-y: 36px;
  --sp-section-y-md: 88px;
  --r-sharp: 12px;
  --r-card: 14px;
  --w-section: 700;
  --track-heading: 0;
}

/* LOOK L3 —— 疏朗 · 大圆角 + 大留白 + 标题疏字距 */
html[data-look="L3"]{
  --sp-section-y: 48px;
  --sp-section-y-md: 112px;
  --r-sharp: 16px;
  --r-card: 20px;
  --w-section: 600;
  --track-heading: 0.01em;
}

/* LOOK L4 —— 沉实 · 最小圆角 + 稳节奏 */
html[data-look="L4"]{
  --sp-section-y: 36px;
  --sp-section-y-md: 96px;
  --r-sharp: 4px;
  --r-card: 6px;
  --w-section: 700;
  --track-heading: 0;
}
