/**
 * Tailwind 配置 - 对齐三层设计令牌
 *
 * 维护者：ai13（teacher-portal）
 * 关联：project_rules §3.10、02-architecture-design.md §9
 *
 * Layer 3 映射：将 Layer 2 Semantic CSS 变量暴露为 Tailwind 类名
 * 业务代码使用 bg-paper / text-ink / font-serif 等语义类
 *
 * 禁止：
 * - 禁止 hex 字面量（colors 引用 var(--*)）
 * - 禁止字体名字面量（fontFamily 引用 var(--font-family-*))
 */

/** @type {import('tailwindcss').Config} */
module.exports = {
  content: ["./src/**/*.{js,ts,jsx,tsx}"],
  theme: {
    extend: {
      colors: {
        // Layer 2 Semantic → Tailwind 类名映射
        paper: "var(--bg-paper)",
        surface: "var(--bg-surface)",
        subtle: "var(--bg-subtle)",
        ink: {
          DEFAULT: "var(--color-ink)",
          muted: "var(--color-ink-muted)",
          subtle: "var(--color-ink-subtle)",
          onAccent: "var(--color-ink-on-accent)",
        },
        accent: {
          DEFAULT: "var(--color-accent)",
          hover: "var(--color-accent-hover)",
          subtle: "var(--color-accent-subtle)",
        },
        rule: {
          DEFAULT: "var(--color-rule)",
          strong: "var(--color-rule-strong)",
        },
        success: "var(--color-success)",
        warning: "var(--color-warning)",
        danger: "var(--color-danger)",
        info: "var(--color-info)",
        border: "var(--color-border)",
      },
      fontFamily: {
        sans: "var(--font-family-sans)",
        serif: "var(--font-family-serif)",
        mono: "var(--font-family-mono)",
      },
      fontSize: {
        body: "var(--font-size-body)",
        small: "var(--font-size-small)",
        tiny: "var(--font-size-tiny)",
        "heading-1": "var(--font-size-heading-1)",
        "heading-2": "var(--font-size-heading-2)",
        "heading-3": "var(--font-size-heading-3)",
        display: "var(--font-size-display)",
        "large-number": "var(--font-size-large-number)",
      },
      spacing: {
        xs: "var(--space-xs)",
        sm: "var(--space-sm)",
        md: "var(--space-md)",
        lg: "var(--space-lg)",
        xl: "var(--space-xl)",
        "2xl": "var(--space-2xl)",
      },
      borderRadius: {
        DEFAULT: "var(--radius-default)",
        card: "var(--radius-card)",
        button: "var(--radius-button)",
      },
      boxShadow: {
        sm: "var(--shadow-sm)",
        md: "var(--shadow-md)",
        lg: "var(--shadow-lg)",
        xl: "var(--shadow-xl)",
      },
      transitionDuration: {
        fast: "150ms",
        normal: "200ms",
      },
    },
  },
  plugins: [],
};
