/* ============================================================
   微略官网 V6 · 设计令牌 tokens.css
   来源：《原型设计方案文档》第 0.3 节 —— 原样落地，禁止在组件中硬编码
   ============================================================ */
:root{
  /* ---------- 品牌主色 ---------- */
  --brand-indigo:#2F1F5C;      /* 深靛紫 · 战略与深度 */
  --brand-navy:#171B4A;        /* 深藏青 · 【已停用】原「纯文字 LOGO 字标」专用色；2026-10-08 字标改版后统一用 --brand-indigo */
  --brand-gold:#F4C046;        /* 明亮金黄 · 洞察与 AI */
  --logo-orange:#F39700;       /* 品牌标记橙 · 仅限 LOGO 本体 */

  /* ---------- 中性色阶 ---------- */
  --ink-900:#2B292F;
  --ink-700:#4A4750;
  --ink-500:#767280;
  --ink-300:#B8B5BE;
  --ink-200:#D8D5DE;
  --ink-100:#ECEAEF;
  --white:#FFFFFF;
  --bg-cream:#FDF7F0;

  /* ---------- 深色区块专用 ---------- */
  --indigo-900:#251848;
  --indigo-700:#3B2A70;
  --on-indigo:#EDEAF6;
  --on-indigo-dim:#B7AFD2;

  /* ---------- 功能色 ---------- */
  --success:#2E9E6B;
  --warning:#E0A400;
  --danger:#D64545;
  --danger-bg:#FCEDED;
  --success-bg:#EAF6F0;

  /* ---------- 语义别名 ---------- */
  --text-primary:var(--ink-900);
  --text-secondary:var(--ink-700);
  --text-muted:var(--ink-500);
  --text-placeholder:var(--ink-300);
  --border-default:var(--ink-200);
  --border-focus:var(--brand-gold);
  --surface-page:var(--bg-cream);
  --surface-card:var(--white);
  --surface-dark:var(--brand-indigo);
  --cta-bg:var(--brand-indigo);
  --cta-bg-hover:var(--indigo-700);
  --cta-accent-bg:var(--brand-gold);
  --cta-accent-text:var(--brand-indigo);

  /* ---------- 派生令牌（由上述令牌组合，禁止独立色值） ---------- */
  --gold-hover:#E6AF35;
  --overlay:rgba(43,41,47,.5);
  --overlay-drawer:rgba(43,41,47,.42);
  --focus-ring:rgba(244,192,70,.28);
  --gold-soft:rgba(244,192,70,.16);
  --indigo-soft:rgba(47,31,92,.06);
  --on-indigo-soft:rgba(255,255,255,.08);
  --on-indigo-line:rgba(255,255,255,.20);   /* 深底上的层级引导线 */

  /* ---------- 字体 ---------- */
  /* 全站统一字族 = 与 LOGO 字标同族的「资源圆体」（圆黑 · 全圆角）。
     标题／正文／导航／按钮／数字全部走 --font-sans 这一族，风格一致；
     --font-num 亦不再使用 Inter，统一到同一族（如只想让数字保留 Inter，把下面一行换回
     --font-num:"Inter","DIN Alternate",var(--font-sans); 即可）。
     字体文件与授权说明见 assets/fonts/README.txt。
     回退链：资源圆体 → 系统无衬线（PingFang / 雅黑 / 思源黑体） —— 保证加载失败也不掉成衬线。 */
  --font-sans:"Weilue Rounded","Resource Han Rounded CN","PingFang SC","Microsoft YaHei",-apple-system,"HarmonyOS Sans","Source Han Sans SC","Noto Sans SC",sans-serif;
  --font-num:var(--font-sans);
  /* 品牌字标字体（思源宋体子集）——2026-10-08 字标改用客户艺术字位图后已不参与渲染，
     保留令牌与 @font-face 以便随时回退（未被引用时浏览器不会下载该字体文件） */
  --font-brand:"Weilue Wordmark","Noto Serif SC","Source Han Serif SC","Songti SC",SimSun,serif;

  /* ---------- 字号 ---------- */
  --fs-h1:52px;
  --fs-h2:34px;
  --fs-h3:23px;
  --fs-h4:18px;
  --fs-body:16px;
  --fs-sm:14px;
  --fs-xs:12px;
  --fs-num:44px;

  /* ---------- 字重 ---------- */
  --fw-bold:700;
  --fw-semibold:600;
  --fw-regular:400;

  /* ---------- 行高 ---------- */
  --lh-tight:1.2;
  --lh-title:1.3;
  --lh-module:1.4;
  --lh-body:1.7;
  --lh-sm:1.6;
  --lh-num:1.1;

  /* ---------- 字间距 ---------- */
  --ls-h1:0.5px;
  --ls-h2:0.3px;

  /* ---------- 间距 ---------- */
  --sp-1:8px;  --sp-2:16px; --sp-3:24px; --sp-4:32px;
  --sp-5:40px; --sp-6:48px; --sp-8:64px; --sp-10:80px;
  --sp-12:96px; --sp-15:120px;

  /* ---------- 版心与栅格 ---------- */
  --container:1200px;
  --container-narrow:880px;
  --gutter:24px;
  --grid-cols:12;

  /* ---------- 圆角 ---------- */
  --radius-sm:4px;
  --radius:8px;
  --radius-lg:16px;
  --radius-pill:999px;

  /* ---------- 阴影 ---------- */
  --shadow-card:0 2px 12px rgba(47,31,92,0.08);
  --shadow-hover:0 8px 24px rgba(47,31,92,0.14);
  --shadow-drawer:-8px 0 32px rgba(47,31,92,0.16);
  --shadow-modal:0 16px 48px rgba(0,0,0,0.22);

  /* ---------- 层叠上下文 ---------- */
  --z-base:1; --z-sticky:100; --z-header:200; --z-dropdown:300;
  --z-drawer:400; --z-modal:500; --z-toast:600; --z-widget:700;

  /* ---------- 动效 ---------- */
  --dur-fast:200ms;
  --dur-base:300ms;
  --dur-enter:480ms;
  --dur-carousel:600ms;
  --ease-out:cubic-bezier(0.22,1,0.36,1);
  --ease-in-out:cubic-bezier(0.4,0,0.2,1);
  --transition-fast:var(--dur-fast) var(--ease-out);
  --transition-base:var(--dur-base) var(--ease-out);

  /* ---------- 固定头部高度 ---------- */
  --header-h:72px;
  --header-h-mobile:56px;
}

/* ============================================================
   reset
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-sans);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  color:var(--text-primary);
  background:var(--surface-page);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,p,figure,ul,ol{margin:0;padding:0;}
ul,ol{list-style:none;}
a{color:inherit;text-decoration:none;}
img,svg{display:block;max-width:100%;}
button,input,textarea,select{font:inherit;color:inherit;}
button{background:none;border:none;cursor:pointer;}
table{border-collapse:collapse;width:100%;}
:focus-visible{outline:2px solid var(--brand-gold);outline-offset:2px;}
[hidden]{display:none !important;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
}
