/**
 * 设计系统 Token 层
 * 版本号: V.0001
 * 依赖: 无（需在 Bootstrap CSS 之后、style.css 之前引入）
 * 说明: 全站色彩/间距/圆角/阴影/字体的唯一定义源；亮/暗主题仅切换此文件中的 token 值。
 */

/* ============================================================
   亮色主题（默认）
   ============================================================ */
:root {
  /* ---- 品牌 & 界面 ---- */
  --c-bg:              #f8f9fc;
  --c-surface:         #ffffff;
  --c-surface-alt:     #f1f3f8;
  --c-border:          #e2e6ee;
  --c-border-subtle:   #eef1f6;
  --c-fg:              #1a2332;
  --c-fg-muted:        #5c6b7f;
  --c-fg-faint:        #99a5b4;
  --c-accent:          #3d5afe;
  --c-accent-hover:    #2948e8;
  --c-accent-subtle:   #eef2ff;
  --c-accent-fg:       #ffffff;

  /* ---- 金融语义 ---- */
  --c-up:              #e53935;
  --c-up-bg:           #fef0f0;
  --c-down:            #0a8f4f;
  --c-down-bg:         #ecfdf5;
  --c-neutral:         #6c757d;
  --c-warn:            #e6a700;
  --c-warn-bg:         #fef9e7;
  --c-warn-fg:         #7a5b10;
  --c-info:            #1976d2;
  --c-info-bg:         #e8f4fd;
  --c-info-fg:         #0d4a80;
  --c-danger:          #dc3545;
  --c-success:         #198754;
  --c-purple:          #6f42c1;

  /* ---- 市场类型 ---- */
  --c-mkt-hk:          #7c3aed;
  --c-mkt-etf:         #0d9488;

  /* ---- 图表：基础 ---- */
  --chart-bg:          transparent;
  --chart-grid:        #e2e6ee;
  --chart-text:        #5c6b7f;
  --chart-tooltip-bg:  rgba(255, 255, 255, 0.96);
  --chart-tooltip-border: #e2e6ee;
  --chart-series-1:    #3d5afe;
  --chart-series-2:    #00bcd4;
  --chart-series-3:    #ff9800;
  --chart-series-4:    #8bc34a;
  --chart-series-5:    #e91e63;
  --chart-series-6:    #9c27b0;

  /* ---- 图表：ECharts 调色板 ---- */
  --chart-p1:          #5470c6;
  --chart-p2:          #91cc75;
  --chart-p3:          #73c0de;
  --chart-p4:          #fac858;
  --chart-p5:          #ee6666;
  --chart-p6:          #fc8452;
  --chart-p7:          #9a60b4;
  --chart-p8:          #ea7ccc;

  /* ---- 图表：涨跌色（A 股红涨绿跌） ---- */
  --chart-up:          #ef5350;
  --chart-down:        #26a69a;

  /* ---- 图表：技术指标 ---- */
  --chart-ind-1:       #2196F3;
  --chart-ind-2:       #FF9800;
  --chart-ind-3:       #9C27B0;

  /* ---- 图表：预测 ---- */
  --chart-forecast:    #ff9c6e;
  --chart-forecast-em: #d87a16;

  /* ---- 图表：辅助 ---- */
  --chart-axis:        #ccc;
  --chart-axis-text:   #666;
  --chart-label:       #555;
  --chart-muted:       #999;
  --chart-split:       #f0f0f0;
  --chart-zoom-border: #e0e0e0;
  --chart-zoom-filler: rgba(33, 150, 243, 0.15);
  --chart-area-fill:   rgba(33, 150, 243, 0.06);
  --chart-gray:        #909399;
  --chart-on-marker:   #fff;

  /* ---- 图表：策略图（量价/波浪/支撑阻力） ---- */
  --chart-close:       #1976D2;
  --chart-vol:         #90caf9;
  --chart-vol-climax:  #66bb6a;
  --chart-vol-dryup:   #bdbdbd;
  --chart-support:     #28a745;
  --chart-resist:      #dc3545;
  --chart-indigo:      #5C6BC0;
  --chart-bg-line:     #90a4ae;
  --chart-wave-3:      #4CAF50;
  --chart-wave-5:      #F44336;
  --chart-close-area:  rgba(25, 118, 210, 0.06);
  --chart-indigo-area: rgba(92, 107, 192, 0.08);
  --chart-bg-line-area:rgba(144, 164, 174, 0.06);
  --chart-label-bg:    rgba(255, 255, 255, 0.9);

  /* ---- 间距 ---- */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  20px;
  --space-6:  24px;
  --space-8:  32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;

  /* ---- 圆角（4 档） ---- */
  --radius-sm:   6px;
  --radius-md:   10px;
  --radius-lg:   14px;
  --radius-full: 9999px;

  /* ---- 阴影 ---- */
  --shadow-sm:  0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-md:  0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg:  0 8px 24px rgba(0, 0, 0, 0.12);
  --shadow-xl:  0 12px 36px rgba(0, 0, 0, 0.16);

  /* ---- 字体 ---- */
  --font-display: "SF Pro Display", "PingFang SC", system-ui, sans-serif;
  --font-body:    -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", sans-serif;
  --font-mono:    "SF Mono", "JetBrains Mono", "Fira Code", Consolas, Monaco, monospace;
  --font-data:    "Tabular Nums", "SF Pro", "DIN Alternate", sans-serif;

  --text-xs:   0.75rem;
  --text-sm:   0.8125rem;
  --text-base: 0.875rem;
  --text-md:   1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.5rem;
  --text-2xl:  2rem;

  /* ---- 导航栏 ---- */
  --nav-bg:     #1a2332;
  --nav-fg:     rgba(255, 255, 255, 0.85);
  --nav-fg-active: #ffffff;

  /* ---- 滚动条 ---- */
  --scrollbar-track: var(--c-surface-alt);
  --scrollbar-thumb: #bbb;
  --scrollbar-thumb-hover: #888;
}


