/* lynux 0.8.0 X19 —— 主题层（只覆盖变量，不含选择器样式）
 *
 * 默认主题 hermes-teal = 上游 LENS_0 三槽调色板。
 * 浅色主题 lynux-light = 0.7.3 的旧外观，保留为可选项。
 * X40（0.16.0）：midnight / ember / mono 三档取自上游 THEME_PRESET_PALETTES（只取调色板，
 * 不移植其字体外链与 radius）；mono 的 danger 为满足 3:1 调亮一档，见该块注释。
 *
 * 命名说明：上游 `web/src/themes/presets.ts` 只有 default / midnight / ember /
 * mono / cyberpunk / rose / nous-blue / default-large，**没有** `github` 浅色
 * preset；旧外观因此用 lynux 自己的名字，不用一个不存在于上游的名字冒充移植值。
 *
 * 状态色在浅色主题里必须换成深版：上游的 #4ade80 / #ffbd38 是给深色底用的，
 * 白底上分别只有 1.6:1 / 1.5:1，作为文字不可能通过对比度断言。
 */
:root,
:root[data-theme="hermes-teal"] {
  --lx-bg-base: #041c1c;
  --lx-fg-base: #ffe6cb;
  --lx-glow: rgba(255, 189, 56, 0.35);
  --lx-danger: #fb2c36;
  --lx-ok: #4ade80;
  --lx-warn: #ffbd38;
  --lx-series-in: #ffe6cb;
  --lx-series-out: #34d399;
  /* X68 语义色：accent=品牌动作、info=信息/编辑、其余为状态；-text 是文字安全版（≥4.5:1） */
  --lx-accent: #ffbd38;
  --lx-accent-text: #ffbd38;
  --lx-info: #7cc4ff;
  --lx-info-text: #7cc4ff;
  --lx-ok-text: #4ade80;
  --lx-warn-text: #ffbd38;
  --lx-danger-text: #ff6b6b;
}

:root[data-theme="midnight"] {
  /* X40：上游 THEME_PRESET_PALETTES.midnight（只取调色板；字体/半径不移植） */
  --lx-bg-base: #08081c;
  --lx-fg-base: #ddd6ff;
  --lx-glow: rgba(139, 128, 232, 0.35);
  --lx-danger: #b03060;
  --lx-ok: #4ade80;
  --lx-warn: #ffbd38;
  --lx-series-in: #ddd6ff;
  --lx-series-out: #8b80e8;
  /* X68 语义色 */
  --lx-accent: #8b80e8;
  --lx-accent-text: #a89bff;
  --lx-info: #86c8ff;
  --lx-info-text: #86c8ff;
  --lx-ok-text: #5ee79a;
  --lx-warn-text: #ffcf6b;
  --lx-danger-text: #ff8d8d;
}

:root[data-theme="ember"] {
  /* X40：上游 THEME_PRESET_PALETTES.ember */
  --lx-bg-base: #160800;
  --lx-fg-base: #ffd8b0;
  --lx-glow: rgba(217, 115, 22, 0.35);
  --lx-danger: #c43010;
  --lx-ok: #4ade80;
  --lx-warn: #ffbd38;
  --lx-series-in: #ffd8b0;
  --lx-series-out: #d97316;
  /* X68 语义色 */
  --lx-accent: #d97316;
  --lx-accent-text: #ffa347;
  --lx-info: #86c8ff;
  --lx-info-text: #86c8ff;
  --lx-ok-text: #5ee79a;
  --lx-warn-text: #ffd166;
  --lx-danger-text: #ff9576;
}

:root[data-theme="mono"] {
  /* X40：上游 THEME_PRESET_PALETTES.mono；danger 由 #a84040 调亮到 #b34d4d
   * （深灰底上 2.97:1 过不了 3:1 UI 阈值，与浅色主题的处理同一先例） */
  --lx-bg-base: #0e0e0e;
  --lx-fg-base: #eaeaea;
  --lx-glow: rgba(154, 154, 154, 0.30);
  --lx-danger: #b34d4d;
  --lx-ok: #4ade80;
  --lx-warn: #ffbd38;
  --lx-series-in: #eaeaea;
  --lx-series-out: #9a9a9a;
  /* X68 语义色（单色档只保留明度差，不上彩） */
  --lx-accent: #9a9a9a;
  --lx-accent-text: #d4d4d4;
  --lx-info: #a8a8a8;
  --lx-info-text: #a8a8a8;
  --lx-ok-text: #7fd6a0;
  --lx-warn-text: #e0c07a;
  --lx-danger-text: #ff8a8a;
}

:root[data-theme="lynux-light"] {
  --lx-bg-base: #ffffff;
  --lx-fg-base: #1f2328;
  --lx-glow: rgba(9, 105, 218, 0.25);
  --lx-danger: #cf222e;
  /* X57：浅色底上 color-dodge 会把颗粒削成纯白（不可见），改 multiply + 更低透明度 */
  --lx-noise-img: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' fill='%23d8d8d8' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");
  --lx-noise-blend: multiply;
  --lx-noise-alpha: 0.18;
  --lx-ok: #1a7f37;
  --lx-warn: #9a6700;
  --lx-series-in: #1f2328;
  --lx-series-out: #0969da;
  /* X68 语义色：白底上 -text 取深一档（8% 表面上仍 ≥4.5:1） */
  --lx-accent: #0969da;
  --lx-accent-text: #0550ae;
  --lx-info: #0550ae;
  --lx-info-text: #0550ae;
  --lx-ok-text: #116329;
  --lx-warn-text: #7d5200;
  --lx-danger-text: #a40e26;
}

/* 密度第二档（0.25.2）：compact = 1.0 倍间距 + 15px / 1.55 —— 也就是 0.25.1 之前的样子。
 * comfortable（舒适，默认）在 tokens.css 里是 1.15 / 16px / 1.62；本块只做覆盖，
 * 换档只改尺度、不改颜色，所以两档的对比度断言是同一组数。 */
:root[data-density="compact"] {
  --lx-space: 1;
  --lx-base: 15px;
  --lx-leading: 1.55;
}
