/* ===================================================================
   tokens.css - 设计系统令牌（Design Tokens）
   亮色/暗色模式全部 CSS 自定义属性
   =================================================================== */

:root {
  /* --- 页面背景 --- */
  --ds-bg-page: #f8fafc;
  --ds-bg-surface: #ffffff;
  --ds-bg-surface-raised: #ffffff;
  --ds-bg-muted: #f1f5f9;
  --ds-bg-inset: #e2e8f0;

  /* --- 边框 --- */
  --ds-border: #e2e8f0;
  --ds-border-subtle: #f1f5f9;
  --ds-border-emphasis: #cbd5e1;

  /* --- 文字 --- */
  --ds-text-primary: #0f172a;
  --ds-text-secondary: #475569;
  --ds-text-muted: #94a3b8;
  --ds-text-disabled: #cbd5e1;
  --ds-text-inverse: #ffffff;

  /* --- 主题色（Indigo） --- */
  --ds-accent: #4f46e5;
  --ds-accent-hover: #4338ca;
  --ds-accent-active: #3730a3;
  --ds-accent-subtle: #eef2ff;
  --ds-accent-text: #4f46e5;

  /* --- 语义色 --- */
  --ds-success: #16a34a;
  --ds-success-subtle: #f0fdf4;
  --ds-success-text: #15803d;

  --ds-warning: #ca8a04;
  --ds-warning-subtle: #fefce8;
  --ds-warning-text: #a16207;

  --ds-danger: #dc2626;
  --ds-danger-subtle: #fef2f2;
  --ds-danger-text: #b91c1c;

  --ds-info: #2563eb;
  --ds-info-subtle: #eff6ff;
  --ds-info-text: #1d4ed8;

  /* --- 模块专属色 --- */
  --ds-mod-search: #6366f1;   /* 问题分析 - 靛蓝 */
  --ds-mod-board: #0891b2;    /* 智能看板 - 青色 */
  --ds-mod-report: #7c3aed;   /* 周报分析 - 紫色 */
  --ds-mod-reqpool: #059669;  /* 需求池   - 翠绿 */
  --ds-mod-reqplan: #d97706;  /* 需求规划 - 琥珀 */
  --ds-mod-kb: #0284c7;       /* 知识库   - 天蓝 */

  /* --- 圆角 --- */
  --ds-radius-xs: 0.25rem;
  --ds-radius-sm: 0.375rem;
  --ds-radius-md: 0.5rem;
  --ds-radius-lg: 0.75rem;
  --ds-radius-xl: 1rem;
  --ds-radius-full: 9999px;

  /* --- 阴影 --- */
  --ds-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --ds-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --ds-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.05);
  --ds-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.04);

  /* --- 布局 --- */
  --ds-sidebar-w: 240px;
  --ds-sidebar-w-collapsed: 56px;
  --ds-header-h: 52px;
  --ds-header-h-mobile: 48px;
  --ds-touch-min: 44px;

  /* --- 字体 --- */
  --ds-font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --ds-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

  /* --- 字号 --- */
  --ds-text-xs: 0.75rem;     /* 12px */
  --ds-text-sm: 0.8125rem;   /* 13px */
  --ds-text-base: 0.875rem;  /* 14px */
  --ds-text-md: 1rem;        /* 16px */
  --ds-text-lg: 1.125rem;    /* 18px */
  --ds-text-xl: 1.25rem;     /* 20px */
  --ds-text-2xl: 1.5rem;     /* 24px */
  --ds-text-3xl: 1.875rem;   /* 30px */

  /* --- 行高（CJK优化） --- */
  --ds-leading-tight: 1.35;
  --ds-leading-normal: 1.625;
  --ds-leading-relaxed: 1.75;

  /* --- 字重 --- */
  --ds-font-normal: 400;
  --ds-font-medium: 500;
  --ds-font-semibold: 600;
  --ds-font-bold: 700;

  /* --- 间距基础单位 4px --- */
  --ds-space-0: 0;
  --ds-space-1: 0.25rem;   /* 4px */
  --ds-space-2: 0.5rem;    /* 8px */
  --ds-space-3: 0.75rem;   /* 12px */
  --ds-space-4: 1rem;      /* 16px */
  --ds-space-5: 1.25rem;   /* 20px */
  --ds-space-6: 1.5rem;    /* 24px */
  --ds-space-8: 2rem;      /* 32px */
  --ds-space-10: 2.5rem;   /* 40px */
  --ds-space-12: 3rem;     /* 48px */
  --ds-space-16: 4rem;     /* 64px */

  /* --- 过渡 --- */
  --ds-transition-fast: 150ms ease;
  --ds-transition-base: 200ms ease;
  --ds-transition-slow: 300ms ease;

  /* --- Z-index 层级 --- */
  --ds-z-dropdown: 100;
  --ds-z-sticky: 200;
  --ds-z-overlay: 300;
  --ds-z-modal: 400;
  --ds-z-toast: 500;
  --ds-z-command: 600;
}

/* =================================================================
   暗色模式
   ================================================================= */
[data-theme="dark"] {
  --ds-bg-page: #0c111b;
  --ds-bg-surface: #1a2233;
  --ds-bg-surface-raised: #243049;
  --ds-bg-muted: #151d2e;
  --ds-bg-inset: #0c111b;

  --ds-border: #2a3a52;
  --ds-border-subtle: #1e2d44;
  --ds-border-emphasis: #3d5272;

  --ds-text-primary: #e8edf5;
  --ds-text-secondary: #8b9dc0;
  --ds-text-muted: #5a6f8e;
  --ds-text-disabled: #3d5272;
  --ds-text-inverse: #0c111b;

  --ds-accent: #818cf8;
  --ds-accent-hover: #6366f1;
  --ds-accent-active: #4f46e5;
  --ds-accent-subtle: rgba(99, 102, 241, 0.15);
  --ds-accent-text: #a5b4fc;

  --ds-success: #34d399;
  --ds-success-subtle: rgba(52, 211, 153, 0.1);
  --ds-success-text: #6ee7b7;

  --ds-warning: #fbbf24;
  --ds-warning-subtle: rgba(251, 191, 36, 0.1);
  --ds-warning-text: #fcd34d;

  --ds-danger: #f87171;
  --ds-danger-subtle: rgba(248, 113, 113, 0.1);
  --ds-danger-text: #fca5a5;

  --ds-info: #60a5fa;
  --ds-info-subtle: rgba(96, 165, 250, 0.1);
  --ds-info-text: #93c5fd;

  --ds-mod-search: #a5b4fc;
  --ds-mod-board: #67e8f9;
  --ds-mod-report: #c4b5fd;
  --ds-mod-reqpool: #6ee7b7;
  --ds-mod-reqplan: #fcd34d;
  --ds-mod-kb: #7dd3fc;

  --ds-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);
  --ds-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);
  --ds-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.35), 0 2px 4px -2px rgba(0, 0, 0, 0.25);
  --ds-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -4px rgba(0, 0, 0, 0.3);
  --ds-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.45), 0 8px 10px -6px rgba(0, 0, 0, 0.3);
}
