/**
 * student-portal Tailwind 配置（ai14）
 *
 * 设计令牌三层规范（project_rules §3.10）：
 * - Layer 1 Primitive：原始色板/字号/间距（src/styles/primitive.css）
 * - Layer 2 Semantic：语义令牌（src/styles/semantic.css）
 * - Layer 3 Tailwind Theme：@theme inline 映射（本文件）
 *
 * 与 teacher-portal Shell 令牌对齐（paper/ink/accent/rule）
 * 禁止硬编码 hsl()/#hex（ESLint no-restricted-syntax 强制）
 */

/** @type {import('tailwindcss').Config} */
module.exports = {
  content: ['./src/**/*.{js,ts,jsx,tsx}'],
  theme: {
    extend: {
      colors: {
        // 语义令牌：引用 CSS 变量（Layer 2 → Layer 3）
        paper: 'var(--color-paper)',
        ink: {
          DEFAULT: 'var(--color-ink)',
          muted: 'var(--color-ink-muted)',
          subtle: 'var(--color-ink-subtle)',
        },
        accent: {
          DEFAULT: 'var(--color-accent)',
          hover: 'var(--color-accent-hover)',
          muted: 'var(--color-accent-muted)',
        },
        rule: 'var(--color-rule)',
        success: 'var(--color-success)',
        warning: 'var(--color-warning)',
        danger: 'var(--color-danger)',
        info: 'var(--color-info)',
      },
      fontFamily: {
        serif: ['var(--font-serif)', 'Georgia', 'serif'],
        sans: ['var(--font-sans)', 'system-ui', 'sans-serif'],
        mono: ['var(--font-mono)', 'monospace'],
      },
      fontSize: {
        // 对齐 var(--font-size-1~9) 语义令牌
        xs: 'var(--font-size-1)',
        sm: 'var(--font-size-2)',
        base: 'var(--font-size-3)',
        lg: 'var(--font-size-4)',
        xl: 'var(--font-size-5)',
        '2xl': 'var(--font-size-6)',
        '3xl': 'var(--font-size-7)',
        '4xl': 'var(--font-size-8)',
        '5xl': 'var(--font-size-9)',
      },
      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)',
        '3xl': 'var(--space-3xl)',
      },
      borderRadius: {
        DEFAULT: 'var(--radius-base)',
        sm: 'var(--radius-sm)',
        md: 'var(--radius-md)',
        lg: 'var(--radius-lg)',
      },
      boxShadow: {
        paper: 'var(--shadow-paper)',
        card: 'var(--shadow-card)',
        focus: 'var(--shadow-focus)',
      },
    },
  },
  plugins: [],
};
