/* ============================================================
   tokens.css —— 语文工作台共享设计变量层（v2 · 统一 UI 基座）
   取值来源：files / notes / papers 三页既有视觉语言收敛（未另起炉灶）。
   变量名保留各页已在用的旧名（--accent / --card / --line / --ink…），
   teacher-station 等后续页面迁移时可直接复用同一套名字。

   v2（20260909 · 全站统一 UI 风格批次A）新增：
   · 字体栈补 --font-serif / --font-kai / --font-mono（阅读层与数字等宽）
   · 字号收敛为 6 档：12 / 13 / 14 / 16 / 20 / 28（--fs-2xs 并入 12，最小 12px）
   · 间距补齐 4px 网格：--space-7 / --space-8
   · 阴影三级语义 + --shadow-hero（主卡片浮层）；阴影统一暖棕色调
   · 玻璃感令牌（仅顶栏 / 浮动工具条 / 浮层允许使用）
   · z-index 阶梯（新组件一律用 var(--z-*)；--z-mask 沿用旧值兼容存量页）
   · 数据色 6 组低饱和 tint（课型 / 图表 / 内容分类专用，禁止当装饰色；v3 按 AA 校准并新增灰青）
   v4（20260909d）：--ink 放软——#2e2a27 对 --bg 12.9:1 满屏高对比易视觉疲劳（用户反馈），
   改 #4a423b（bg 8.9:1 / card 9.7:1，仍 AAA≥7:1），与 --ink2(6.8:1) 层级差保持约 2:1。
   v5（20260909e）：用户反馈仍偏黑，再放软一档 #4a423b→#524a42（bg 7.9:1 / card 8.6:1，仍 AAA；
   与 ink2 6.8:1 的层级差收窄属用户拍板取舍）。
   修改取值后必须同步 bump 各页面引用的 ?v= 缓存参数（nginx 对 /assets/ 缓存 30 天）。
   ============================================================ */
