/* ═══════════════════════════════════════════════════════════════════
   themes.css — SimTrade 交易終端主題 token(規格 003-CC1 Step 1)
   ───────────────────────────────────────────────────────────────────
   載入順序在 app.css 之後 → 覆蓋既有暖色系為專業交易終端配色(深色預設)。
   全站 token 化: 只改「值」不改「名」, 故 chart.js / replay.js / research.js
   / board.js / app.css 既有規則全部沿用, 不需改動即隨主題重繪。

   台股慣例: 紅漲(--up) / 綠跌(--down), 不可搞反。
   數字等寬字體與中文字體於 body 設定(見底部)。
   ═══════════════════════════════════════════════════════════════════ */

/* ── 深色(預設) ── */
:root,
:root[data-theme="dark"]{
  /* 底層 */
  --bg:#0d1117;
  --bg-card:#161b22;        --panel:#161b22;
  --bg-surface:#1c2129;     --panel-2:#1c2129;
  --bg-deep:#010409;
  /* 文字 */
  --text:#e6edf3;
  --text-muted:#8b949e;     --text-2:#8b949e;
  --text-faint:#6e7681;
  /* 邊框 */
  --border:#21262d;
  --border-strong:#30363d;
  /* 強調 / 品牌 */
  --accent:#4a9eff;         --accent-light:rgba(74,158,255,.14);
  --blue:#4a9eff;           --blue-light:rgba(74,158,255,.16);
  --purple:#a371f7;         --purple-light:rgba(163,113,247,.16);
  --green:#2ea06f;          --green-light:rgba(46,160,111,.16);
  --amber:#d29922;          --amber-light:rgba(210,153,34,.16);
  --gold:#e3b341;           --gold-bg:rgba(227,179,65,.13);
  /* 漲跌(台股紅漲綠跌) */
  --up:#f85149;             --up-bg:rgba(248,81,73,.13);
  --down:#2ea06f;           --down-bg:rgba(46,160,111,.13);
  /* 陰影(維持 box-shadow 語意, app.css 用 box-shadow:var(--shadow)) */
  --shadow:0 1px 3px rgba(0,0,0,.4);
  --shadow-lg:0 12px 32px rgba(1,4,9,.7);
  /* 圖表(lightweight-charts / chart.js 讀取)
     深色下 K 棒與格線原本貼得太近底色,回放整片看起來灰濛濛的 ——
     底色、格線、座標文字各提亮一階,對比拉開才看得清楚。 */
  --ch-bg:#181e27; --ch-text:#9aa4b0; --ch-grid:#242c37; --ch-border:#3a424c;
  --ch-watermark:rgba(255,255,255,.045);
  /* 指標線(chart.js: ind-1..3=MA5/10/20, 4=MA60, 5/6=EMA, 7=BOLL/灰) */
  --ind-1:#f5c542; --ind-2:#ff9d5c; --ind-3:#4a9eff; --ind-4:#a371f7;
  --ind-5:#e3b341; --ind-6:#79c0ff; --ind-7:#7d8590;
}

/* ── 淺色 ── */
:root[data-theme="light"]{
  --bg:#ffffff;
  --bg-card:#ffffff;        --panel:#f6f8fa;
  --bg-surface:#eef1f4;     --panel-2:#eef1f4;
  --bg-deep:#e6eaef;
  --text:#1f2328;
  --text-muted:#656d76;     --text-2:#656d76;
  --text-faint:#8c959f;
  --border:#d0d7de;
  --border-strong:#afb8c1;
  --accent:#0969da;         --accent-light:#ddf4ff;
  --blue:#0969da;           --blue-light:#ddf4ff;
  --purple:#8250df;         --purple-light:#efe9ff;
  --green:#1a7f57;          --green-light:#e6f6ee;
  --amber:#9a6700;          --amber-light:#fff3d6;
  --gold:#bf8700;           --gold-bg:rgba(191,135,0,.12);
  --up:#f85149;             --up-bg:rgba(248,81,73,.10);
  --down:#2ea06f;           --down-bg:rgba(46,160,111,.10);
  --shadow:0 1px 3px rgba(31,35,40,.08);
  --shadow-lg:0 12px 32px rgba(31,35,40,.16);
  --ch-bg:#ffffff; --ch-text:#656d76; --ch-grid:#eaeef2; --ch-border:#d0d7de;
  --ch-watermark:rgba(0,0,0,.04);
  --ind-1:#bf8700; --ind-2:#bc4c00; --ind-3:#0969da; --ind-4:#8250df;
  --ind-5:#9a6700; --ind-6:#218bff; --ind-7:#8c959f;
}

/* ── 字體:數字等寬 tabular / 中文字體 ── */
body{
  font-family:"Inter","Noto Sans TC","Microsoft JhengHei",-apple-system,sans-serif;
}
.num,.mono,
.idx-strip,.term-watch,.term-quote-grid,.depth,.trade-log,
.acct-card,.ticket,.watch-row,.ohlc-readout,.term-statusbar{
  font-family:"JetBrains Mono","Consolas","SF Mono",ui-monospace,monospace;
  font-variant-numeric:tabular-nums;
}
