/* ============================================================
   Wos UI · 设计令牌（Design Tokens）
   ------------------------------------------------------------
   ★ 一变量换肤：改 --hue（0-360），整站色彩全部跟随。
     所有颜色都是 oklch(明度 纯度 色相)，色相统一引用 var(--hue)。
   ============================================================ */

:root {
  /* ---- ★ 主题色相：唯一必改的变量 ---- */
  --hue: 275;            /* 275=品牌紫  220=蓝  190=青  155=绿  25=朱红  330=洋红 */
  --hue-shift: 18;       /* 辅助色的色相偏移量，一般不用动 */

  /* ---- 品牌色（全部由 --hue 派生） ---- */
  --brand:        oklch(0.585 0.19 var(--hue));
  --brand-hover:  oklch(0.525 0.20 var(--hue));
  --brand-2:      oklch(0.665 0.155 calc(var(--hue) + var(--hue-shift)));
  --brand-soft:   oklch(0.965 0.025 var(--hue));
  --brand-line:   oklch(0.885 0.05 var(--hue));

  /* ---- 语义色（中性偏移自主题色相，纯度压低） ---- */
  --gold:      oklch(0.80 0.12 85);
  --gold-deep: oklch(0.62 0.11 75);
  --ok:        oklch(0.58 0.15 155);
  --ok-soft:   oklch(0.965 0.04 155);
  --warn:      oklch(0.66 0.14 70);
  --warn-soft: oklch(0.965 0.045 75);
  --danger:        oklch(0.55 0.21 27);
  --danger-soft:   oklch(0.965 0.035 27);
  --danger-line:   oklch(0.90 0.05 27);
  --info:      oklch(0.58 0.16 260);
  --info-soft: oklch(0.965 0.03 260);

  /* ---- 深色侧边栏（石墨底，色相随主题） ---- */
  --side-bg:         oklch(0.185 0.016 var(--hue));
  --side-bg-2:       oklch(0.225 0.018 var(--hue));
  --side-text:       oklch(0.78 0.012 var(--hue));
  --side-text-dim:   oklch(0.58 0.014 var(--hue));
  --side-active-bg:  oklch(0.30 0.045 var(--hue));
  --side-active-text: #ffffff;
  --side-hover:      oklch(0.255 0.02 var(--hue));
  --side-border:     oklch(0.30 0.018 var(--hue));

  /* ---- 工作区（极浅冷调，不用纯白） ---- */
  --bg:             oklch(0.984 0.003 var(--hue));
  --surface:        oklch(1 0.0015 var(--hue));
  --surface-2:      oklch(0.975 0.004 var(--hue));
  --surface-sunken: oklch(0.968 0.005 var(--hue));

  /* ---- 文字 ---- */
  --text:     oklch(0.24 0.012 var(--hue));
  --text-2:   oklch(0.44 0.014 var(--hue));
  --text-3:   oklch(0.60 0.012 var(--hue));
  --text-inv: oklch(0.97 0.005 var(--hue));

  /* ---- 描边 ---- */
  --line:        oklch(0.918 0.006 var(--hue));
  --line-2:      oklch(0.945 0.005 var(--hue));
  --line-strong: oklch(0.86 0.008 var(--hue));
  --line-hover:  oklch(0.83 0.01 var(--hue));

  /* ---- 阴影：极克制，靠边框分层而非堆叠阴影 ---- */
  --shadow-xs: 0 1px 2px oklch(0.24 0.02 var(--hue) / 0.04);
  --shadow-sm: 0 1px 3px oklch(0.24 0.02 var(--hue) / 0.06), 0 1px 2px oklch(0.24 0.02 var(--hue) / 0.03);
  --shadow-md: 0 4px 16px -4px oklch(0.24 0.02 var(--hue) / 0.10), 0 2px 6px -2px oklch(0.24 0.02 var(--hue) / 0.05);
  --shadow-lg: 0 18px 44px -12px oklch(0.24 0.03 var(--hue) / 0.18), 0 6px 14px -6px oklch(0.24 0.02 var(--hue) / 0.08);
  --shadow-glow: 0 0 0 3px oklch(0.62 0.15 var(--hue) / 0.14);

  /* ---- 圆角：小圆角为主，避免"万物皆胶囊" ---- */
  --r-xs: 5px;
  --r-sm: 7px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-xl: 18px;
  --r-full: 999px;

  /* ---- 间距：非线性节奏 ---- */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 20px;
  --s-6: 24px;
  --s-8: 32px;
  --s-10: 40px;
  --s-12: 48px;
  --s-16: 64px;

  /* ---- 字体 ---- */
  --font: "PingFang SC", "HarmonyOS Sans SC", "Source Han Sans SC",
          "Noto Sans CJK SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-num: "SF Mono", "DIN Alternate", "Roboto Mono", ui-monospace, monospace;
  --font-mono: "SF Mono", "JetBrains Mono", ui-monospace, "Cascadia Code", monospace;

  /* ---- 动效：指数缓动，不做回弹 ---- */
  --ease: cubic-bezier(0.165, 0.84, 0.44, 1);      /* ease-out-quart */
  --ease-expo: cubic-bezier(0.19, 1, 0.22, 1);      /* ease-out-expo */
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 120ms;
  --dur: 200ms;
  --dur-slow: 340ms;

  /* ---- 布局 ---- */
  --side-w: 250px;
  --side-w-collapsed: 68px;
  --topbar-h: 62px;
  --content-max: 1440px;

  color-scheme: light;
}
