/* ==========================================================================
   设计令牌 — 数智为新官网
   风格：全站浅色商务风（政务/央企投屏友好），cyan 仅作点缀。
   硬约束：正文对比度 >= 7:1，次要文字 >= 4.5:1（WCAG AA）。
   ========================================================================== */

:root {
  /* ---- 中性 ---- */
  --c-bg-page:    #FFFFFF;
  --c-bg-subtle:  #F7F9FC;
  --c-bg-muted:   #EEF2F8;
  --c-bg-tint:    #E9F2FB;
  --c-border:     #DCE3EC;
  --c-border-strong: #C6D0DE;

  /* ---- 文字（对比度已核算） ---- */
  --c-text-1: #16243A;  /* 标题  ~14.4:1 on #FFF */
  --c-text-2: #44546B;  /* 正文  ~7.9:1  on #FFF */
  --c-text-3: #5D6B80;  /* 辅助  ~5.6:1  on #FFF，仅 >=15px */
  --c-text-inverse: #FFFFFF;
  --c-text-inverse-dim: #C3D2E6; /* on --c-brand-900 ~9:1 */

  /* ---- 品牌蓝 ---- */
  --c-brand-900: #06213F;
  --c-brand-800: #0A2E56;
  --c-brand-700: #103F6E;
  --c-brand-600: #14538C;
  --c-brand-500: #1A66A8;
  --c-brand-400: #2E86C8;
  --c-brand-100: #D8E8F7;
  --c-brand-050: #EEF6FD;

  /* ---- 点缀 cyan（取自 PPT 霓虹，克制使用） ---- */
  --c-accent-600: #0E7C99;
  --c-accent-500: #1293B4;
  --c-accent-400: #1FA9CC;

  /* ---- 语义色 ---- */
  --c-success:  #1F7A4D;
  --c-warning:  #9A6107;
  --c-danger:   #B02A2A;
  --c-info:     var(--c-brand-500);

  /* ---- 间距（8pt 栅格） ---- */
  --sp-1:  4px;  --sp-2:  8px;  --sp-3:  12px; --sp-4:  16px;
  --sp-5: 20px;  --sp-6: 24px;  --sp-7: 32px;  --sp-8: 40px;
  --sp-9: 48px;  --sp-10:64px;  --sp-11:80px;  --sp-12:96px;

  /* ---- 圆角 ---- */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 22px;
  --radius-pill: 999px;

  /* ---- 阴影 ---- */
  --shadow-1: 0 1px 2px rgba(22, 36, 58, .06), 0 1px 3px rgba(22, 36, 58, .04);
  --shadow-2: 0 4px 12px rgba(22, 36, 58, .07), 0 1px 3px rgba(22, 36, 58, .05);
  --shadow-3: 0 12px 32px rgba(22, 36, 58, .10), 0 3px 8px rgba(22, 36, 58, .05);
  /* 悬停浮起时的品牌色投影 */
  --shadow-brand: 0 16px 36px rgba(26, 102, 168, .16), 0 4px 10px rgba(22, 36, 58, .06);
  /* 内高光：卡片顶部一条极淡亮边，增加质感 */
  --ring-top: inset 0 1px 0 rgba(255, 255, 255, .9);

  /* ---- 渐变 ---- */
  --grad-brand: linear-gradient(135deg, var(--c-brand-600) 0%, var(--c-brand-400) 58%, var(--c-accent-500) 100%);
  --grad-line: linear-gradient(90deg, var(--c-brand-400), var(--c-accent-400));
  --grad-section: linear-gradient(180deg, #FFFFFF 0%, var(--c-bg-subtle) 100%);

  /* ---- 装饰：极淡柔和光斑，浅色页面上增加空气感 ---- */
  --glow-brand: radial-gradient(closest-side, rgba(46, 134, 200, .13) 0%, rgba(46, 134, 200, 0) 100%);
  --glow-accent: radial-gradient(closest-side, rgba(31, 169, 204, .13) 0%, rgba(31, 169, 204, 0) 100%);

  /* ---- 底纹 ---- */
  --dots-light: radial-gradient(rgba(26, 102, 168, .14) 1px, transparent 1px);
  --grid-dark: linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px),
               linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);

  /* ---- 版心 ---- */
  --container: 1200px;
  --container-narrow: 880px;
  --header-h: 68px;

  /* ---- 字体：全本地字体栈，内网无外链 ---- */
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC",
               "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC",
               "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, "Cascadia Mono", Consolas,
               "Liberation Mono", Menlo, monospace;

  /* ---- 字号阶梯 ---- */
  --fs-xs:   13px;
  --fs-sm:   14px;
  --fs-base: 16px;
  --fs-md:   18px;
  --fs-lg:   20px;
  --fs-xl:   24px;
  --fs-2xl:  30px;
  --fs-3xl:  38px;
  --fs-4xl:  48px;

  /* ---- 过渡 ---- */
  --ease: cubic-bezier(.4, 0, .2, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --dur: 180ms;
  --dur-slow: 380ms;
}

/* 深色区块内的局部令牌覆写：让同一个组件在深底上也能用 */
.on-dark {
  --c-text-1: #FFFFFF;
  --c-text-2: #D7E3F2;
  --c-text-3: #AEC2DA;
  --c-border: rgba(255, 255, 255, .18);
  --c-border-strong: rgba(255, 255, 255, .32);
  --c-bg-page: transparent;
  --c-bg-subtle: rgba(255, 255, 255, .06);
  --c-bg-muted: rgba(255, 255, 255, .10);
  color: var(--c-text-2);
}