:root{
  /* —— 调色板 —— */
  --bg:#f7f3ed;              /* 页面背景 */
  --card:#fffdf9;            /* 内容表面 */
  --card2:#fbf6ef;           /* 次级表面 / 嵌套块 */
  --ink:#524a42;             /* 主文本（v5：12.9→8.9→7.9:1 两轮放软，仍 AAA） */
  --ink2:#5d534b;            /* 次文本 */
  --muted:#6f655d;           /* 辅助说明 / 元信息 */
  --ink-disabled:rgba(82,74,66,.45); /* 禁用文本（与 --ink 同色相） */
  --accent:#a45b3e;          /* 主色（全站唯一强调色） */
  --accent2:#8f4f35;         /* 主色·深（hover / 强调） */
  --accent-soft:#f0e2d8;     /* 主色·软底 */
  --line:#e5d8ca;            /* 边框 */
  --line-soft:#efe5d9;       /* 内部发丝线（列表分隔 / 嵌套分隔） */
  --line-strong:#d8c5b0;     /* hover / 需要更清晰时的边线 */
  --border:#e5d8ca;          /* 边框（旧别名） */
  --ok:#7d9471;   --ok-strong:#4e6b45;   --ok-bg:#eaf0e6;    /* 成功 */
  --warn:#c99a4e; --warn-strong:#8a6520; --warn-bg:#fdf6ec; --warn-border:#eadcc6; /* 警告 */
  --bad:#a33f32;  --danger:#a33f32;      /* 错误（--danger 为旧别名） */
  --bad-strong:#8f342a; --bad-bg:#f7e5e2;
  --info:#5b7c8d; --info-bg:#edf2f4; --info-border:#d3dde2; /* 信息 */

  /* —— 数据色：课型 / 图表 / 内容分类专用低饱和 tint（与语义色无关，禁止当装饰）
     v3(20260909c)：data3/4/5 按徽标 12px 粗体 AA(≥4.5:1) 校准，新增 data6 灰青 —— */
  --data1:#9c6b4a; --data1-bg:#f3e9e1;   /* 陶土 */
  --data2:#7d9471; --data2-bg:#ecf1e8;   /* 鼠尾草 */
  --data3:#8a6424; --data3-bg:#f5eedd;   /* 赭石 */
  --data4:#8a5c61; --data4-bg:#f4e9ea;   /* 灰玫瑰 */
  --data5:#4e6b7d; --data5-bg:#edf2f4;   /* 灰蓝 */
  --data6:#43686f; --data6-bg:#e9f1f0;   /* 灰青 */

  /* —— 字体：工作页无衬线；阅读页标题衬线、批注楷体；数字 / 表格等宽 —— */
  --font-sans:system-ui,-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  --font-serif:"Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",serif;
  --font-kai:"Kaiti SC","STKaiti","KaiTi","BiauKai",serif;
  --font-mono:ui-monospace,"SF Mono","Cascadia Mono",Consolas,monospace;
  font-family:var(--font-sans);
  color:var(--ink);
  background:#f7f3ed;

  /* —— 圆角 / 阴影 / 焦点 / 玻璃 —— */
  --radius-sm:8px; --radius-md:10px; --radius-lg:16px; --radius-pill:999px;
  --shadow-1:0 4px 12px rgba(76,47,31,.08);   /* 控件 / 吸顶条 */
  --shadow-card:0 1px 2px rgba(93,62,44,.05),0 6px 18px rgba(93,62,44,.07); /* L2 功能卡（双层海拔） */
  --shadow-raise:0 2px 4px rgba(93,62,44,.06),0 12px 26px rgba(93,62,44,.11); /* hover 抬升海拔 */
  --shadow-hero:0 1px 2px rgba(93,62,44,.06),0 12px 32px rgba(93,62,44,.10); /* L1 主卡片 */
  --shadow-pop:0 10px 28px rgba(76,47,31,.18);/* 浮层 / 弹窗 */
  --focus-ring:3px solid rgba(143,79,53,.75)
  /* ===== 断点契约（20260911 批次C收敛定稿，新增媒体查询必须落在这些档位） =====
     max-width：560（手机）· 640（手机横滑语义档）· 768（平板，配 min-width:769）· 820（平板大屏档）· 900（窄桌面）
     min-width：769 / 920 / 1200（既有配对，不新增）
     归并原则：降级样式类可就近归并；「布局语义块」（如首页手机重排）不得跨档归并 */ /* B5 焦点环对米底≥3:1 */;
  --focus-offset:2px;
  --glass-bg:rgba(255,253,249,.86);           /* 玻璃感：仅顶栏 / 浮动工具条 / 浮层 */
  --glass-border:rgba(229,216,202,.78);
  --glass-blur:14px;

  /* —— 控件尺寸 —— */
  --control-h:40px;
  --control-pad-y:10px; --control-pad-x:13px;
  --control-radius:var(--radius-md);

  /* —— 字号：全站 ⊆ {12,13,14,16,20,28}，最小 12px —— */
  --fs-2xs:12px; --fs-xs:12px; --fs-md:13px; --fs-base:14px; --fs-lg:16px;
  --fs-h3:16px; --fs-h2:20px; --fs-h1:28px;

  /* —— 间距：4px 基准网格 —— */
  --space-1:4px; --space-2:8px; --space-3:12px;
  --space-4:16px; --space-5:20px; --space-6:24px;
  --space-7:32px; --space-8:48px;
  --shell-pad:30px 20px 60px;       /* 页面容器内边距（桌面） */
  --shell-pad-mobile:20px 12px;     /* 页面容器内边距（移动） */

  /* —— 动效：只做背景 / 边线 / 阴影 / 1px 下压，不做位移缩放 —— */
  --dur-fast:.15s; --dur-med:.25s;
  --ease-ui:cubic-bezier(.2,.6,.2,1);

  /* —— 层级：新组件一律用 var(--z-*)；--z-mask 沿用旧值兼容存量页 —— */
  --z-nav:100; --z-sticky:200; --z-mask:50;
  --z-drawer:600; --z-toast:700; --z-sync:800;

  /* —— 兼容别名：files 页侧栏 / 移动抽屉已在用 —— */
  --ui-surface:var(--card);
  --ui-border:var(--line);
  --ui-primary:var(--accent2);
  --ui-muted:var(--muted);
  --ui-radius-control:var(--control-radius);
  --ui-shadow:var(--shadow-1);
}

/* ============================================================
   v6（20260912）：暗色变量层 + 方向C去边框实验层（评审稿拍板执行）
   · html[data-dark="1"]：暖黑暗色，全组取值经 WCAG AA 实测（审计映射表）；
     正文 11.59:1(AAA) / 弱文 5.75:1(AA) / 主按钮浅底深字 5.23:1(AA)
   · html.dir-c：方向C——纸更灰一度、线框退位、阴影 4 级砍 2 级
   · 非颜色 token（字体/字号/间距/圆角/动效/z）一律不动
   ============================================================ */
