/* ui-unify design tokens — Linear dark + Supabase green, dual theme.
 * 深色为默认；浅色经 prefers-color-scheme 自动跟随；
 * :root[data-theme="dark"|"light"] 手动覆盖优先于系统偏好。
 * 借鉴 platform.deepseek.com：中性色带微蓝调；边框用半透明黑/白分档，
 * 叠在任意背景层上都自然；品牌色亮暗双值（暗底提亮、浅底加深）。 */
:root {
  /* surfaces — 分层提亮做纵深：canvas < surface(卡片) < elevated(浮层) */
  --bg: #151517;
  --surface: #232324;
  --surface-2: #2c2c2e;
  --elevated: #353638;      /* 浮层：菜单/命令面板/抽屉/toast，比卡片更亮 */
  /* borders — 半透明分档：subtle(分隔线) < border(默认) < strong(输入控件) */
  --border-subtle: rgba(255, 255, 255, 0.06);
  --border: rgba(255, 255, 255, 0.09);
  --border-strong: rgba(255, 255, 255, 0.16);
  /* text */
  --text: #f7f8f8;
  --text-2: #8a8f98;
  --text-3: #62666d;
  /* accent — 暗底用亮绿保对比 */
  --accent: #3ecf8e;
  --accent-hover: #34b27b;
  --accent-ring: rgba(62, 207, 142, 0.22);
  --accent-contrast: #0e0e10; /* text on solid accent */
  --accent-text: #3ecf8e; /* accent used as text/icon color */
  /* semantic status — 与强调绿刻意错开 */
  --ok: #2f9e6e;
  --warn: #f5a623;
  --danger: #fb7185;
  --idle: #8a8f98;
  /* typography */
  --font-sans: Inter, -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, "Noto Sans Mono CJK SC", monospace;
  /* shape & density */
  --radius: 6px;       /* controls */
  --radius-lg: 8px;    /* cards */
  --row-h: 36px;       /* table row height */
  /* 仅浮层可用的柔和投影（弹层/命令面板/toast）；平面元素仍禁用阴影 */
  --shadow-overlay: 0 8px 30px rgba(0, 0, 0, 0.5);
  /* 卡片纵深：暗色用顶部内高光 bevel，浅色用柔和投影 */
  --card-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
  color-scheme: dark;
}

@media (prefers-color-scheme: light) {
  :root {
    --bg: #ffffff;
    --surface: #f5f6f7;
    --surface-2: #ebeef2;
    --elevated: #ffffff;
    --border-subtle: rgba(0, 0, 0, 0.05);
    --border: rgba(0, 0, 0, 0.1);
    --border-strong: rgba(0, 0, 0, 0.16);
    --text: #18181b;
    --text-2: #71717a;
    --text-3: #a1a1aa;
    --accent: #16825d;          /* 浅底加深保对比 */
    --accent-hover: #136e4e;
    --accent-ring: rgba(22, 130, 93, 0.2);
    --accent-contrast: #ffffff;
    --accent-text: #158f5e;
    --ok: #1e7f56;
    --warn: #b45309;
    --danger: #e11d48; /* 浅底上加深以保对比度 */
    --idle: #71717a;
    --shadow-overlay: 0 8px 30px rgba(0, 0, 0, 0.12);
    --card-shadow: 0 1px 2px rgba(16, 17, 20, 0.04), 0 2px 6px rgba(16, 17, 20, 0.03);
    color-scheme: light;
  }
}

/* 手动覆盖：data-theme 优先于系统偏好 */
:root[data-theme="dark"] {
  --bg: #151517;
  --surface: #232324;
  --surface-2: #2c2c2e;
  --elevated: #353638;
  --border-subtle: rgba(255, 255, 255, 0.06);
  --border: rgba(255, 255, 255, 0.09);
  --border-strong: rgba(255, 255, 255, 0.16);
  --text: #f7f8f8;
  --text-2: #8a8f98;
  --text-3: #62666d;
  --accent: #3ecf8e;
  --accent-hover: #34b27b;
  --accent-ring: rgba(62, 207, 142, 0.22);
  --accent-contrast: #0e0e10;
  --accent-text: #3ecf8e;
  --ok: #2f9e6e;
  --warn: #f5a623;
  --danger: #fb7185;
  --idle: #8a8f98;
  --shadow-overlay: 0 8px 30px rgba(0, 0, 0, 0.5);
  --card-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
  color-scheme: dark;
}

:root[data-theme="light"] {
  --bg: #ffffff;
  --surface: #f5f6f7;
  --surface-2: #ebeef2;
  --elevated: #ffffff;
  --border-subtle: rgba(0, 0, 0, 0.05);
  --border: rgba(0, 0, 0, 0.1);
  --border-strong: rgba(0, 0, 0, 0.16);
  --text: #18181b;
  --text-2: #71717a;
  --text-3: #a1a1aa;
  --accent: #16825d;
  --accent-hover: #136e4e;
  --accent-ring: rgba(22, 130, 93, 0.2);
  --accent-contrast: #ffffff;
  --accent-text: #158f5e;
  --ok: #1e7f56;
  --warn: #b45309;
  --danger: #e11d48;
  --idle: #71717a;
  --shadow-overlay: 0 8px 30px rgba(0, 0, 0, 0.12);
  --card-shadow: 0 1px 2px rgba(16, 17, 20, 0.04), 0 2px 6px rgba(16, 17, 20, 0.03);
  color-scheme: light;
}
