/* base.css -- 「基础」皮肤：换肤之前的观感，原样保留。
 *
 * 它存在的唯一理由是**让这次改版可逆**：用户（或未来的 owner）可以一键回到
 * 2026-10-11 之前的样子，而不需要回滚代码、也不需要 git revert。
 *
 * 为什么这个文件里只有表现层令牌、一个颜色都没有：
 *   改版前每个页面在自己的 style 块里写死了同一套深色（#0f172a / #1e293b /
 *   #e2e8f0 / #94a3b8 / #a78bfa / #334155）。那套值同时是服务端调色板
 *   bebot/features/themes.py::_DARK，所以「基础皮肤」的正确表达方式是
 *   **把颜色留给调色板层**，本文件只声明形状与质感。这样：
 *     · telegram 模式下客户端配色仍然说话（旧契约不变）；
 *     · 浅色模式下自动变浅色，而不是被这里写死的深色顶住；
 *     · 这个文件不会成为第二个配色来源。
 *   注意 tokens.css 的 :root 默认值就是 _DARK 那一套，所以调不到接口时
 *   基础皮肤依然渲染成改版前的样子。
 *
 * 选择器为什么带 [data-skin="base"]：
 *   wasteland.css 占的是裸 :root（出厂默认），属性选择器优先级更高，
 *   所以一旦 theme.js 写下 data-skin="base"，本文件就整体接管，不需要 !important，
 *   也不依赖两个文件的加载顺序。
 *
 * 与 bebot/features/themes.py::SKINS['base'].tokens **必须逐值相同**
 *   （断言见 tests/test_webapp_skins.py::test_static_skin_matches_registry）。
 */

:root[data-skin="base"] {
  /* 字体：改版前就是系统 UI 字体栈，没有引入任何网络字体 */
  --font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: ui-monospace, Menlo, Consolas, "Roboto Mono", monospace;

  /* 形状：12/8 圆角是旧页面的统一手感 */
  --radius: 12px;
  --radius-sm: 8px;
  --radius-lg: 20px;

  /* 质感：没有辉光，只有一层很轻的投影；颗粒沿用旧档 0.035 */
  --glow: none;
  --shadow: 0 1px 2px rgba(0, 0, 0, 0.35);

  /* 纹理：旧页面没有扫描线与暗角，必须归零 —— 否则「基础皮肤」就不是原来的样子 */
  --texture-scanline: 0;
  --texture-vignette: 0;
  --texture-grain: 0.035;
  --texture-glow: 0.45;

  /* 动效：旧页面**一个动画都没有**，所以十项全部是「时长 0」。
   * 这不是「忘了填」——把动效留在废土皮肤里，是这个皮肤与那个皮肤最直观的差别。 */
  --motion-enter-duration: 0s;
  --motion-enter-shift: 0px;
  --motion-swap-duration: 0s;
  --motion-blink: 0s;
  --motion-crt-flicker: 0s;
  --motion-crt-grain: 0s;
  --motion-crt-roll: 0s;
  --motion-pulse-duration: 0s;
  --motion-pulse-glow: none;
  --motion-step: linear;
}
