/*
 * CyberScope 课程视觉 Token（课件专用 · 单一真相）
 * ────────────────────────────────────────────────────────────
 * 权威文档：docs/course-authoring/视觉规范.md
 * 检查脚本：scripts/check_course_style.py
 *
 * 数值来源：2026-08-08 全量扫描 64 门在架课的实际实现，按「门数覆盖」定档
 * （不是按出现次数——次数会被单门课的重复用法放大）。
 *
 * 边界（与 globals.css 的分工，别搞混）：
 *   globals.css = 平台外壳（大厅 / 导航 / 教师端 / 学情墙）的历史 token，
 *   其中 --cs-text-* 是 Tailwind 灰、--cs-accent-* 是紫色系，
 *   两者都是课程视觉的明令禁色。课件一律不引用 globals.css 的 token，
 *   课件只用本文件的 --lx-*。
 *
 * 改这里 = 改全平台 64 门课的视觉。改前先读视觉规范 §15，
 * 并同步更新 视觉规范.md 与 check_course_style.py。
 */

:root {
    /* 运行时几何量：引擎在画布上写入实际缩放，供停靠时保留文字可读性。 */
    --lx-canvas-scale: 1;
    /* ── 画布底（视觉规范 §3.1 · 64 门课 100% 一致，逐字锁死） ── */
    --lx-canvas:            #EDF1F6;
    --lx-canvas-glow:       radial-gradient(820px 380px at 50% -12%, rgba(255, 255, 255, .9), transparent 72%);

    /* ── 中性色阶（§3.2 · 冷蓝灰，禁 Tailwind 灰与近黑） ── */
    --lx-ink-ghost:         #B9C2CB;   /* 占位、禁用态 */
    --lx-ink-muted:         #93A0B2;   /* 单位、编号、图例 */
    --lx-ink-soft:          #5E6E82;   /* 次要正文、说明 */
    --lx-ink-body:          #34495E;   /* 正文主色 */
    --lx-ink-strong:        #16294A;   /* 强调正文、小标题 */
    --lx-ink-title:         #16232E;   /* 屏主标题、最深 */

    /* ── 主交互色（§3.3） ── */
    --lx-brand:             #003C88;   /* XMU 品牌深蓝 */
    --lx-primary:           #0050B5;   /* 主交互：按钮 / 选中 / 当前步 */
    --lx-primary-deep:      #0B4DA2;   /* hover / 按压 */
    --lx-primary-wash:      rgba(0, 80, 181, .08);

    /* ── 语义色（§3.4 · 锁死，不许一课一个样） ── */
    --lx-ok:                #12805C;   /* 对 / 通过 */
    --lx-ok-wash:           #E5F2EA;
    --lx-bad:               #C4442E;   /* 错 / 危险 */
    --lx-bad-wash:          #FBEAE7;
    --lx-warn:              #C77E00;   /* 待定 / 提醒 */
    --lx-warn-wash:         #FFF4E2;
    --lx-info:              #0E7490;   /* 补充信息（青） */

    /* ── 面与线（§3.5） ── */
    --lx-surface:           #FFFFFF;   /* 主面板底 */
    --lx-surface-sunken:    #F3F6FB;   /* 内嵌块、代码块 */
    --lx-surface-raised:    #F7F9FC;   /* 次级浅底 */
    --lx-line:              #DBE2EC;   /* 主描边 */
    --lx-line-soft:         #ECF0F6;   /* 分隔线 */
    --lx-line-strong:       #C6D0DE;   /* 强描边、虚线框 */

    /* ── 圆角（§4 · 从 64 门课实际分布收敛，非另起炉灶） ── */
    --lx-r-xs:              6px;       /* 徽章、tag */
    --lx-r-sm:              8px;       /* 输入框、小按钮 */
    --lx-r-mid:             10px;      /* 中档：小卡片、数据牌（吸收原 9/11px 写法） */
    --lx-r-md:              12px;      /* 标准：按钮、内嵌块 */
    --lx-r-lg:              14px;      /* 停靠条、次级面板 */
    --lx-r-xl:              16px;      /* 主面板、大卡片 */
    --lx-r-2xl:             20px;      /* 特大卡片、整屏容器 */
    --lx-r-pill:            999px;     /* 胶囊 */

    /* ── 字体栈（§5.1 · 不引 web font，离线机房加载不了） ── */
    --lx-font:              -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
    --lx-font-mono:         "SF Mono", ui-monospace, Menlo, Consolas, monospace;

    /* ── 字阶（§5.2 · 禁半像素） ── */
    --lx-t-micro:           10px;      /* 等宽微标签 */
    --lx-t-mini:            11px;      /* 图例、角标 */
    --lx-t-xs:              12px;      /* 次要说明、等宽数据 */
    --lx-t-sm:              13px;      /* 正文小号 */
    --lx-t-base:            14px;      /* 正文标准 */
    --lx-t-md:              15px;      /* 正文大号、按钮 */
    --lx-t-ml:              16px;      /* 小标题（小号） */
    --lx-t-lg:              17px;      /* 小标题 */
    --lx-t-xl:              20px;      /* 段标题 */
    --lx-t-h2:              26px;      /* 屏主标题 */
    --lx-t-hero:            34px;      /* 单点冲击大字（少用） */

    /* ── 字重（§5.3 · 禁 400，投影看不清） ── */
    --lx-w-soft:            500;
    --lx-w-mid:             600;
    --lx-w-bold:            700;       /* 默认 */
    --lx-w-black:           800;       /* 标题、关键数字 */

    /* ── 行高（§5.4） ── */
    --lx-lh-title:          1.3;
    --lx-lh-code:           1.62;
    --lx-lh-tight:          1.5;
    --lx-lh-body:           1.7;

    /* ── 阴影（§7 · 一律冷蓝调，黑影在冷底上发脏） ── */
    --lx-shadow-sm:         0 4px 12px rgba(28, 45, 75, .06);
    --lx-shadow-card:       0 12px 30px rgba(28, 45, 75, .09);
    --lx-shadow-float:      0 12px 30px rgba(28, 45, 75, .14);
    --lx-shadow-primary:    0 12px 26px rgba(0, 80, 181, .30);

    /* ── 动效（§9.1 · 全平台 1155 次，第二名 27 次——这是手感，不许换） ── */
    --lx-ease:              cubic-bezier(.22, 1, .36, 1);
    --lx-ease-spring:       cubic-bezier(.34, 1.56, .64, 1);   /* 唯一例外：弹性弹出 */
    --lx-dur-fast:          .15s;
    --lx-dur:               .18s;
    --lx-dur-slow:          .3s;
    --lx-dur-rise:          .6s;
}
