/* ============================================================
   theme-dark.css — 深色模式(全局唯一深色样式文件)
   与 theme.js 配套:主题由 <html data-theme="dark"> 触发,
   本文件只做「令牌覆盖 + 少量硬编码残留修正」,不新增组件样式。

   维护约定:
   1. 组件样式一律写令牌(var(--card)/var(--t2)/…),不写死颜色;
      写了令牌的代码天然支持深色,无需再动本文件。
   2. 若某处深色下显示异常,优先把该处源码里的硬编码色换成令牌;
      实在不便改源码时,才在本文件底部「残留修正」区加一条定向覆盖。
   3. 新增语义令牌时,tokens.css / index.html 内联 :root 补浅色值,
      本文件补深色值,两处成对出现。
   ============================================================ */

html[data-theme="dark"] {
  color-scheme: dark;   /* 原生控件(input/select/滚动条)跟随深色 */

  /* 品牌与背景 */
  --bg:#0f1216; --card:#161b22; --blue:#5b8af5; --blue-soft:#1c2637; --blue-hover:#24344f;
  /* 涨跌语义:色相不变(红涨绿跌由 applyColorPref 管),仅软底加深 */
  --up-soft:#f0353b24; --down-soft:#15a35a24;
  /* 文本层级 */
  --t1:#e8ebf0; --t2:#98a1ac; --t3:#68707b;
  /* 描边 */
  --line:#28303a; --line2:#37414d;
  /* 表面 */
  --surface-hover:#1d232c; --surface-sunken:#131820; --surface-muted:#212832;
  /* 辅助色 */
  --amber:#f09a4d; --amber-soft:#e8852b26; --amber-deep:#f0b35e; --amber-ink:#ecc689; --violet:#a78bfa; --violet-soft:#8b5cf626;
  /* 扩展语义令牌(与 tokens.css 成对) */
  --t1b:#c3cad4; --t4:#4b535e; --line3:#46515f;
  --danger:#f0655f; --danger-soft:#3b2325; --danger-deep:#ee8d87; --danger-line:#5a2f2d;
  --ok-soft:#152a1f; --ok-line:#245839; --warn-soft:#2e2414; --warn-line:#584322;
  --blue-line:#2d4270; --blue-tint:#20304b;
  /* 阴影:深色下主要靠描边分层,阴影压暗降淡 */
  --sh-card:0 1px 2px rgba(0,0,0,.45);
  --sh-lift:0 10px 30px rgba(0,0,0,.5);
  --sh-soft:0 8px 22px rgba(0,0,0,.42);
  --sh-pop:0 12px 36px rgba(0,0,0,.6);
  --sh-blue:0 2px 10px rgba(58,109,240,.35);
  --sh-ai:0 4px 14px rgba(124,58,237,.4);
}

/* 滚动条(浅色值硬编码在各入口 <style>,此处统一覆盖) */
html[data-theme="dark"] ::-webkit-scrollbar-thumb { background:#333c47; border-color:var(--bg); }
html[data-theme="dark"] ::-webkit-scrollbar-thumb:hover { background:#414b58; }

/* ============================================================
   残留修正区 — 仅收留「源码硬编码、不便令牌化」的定向覆盖。
   每条注明来源;能改源码就改源码,别在这里堆积。
   ============================================================ */

/* app.css:深色下加深的文字色(浅色值是刻意的深蓝/深绿,不能直接令牌化) */
html[data-theme="dark"] .msg.me .bubble{color:#aec4f9;}
html[data-theme="dark"] .tx-amt-w,html[data-theme="dark"] .tx-queued-tx b{color:var(--blue);}
html[data-theme="dark"] .tx-cin:focus{border-bottom-color:var(--blue);}
html[data-theme="dark"] .wn-lead.down .wn-lead-cd{color:#3ecf8e;}
html[data-theme="dark"] .wn-lead.down .wn-lead-txt{color:#8fd4b2;}
html[data-theme="dark"] .dc-zone.in,html[data-theme="dark"] .dc-dyn{color:#3ecf8e;}
/* forecast.css:推演工作台的深色文字/浅色底 */
html[data-theme="dark"] .fcw-narr-txt{color:#c6d4f7;}
html[data-theme="dark"] .efc-rung.current .efc-rung-lab{color:#c6d4f7;}
html[data-theme="dark"] .fcb-grp-macro td,html[data-theme="dark"] .fcb-grp-flow td{color:#9db8fb;}
html[data-theme="dark"] .fcb-grp-gap td{background:var(--violet-soft);color:var(--violet);}
html[data-theme="dark"] .fcb-grp-price td{color:#4cc38a;}
html[data-theme="dark"] .efc-note-src b{color:#82b6e8;background:#16283c;}
/* chain.css:产业链绿色文字(#1d8a4e 深色下过暗)与蓝色强调 */
html[data-theme="dark"] .cc-node.inh .cc-node-s,html[data-theme="dark"] .cc-mx-cell.v-in,html[data-theme="dark"] .cc-legend .v-in,html[data-theme="dark"] .cc-sl-val.up,html[data-theme="dark"] .cc-sn-now.up,html[data-theme="dark"] .cc-sn-d.up,html[data-theme="dark"] .cc-sn-sl-val.up{color:#3ecf8e;}
html[data-theme="dark"] .cc-int.i3{color:var(--blue);}

/* tob.css:对话页底部输入条(浅色毛玻璃 rgba(246,247,249,.9) 硬编码) */
html[data-theme="dark"] .tob-chat-composer{background:rgba(15,18,22,.9);}
/* 深色下阴影几乎不可见 → 用描边补层次:输入框(浅色态 border:transparent 靠阴影)给可见描边 */
html[data-theme="dark"] .tob-chat-inputwrap{border-color:var(--line2);}
html[data-theme="dark"] .tob-chat-inputwrap:focus-within{border-color:rgba(91,138,245,.55);}
/* 用户气泡浅色底(#e9ecf1 硬编码)在深色下配 --t1 浅字 → 白字白底不可见:深色改暗底 */
html[data-theme="dark"] .tob-msg-user .tob-bubble{background:var(--surface-muted);color:var(--t1);}
/* KD 核对判定药丸(kdr-chip / kdr-vb hover)硬编码浅底(#eaf6ef/#fff7ec/#fdecec)在深色下过亮 → 半透明色底 + 亮字 */
html[data-theme="dark"] .kdr-chip.v-still,html[data-theme="dark"] .kdr-vb.v-still:hover{background:rgba(21,163,90,.16);border-color:rgba(21,163,90,.42);color:#3fbf7f;}
html[data-theme="dark"] .kdr-chip.v-shaky,html[data-theme="dark"] .kdr-vb.v-shaky:hover{background:rgba(232,133,43,.16);border-color:rgba(232,133,43,.44);color:#f0b35e;}
html[data-theme="dark"] .kdr-chip.v-gone,html[data-theme="dark"] .kdr-vb.v-gone:hover{background:rgba(240,53,59,.16);border-color:rgba(240,53,59,.44);color:#f0655f;}
