/* =========================================================================
   Jev2Api · 主题令牌
   dark  = 暗色玻璃拟态（默认）
   light = 明亮 + 磨砂毛玻璃（backdrop-filter 高斯模糊 + 半透明表面 + 柔和投影）
   ========================================================================= */

:root,
[data-theme="dark"] {
  color-scheme: dark;

  /* 画布 */
  --bg: #0f0f10;
  --bg-grad-a: #2b3f7a;
  --bg-grad-b: #3a2a6a;
  --glow-opacity: .26;
  --grid-line: rgba(255,255,255,.022);
  --grid-mask: radial-gradient(900px 600px at 30% 0%, #000 10%, transparent 80%);

  /* 表面 */
  --surface: #17171a;
  --surface-glass: rgba(15,15,16,.86);
  --surface-soft: rgba(255,255,255,.03);
  --surface-softer: rgba(255,255,255,.022);
  --surface-hover: rgba(255,255,255,.06);
  --surface-menu: rgba(28,28,32,.97);
  --blur: none;
  --card-shadow: 0 32px 24px -16px rgba(0,0,0,.40), inset 2px 4px 16px rgba(248,248,248,.05);
  --menu-shadow: 0 24px 40px -20px rgba(0,0,0,.7);

  /* 文字 */
  --text-1: rgba(248,248,248,.95);
  --text-2: rgba(248,248,248,.74);
  --text-3: rgba(248,248,248,.60);
  --text-4: rgba(248,248,248,.46);

  /* 描边 */
  --border: rgba(255,255,255,.07);
  --border-soft: rgba(255,255,255,.05);
  --border-strong: rgba(255,255,255,.14);
  --border-input: rgba(255,255,255,.10);
  --mask-bg: rgba(6,8,14,.58);
  --sk-shine: rgba(255,255,255,.08);

  /* 强调色 */
  --accent: #4f8cff;
  --accent-2: #7a5cff;
  --accent-soft: rgba(79,140,255,.14);
  --accent-glow: rgba(79,140,255,.30);
  --accent-text: #bcd4ff;
  --grad: linear-gradient(135deg, #4f8cff, #7a5cff);
  --grad-text: linear-gradient(135deg, #cfe0ff, #b9a9ff);

  /* 语义色 */
  --ok: #4ade80;     --ok-text: #a7f0bd;   --ok-soft: rgba(74,222,128,.10);   --ok-line: rgba(74,222,128,.28);
  --warn: #ffd479;   --warn-text: #ffdca6; --warn-soft: rgba(255,212,121,.10); --warn-line: rgba(255,212,121,.28);
  --err: #ff7b72;    --err-text: #ffb0a8;  --err-soft: rgba(255,123,114,.10);  --err-line: rgba(255,123,114,.28);
  --purple-text: #c9b6ff; --purple-soft: rgba(122,92,255,.12); --purple-line: rgba(122,92,255,.30);
  --code: #ffd479;

  /* 控件 */
  --btn-bg: rgba(255,255,255,.08);
  --btn-bg-hover: rgba(255,255,255,.15);
  --input-bg: rgba(255,255,255,.045);
  --input-bg-focus: rgba(255,255,255,.07);
  --track: rgba(255,255,255,.08);
  --log-bg: rgba(0,0,0,.28);
  --thead-bg: rgba(23,23,26,.96);
  --row-hover: rgba(255,255,255,.022);
  --row-line: rgba(255,255,255,.045);

  /* 滚动条（苹果风极简：细、圆、悬浮才明显） */
  --scroll-thumb: rgba(255,255,255,.16);
  --scroll-thumb-hover: rgba(255,255,255,.32);
  /* 分组列表（苹果风设置卡片）*/
  --group-bg: rgba(255,255,255,.05);
  --group-line: rgba(255,255,255,.07);
  --group-ring: rgba(255,255,255,.045);
  --quiet-bg: rgba(255,255,255,.08);
  --quiet-bg-hi: rgba(255,255,255,.14);

  /* 悬浮胶囊 / 侧栏玻璃 */
  --dock-bg: rgba(22,22,26,.72);
  --dock-border: rgba(255,255,255,.09);
  --dock-shadow: 0 20px 44px -24px rgba(0,0,0,.75), 0 4px 14px rgba(0,0,0,.28);

  /* 图表 */
  --chart-ok: #4f8cff;
  --chart-err: #ff7b72;
  --chart-line: #ffd479;
  --chart-grid: rgba(255,255,255,.05);

  /* 兼容旧变量名（渐进替换） */
  --t1: var(--text-1); --t2: var(--text-2); --t3: var(--text-3);
  --line: var(--border); --card: var(--surface);
}

[data-theme="light"] {
  color-scheme: light;

  --bg: #e9edf6;
  --bg-grad-a: #9dc0ff;
  --bg-grad-b: #c9b6ff;
  --glow-opacity: .38;
  --grid-line: rgba(28,40,80,.055);
  --grid-mask: radial-gradient(1000px 640px at 26% -6%, #000 8%, transparent 82%);

  --surface: rgba(255,255,255,.60);
  --surface-glass: rgba(255,255,255,.72);
  --surface-soft: rgba(255,255,255,.50);
  --surface-softer: rgba(255,255,255,.38);
  --surface-hover: rgba(255,255,255,.78);
  --surface-menu: rgba(255,255,255,.90);
  --blur: blur(20px) saturate(165%);
  --card-shadow: 0 26px 44px -28px rgba(24,38,76,.34), inset 0 1px 0 rgba(255,255,255,.85);
  --menu-shadow: 0 26px 44px -22px rgba(24,38,76,.35);

  --text-1: #0d1117;
  --text-2: rgba(13,17,23,.78);
  --text-3: rgba(13,17,23,.62);
  --text-4: rgba(13,17,23,.48);

  --border: rgba(20,28,48,.14);
  --border-soft: rgba(255,255,255,.65);
  --border-strong: rgba(20,28,48,.22);
  --border-input: rgba(20,28,48,.16);
  --mask-bg: rgba(18,26,44,.26);
  --sk-shine: rgba(255,255,255,.75);

  --accent: #2f6fe4;
  --accent-2: #6a49e8;
  --accent-soft: rgba(47,111,228,.12);
  --accent-glow: rgba(47,111,228,.26);
  --accent-text: #24459a;
  --grad: linear-gradient(135deg, #2f6fe4, #6a49e8);
  --grad-text: linear-gradient(135deg, #1d3f8f, #4b2fa8);

  --ok: #14883f;     --ok-text: #0f6b31;   --ok-soft: rgba(20,136,63,.12);   --ok-line: rgba(20,136,63,.30);
  --warn: #b7791f;   --warn-text: #8a5a10; --warn-soft: rgba(183,121,31,.13); --warn-line: rgba(183,121,31,.30);
  --err: #d92b20;    --err-text: #a81f16;  --err-soft: rgba(217,43,32,.11);  --err-line: rgba(217,43,32,.28);
  --purple-text: #5b3bc4; --purple-soft: rgba(106,73,232,.12); --purple-line: rgba(106,73,232,.28);
  --code: #9a5b00;

  --btn-bg: rgba(255,255,255,.62);
  --btn-bg-hover: rgba(255,255,255,.88);
  --input-bg: rgba(255,255,255,.58);
  --input-bg-focus: rgba(255,255,255,.85);
  --track: rgba(20,28,48,.10);
  --log-bg: rgba(255,255,255,.55);
  --thead-bg: rgba(255,255,255,.86);
  --row-hover: rgba(255,255,255,.45);
  --row-line: rgba(20,28,48,.07);

  --scroll-thumb: rgba(20,28,48,.20);
  --scroll-thumb-hover: rgba(20,28,48,.36);
  --group-bg: rgba(255,255,255,.78);
  --group-line: rgba(20,28,48,.09);
  --group-ring: rgba(20,28,48,.055);
  --quiet-bg: rgba(20,28,48,.06);
  --quiet-bg-hi: rgba(20,28,48,.11);

  --dock-bg: rgba(255,255,255,.74);
  --dock-border: rgba(255,255,255,.85);
  --dock-shadow: 0 22px 44px -26px rgba(24,38,76,.42), 0 4px 14px rgba(24,38,76,.10);

  --chart-ok: #2f6fe4;
  --chart-err: #d92b20;
  --chart-line: #b7791f;
  --chart-grid: rgba(20,28,48,.08);
}
