/**
 * CSS Variables - 主题色彩与设计令牌
 * 元思维交互式编程学习平台
 */

:root {
    /* ===== 主色调 ===== */
    --primary: #10b981;
    --primary-dark: #059669;
    --primary-light: #34d399;
    --primary-rgb: 16, 185, 129;

    --secondary: #3b82f6;
    --secondary-dark: #2563eb;
    --secondary-light: #60a5fa;
    --secondary-rgb: 59, 130, 246;

    --accent: #8b5cf6;
    --accent-dark: #7c3aed;
    --accent-light: #a78bfa;
    --accent-rgb: 139, 92, 246;

    /* ===== 语义色 ===== */
    --success: #10b981;
    --warning: #f59e0b;
    --error: #ef4444;
    --info: #3b82f6;

    /* ===== 背景色 ===== */
    --bg-primary: #0a0f1a;
    --bg-secondary: #0f172a;
    --bg-tertiary: #1e293b;
    --bg-card: rgba(30, 41, 59, 0.8);
    --bg-glass: rgba(30, 41, 59, 0.8);
    --bg-overlay: rgba(0, 0, 0, 0.6);

    /* ===== 文字色 (改进对比度) ===== */
    --text-primary: #f1f5f9;
    --text-secondary: #a8b5c7;
    --text-muted: #718096;
    --text-inverse: #0f172a;
    --text-link: var(--primary-light);
    --text-link-hover: var(--primary);

    /* ===== 边框色 ===== */
    --border-default: rgba(255, 255, 255, 0.1);
    --border-light: rgba(255, 255, 255, 0.05);
    --border-focus: var(--primary);

    /* ===== 阴影 ===== */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.3);
    --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.4);
    --shadow-xl: 0 20px 40px rgba(0, 0, 0, 0.5);
    --shadow-primary: 0 4px 20px rgba(var(--primary-rgb), 0.4);
    --shadow-secondary: 0 4px 20px rgba(var(--secondary-rgb), 0.4);

    /* ===== 圆角 ===== */
    --radius-sm: 0.375rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;
    --radius-2xl: 1.5rem;
    --radius-full: 9999px;

    /* ===== 间距系统 (基于 4px) ===== */
    --spacing-0: 0;
    --spacing-1: 0.25rem;   /* 4px */
    --spacing-2: 0.5rem;    /* 8px */
    --spacing-3: 0.75rem;   /* 12px */
    --spacing-4: 1rem;      /* 16px */
    --spacing-5: 1.25rem;   /* 20px */
    --spacing-6: 1.5rem;    /* 24px */
    --spacing-8: 2rem;      /* 32px */
    --spacing-10: 2.5rem;   /* 40px */
    --spacing-12: 3rem;     /* 48px */
    --spacing-16: 4rem;     /* 64px */
    --spacing-20: 5rem;     /* 80px */
    --spacing-24: 6rem;     /* 96px */

    /* 语义化间距别名 */
    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-2xl: 3rem;
    --spacing-3xl: 4rem;
    --spacing-4xl: 6rem;

    /* 内容区域间距 */
    --section-padding-y: var(--spacing-16);
    --section-padding-y-mobile: var(--spacing-10);
    --container-padding-x: var(--spacing-6);
    --container-padding-x-mobile: var(--spacing-4);

    /* ===== 字体 ===== */
    --font-sans: 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-mono: 'Consolas', 'Monaco', 'JetBrains Mono', monospace;

    /* ===== 字号 ===== */
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;

    /* ===== 动画 ===== */
    --transition-fast: 0.15s ease;
    --transition-normal: 0.3s ease;
    --transition-slow: 0.5s ease;
    --transition-bounce: 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    /* ===== 层级 ===== */
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-modal: 500;
    --z-toast: 600;
    --z-tooltip: 700;
}

/* 暗色主题已经是默认，可扩展亮色主题 */
@media (prefers-color-scheme: light) {
    :root.auto-theme {
        /* 可选：添加亮色主题变量 */
    }
}

/* 减少动画偏好 */
@media (prefers-reduced-motion: reduce) {
    :root {
        --transition-fast: 0s;
        --transition-normal: 0s;
        --transition-slow: 0s;
    }
}