/* ============================================================
   暗色主题
   ============================================================ */
html[data-theme="dark"] {
  --c-bg:              #0f1218;
  --c-surface:         #1a1f28;
  --c-surface-alt:     #222830;
  --c-border:          #363e4a;
  --c-border-subtle:   #2a3240;
  --c-fg:              #e2e8f0;
  --c-fg-muted:        #8b9ab0;
  --c-fg-faint:        #5a6878;
  --c-accent:          #6b8aff;
  --c-accent-hover:    #8ba3ff;
  --c-accent-subtle:   #1c2440;
  --c-accent-fg:       #ffffff;

  --c-up:              #ff6b6b;
  --c-up-bg:           #3d1a1a;
  --c-down:            #4ade80;
  --c-down-bg:         #0f2e1c;
  --c-neutral:         #8b94a3;
  --c-warn:            #fbbf24;
  --c-warn-bg:         #3d3014;
  --c-warn-fg:         #f3df9d;
  --c-info:            #60a5fa;
  --c-info-bg:         #152940;
  --c-info-fg:         #8fc2ff;
  --c-danger:          #ff6b6b;
  --c-success:         #4ade80;
  --c-purple:          #a78bfa;

  --c-mkt-hk:          #a78bfa;
  --c-mkt-etf:         #2dd4bf;

  --chart-grid:           #2e3640;
  --chart-text:           #8b9ab0;
  --chart-tooltip-bg:     rgba(26, 31, 40, 0.96);
  --chart-tooltip-border: #2e3640;
  --chart-series-1:       #6b8aff;
  --chart-series-2:       #22d3ee;
  --chart-series-3:       #fbbf24;
  --chart-series-4:       #a3e635;
  --chart-series-5:       #f472b6;
  --chart-series-6:       #c084fc;

  --chart-p1:          #7b96e5;
  --chart-p2:          #a8d98a;
  --chart-p3:          #8ad4e8;
  --chart-p4:          #fcd674;
  --chart-p5:          #f28585;
  --chart-p6:          #ffa67e;
  --chart-p7:          #b680cc;
  --chart-p8:          #f0a0dd;

  --chart-up:          #ef5350;
  --chart-down:        #26a69a;

  --chart-ind-1:       #64b5f6;
  --chart-ind-2:       #ffb74d;
  --chart-ind-3:       #ce93d8;

  --chart-forecast:    #ffab91;
  --chart-forecast-em: #fb8c00;

  --chart-axis:        #555;
  --chart-axis-text:   #aaa;
  --chart-label:       #bbb;
  --chart-muted:       #777;
  --chart-split:       #333;
  --chart-zoom-border: #444;
  --chart-zoom-filler: rgba(33, 150, 243, 0.25);
  --chart-area-fill:   rgba(33, 150, 243, 0.12);
  --chart-gray:        #6b7280;
  --chart-on-marker:   #fff;

  --chart-close:       #64b5f6;
  --chart-vol:         #5c97cf;
  --chart-vol-climax:  #81c784;
  --chart-vol-dryup:   #616161;
  --chart-support:     #66bb6a;
  --chart-resist:      #ef5350;
  --chart-indigo:      #7986CB;
  --chart-bg-line:     #78909c;
  --chart-wave-3:      #66bb6a;
  --chart-wave-5:      #ef5350;
  --chart-close-area:  rgba(100, 181, 246, 0.12);
  --chart-indigo-area: rgba(121, 134, 203, 0.15);
  --chart-bg-line-area:rgba(120, 144, 156, 0.12);
  --chart-label-bg:    rgba(26, 31, 40, 0.9);

  --nav-bg:     #111318;
  --nav-fg:     rgba(255, 255, 255, 0.75);
  --nav-fg-active: #ffffff;

  --scrollbar-track: #1a1f28;
  --scrollbar-thumb: #3a414d;
  --scrollbar-thumb-hover: #4a5260;

  --shadow-sm:  0 1px 3px rgba(0, 0, 0, 0.2);
  --shadow-md:  0 4px 12px rgba(0, 0, 0, 0.3);
  --shadow-lg:  0 8px 24px rgba(0, 0, 0, 0.4);
  --shadow-xl:  0 12px 36px rgba(0, 0, 0, 0.5);
}
