/* ============================================================
   深色模式 · 由 scripts/build_dark_theme.py 生成，请勿手改
   ------------------------------------------------------------
   本文件提供：
     1. 浅色 token 定义（值 == 原硬编码值，所以浅色模式零改动）
     2. 深色 token 覆盖（媒体查询版 + data-theme 版，内容一致）

   触发方式
     跟随系统：@media (prefers-color-scheme: dark)
     手动指定：<html data-theme="dark"> / data-theme="light"

   校验：python scripts/check_dark_mode.py
         python scripts/verify_light_unchanged.py --all
   ============================================================ */

/* ---------- 浅色 token（= 原值）---------- */
:root{
  --card:#ffffff;
  --surface-5:#fdf2f1;
  --c-8:#061a2c;
  --c-9:#093049;
  --c-10:#0f4468;
  --c-12:#061624;
  --surface-14:#fbfdfe;
  --surface-15:#ebf3f9;
  --surface-16:#fcfdfe;
  --surface-17:#fffcf3;
  --surface-20:#fdf3df;
  --surface-22:#e1f5ee;
  --c-26:#05182a;
  --surface-31:#edf3f8;
  --surface-32:#dce8f2;
  --c-34:#1867a8;
  --c-35:#c8452f;
  --c-36:#2e8b57;
  --c-37:#e8a317;
  --c-38:#6b4fa0;
  --c-39:#0e7c86;
  --surface-40:#eaf4ee;
  --c-42:#0d3e63;
  --surface-43:#fdf5f4;
  --surface-46:#eef7f1;
  --surface-49:#d9e6f1;
  --surface-52:#d6e4f0;
  --surface-61:#f3faf6;
  --surface-62:#e0f2e7;
  --surface-65:#fffbf0;
  --surface-66:#fdf0d5;
  --c-67:#d99a2b;
  --surface-70:#f1eef9;
  --surface-72:#f1f4f7;
  --ink-1:#0c447c;
  --on-dark:#ffffff;
  --ink-4:#2b1d00;
  --ink-7:#7e2820;
  --ink-11:#3a2500;
  --fg-13:#a9b6c1;
  --ink-18:#6b5217;
  --ink-19:#8a5300;
  --ink-21:#0f6e56;
  --fg-27:#93c8ea;
  --fg-28:#7fc1ee;
  --fg-30:#b8830c;
  --fg-33:#7fa3c0;
  --ink-41:#4a3808;
  --ink-44:#9b3a2f;
  --ink-45:#6b3a33;
  --ink-47:#1f6b45;
  --ink-48:#2a5540;
  --fg-50:#8fafc8;
  --fg-51:#5f7284;
  --fg-53:#8798a6;
  --ink-54:#256b45;
  --ink-55:#1a6bae;
  --ink-56:#0e7c86;
  --ink-57:#6b4fa0;
  --fg-58:#7a8b99;
  --ink-59:#7a3b33;
  --fg-63:#5e8a72;
  --ink-68:#5c4208;
  --ink-69:#7a5c14;
  --ink-71:#5b4189;
  --fg-73:#8494a1;
  --line-6:#f0c9c5;
  --line-23:#9fe1cb;
  --line-24:#e6ecf1;
  --line-25:#f2f6f9;
  --card-line:#ffffff;
  --line-60:#c8e4d4;
  --line-64:#f0ddb0;

  /* 三级表面：底 < 卡片 < 悬浮 */
  --card-soft:#FBFDFE;
  --card-raised:#fff;

  /* 玻璃条与细线（rgba 无法用 hex token 表达） */
  --glass:rgba(255,255,255,.96);
  --glass-badge:rgba(255,255,255,.85);

  /* 按用途拆分的别名（浅色 = 原值） */
  --navy-text:#093049;
  --navy-line:#093049;
  --navy2-text:#0D3E63;
  --blue-text:#1A6BAE;
  --blue-line:#1A6BAE;
  --green-text:#2E8B57;
  --red-text:#C8452F;
  --yellow-text:#E8A317;
  --yellow-line:#E8A317;
}

