/* 拷贝自 laplace-work/design/system/tokens.css(设计包 0929 版·唯一设计源)。不要在官网里改,要改先改设计包再同步。 */
/* ==========================================================================
   Laplace 设计包 · tokens.css
   「流体 × 像素 · 酷但克制」—— 客户端 (React) 与云平台 (Vue) 共用的唯一设计源。
   只放变量；不写任何组件样式。改颜色 / 字体 / 曲线只改这里。
   ========================================================================== */

:root {
  /* ---------- 品牌色：全部取自 Laplace logo ---------- */
  --lw-orange:  #FF7A45;
  --lw-magenta: #E23CB5;
  --lw-violet:  #8B3DFF;
  --lw-blue:    #2F7BFF;
  --lw-grad: linear-gradient(115deg, var(--lw-orange) 0%, var(--lw-magenta) 38%, var(--lw-violet) 68%, var(--lw-blue) 100%);
  /* 渐变的弱化版：选中态、弱强调底 */
  --lw-grad-soft: linear-gradient(115deg, rgb(255 122 69 / .18), rgb(226 60 181 / .16) 45%, rgb(47 123 255 / .14));

  /* ---------- 语义色（与主题无关） ---------- */
  --lw-good: #3DDC97;
  --lw-warn: #FFC24A;
  --lw-bad:  #FF5A7A;

  /* ---------- 动效曲线（抄自 inkwave，MIT） ---------- */
  --lw-spring:  cubic-bezier(.34, 1.56, .64, 1);  /* 默认回弹：进场、悬停、选中 */
  --lw-spring2: cubic-bezier(.26, 1.9, .5, 1);    /* 大回弹：盖章、弹出、打勾 */
  --lw-out:     cubic-bezier(.22, 1, .36, 1);     /* 填充、视差、渐显 */
  --lw-in:      cubic-bezier(.6, 0, .8, .25);     /* 退场 */
  --lw-stagger: 38ms;                              /* 列表错峰步长 */

  /* ---------- 字体（客户端需把 woff2 打进包里，不走外网） ---------- */
  --lw-font-display: "Unbounded", "PingFang SC", "Hiragino Sans GB", system-ui, sans-serif; /* 字标、首页大标题，克制使用 */
  --lw-font-body:    "Onest", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;
  --lw-font-mono:    "Martian Mono", "SF Mono", ui-monospace, Menlo, monospace; /* 路径、命令、模型 ID、数据 */

  /* ---------- 质感 ---------- */
  /* 质感变量随主题切换：浅色用墨色噪点/点阵，深色用白色（见下方深色块）。
     --lw-lift* 两处都要写：自定义属性在声明处就解析 var()，只改 --lw-lift-color 的子元素不会跟着变。 */
  /* 烘焙好的颗粒噪点（静态图，零运行时开销）；铺在大背景 / 侧栏 / 空状态 */
  --lw-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .09 0 0 0 0 .07 0 0 0 0 .16 0 0 0 .13 -.04'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  /* 半调点阵；配合 mask 做"从一角渐隐"的点阵 */
  --lw-dots: radial-gradient(circle, rgb(23 18 42 / .08) 1px, transparent 1.4px);
  /* 硬偏移阴影：让卡片"立"在屏上（不用大模糊阴影） */
  --lw-lift-sm: 3px 4px 0 var(--lw-lift-color);
  --lw-lift:    6px 7px 0 var(--lw-lift-color);

  /* ---------- 浅色主题（平台网页端默认浅色，谷 0929 定；客户端默认深色） ---------- */
  --lw-bg:      #F6F4FB;
  --lw-surface: #FFFFFF;
  --lw-raised:  #EFEBF8;
  --lw-line:    rgb(23 18 42 / .09);
  --lw-text:    #17122A;
  --lw-muted:   #5E5780;
  --lw-dim:     #8D86A8;
  --lw-lift-color: rgb(23 18 42 / .12);
}

/* ---------- 深色主题：客户端默认 ---------- */
:root[data-theme="dark"], .dark, .lw-dark, .theme-zai-dark {
  color-scheme: dark;
  --lw-bg:      #0E0B18;  /* 墨紫底 */
  --lw-surface: #17122A;  /* 面板 */
  --lw-raised:  #221B3B;  /* 抬升面：输入框、卡片 */
  --lw-line:    rgb(237 233 247 / .07);
  --lw-text:    #EDE9F7;
  --lw-muted:   #9C94B8;
  --lw-dim:     #6E6790;
  --lw-lift-color: rgb(0 0 0 / .35);
  --lw-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .16 -.04'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --lw-dots: radial-gradient(circle, rgb(237 233 247 / .09) 1px, transparent 1.4px);
  --lw-lift-sm: 3px 4px 0 var(--lw-lift-color);
  --lw-lift:    6px 7px 0 var(--lw-lift-color);
}
