/* ==========================================================================
   明心教育工具平台 · 统一主题令牌（theme.css）
   站点：mingxinpd.com    版本：v1.0
   说明：全站唯一配色来源。各页面 CSS 通过 var() 引用本文件令牌，不再写死色值。
        引入方式：<link rel="stylesheet" href="assets/theme.css">（须置于页面 <style> 之前，
        以便页面自身样式可以覆盖本文件的基础默认值）。
   ========================================================================== */

:root {
    /* ---------- 主色 · 学院深蓝 ---------- */
    --primary-950: #152B5C;   /* 最深压阶：合计行/强调区块 */
    --primary-900: #1E3C72;   /* 品牌主色：导航、侧栏、标题、深色块 */
    --primary-700: #2A5298;   /* 渐变终点、次级深色底、表头 */
    --primary-600: #2563EB;   /* 交互主色：主按钮、链接、焦点环 */
    --primary-500: #1D4ED8;   /* 蓝底浅色上的文字、hover 加深 */
    --primary-100: #DBEAFE;   /* 蓝色标签底、信息提示底 */
    --primary-50:  #EFF6FF;   /* 极浅蓝底、hover 行 */

    /* ---------- 辅助色 · 学科青绿 ---------- */
    --secondary-900: #134E4A; /* 青绿最深阶：表头分组列 */
    --secondary-700: #0F766E; /* 模块标识、次级按钮、模块标题 */
    --secondary-500: #14B8A6; /* 仅装饰：渐变、图标、进度（禁止承载文字） */
    --secondary-100: #CCFBF1; /* 青绿标签底 */
    --secondary-50:  #F0FDFA; /* 青绿区块浅底 */

    /* ---------- 强调色 · 琥珀金 ---------- */
    --accent-500: #F59E0B;    /* 仅装饰：高亮、星标、图表强调（禁止白底正文） */
    --accent-700: #B45309;    /* 强调文字与图标、警告文字 */
    --accent-100: #FEF3C7;    /* 强调底、警告提示底 */

    /* ---------- 中性色 · Slate 灰阶 ---------- */
    --ink: #0F172A;           /* 标题、关键数值、深色区背景 */
    --text: #334155;          /* 正文默认色 */
    --text-2: #475569;        /* 次要正文、表单标签 */
    --muted: #64748B;         /* 辅助说明、表头文字（对比度下限） */
    --placeholder: #94A3B8;   /* 占位符、禁用、图标（禁止作正文） */
    --line-strong: #CBD5E1;   /* 强边框、深色底上的文字 */
    --line: #E2E8F0;          /* 常规边框、分隔线 */

    /* ---------- 背景色 ---------- */
    --bg: #F1F5F9;            /* 页面底色 */
    --surface-muted: #F8FAFC; /* 表头底、斑马纹、卡内分区 */
    --surface: #FFFFFF;       /* 卡片、表格内容底 */
    --surface-dark: #0F172A;  /* 页脚、深色区 */

    /* ---------- 深色区文字 ---------- */
    --on-dark: #FFFFFF;             /* 深底主文字 */
    --on-dark-muted: #94A3B8;       /* 深底辅助文字（对 #0F172A 为 6.96:1） */
    --on-dark-link: #CBD5E1;        /* 深底链接（对 #0F172A 为 12.02:1） */

    /* ---------- 功能色（主色 / 文字色 / 浅底） ---------- */
    --success-500: #16A34A;   --success-700: #15803D;   --success-100: #DCFCE7;
    --warning-500: #D97706;   --warning-700: #B45309;   --warning-100: #FEF3C7;
    --danger-500:  #DC2626;   --danger-700:  #B91C1C;   --danger-100:  #FEE2E2;
    --info-500:    #2563EB;   --info-700:    #1D4ED8;   --info-100:    #DBEAFE;

    /* ---------- 渐变 ---------- */
    --brand-grad: linear-gradient(135deg, #1E3C72 0%, #2A5298 100%);
    --secondary-grad: linear-gradient(135deg, #0F766E 0%, #14B8A6 100%);

    /* ---------- 圆角 / 阴影 / 焦点 / 字体 ---------- */
    --radius: 8px;
    --radius-lg: 16px;
    --shadow-card: 0 2px 8px rgba(15, 23, 42, .06);
    --shadow-hover: 0 12px 28px rgba(30, 60, 114, .18);
    --focus-ring: 0 0 0 3px rgba(37, 99, 235, .15);
    --font-sans: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;

    /* ---------- 主页重设计新增令牌（v2.0 expand-contract，仅追加不修改现有） ---------- */
    --nav-mobile-bg: var(--primary-900);     /* 汉堡菜单展开背景 */
    --hero-padding-sm: 28px;                 /* 大屏手机 hero 间距 */
    --hero-padding-xs: 20px;                 /* 小屏手机 hero 间距 */
    --banner-h-lg: 140px;                    /* 大屏 banner 高度 */
    --banner-h-md: 110px;                    /* 平板 banner 高度 */
    --banner-h-sm: 88px;                     /* 大屏手机 banner 高度 */
    --banner-h-xs: 72px;                     /* 小屏手机 banner 高度 */
    --touch-target: 44px;                    /* 触控热区最小尺寸 */

    /* ---------- v2.1 配色统一扩充令牌（expand-contract，仅追加） ---------- */
    --scrim: rgba(15, 23, 42, .4);            /* 模态遮罩层半透明深底 */
    --surface-overlay: rgba(255, 255, 255, .96); /* 半透明白底浮层 */
    --on-dark-90: rgba(255, 255, 255, .9);    /* 深底 90% 白文字 */
    --on-dark-80: rgba(255, 255, 255, .8);    /* 深底 80% 白文字 */
    --on-dark-overlay-15: rgba(255, 255, 255, .15); /* 深底 15% 白叠加层 */
    --on-dark-overlay-22: rgba(255, 255, 255, .22); /* 深底 22% 白叠加层 */
    --on-dark-overlay-88: rgba(255, 255, 255, .88); /* 深底 88% 白文字 */
    --shadow-nav: 0 2px 10px rgba(30, 60, 114, .2); /* 导航栏阴影 */
    --shadow-menu: 0 8px 24px rgba(15, 23, 42, .3); /* 移动端菜单展开阴影 */
    --accent-400: #FBBF24;                    /* 琥珀浅阶，色块图例用 */

    /* ---------- v2.1 pe 页专用阴影令牌（expand-contract，保证视觉零变化） ---------- */
    --shadow-tab-active: 0 3px 10px rgba(30, 60, 114, .25); /* 激活标签页阴影 */
    --shadow-inset-segment: inset 0 1px 3px rgba(0, 0, 0, .05); /* 分段容器内凹 */
    --shadow-segment-active: 0 2px 8px rgba(37, 99, 235, .3); /* 激活分段按钮 */
    --shadow-option-active: 0 2px 10px rgba(37, 99, 235, .12); /* 激活选项卡片 */
    --shadow-bar: 0 -2px 16px rgba(0, 0, 0, .06); /* 固定底栏向上阴影 */
    --shadow-btn-grad: 0 4px 14px rgba(30, 60, 114, .3); /* 渐变按钮阴影 */
    --shadow-score-big: 0 8px 28px rgba(30, 60, 114, .2); /* 大分数卡片阴影 */
    --shadow-cat-tab-active: 0 2px 10px rgba(37, 99, 235, .2); /* 激活分类标签 */

    /* ---------- v2.1 通用卡片/按钮阴影令牌（expand-contract） ---------- */
    --shadow-card-xs: 0 1px 3px rgba(15, 23, 42, .06); /* 轻微卡片阴影 */
    --shadow-tab-active-sm: 0 3px 10px rgba(30, 60, 114, .3); /* Tab active 阴影（蓝色） */
    --shadow-btn-hover-sm: 0 4px 12px rgba(30, 60, 114, .35); /* 按钮 hover 阴影（蓝色） */

    /* ---------- 兼容别名（历史页面变量名，统一指向上方令牌） ---------- */
    --card: var(--surface);
    --sub: var(--muted);
    --blue: var(--primary-600);
    --blue-dark: var(--primary-900);
    --blue-soft: var(--primary-100);
    --blue-grad: var(--brand-grad);
    --green: var(--success-500);
    --red: var(--danger-500);
    --amber: var(--accent-500);
    --danger: var(--danger-500);
    --warn: var(--warning-500);
    --ok: var(--success-500);
}

/* 基础默认：仅提供兜底，各页面自身样式（在其后加载）可覆盖 */
body {
    font-family: var(--font-sans);
    background: var(--bg);
    color: var(--text);
    line-height: 1.65;
}

a {
    color: var(--primary-600);
}

/* 统一焦点可见性（键盘可访问性） */
:focus-visible {
    outline: 2px solid var(--primary-600);
    outline-offset: 2px;
}
