/* =====================================================================
   Design Token System (SSOT - Single Source of Truth)
   =====================================================================
   本文件是设计系统的唯一真源：颜色 / 排版 / 间距 / 圆角 / 阴影 / 过渡 /
   布局尺寸全部定义在这里，确保全站一致性。

   使用方式：
     - CSS:   var(--color-primary)、var(--aws-navy)（兼容别名）等
     - 禁止在页面里硬编码颜色、字号、间距、圆角数值

   注入位置：index.php 的 geo_polish_inject()，全站 <head> 注入，
   且必须先于 site-polish / 各页 site-theme 生效（漏引它全站令牌失效）。

   令牌分类：
     1. 颜色令牌
        --color-primary/-hover/-light     品牌主色（橙 #ED7D31 / #C55A11 / #FFF7ED）
        --color-secondary/-hover/-light   次操作蓝（#0073BB / #005A92 / #E6F2FA）
        --color-success/-warning/-error   语义色（含 -light / -on 变体）
        --color-neutral-50 ~ 900          中性灰阶
        --color-semantic-text(-secondary/-tertiary/-disabled) 文字色
        --color-biz-*                     六域业务色（publish/content/project/
                                          insight/account/platform，各含 -light/-ink/-on）
        --color-surface(-secondary/-hover/-disabled) 面（卡/框体）背景
     2. 排版令牌
        --font-family-primary/-display/-mono；--font-size-h1~h6、body-lg/md/sm、caption
        --font-weight-light~extrabold；--line-height-tight/normal/relaxed/loose
        （.text-h1 ~ .text-caption 工具类在 typography.css，按页按需引入）
     3. 间距令牌   --spacing-xs(4) sm(8) md(12) lg(16) xl(24) xxl(32) xxxl(40)
     4. 圆角令牌   --border-radius-sm(3) md(6) lg(8) pill(999)；--border-width-*
     5. 阴影令牌   --shadow-xs ~ xl
     6. 过渡令牌   --transition-fast(150ms)/normal(250ms)/slow(350ms)
     7. 布局令牌   --layout-sidebar-width / --layout-topbar-height / --layout-max-content-width

   兼容别名（DEPRECATED MAPPINGS，老页面沿用，指向上述真源，勿再新增使用面）：
     --aws-navy/--aws-orange/--aws-blue/--aws-green/--aws-red/--aws-text*/--aws-border*
     --r-*（圆角）、--sh-*（阴影）、--sp-*（间距）、--geo-sidebar-w/--geo-topbar-h

   深色模式：html[data-theme="dark"] 的令牌覆盖在 assets/dark-mode.css（默认关闭）。

   更新流程：改这里的值 → 使用方自动生效 → 检查浅色/深色两套外观 → 一个 commit。
   ===================================================================== */

