/*! 码泓科技 · 全局布局令牌 v1.1（2026-10-24）
 * 增补：@font-face 自托管阿里巴巴普惠体 3.0（4 字重）——三域此前无 @font-face，
 *       导致 body 声明了 "Alibaba PuHuiTi 3.0" 但实际全部回退系统字体（实测渲染探针）。
 * 相对 URL ⇒ 解析为 /policies/assets/fonts/alibaba-puhuiti-3/…
 * 依据：2026-10-24 UI/UX 走查审计 · 字体族 7 族混用
 */

@font-face {
  font-family: "Alibaba PuHuiTi 3.0"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/alibaba-puhuiti-3/AlibabaPuHuiTi-3-55-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "Alibaba PuHuiTi 3.0"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("fonts/alibaba-puhuiti-3/AlibabaPuHuiTi-3-65-Medium.woff2") format("woff2");
}
@font-face {
  font-family: "Alibaba PuHuiTi 3.0"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("fonts/alibaba-puhuiti-3/AlibabaPuHuiTi-3-75-SemiBold.woff2") format("woff2");
}
@font-face {
  font-family: "Alibaba PuHuiTi 3.0"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/alibaba-puhuiti-3/AlibabaPuHuiTi-3-85-Bold.woff2") format("woff2");
}


/* BRANDVARS-20261027（UIUX-AUDIT-FIX-20261027 P3）：域品牌色统一命名（pianzhang/docs/jiandan 三域可 grep 验收）
   与 www 首页 :root 同源：--c-pianzhang=#0C6BA0；docs 归码泓简单系=#0284C7；jiandan=#0C6BA0（2026-10-28 补齐，老牛指令） */
