/* ==========================================================================
   小马上岸 · 总后台管理系统 设计令牌（Design Tokens）
   对齐 TDesign 语义色体系，亮 / 暗双主题
   --------------------------------------------------------------------------
   品牌语义：
     品牌蓝 primary  → 品牌 · 权威 · 效率（后台主线，#0052D9）
     AI 紫 ai        → AI 能力专属标识（出题 / 解析 / 批改 / 伴学）
     语义状态色      → 成功绿 / 流转蓝 / 待办琥珀 / 异常红 / 中性灰
   后台差异：
     浅色侧栏（#FFFFFF）+ 浅灰内容区（#F3F3F3）
     高密度间距：卡片间距 16，表格行高 44，表头 40，字号 13 / 12
     顶栏 56px，侧栏 220px 可折叠至 64px
   ========================================================================== */

:root {
  /* ---------- 品牌主色（TDesign · 品牌蓝） ---------- */
  --color-primary: #0052D9;
  --color-primary-hover: #366EF4;
  --color-primary-active: #0034B5;
  --color-primary-light: #618DFF;
  --color-on-primary: #FFFFFF;
  --color-primary-container: #E7F0FF;
  --color-on-primary-container: #0034B5;
  --color-primary-soft: rgba(0, 82, 217, 0.10);
  --gradient-primary: linear-gradient(135deg, #0052D9 0%, #366EF4 100%);
  --gradient-primary-strong: linear-gradient(135deg, #0034B5 0%, #0052D9 60%, #366EF4 100%);

  /* ---------- 品牌标识（六端数值必须逐字一致，见 ui/README.md §4.4） ---------- */
  --brand-600: #4F46E5;
  --brand-violet: #7C3AED;
  --brand-gradient: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
  --brand-gradient-deep: linear-gradient(135deg, #312E81 0%, #5B21B6 100%);
  --brand-shadow: 0 8px 20px -10px rgba(79, 70, 229, .75);
  --brand-mark-sm: 26px;
  --brand-mark-md: 32px;
  --brand-mark-lg: 40px;
  --brand-mark-xl: 56px;

  /* ---------- AI 紫（AI 能力专属） ---------- */
  --color-ai: #7B61FF;
  --color-ai-container: #F1EEFF;
  --color-ai-soft: rgba(123, 97, 255, 0.12);
  --gradient-ai: linear-gradient(135deg, #5A45E8 0%, #7B61FF 100%);

  /* ---------- 语义状态色（TDesign） ---------- */
  --color-success: #00A870;
  --color-success-container: #E3F9E9;
  --color-on-success-container: #007A4D;
  --color-success-soft: rgba(0, 168, 112, 0.10);

  --color-info: #0594FA;
  --color-info-container: #E8F4FF;
  --color-on-info-container: #006FCC;
  --color-info-soft: rgba(5, 148, 250, 0.10);

  --color-warning: #ED7B2F;
  --color-warning-container: #FFF3E8;
  --color-on-warning-container: #D5681B;
  --color-warning-soft: rgba(237, 123, 47, 0.10);

  --color-error: #E34D59;
  --color-on-error: #FFFFFF;
  --color-error-container: #FDECEE;
  --color-on-error-container: #C9353F;
  --color-error-soft: rgba(227, 77, 89, 0.10);

  /* ---------- 表面与文本（浅色内容区 · TDesign Gray） ---------- */
  --color-bg: #F3F3F3;
  --color-bg-tint: #EEEEEE;
  --color-surface: #FFFFFF;
  --color-surface-2: #F3F3F3;
  --color-surface-3: #E7E7E7;
  --color-on-surface: #181818;
  --color-on-surface-variant: #5E5E5E;
  --color-text-tertiary: #8B8B8B;
  --color-outline: #E7E7E7;
  --color-outline-strong: #DCDCDC;

  /* ---------- 浅色侧栏（TDesign Starter 风格） ---------- */
  --sidebar-bg: #FFFFFF;
  --sidebar-bg-2: #FFFFFF;
  --sidebar-text: #5E5E5E;
  --sidebar-text-muted: #8B8B8B;
  --sidebar-text-active: #0052D9;
  --sidebar-hover: #F3F3F3;
  --sidebar-active: #E7F0FF;
  --sidebar-indicator: #0052D9;
  --sidebar-border: #E7E7E7;
  --sidebar-title: #8B8B8B;
  --sidebar-badge: #E34D59;
  --sidebar-icon: 1em;

  /* ---------- 图表色板 ---------- */
  --chart-1: #0052D9;
  --chart-2: #366EF4;
  --chart-3: #00A870;
  --chart-4: #0594FA;
  --chart-5: #ED7B2F;
  --chart-6: #E34D59;
  --chart-7: #7B61FF;
  --chart-8: #00B2A0;

  /* ---------- 字体 ---------- */
  --font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB",
               "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", sans-serif;
  --font-num: "Plus Jakarta Sans", "SF Pro Display", -apple-system, "Segoe UI",
              "PingFang SC", sans-serif;
  --font-mono: "SF Mono", "JetBrains Mono", Consolas, "Courier New", monospace;

  /* ---------- 字号阶梯（后台高密度，基准 13px） ---------- */
  --fs-11: 11px;
  --fs-12: 12px;
  --fs-13: 13px;
  --fs-14: 14px;
  --fs-15: 15px;
  --fs-16: 16px;
  --fs-18: 18px;
  --fs-20: 20px;
  --fs-22: 22px;
  --fs-26: 26px;
  --fs-30: 30px;

  --lh-tight: 1.25;
  --lh-normal: 1.5;
  --lh-relaxed: 1.7;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  /* ---------- 间距（高密度 4 / 8 / 12 / 16 / 20 / 24 节奏） ---------- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;

  --gutter: 20px;          /* 页面左右安全内边距 */
  --section-gap: 16px;     /* 卡片 / 模块间竖向间距（后台高密度 16px） */

  /* ---------- 图标尺寸（统一节奏：14 / 16 / 18 / 20） ---------- */
  --ico-xs: 14px;          /* 内联 / 小按钮 / 标签 / 树 / 副箭头 */
  --ico-sm: 16px;          /* 默认：按钮 / 菜单 / 搜索 / 提示 */
  --ico-md: 18px;          /* 导航 / 顶栏 chrome / 品牌标 */
  --ico-lg: 20px;          /* 强调：KPI / 命令 / 快捷块 */

  /* ---------- 圆角（TDesign：组件 3 / 卡片 6 / 弹窗 9） ---------- */
  --radius-xs: 3px;
  --radius-sm: 3px;
  --radius-md: 3px;
  --radius-lg: 6px;
  --radius-xl: 9px;
  --radius-2xl: 9px;
  --radius-3xl: 12px;
  --radius-full: 999px;

  /* ---------- 阴影（TDesign 柔和层级） ---------- */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 3px 10px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 6px 20px rgba(0, 0, 0, 0.10);
  --shadow-xl: 0 12px 32px rgba(0, 0, 0, 0.14);
  --shadow-primary: 0 6px 16px -4px rgba(0, 82, 217, 0.40);
  --shadow-success: 0 6px 16px -4px rgba(0, 168, 112, 0.40);
  --shadow-error: 0 6px 16px -4px rgba(227, 77, 89, 0.40);

  /* ---------- 动效 ---------- */
  --dur-fast: 120ms;
  --dur-base: 200ms;
  --dur-slow: 320ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ---------- 布局壳（后台工作台） ---------- */
  --touch-min: 36px;
  --titlebar-h: 56px;          /* 顶部顶栏高度 */
  --sidebar-w: 220px;          /* 浅色侧栏宽度 */
  --sidebar-w-collapsed: 64px; /* 折叠后宽度 */
  --content-max: 1560px;       /* 大屏内容最大宽度 */
  --table-row: 44px;           /* 高密度表格行高 */
  --table-head: 40px;          /* 表头高度 */
  --drawer-w: 720px;           /* 右侧编辑抽屉宽度 */

  /* ---------- 层级 ---------- */
  --z-titlebar: 40;
  --z-sidebar: 30;
  --z-sheet: 60;
  --z-drawer: 55;
  --z-command: 70;
  --z-toast: 90;
}

/* ==========================================================================
   暗色主题 —— 内容区转暗，侧栏保持深色（后台夜间模式）
   ========================================================================== */
[data-theme="dark"] {
  --color-primary: #366EF4;
  --color-primary-hover: #618DFF;
  --color-primary-active: #0052D9;
  --color-on-primary: #FFFFFF;
  --color-primary-container: #1D3A7A;
  --color-on-primary-container: #A8C2FF;
  --color-primary-soft: rgba(54, 110, 244, 0.18);

  --color-ai: #9C8BFF;
  --color-ai-container: #2A2566;
  --color-ai-soft: rgba(156, 139, 255, 0.18);

  --color-success: #2BA471;
  --color-success-container: #0F3A2B;
  --color-on-success-container: #7DDBA9;
  --color-success-soft: rgba(43, 164, 113, 0.18);
  --color-info: #38BDF8;
  --color-info-container: #0A3A5C;
  --color-on-info-container: #7CC7F0;
  --color-info-soft: rgba(56, 189, 248, 0.18);
  --color-warning: #ED7B2F;
  --color-warning-container: #4A2A12;
  --color-on-warning-container: #F7B98A;
  --color-warning-soft: rgba(237, 123, 47, 0.20);
  --color-error: #E34D59;
  --color-on-error: #FFFFFF;
  --color-error-container: #5C2027;
  --color-on-error-container: #F2A5AB;
  --color-error-soft: rgba(227, 77, 89, 0.18);

  --color-bg: #181818;
  --color-bg-tint: #1E1E1E;
  --color-surface: #242424;
  --color-surface-2: #2E2E2E;
  --color-surface-3: #383838;
  --color-on-surface: #E7E7E7;
  --color-on-surface-variant: #A6A6A6;
  --color-text-tertiary: #777777;
  --color-outline: #383838;
  --color-outline-strong: #4B4B4B;

  --sidebar-bg: #242424;
  --sidebar-bg-2: #1E1E1E;
  --sidebar-text: #A6A6A6;
  --sidebar-text-muted: #777777;
  --sidebar-text-active: #A8C2FF;
  --sidebar-hover: rgba(255, 255, 255, 0.06);
  --sidebar-active: rgba(54, 110, 244, 0.22);
  --sidebar-indicator: #366EF4;
  --sidebar-border: #383838;

  --chart-1: #366EF4;
  --chart-2: #618DFF;
  --chart-3: #2BA471;
  --chart-4: #38BDF8;
  --chart-5: #ED7B2F;
  --chart-6: #E34D59;
  --chart-7: #9C8BFF;
  --chart-8: #00B2A0;

  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.45);
  --shadow-md: 0 4px 12px -2px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 12px 28px -6px rgba(0, 0, 0, 0.6);
  --shadow-xl: 0 24px 56px -12px rgba(0, 0, 0, 0.7);
  --shadow-primary: 0 8px 20px -6px rgba(54, 110, 244, 0.5);
}

/* ==========================================================================
   全局动效降级 —— 尊重系统「减少动态效果」设置
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 1ms;
    --dur-base: 1ms;
    --dur-slow: 1ms;
  }
}