:root {
  /* ========== COLOR TOKENS ========== */
  
  /* Primary Colors */
  --color-primary: #ED7D31;
  --color-primary-hover: #C55A11;
  --color-primary-light: #FFF7ED;
  
  /* Secondary Colors */
  --color-secondary: #0073BB;
  --color-secondary-hover: #005A92;
  --color-secondary-light: #E6F2FA;
  
  /* Semantic Colors - Success */
  --color-success: #1B8A3D;
  --color-success-light: #E6F4EA;
  --color-success-on: #0C5E0C;
  
  /* Semantic Colors - Warning */
  --color-warning: #ED7D31;
  --color-warning-light: #FFF7ED;
  --color-warning-on: #C55A11;
  
  /* Semantic Colors - Error */
  --color-error: #C0392B;
  --color-error-light: #FEF2F2;
  --color-error-on: #A02822;
  --color-error-border: #F5B7B1;
  
  /* Neutral Colors */
  --color-neutral-900: #232F3E;
  --color-neutral-800: #16191F;
  --color-neutral-700: #3A414A;
  --color-neutral-600: #4F5763;
  --color-neutral-500: #65707A;
  --color-neutral-400: #7F8895;
  --color-neutral-300: #D5DBDB;
  --color-neutral-200: #EAEDED;
  --color-neutral-100: #F2F3F5;
  --color-neutral-50: #FAFAFA;
  --color-neutral-white: #FFFFFF;
  
  /* Semantic Text Colors */
  --color-semantic-text: #16191F;
  --color-semantic-text-secondary: #3A414A;
  --color-semantic-text-tertiary: #4F5763;
  --color-semantic-text-disabled: #9CA0AA;
  
  /* Business Domain Colors */
  --color-biz-publish: #0F6CBD;
  --color-biz-publish-light: #EFF6FC;
  --color-biz-publish-ink: #0B5394;
  --color-biz-publish-on: #66B0F0;
  
  --color-biz-content: #8764B8;
  --color-biz-content-light: #F4F0FA;
  --color-biz-content-ink: #6B4E90;
  --color-biz-content-on: #C0A5E5;
  
  --color-biz-project: #986F0B;
  --color-biz-project-light: #FBF6E7;
  --color-biz-project-ink: #7A5900;
  --color-biz-project-on: #DDB95A;
  
  --color-biz-insight: #038387;
  --color-biz-insight-light: #E7F4F5;
  --color-biz-insight-ink: #026A6E;
  --color-biz-insight-on: #62CBD0;
  
  --color-biz-account: #107C10;
  --color-biz-account-light: #EAF5EA;
  --color-biz-account-ink: #0C5E0C;
  --color-biz-account-on: #7BCD8A;
  
  --color-biz-platform: #5C6670;
  --color-biz-platform-light: #F1F2F4;
  --color-biz-platform-ink: #3E464E;
  --color-biz-platform-on: #B9C1C9;
  
  /* Surface Colors */
  --color-surface: #FFFFFF;
  --color-surface-secondary: #FAFAFA;
  --color-surface-hover: #F8F9FA;
  --color-surface-disabled: #F2F3F5;
  
  /* ========== TYPOGRAPHY TOKENS ========== */
  
  /* Font Families */
  --font-family-primary: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-family-mono: "SF Mono", "Cascadia Code", "Consolas", monospace;
  --font-family-display: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  
  /* Font Sizes - Heading */
  --font-size-h1: 32px;
  --font-size-h2: 28px;
  --font-size-h3: 24px;
  --font-size-h4: 20px;
  --font-size-h5: 18px;
  --font-size-h6: 16px;
  
  /* Font Sizes - Body */
  --font-size-body-lg: 16px;
  --font-size-body: 14px;
  --font-size-body-sm: 13px;
  
  /* Font Sizes - Caption */
  --font-size-caption-lg: 12px;
  --font-size-caption: 11px;
  
  /* Font Weights */
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  
  /* Line Heights */
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.6;
  --line-height-loose: 1.8;
  
  /* ========== SPACING TOKENS ========== */
  
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 12px;
  --spacing-lg: 16px;
  --spacing-xl: 24px;
  --spacing-xxl: 32px;
  --spacing-xxxl: 40px;
  
  /* ========== BORDER TOKENS ========== */
  
  --border-width-thin: 1px;
  --border-width-medium: 2px;
  --border-width-thick: 3px;
  
  --border-radius-sm: 3px;
  --border-radius-md: 6px;
  --border-radius-lg: 8px;
  --border-radius-pill: 999px;
  
  --border-color: #D5DBDB;
  --border-color-light: #EAEDED;
  
  /* ========== SHADOW TOKENS ========== */
  
  --shadow-xs: 0 1px 1px rgba(0, 0, 0, 0.10);
  --shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.05), 0 1px 3px rgba(16, 24, 40, 0.08);
  --shadow-md: 0 4px 10px rgba(16, 24, 40, 0.10), 0 2px 4px rgba(16, 24, 40, 0.06);
  --shadow-lg: 0 10px 30px rgba(16, 24, 40, 0.16);
  --shadow-xl: 0 20px 50px rgba(16, 24, 40, 0.20);
  
  /* ========== TRANSITION TOKENS ========== */
  
  --transition-fast: 150ms ease-in-out;
  --transition-normal: 250ms ease-in-out;
  --transition-slow: 350ms ease-in-out;
  
  /* ========== LAYOUT TOKENS ========== */
  
  --layout-sidebar-width: 240px;
  --layout-topbar-height: 56px;
  --layout-max-content-width: 1500px;
  
  /* ========== DEPRECATED MAPPINGS (for backward compatibility) ========== */
  --aws-navy: var(--color-neutral-900);
  --aws-orange: var(--color-primary);
  --aws-orange-hover: var(--color-primary-hover);
  --aws-orange-light: var(--color-primary-light);
  --aws-blue: var(--color-secondary);
  --aws-blue-hover: var(--color-secondary-hover);
  --aws-blue-light: var(--color-secondary-light);
  --aws-green: var(--color-success);
  --aws-green-light: var(--color-success-light);
  --aws-red: var(--color-error);
  --aws-red-light: var(--color-error-light);
  --aws-red-border: var(--color-error-border);
  --aws-text: var(--color-semantic-text);
  --aws-text-secondary: var(--color-semantic-text-secondary);
  --aws-text-tertiary: var(--color-semantic-text-tertiary);
  --aws-bg: var(--color-neutral-100);
  --aws-white: var(--color-neutral-white);
  --aws-border: var(--border-color);
  --aws-border-light: var(--border-color-light);
  --aws-surface: var(--color-surface);
  --aws-surface-2: var(--color-surface-secondary);
  --aws-hover-row: var(--color-surface-hover);
  
  --r-xs: var(--border-radius-sm);
  --r-sm: var(--border-radius-md);
  --r-lg: var(--border-radius-lg);
  --r-pill: var(--border-radius-pill);
  
  --sh-card: var(--shadow-sm);
  --sh-hover: var(--shadow-md);
  --sh-pop: var(--shadow-lg);
  
  --sp-1: var(--spacing-xs);
  --sp-2: var(--spacing-sm);
  --sp-3: var(--spacing-md);
  --sp-4: var(--spacing-lg);
  --sp-5: var(--spacing-xl);
  --sp-6: var(--spacing-xxl);
  
  --geo-sidebar-w: var(--layout-sidebar-width);
  --geo-topbar-h: var(--layout-topbar-height);
  
  --font-sans: var(--font-family-primary);
  --font-num: var(--font-family-mono);
  --font-size-base: var(--font-size-body);
}