/* ---------- 深色 token：跟随系统 ---------- */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    /* 表面：底 < 卡片 < 悬浮，保留明度差否则层次全糊 */
    --bg:#101619;
    --bg2:#151C21;
    --bg3:#1B242A;
    --card-soft:#1D272D;
    --card-raised:#212D34;

    --line:#26333A;
    --line2:#33434C;

    --ink:#E6EDF2;
    --ink2:#A7B7C2;
    --ink3:#7C8D99;

    --card:#192328;
    --surface-5:#281211;
    --c-8:#061a2c;
    --c-9:#093049;
    --c-10:#0f4468;
    --c-12:#061624;
    --surface-14:#101F27;
    --surface-15:#111F29;
    --surface-16:#101B26;
    --surface-17:#272110;
    --surface-20:#292111;
    --surface-22:#112921;
    --c-26:#05182a;
    --surface-31:#111E29;
    --surface-32:#12202C;
    --c-34:#1867a8;
    --c-35:#c8452f;
    --c-36:#2e8b57;
    --c-37:#e8a317;
    --c-38:#6b4fa0;
    --c-39:#0e7c86;
    --surface-40:#14261B;
    --c-42:#0d3e63;
    --surface-43:#281310;
    --surface-46:#122719;
    --surface-49:#12202C;
    --surface-52:#12202D;
    --surface-61:#10271A;
    --surface-62:#112A1B;
    --surface-65:#272110;
    --surface-66:#292111;
    --c-67:#d99a2b;
    --surface-70:#181129;
    --surface-72:#151D24;
    --ink-1:#90B8DF;
    --on-dark:#ffffff;
    --ink-4:#2b1d00;
    --ink-7:#DF9790;
    --ink-11:#3a2500;
    --fg-13:#a9b6c1;
    --ink-18:#DFC790;
    --ink-19:#DFC090;
    --ink-21:#90DFCB;
    --fg-27:#93c8ea;
    --fg-28:#7fc1ee;
    --fg-30:#E0C485;
    --fg-33:#7fa3c0;
    --ink-41:#DFC990;
    --ink-44:#DE9991;
    --ink-45:#D1A59E;
    --ink-47:#90DFB8;
    --ink-48:#9FD0B8;
    --fg-50:#8fafc8;
    --fg-51:#A6B3BF;
    --fg-53:#A7B4BE;
    --ink-54:#95DAB5;
    --ink-55:#90BBDF;
    --ink-56:#90D8DF;
    --ink-57:#B09FD0;
    --fg-58:#A8B3BD;
    --ink-59:#D5A19A;
    --fg-63:#A4C1B1;
    --ink-68:#DFC790;
    --ink-69:#DFC890;
    --ink-71:#B19ED1;
    --fg-73:#A8B4BD;
    --line-6:#4F2420;
    --line-23:#204E3F;
    --line-24:#243441;
    --line-25:#1F3343;
    --card-line:#2F2F2F;
    --line-60:#234733;
    --line-64:#4B3E1F;

    --glass:rgba(20,27,31,.94);
    --glass-badge:rgba(25,35,40,.88);

    --navy-text:#CFE0EE;
    --navy-line:#7391A6;
    --navy2-text:#CFE0EE;
    --blue-text:#7FB8E8;
    --blue-line:#3E7096;
    --green-text:#7FC79F;
    --red-text:#EE9184;
    --yellow-text:#F0B94E;
    --yellow-line:#8A6A20;

    --sh:0 2px 4px rgba(0,0,0,.3), 0 14px 40px rgba(0,0,0,.42);
    --sh-lg:0 4px 8px rgba(0,0,0,.34), 0 24px 64px rgba(0,0,0,.52);
    color-scheme:dark;
  }
}