:root{ --c-pianzhang:#0C6BA0; --c-docs:#0284C7; --c-jiandan:#0C6BA0; }
:root {
  /* DOCKRAIL-20261104：侧栏与左下 dock 的唯一宽度真源 */
  --mhs-rail-w:224px;
  /* ── R1 容器与栅格 ─────────────────────────────── */
  --mh-container: 1200px;      /* 唯一内容容器宽（官网原 1080 → 三域原 1180，统一 1200）*/
  --mh-gutter: 24px;           /* 页面左右留白 */
  --mh-side: 240px;            /* 侧栏宽（原 236 统一到 240）*/
  --mh-section-gap: 64px;      /* 桌面区块纵向间距 */

  /* ── R2 字体（唯一 2 套）───────────────────────── */
  /* ⚠️ 官网原写 'AlibabaPuHuiTi'（无空格）→ 字体不生效、实际回退系统字体，故四域粗细不一致 */
  /* FONT-CHAIN-20261103：--mh-font-sans 引用 --xia-font-family-base，而后者全站从未定义。
     var() 在「变量已定义但值本身无效」时不走 fallback ⇒ 整条 font-family 声明失效、
     静默回落浏览器默认字体（这才是四域字体不一致的真因）。在此补真值。 */
  --xia-font-family-base: "Alibaba PuHuiTi 3.0", AlibabaPuHuiTi, -apple-system, BlinkMacSystemFont, PingFang SC, Hiragino Sans GB, Microsoft YaHei, sans-serif;
  --mh-font-sans: var(--xia-font-family-base);
  --mh-font-mono: "SF Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Courier New", monospace;

  /* ── R3 字号阶梯（8 级，下限 12px）─────────────── */
  --mh-fs-display: 44px;   --mh-lh-display: 50.6px;  /* 官网主标题 */
  --mh-fs-h1: 27px;        --mh-lh-h1: 36px;
  --mh-fs-h2: 22px;        --mh-lh-h2: 29.7px;
  --mh-fs-h3: 17px;        --mh-lh-h3: 27.2px;
  --mh-fs-body: 14px;      --mh-lh-body: 22.4px;      /* 正文基准 */
  --mh-fs-small: 13px;     --mh-lh-small: 20.8px;
  --mh-fs-caption: 12px;   --mh-lh-caption: 19.2px;    /* 下限，禁 <12px */
  --mh-fs-caption-strong: 12px; --mh-lh-caption-strong: 19.2px;

  /* CS-P01-20261107 · 字号下限（收编自 47 个页面的内联补丁）
     原状：每个页面各写一份 <style>small{font-size:12px}</style>（重复 47 次）。
     收进字号阶梯的权威文件后：① 页面不再内联重复 ② 所有引用本文件的页面
     自动获得同一规则 ⇒ 字号下限真正全站同源。 */
  small { font-size: var(--mh-fs-caption); }

  /* ── R4 圆角 / 阴影（4 + 3 档）─────────────────── */
  --mh-radius-sm: 8px;      /* 徽章 / 标签 / 输入框 */
  --mh-radius-md: 12px;     /* 按钮 / 小卡片 */
  --mh-radius-lg: 16px;     /* 大卡片 / hero / banner */
  --mh-radius-pill: 999px;
  --mh-shadow-1: 0 1px 2px rgba(15,23,42,.04), 0 6px 20px rgba(15,23,42,.05);  /* SKIN01-20261101：双层柔阴影（接触影+环境影） */
  --mh-shadow-2: 0 4px 16px rgba(15,23,42,.08);
  --mh-shadow-3: 0 14px 36px rgba(15,23,42,.12);

  /* ── R5 间距（4px 基线）────────────────────────── */
  --mh-s1: 4px;   --mh-s2: 8px;   --mh-s3: 12px;  --mh-s4: 16px;
  --mh-s5: 20px;  --mh-s6: 24px;  --mh-s8: 32px;  --mh-s10: 40px;
  --mh-s12: 48px; --mh-s16: 64px;

  /* ── R6 中性色（四域已一致，保持不变）──────────── */
  --mh-n-0: #FFFFFF;   --mh-n-50: #F8FAFC;  --mh-n-100: #F1F5F9;
  --mh-n-200: #E2E8F0; --mh-n-300: #CBD5E1; --mh-n-400: #64748B;  /* AUDIT-20261113 VISUAL-TOKENS：400档压白底2.56→4.76 */  /* SKIN01 补档 */
  --mh-n-500: #64748B; --mh-n-600: #475569;                       /* SKIN01 补档 */
  --mh-n-700: #334155; --mh-n-900: #0F172A;

  /* ── 移动端（≤860px）──────────────────────────── */
  --mh-section-gap-mobile: 40px;
  --mh-touch-min: 40px;      /* 触摸目标最小高度 */
}

/* ── 基础应用 ─────────────────────────────────────── */
html {
  font-family: var(--mh-font-sans);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  font-family: var(--mh-font-sans) !important;   /* 三域页面自身 body 规则覆盖，需 !important 兜底 */
  font-size: 16px !important;                     /* 篇章基准 body 字号 */
  line-height: 1.65 !important;                    /* SKIN01-20261101：中文阅读黄金区（原 normal≈1.3 拥挤） */
}
/* 代码 / 密钥 / ID 统一等宽 */
code, kbd, pre, samp, .mono, [class*="code"], [class*="mono"] {
  font-family: var(--mh-font-mono);
}
/* 触摸目标：移动端交互元素补足命中区 */
@media (max-width: 860px) {
  a, button, [role="button"], input, select, textarea {
    min-height: var(--mh-touch-min);
  }
  /* TOUCHFIX-20261028：原选择器特异性 0,4,1，会压过页面级 .doc-side a / .q-row 的
     display:block，导致窄屏下目录项与「标题+摘要」被强行并排成一行。
     包 :where() 把特异性降为 0，页面显式布局优先；裸 <a> 仍拿到 inline-flex 触摸区。 */
  :where(a:not([class*="btn"]):not([class*="button"]):not(.btn):not(.button)) {
    display: inline-flex;
    align-items: center;
  }

  /* VISFIX6-20261105（老牛：「营销卡片颜色太浅，换成灰黑毛玻璃」）：营销卡唯一色彩真源。
     shell.css 只引用这些变量，不得写死 rgba/blur；改色只改这里。
     对比度（WCAG，底色 #1B2432 与浅色页面合成后实测）：
       --mhs-card-glass-fg   #F8FAFC  ≈ 14.6:1
       --mhs-card-glass-muted #CBD5E1 ≈ 9.4:1
       --mhs-card-glass-cta-fg #0B1220 on #E2E8F0 ≈ 13.1:1 */
  --mhs-card-glass-bg:rgba(24,32,44,.92);
  --mhs-card-glass-border:rgba(148,163,184,.34);
  --mhs-card-glass-blur:blur(18px) saturate(1.25);
  --mhs-card-glass-fg:#F8FAFC;
  --mhs-card-glass-muted:#CBD5E1;
  --mhs-card-glass-cta:#E2E8F0;
  --mhs-card-glass-cta-fg:#0B1220;
}

/* VISFIX6-20261105 修正：上一版 token 落在 @media 内，这里用 :root 全局再声明（同名后置覆盖） */
:root{
  --mhs-card-glass-bg:rgba(24,32,44,.92);
  --mhs-card-glass-border:rgba(148,163,184,.34);
  --mhs-card-glass-blur:blur(18px) saturate(1.25);
  --mhs-card-glass-fg:#F8FAFC;
  --mhs-card-glass-muted:#CBD5E1;
  --mhs-card-glass-cta:#E2E8F0;
  --mhs-card-glass-cta-fg:#0B1220;
}
