/* ============================================================
   Design Tokens — 全局设计令牌
   改主题只需编辑这一个文件
   ============================================================ */

:root {
  /* ── 品牌色 ── */
  --color-primary:       #ff2442;
  --color-primary-hover: #e0203a;
  --color-primary-light: #fff0f2;
  --color-primary-dark:  #c41d32;

  /* ── 功能色 ── */
  --color-success:  #00c853;
  --color-warning:  #ffb300;
  --color-error:    #e53935;
  --color-info:     #2979ff;

  /* ── 中性色 ── */
  --color-text-primary:    #1a1a1a;
  --color-text-secondary:  #5c5c5c;
  --color-text-tertiary:   #999999;
  --color-text-placeholder:#bfbfbf;
  --color-text-inverse:    #ffffff;

  /* ── 背景色 ── */
  --color-bg-page:     #f5f6fa;
  --color-bg-surface:  #ffffff;
  --color-bg-hover:    #fafafa;
  --color-bg-disabled: #f0f0f0;

  /* ── 边框 ── */
  --color-border:       #e8e8e8;
  --color-border-light: #f0f0f0;
  --color-border-focus: var(--color-primary);

  /* ── 间距（8px 基准） ── */
  --space-xs:   4px;
  --space-sm:   8px;
  --space-md:   16px;
  --space-lg:   24px;
  --space-xl:   32px;
  --space-2xl:  48px;
  --space-3xl:  64px;

  /* ── 字体 ── */
  --font-family:       -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-family-mono:  "SF Mono", "Fira Code", "Consolas", monospace;
  --font-size-xs:      12px;
  --font-size-sm:      13px;
  --font-size-base:    15px;
  --font-size-md:      17px;
  --font-size-lg:      20px;
  --font-size-xl:      24px;
  --font-size-2xl:     28px;
  --font-size-3xl:     36px;

  /* ── 字重 ── */
  --font-weight-normal:   400;
  --font-weight-medium:   500;
  --font-weight-semibold: 600;
  --font-weight-bold:     700;
  --font-weight-extrabold:800;

  /* ── 行高 ── */
  --line-height-tight:   1.25;
  --line-height-normal:  1.6;
  --line-height-relaxed: 1.85;

  /* ── 圆角 ── */
  --radius-sm:    8px;
  --radius-md:    12px;
  --radius-lg:    16px;
  --radius-xl:    24px;
  --radius-full:  9999px;

  /* ── 阴影 ── */
  --shadow-sm:    0 1px 3px  rgba(0,0,0,0.06);
  --shadow-md:    0 4px 12px rgba(0,0,0,0.08);
  --shadow-lg:    0 8px 24px rgba(0,0,0,0.12);
  --shadow-xl:    0 16px 48px rgba(0,0,0,0.15);
  --shadow-card:  0 2px 8px  rgba(0,0,0,0.04), 0 4px 16px rgba(0,0,0,0.06);

  /* ── 过渡 ── */
  --transition-fast:   0.15s ease;
  --transition-normal: 0.25s ease;
  --transition-slow:   0.4s ease;

  /* ── z-index ── */
  --z-dropdown:  100;
  --z-sticky:    200;
  --z-overlay:   300;
  --z-modal:     400;
  --z-toast:     500;
  --z-tooltip:   600;

  /* ── 布局 ── */
  --container-max-width: 1400px;
  --sidebar-width:       240px;
  --header-height:       60px;
}

/* 暗色主题（预置） */
html.dark {
  --color-bg-page:     #0f0f0f;
  --color-bg-surface:  #1a1a1a;
  --color-bg-hover:    #2a2a2a;
  --color-text-primary:   #f0f0f0;
  --color-text-secondary: #b0b0b0;
  --color-text-tertiary:  #707070;
  --color-border:      #333333;
  --color-border-light:#2a2a2a;
}