html[data-dark="1"]{
  --bg:#1a1714; --card:#221e1a; --card2:#26221d;
  --ink:#d8cfc4; --ink2:#c9bfb2; --muted:#9c917f;
  --ink-disabled:rgba(216,207,196,.40);
  --accent:#c07a55; --accent2:#d08a63; --accent-soft:rgba(192,122,85,.16);
  --line:#3a332c; --line-soft:#302a24; --line-strong:#4a4237; --border:#3a332c;
  --ok:#8fa67e; --ok-strong:#a8bc94; --ok-bg:rgba(143,166,126,.13);
  --warn:#d4a963; --warn-strong:#e0bc7a; --warn-bg:rgba(212,169,99,.12); --warn-border:rgba(212,169,99,.28);
  --bad:#c96e60; --danger:#c96e60; --bad-strong:#d98878; --bad-bg:rgba(201,110,96,.13);
  --info:#7d9dac; --info-bg:rgba(125,157,172,.13); --info-border:rgba(125,157,172,.28);
  --data1:#c08a61; --data1-bg:rgba(192,138,97,.15);
  --data2:#9aac85; --data2-bg:rgba(154,172,133,.14);
  --data3:#c9a254; --data3-bg:rgba(201,162,84,.14);
  --data4:#b98a8e; --data4-bg:rgba(185,138,142,.14);
  --data5:#7f9dad; --data5-bg:rgba(127,157,173,.14);
  --data6:#6e9aa0; --data6-bg:rgba(110,154,160,.14);
  --bg2:#26221d; --ink3:#9c917f;
  --class-a-bg:rgba(127,157,173,.14); --class-a-ink:#a9c4d1; --class-a-line:rgba(127,157,173,.35);
  --class-b-bg:rgba(154,172,133,.14); --class-b-ink:#b7c8a4; --class-b-line:rgba(154,172,133,.35);
  --class-c-bg:rgba(212,169,99,.12); --class-c-ink:#e0bc7a; --class-c-line:rgba(212,169,99,.30);
  --lesson-bg:#221e1a; --lesson-line:#3a332c; --lesson-ink:#d8cfc4; --muted-ink:#9c917f;
  --shadow-1:none; --shadow-card:none;
  --shadow-raise:0 2px 4px rgba(0,0,0,.35),0 12px 26px rgba(0,0,0,.32);
  --shadow-hero:0 1px 2px rgba(0,0,0,.4),0 12px 32px rgba(0,0,0,.3);
  --shadow-pop:0 10px 28px rgba(0,0,0,.45);
  --focus-ring:3px solid rgba(192,122,85,.42);
  --glass-bg:rgba(34,30,26,.84); --glass-border:rgba(58,51,44,.75);
  /* 画卷暗色组（20260912b）：落地页 aurora 跟随暗色时整体退位（op .5→.18） */
  --au-op:.18; --au-blur:70px;
  --au-a1:#6b4a2e; --au-a2:#7a5638; --au-a3:#5e4028;
  --au-b1:#4e4a34; --au-b2:#585240; --au-b3:#47432e;
  --au-c1:#5e4441; --au-c2:#6b5049; --au-c3:#543d3b;
  background:var(--bg); color:var(--ink);
}
html.dir-c{
  --bg:#f6f4f0; --card:#fcfbf8; --card2:#f3f1eb; --bg2:#f3f1eb;
  --ink:#4a4640; --ink2:#565148; --muted:#6e665c;
  --accent:#7a4b33; --accent2:#6c422b; --accent-soft:rgba(122,75,51,.10);
  --line:rgba(90,80,66,.14); --line-soft:rgba(90,80,66,.09); --line-strong:rgba(90,80,66,.26); --border:rgba(90,80,66,.14);
  --shadow-1:none; --shadow-card:none;
  --shadow-raise:0 2px 4px rgba(60,45,35,.05),0 12px 26px rgba(60,45,35,.08);
  --shadow-hero:0 1px 2px rgba(60,45,35,.05),0 12px 32px rgba(60,45,35,.08);
  --shadow-pop:0 10px 28px rgba(60,45,35,.14);
}
/* 组合态：dir-c 写在 dark 之后会盖掉暗色亮变量，此处复位（保持同权重内后者生效的确定性） */
html.dir-c[data-dark="1"]{
  --bg:#1a1714; --card:#221e1a; --card2:#26221d; --bg2:#26221d;
  --ink:#d8cfc4; --ink2:#c9bfb2; --muted:#9c917f;
  --accent:#c07a55; --accent2:#d08a63; --accent-soft:rgba(192,122,85,.16);
  --line:rgba(216,207,196,.13); --line-soft:rgba(216,207,196,.08); --line-strong:rgba(216,207,196,.24); --border:rgba(216,207,196,.13);
}