/* ---------- 深色 token：手动切换（内容须与上面一致）---------- */
:root[data-theme="dark"]{
  --bg:#101619;
  --bg2:#151C21;
  --bg3:#1B242A;
  --card-soft:#1D272D;
  --card-raised:#212D34;

  --line:#26333A;
  --line2:#33434C;

  --ink:#E6EDF2;
  --ink2:#A7B7C2;
  --ink3:#7C8D99;

  --card:#192328;
  --surface-5:#281211;
  --c-8:#061a2c;
  --c-9:#093049;
  --c-10:#0f4468;
  --c-12:#061624;
  --surface-14:#101F27;
  --surface-15:#111F29;
  --surface-16:#101B26;
  --surface-17:#272110;
  --surface-20:#292111;
  --surface-22:#112921;
  --c-26:#05182a;
  --surface-31:#111E29;
  --surface-32:#12202C;
  --c-34:#1867a8;
  --c-35:#c8452f;
  --c-36:#2e8b57;
  --c-37:#e8a317;
  --c-38:#6b4fa0;
  --c-39:#0e7c86;
  --surface-40:#14261B;
  --c-42:#0d3e63;
  --surface-43:#281310;
  --surface-46:#122719;
  --surface-49:#12202C;
  --surface-52:#12202D;
  --surface-61:#10271A;
  --surface-62:#112A1B;
  --surface-65:#272110;
  --surface-66:#292111;
  --c-67:#d99a2b;
  --surface-70:#181129;
  --surface-72:#151D24;
  --ink-1:#90B8DF;
  --on-dark:#ffffff;
  --ink-4:#2b1d00;
  --ink-7:#DF9790;
  --ink-11:#3a2500;
  --fg-13:#a9b6c1;
  --ink-18:#DFC790;
  --ink-19:#DFC090;
  --ink-21:#90DFCB;
  --fg-27:#93c8ea;
  --fg-28:#7fc1ee;
  --fg-30:#E0C485;
  --fg-33:#7fa3c0;
  --ink-41:#DFC990;
  --ink-44:#DE9991;
  --ink-45:#D1A59E;
  --ink-47:#90DFB8;
  --ink-48:#9FD0B8;
  --fg-50:#8fafc8;
  --fg-51:#A6B3BF;
  --fg-53:#A7B4BE;
  --ink-54:#95DAB5;
  --ink-55:#90BBDF;
  --ink-56:#90D8DF;
  --ink-57:#B09FD0;
  --fg-58:#A8B3BD;
  --ink-59:#D5A19A;
  --fg-63:#A4C1B1;
  --ink-68:#DFC790;
  --ink-69:#DFC890;
  --ink-71:#B19ED1;
  --fg-73:#A8B4BD;
  --line-6:#4F2420;
  --line-23:#204E3F;
  --line-24:#243441;
  --line-25:#1F3343;
  --card-line:#2F2F2F;
  --line-60:#234733;
  --line-64:#4B3E1F;

  --glass:rgba(20,27,31,.94);
  --glass-badge:rgba(25,35,40,.88);

  --navy-text:#CFE0EE;
  --navy-line:#7391A6;
  --navy2-text:#CFE0EE;
  --blue-text:#7FB8E8;
  --blue-line:#3E7096;
  --green-text:#7FC79F;
  --red-text:#EE9184;
  --yellow-text:#F0B94E;
  --yellow-line:#8A6A20;

  --sh:0 2px 4px rgba(0,0,0,.3), 0 14px 40px rgba(0,0,0,.42);
  --sh-lg:0 4px 8px rgba(0,0,0,.34), 0 24px 64px rgba(0,0,0,.52);
  color-scheme:dark;
}

/* ============================================================
   rgba 半透明位置：无法用 hex token 表达，逐条覆盖
   ============================================================ */
[data-theme="dark"] header.nav,
[data-theme="dark"] .anchorbar,
[data-theme="dark"] .filterbar{background:var(--glass)}

[data-theme="dark"] .pcard .visual .st{
  background:var(--glass-badge);color:#A7B7C2;
}

[data-theme="dark"] .prose a{color:#7FB8E8}

[data-theme="dark"] .spec tr:nth-child(even){background:rgba(255,255,255,.03)}

[data-theme="dark"] input,
[data-theme="dark"] textarea,
[data-theme="dark"] select{
  background:#192328;color:#E6EDF2;border-color:#33434C;
}

[data-theme="dark"] .prod .thumb img{filter:brightness(.94)}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) header.nav,
  :root:not([data-theme="light"]) .anchorbar,
  :root:not([data-theme="light"]) .filterbar{background:rgba(20,27,31,.94)}

  :root:not([data-theme="light"]) .pcard .visual .st{
    background:rgba(25,35,40,.88);color:#A7B7C2;
  }

  :root:not([data-theme="light"]) .prose a{color:#7FB8E8}

  :root:not([data-theme="light"]) .spec tr:nth-child(even){
    background:rgba(255,255,255,.03);
  }

  :root:not([data-theme="light"]) input,
  :root:not([data-theme="light"]) textarea,
  :root:not([data-theme="light"]) select{
    background:#192328;color:#E6EDF2;border-color:#33434C;
  }

  :root:not([data-theme="light"]) .prod .thumb img{filter:brightness(.94)}
}
