/* 连板涨停 · 主题 token（由 docs/ui-baseline/tokens.json 生成）
 *
 * <html data-theme="system|changfen-red|classic|obsidian|midnight" data-color-scheme="light|dark">
 *   system：浅色 → changfen-red（本项目红黑品牌），深色 → obsidian
 * 页面继续用旧变量（--bg / --text / --border / --brand-* / --side-* …），由别名层转发；
 * 侧栏跟着主题走；成功/在线固定品牌红；涨跌为红涨绿跌（绿色只用于行情负向）。
 */

:root,
[data-theme="changfen-red"],
[data-theme="system"][data-color-scheme="light"] {
  --content-max: 1440px;
  --qt-app-bg: #F5D9DE;
  --qt-border: #DCA6AF;
  --qt-border-soft: #EAC0C6;
  --qt-chart-axis: #6C464C;
  --qt-chart-grid: #EAC0C6;
  --qt-divider: #EAC0C6;
  --qt-fall: #188038;
  --qt-fall-soft: #e6f4ea;
  --qt-fall-strong: #137333;
  --qt-focus-ring: #e5484d;
  --qt-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', Roboto, sans-serif;
  --qt-gold: #B02429;
  --qt-gold-soft: #F8D7DB;
  --qt-header-bg: #EEC0C6;
  --qt-important-text: #b02429;
  --qt-info-soft: #F8DFE3;
  --qt-ladder-hot-bg: #FCEBEE;
  --qt-ladder-hot-border: #E8A9B1;
  --qt-ladder-hunt-bg: #fff9db;
  --qt-ladder-hunt-border: #ffe8a3;
  --qt-ma10: #1d4ed8;
  --qt-ma20: #a21caf;
  --qt-ma5: #b45309;
  --qt-nav-bg: #35141a;
  --qt-ok: #e5484d;
  --qt-ok-bg: #fff0f0;
  --qt-ok-border: #ffc6c8;
  --qt-ok-text: #8a1a1f;
  --qt-overlay: rgba(26, 22, 24, 0.48);
  --qt-primary: #e5484d;
  --qt-primary-active: #b02429;
  --qt-primary-hover: #d2373c;
  --qt-primary-soft: #F8D7DB;
  --qt-purple: #7A5D63;
  --qt-purple-soft: #F4DEE1;
  --qt-radius-lg: 14px;
  --qt-radius-md: 10px;
  --qt-radius-sm: 6px;
  --qt-rise: #e5484d;
  --qt-rise-soft: #fff0f0;
  --qt-rise-strong: #b02429;
  --qt-scrollbar: #CF9AA3;
  --qt-scrollbar-hover: #B97A85;
  --qt-shadow-md: 0 4px 16px rgba(99,28,37,0.12), 0 1px 3px rgba(99,28,37,0.08);
  --qt-shadow-sm: 0 1px 3px rgba(99,28,37,0.08);
  --qt-shell-bg: #FCEBEE;
  --qt-side-active-bg: #d2373c;
  --qt-side-active-fg: #ffffff;
  --qt-side-bg: #35141a;
  --qt-side-bg-bottom: #230c10;
  --qt-side-hover: rgba(255,255,255,0.08);
  --qt-side-line: rgba(255,255,255,0.10);
  --qt-side-muted: #b08e91;
  --qt-side-strong: #ffffff;
  --qt-side-text: #efd9db;
  --qt-surface: #FCEBEE;
  --qt-surface-hover: #F6C5CC;
  --qt-surface-muted: #F2D2D7;
  --qt-surface-raised: #FFF4F5;
  --qt-surface-selected: #F2B8C1;
  --qt-surface-sunken: #F5D9DE;
  --qt-text: #382025;
  --qt-text-disabled: #A27B82;
  --qt-text-muted: #6C464C;
  --qt-text-on-accent: #FFF8F8;
  --qt-text-strong: #2D161B;
  --qt-text-subtle: #55343A;
  --qt-warning: #a26a00;
  --qt-warning-soft: #fff9db;

  /* ---- 别名层：旧变量 → 主题 token（页面代码一行不改） ---- */
  --bg: var(--qt-app-bg);
  --bg-soft: var(--qt-surface-sunken);
  --bg-sunken: var(--qt-surface-muted);
  --border: var(--qt-border);
  --border-strong: var(--qt-border-soft);
  --border-hover: var(--qt-border);
  --text: var(--qt-text);
  --text-soft: var(--qt-text-subtle);
  --text-muted: var(--qt-text-muted);
  --placeholder: var(--qt-text-disabled);
  --link: var(--qt-primary-hover);
  --link-hover: var(--qt-primary-active);
  --star-empty: var(--qt-text-disabled);
  --scroll-thumb: var(--qt-scrollbar);
  --scroll-thumb-hover: var(--qt-scrollbar-hover);
  --brand-50: var(--qt-primary-soft);   --brand-100: var(--qt-primary-soft);
  --brand-200: var(--qt-primary-soft);  --brand-300: var(--qt-primary);
  --brand-400: var(--qt-primary);       --brand-500: var(--qt-primary);
  --brand-600: var(--qt-primary);       --brand-700: var(--qt-primary-active);
  --brand-800: var(--qt-primary-hover); --brand-900: var(--qt-primary-hover);
  --brand-950: var(--qt-primary-active);

  /* 成功 / 在线 / 已启用：固定品牌红家族，**不随主题强调色**（classic 下也不会变蓝） */
  --ok: var(--qt-ok); --ok-text: var(--qt-ok-text);
  --ok-bg: var(--qt-ok-bg); --ok-border: var(--qt-ok-border);

  /* 侧栏：跟随主题（含未解析的 system，由 data-theme/data-color-scheme 决定） */
  --side-top: var(--qt-side-bg);
  --side-bottom: var(--qt-side-bg-bottom);
  --side-text: var(--qt-side-text);
  --side-strong: var(--qt-side-strong);
  --side-muted: var(--qt-side-muted);
  --side-hover: var(--qt-side-hover);
  --side-line: var(--qt-side-line);
  --side-active: var(--qt-side-active-bg);

  --important-text: var(--qt-important-text);
  --flash-bg: var(--qt-primary-soft);
  /* 涨跌：红涨绿跌（绿色仅用于行情负向，不用于成功/在线） */
  --rise: var(--qt-rise); --rise-strong: var(--qt-rise-strong); --rise-soft: var(--qt-rise-soft);
  --fall: var(--qt-fall); --fall-strong: var(--qt-fall-strong); --fall-soft: var(--qt-fall-soft);
  --r-sm: var(--qt-radius-sm); --r-md: var(--qt-radius-md); --r-lg: var(--qt-radius-lg);
  --sh-1: var(--qt-shadow-sm); --sh-2: var(--qt-shadow-md); --sh-3: var(--qt-shadow-md);
  --focus-ring: var(--qt-focus-ring);
  --disabled-fg: var(--qt-text-disabled); --disabled-bg: var(--qt-surface-muted);
  --hover-bg: var(--qt-surface-hover); --active-bg: var(--qt-surface-selected);

  /* changfen-red = 本项目现有品牌：色阶/侧栏/圆角/阴影逐字沿用仓库原值（默认观感零变化） */
  --brand-50:#fff8f8; --brand-100:#fff0f0; --brand-200:#ffdedf; --brand-300:#ffc6c8;
  --brand-400:#f89a9d; --brand-500:#e5484d; --brand-600:#d2373c; --brand-700:#b02429;
  --brand-800:#8a1a1f; --brand-900:#5c1216; --brand-950:#2c0d10;
  --side-active: var(--brand-600);
  --r-sm:6px; --r-md:10px; --r-lg:14px; --r-full:999px; --sidebar-w:252px;
  --sh-1:0 1px 2px #0000000a; --sh-2:0 2px 8px #0000000f, 0 1px 2px #0000000a;
  --sh-3:0 8px 28px #0000001a, 0 2px 6px #0000000f; --sh-brand:0 2px 8px #e5484d33;
  --warn:#a26a00; --warn-bg:#fff9db; --warn-border:#ffe8a3;

}
[data-theme="classic"] {
  --qt-app-bg: #eef1f5;
  --qt-border: #d9dde5;
  --qt-border-soft: #e8eaed;
  --qt-chart-axis: #8b95a5;
  --qt-chart-grid: #e8eaed;
  --qt-divider: #f1f3f4;
  --qt-fall: #188038;
  --qt-fall-soft: #e6f4ea;
  --qt-fall-strong: #137333;
  --qt-focus-ring: #1a73e8;
  --qt-font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --qt-gold: #b7791f;
  --qt-gold-soft: #fff8ef;
  --qt-header-bg: #ffffff;
  --qt-important-text: #b02429;
  --qt-info-soft: #f7faff;
  --qt-ladder-hot-bg: #fef7f6;
  --qt-ladder-hot-border: #f6c1bc;
  --qt-ladder-hunt-bg: #fff8ef;
  --qt-ladder-hunt-border: #f9d7a8;
  --qt-ma10: #1a73e8;
  --qt-ma20: #a21caf;
  --qt-ma5: #b06000;
  --qt-nav-bg: #f7f8fa;
  --qt-ok: #e5484d;
  --qt-ok-bg: #fff0f0;
  --qt-ok-border: #ffc6c8;
  --qt-ok-text: #8a1a1f;
  --qt-overlay: rgba(32, 33, 36, 0.48);
  --qt-primary: #1a73e8;
  --qt-primary-active: #174ea6;
  --qt-primary-hover: #1557b0;
  --qt-primary-soft: #e8f0fe;
  --qt-purple: #7e57c2;
  --qt-purple-soft: #f3e8fd;
  --qt-radius-lg: 14px;
  --qt-radius-md: 10px;
  --qt-radius-sm: 6px;
  --qt-rise: #ea4335;
  --qt-rise-soft: #fce8e6;
  --qt-rise-strong: #c5221f;
  --qt-scrollbar: #c7cdd4;
  --qt-scrollbar-hover: #9aa0a6;
  --qt-shadow-md: 0 6px 24px rgba(60, 64, 67, 0.14);
  --qt-shadow-sm: 0 1px 3px rgba(60, 64, 67, 0.10);
  --qt-shell-bg: #ffffff;
  --qt-side-active-bg: #1a73e8;
  --qt-side-active-fg: #ffffff;
  --qt-side-bg: #f7f8fa;
  --qt-side-bg-bottom: #f7f8fa;
  --qt-side-hover: rgba(0,0,0,0.05);
  --qt-side-line: #d9dde5;
  --qt-side-muted: #5f6368;
  --qt-side-strong: #202124;
  --qt-side-text: #3c4043;
  --qt-surface: #ffffff;
  --qt-surface-hover: #f8fbff;
  --qt-surface-muted: #f1f3f4;
  --qt-surface-raised: #ffffff;
  --qt-surface-selected: #e8f0fe;
  --qt-surface-sunken: #f8f9fa;
  --qt-text: #3c4043;
  --qt-text-disabled: #b8c0cc;
  --qt-text-muted: #5f6368;
  --qt-text-on-accent: #ffffff;
  --qt-text-strong: #202124;
  --qt-text-subtle: #8b95a5;
  --qt-warning: #b06000;
  --qt-warning-soft: #fef3e2;

  /* ---- 别名层：旧变量 → 主题 token（页面代码一行不改） ---- */
  --bg: var(--qt-surface);
  --bg-soft: var(--qt-surface-sunken);
  --bg-sunken: var(--qt-surface-muted);
  --border: var(--qt-border);
  --border-strong: var(--qt-border-soft);
  --border-hover: var(--qt-border);
  --text: var(--qt-text);
  --text-soft: var(--qt-text-subtle);
  --text-muted: var(--qt-text-muted);
  --placeholder: var(--qt-text-disabled);
  --link: var(--qt-primary-hover);
  --link-hover: var(--qt-primary-active);
  --star-empty: var(--qt-text-disabled);
  --scroll-thumb: var(--qt-scrollbar);
  --scroll-thumb-hover: var(--qt-scrollbar-hover);
  --brand-50: var(--qt-primary-soft);   --brand-100: var(--qt-primary-soft);
  --brand-200: var(--qt-primary-soft);  --brand-300: var(--qt-primary);
  --brand-400: var(--qt-primary);       --brand-500: var(--qt-primary);
  --brand-600: var(--qt-primary);       --brand-700: var(--qt-primary-active);
  --brand-800: var(--qt-primary-hover); --brand-900: var(--qt-primary-hover);
  --brand-950: var(--qt-primary-active);

  /* 成功 / 在线 / 已启用：固定品牌红家族，**不随主题强调色**（classic 下也不会变蓝） */
  --ok: var(--qt-ok); --ok-text: var(--qt-ok-text);
  --ok-bg: var(--qt-ok-bg); --ok-border: var(--qt-ok-border);

  /* 侧栏：跟随主题（含未解析的 system，由 data-theme/data-color-scheme 决定） */
  --side-top: var(--qt-side-bg);
  --side-bottom: var(--qt-side-bg-bottom);
  --side-text: var(--qt-side-text);
  --side-strong: var(--qt-side-strong);
  --side-muted: var(--qt-side-muted);
  --side-hover: var(--qt-side-hover);
  --side-line: var(--qt-side-line);
  --side-active: var(--qt-side-active-bg);

  --important-text: var(--qt-important-text);
  --flash-bg: var(--qt-primary-soft);
  /* 涨跌：红涨绿跌（绿色仅用于行情负向，不用于成功/在线） */
  --rise: var(--qt-rise); --rise-strong: var(--qt-rise-strong); --rise-soft: var(--qt-rise-soft);
  --fall: var(--qt-fall); --fall-strong: var(--qt-fall-strong); --fall-soft: var(--qt-fall-soft);
  --r-sm: var(--qt-radius-sm); --r-md: var(--qt-radius-md); --r-lg: var(--qt-radius-lg);
  --sh-1: var(--qt-shadow-sm); --sh-2: var(--qt-shadow-md); --sh-3: var(--qt-shadow-md);
  --focus-ring: var(--qt-focus-ring);
  --disabled-fg: var(--qt-text-disabled); --disabled-bg: var(--qt-surface-muted);
  --hover-bg: var(--qt-surface-hover); --active-bg: var(--qt-surface-selected);

}
[data-theme="obsidian"],
[data-theme="system"][data-color-scheme="dark"] {
  --qt-app-bg: #0e141d;
  --qt-border: #34465c;
  --qt-border-soft: #2a394b;
  --qt-chart-axis: #8494a9;
  --qt-chart-grid: #2a394b;
  --qt-divider: #233244;
  --qt-fall: #4fd1a5;
  --qt-fall-soft: #173b35;
  --qt-fall-strong: #72dfba;
  --qt-focus-ring: #4d8dff;
  --qt-font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --qt-gold: #e7b95b;
  --qt-gold-soft: #3b3020;
  --qt-header-bg: #182230;
  --qt-important-text: #ffb4b7;
  --qt-info-soft: #172a42;
  --qt-ladder-hot-bg: #3a2925;
  --qt-ladder-hot-border: #81513d;
  --qt-ladder-hunt-bg: #3b3020;
  --qt-ladder-hunt-border: #83633a;
  --qt-ma10: #58a6ff;
  --qt-ma20: #e879f9;
  --qt-ma5: #f7c05a;
  --qt-nav-bg: #111923;
  --qt-ok: #ef5a60;
  --qt-ok-bg: #3b1a1f;
  --qt-ok-border: #7e3038;
  --qt-ok-text: #ffb4b7;
  --qt-overlay: rgba(3, 7, 12, 0.72);
  --qt-primary: #4d8dff;
  --qt-primary-active: #3976dc;
  --qt-primary-hover: #72a6ff;
  --qt-primary-soft: #1b3557;
  --qt-purple: #b69cff;
  --qt-purple-soft: #30284a;
  --qt-radius-lg: 14px;
  --qt-radius-md: 10px;
  --qt-radius-sm: 6px;
  --qt-rise: #ff6b6b;
  --qt-rise-soft: #44252b;
  --qt-rise-strong: #ff8585;
  --qt-scrollbar: #34465c;
  --qt-scrollbar-hover: #536b86;
  --qt-shadow-md: 0 10px 32px rgba(0, 0, 0, 0.34);
  --qt-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.28);
  --qt-shell-bg: #101720;
  --qt-side-active-bg: #4d8dff;
  --qt-side-active-fg: #ffffff;
  --qt-side-bg: #111923;
  --qt-side-bg-bottom: #111923;
  --qt-side-hover: rgba(255,255,255,0.07);
  --qt-side-line: #2a394b;
  --qt-side-muted: #9aa9bc;
  --qt-side-strong: #e8eef6;
  --qt-side-text: #cbd5e1;
  --qt-surface: #182230;
  --qt-surface-hover: #223249;
  --qt-surface-muted: #202c3b;
  --qt-surface-raised: #1b2635;
  --qt-surface-selected: #1b3557;
  --qt-surface-sunken: #121b27;
  --qt-text: #cbd5e1;
  --qt-text-disabled: #536174;
  --qt-text-muted: #9aa9bc;
  --qt-text-on-accent: #ffffff;
  --qt-text-strong: #e8eef6;
  --qt-text-subtle: #738399;
  --qt-warning: #f2b45f;
  --qt-warning-soft: #45351f;

  /* ---- 别名层：旧变量 → 主题 token（页面代码一行不改） ---- */
  --bg: var(--qt-surface);
  --bg-soft: var(--qt-surface-sunken);
  --bg-sunken: var(--qt-surface-muted);
  --border: var(--qt-border);
  --border-strong: var(--qt-border-soft);
  --border-hover: var(--qt-border);
  --text: var(--qt-text);
  --text-soft: var(--qt-text-subtle);
  --text-muted: var(--qt-text-muted);
  --placeholder: var(--qt-text-disabled);
  --link: var(--qt-primary-hover);
  --link-hover: var(--qt-primary-active);
  --star-empty: var(--qt-text-disabled);
  --scroll-thumb: var(--qt-scrollbar);
  --scroll-thumb-hover: var(--qt-scrollbar-hover);
  --brand-50: var(--qt-primary-soft);   --brand-100: var(--qt-primary-soft);
  --brand-200: var(--qt-primary-soft);  --brand-300: var(--qt-primary);
  --brand-400: var(--qt-primary);       --brand-500: var(--qt-primary);
  --brand-600: var(--qt-primary);       --brand-700: var(--qt-primary-active);
  --brand-800: var(--qt-primary-hover); --brand-900: var(--qt-primary-hover);
  --brand-950: var(--qt-primary-active);

  /* 成功 / 在线 / 已启用：固定品牌红家族，**不随主题强调色**（classic 下也不会变蓝） */
  --ok: var(--qt-ok); --ok-text: var(--qt-ok-text);
  --ok-bg: var(--qt-ok-bg); --ok-border: var(--qt-ok-border);

  /* 侧栏：跟随主题（含未解析的 system，由 data-theme/data-color-scheme 决定） */
  --side-top: var(--qt-side-bg);
  --side-bottom: var(--qt-side-bg-bottom);
  --side-text: var(--qt-side-text);
  --side-strong: var(--qt-side-strong);
  --side-muted: var(--qt-side-muted);
  --side-hover: var(--qt-side-hover);
  --side-line: var(--qt-side-line);
  --side-active: var(--qt-side-active-bg);

  --important-text: var(--qt-important-text);
  --flash-bg: var(--qt-primary-soft);
  /* 涨跌：红涨绿跌（绿色仅用于行情负向，不用于成功/在线） */
  --rise: var(--qt-rise); --rise-strong: var(--qt-rise-strong); --rise-soft: var(--qt-rise-soft);
  --fall: var(--qt-fall); --fall-strong: var(--qt-fall-strong); --fall-soft: var(--qt-fall-soft);
  --r-sm: var(--qt-radius-sm); --r-md: var(--qt-radius-md); --r-lg: var(--qt-radius-lg);
  --sh-1: var(--qt-shadow-sm); --sh-2: var(--qt-shadow-md); --sh-3: var(--qt-shadow-md);
  --focus-ring: var(--qt-focus-ring);
  --disabled-fg: var(--qt-text-disabled); --disabled-bg: var(--qt-surface-muted);
  --hover-bg: var(--qt-surface-hover); --active-bg: var(--qt-surface-selected);

}
[data-theme="midnight"] {
  --qt-app-bg: #091321;
  --qt-border: #30516f;
  --qt-border-soft: #243f5b;
  --qt-chart-axis: #849cb3;
  --qt-chart-grid: #243f5b;
  --qt-divider: #1c354e;
  --qt-fall: #50d6b2;
  --qt-fall-soft: #153f3b;
  --qt-fall-strong: #7ce5c8;
  --qt-focus-ring: #48a7ff;
  --qt-font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --qt-gold: #f0c263;
  --qt-gold-soft: #3f3421;
  --qt-header-bg: #12263d;
  --qt-important-text: #ffb4b7;
  --qt-info-soft: #123452;
  --qt-ladder-hot-bg: #3d2a28;
  --qt-ladder-hot-border: #895342;
  --qt-ladder-hunt-bg: #403421;
  --qt-ladder-hunt-border: #8f693b;
  --qt-ma10: #58a6ff;
  --qt-ma20: #e879f9;
  --qt-ma5: #f7c05a;
  --qt-nav-bg: #0c192a;
  --qt-ok: #ef5a60;
  --qt-ok-bg: #3b1a1f;
  --qt-ok-border: #7e3038;
  --qt-ok-text: #ffb4b7;
  --qt-overlay: rgba(2, 8, 17, 0.76);
  --qt-primary: #48a7ff;
  --qt-primary-active: #2588e5;
  --qt-primary-hover: #73bbff;
  --qt-primary-soft: #16466f;
  --qt-purple: #c2a8ff;
  --qt-purple-soft: #342a51;
  --qt-radius-lg: 14px;
  --qt-radius-md: 10px;
  --qt-radius-sm: 6px;
  --qt-rise: #ff7373;
  --qt-rise-soft: #482630;
  --qt-rise-strong: #ff9292;
  --qt-scrollbar: #30516f;
  --qt-scrollbar-hover: #4a7092;
  --qt-shadow-md: 0 10px 34px rgba(0, 0, 0, 0.38);
  --qt-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.30);
  --qt-shell-bg: #0b1727;
  --qt-side-active-bg: #48a7ff;
  --qt-side-active-fg: #ffffff;
  --qt-side-bg: #0c192a;
  --qt-side-bg-bottom: #0c192a;
  --qt-side-hover: rgba(255,255,255,0.08);
  --qt-side-line: #243f5b;
  --qt-side-muted: #9bb0c4;
  --qt-side-strong: #eef7ff;
  --qt-side-text: #d1e1ef;
  --qt-surface: #12263d;
  --qt-surface-hover: #1a3a5d;
  --qt-surface-muted: #19324f;
  --qt-surface-raised: #152d48;
  --qt-surface-selected: #16466f;
  --qt-surface-sunken: #0c1d30;
  --qt-text: #d1e1ef;
  --qt-text-disabled: #526a82;
  --qt-text-muted: #9bb0c4;
  --qt-text-on-accent: #ffffff;
  --qt-text-strong: #eef7ff;
  --qt-text-subtle: #7189a1;
  --qt-warning: #f3ba67;
  --qt-warning-soft: #493820;

  /* ---- 别名层：旧变量 → 主题 token（页面代码一行不改） ---- */
  --bg: var(--qt-surface);
  --bg-soft: var(--qt-surface-sunken);
  --bg-sunken: var(--qt-surface-muted);
  --border: var(--qt-border);
  --border-strong: var(--qt-border-soft);
  --border-hover: var(--qt-border);
  --text: var(--qt-text);
  --text-soft: var(--qt-text-subtle);
  --text-muted: var(--qt-text-muted);
  --placeholder: var(--qt-text-disabled);
  --link: var(--qt-primary-hover);
  --link-hover: var(--qt-primary-active);
  --star-empty: var(--qt-text-disabled);
  --scroll-thumb: var(--qt-scrollbar);
  --scroll-thumb-hover: var(--qt-scrollbar-hover);
  --brand-50: var(--qt-primary-soft);   --brand-100: var(--qt-primary-soft);
  --brand-200: var(--qt-primary-soft);  --brand-300: var(--qt-primary);
  --brand-400: var(--qt-primary);       --brand-500: var(--qt-primary);
  --brand-600: var(--qt-primary);       --brand-700: var(--qt-primary-active);
  --brand-800: var(--qt-primary-hover); --brand-900: var(--qt-primary-hover);
  --brand-950: var(--qt-primary-active);

  /* 成功 / 在线 / 已启用：固定品牌红家族，**不随主题强调色**（classic 下也不会变蓝） */
  --ok: var(--qt-ok); --ok-text: var(--qt-ok-text);
  --ok-bg: var(--qt-ok-bg); --ok-border: var(--qt-ok-border);

  /* 侧栏：跟随主题（含未解析的 system，由 data-theme/data-color-scheme 决定） */
  --side-top: var(--qt-side-bg);
  --side-bottom: var(--qt-side-bg-bottom);
  --side-text: var(--qt-side-text);
  --side-strong: var(--qt-side-strong);
  --side-muted: var(--qt-side-muted);
  --side-hover: var(--qt-side-hover);
  --side-line: var(--qt-side-line);
  --side-active: var(--qt-side-active-bg);

  --important-text: var(--qt-important-text);
  --flash-bg: var(--qt-primary-soft);
  /* 涨跌：红涨绿跌（绿色仅用于行情负向，不用于成功/在线） */
  --rise: var(--qt-rise); --rise-strong: var(--qt-rise-strong); --rise-soft: var(--qt-rise-soft);
  --fall: var(--qt-fall); --fall-strong: var(--qt-fall-strong); --fall-soft: var(--qt-fall-soft);
  --r-sm: var(--qt-radius-sm); --r-md: var(--qt-radius-md); --r-lg: var(--qt-radius-lg);
  --sh-1: var(--qt-shadow-sm); --sh-2: var(--qt-shadow-md); --sh-3: var(--qt-shadow-md);
  --focus-ring: var(--qt-focus-ring);
  --disabled-fg: var(--qt-text-disabled); --disabled-bg: var(--qt-surface-muted);
  --hover-bg: var(--qt-surface-hover); --active-bg: var(--qt-surface-selected);

}

/* JS 未执行时兜底：system 直接跟系统明暗 */
@media (prefers-color-scheme: light) {
  [data-theme="system"]:not([data-color-scheme]) {
    --qt-app-bg: #F5D9DE;
    --qt-border: #DCA6AF;
    --qt-border-soft: #EAC0C6;
    --qt-chart-axis: #6C464C;
    --qt-chart-grid: #EAC0C6;
    --qt-divider: #EAC0C6;
    --qt-fall: #188038;
    --qt-fall-soft: #e6f4ea;
    --qt-fall-strong: #137333;
    --qt-focus-ring: #e5484d;
    --qt-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', Roboto, sans-serif;
    --qt-gold: #B02429;
    --qt-gold-soft: #F8D7DB;
    --qt-header-bg: #EEC0C6;
    --qt-important-text: #b02429;
    --qt-info-soft: #F8DFE3;
    --qt-ladder-hot-bg: #FCEBEE;
    --qt-ladder-hot-border: #E8A9B1;
    --qt-ladder-hunt-bg: #fff9db;
    --qt-ladder-hunt-border: #ffe8a3;
    --qt-ma10: #1d4ed8;
    --qt-ma20: #a21caf;
    --qt-ma5: #b45309;
    --qt-nav-bg: #35141a;
    --qt-ok: #e5484d;
    --qt-ok-bg: #fff0f0;
    --qt-ok-border: #ffc6c8;
    --qt-ok-text: #8a1a1f;
    --qt-overlay: rgba(26, 22, 24, 0.48);
    --qt-primary: #e5484d;
    --qt-primary-active: #b02429;
    --qt-primary-hover: #d2373c;
    --qt-primary-soft: #F8D7DB;
    --qt-purple: #7A5D63;
    --qt-purple-soft: #F4DEE1;
    --qt-radius-lg: 14px;
    --qt-radius-md: 10px;
    --qt-radius-sm: 6px;
    --qt-rise: #e5484d;
    --qt-rise-soft: #fff0f0;
    --qt-rise-strong: #b02429;
    --qt-scrollbar: #CF9AA3;
    --qt-scrollbar-hover: #B97A85;
    --qt-shadow-md: 0 4px 16px rgba(99,28,37,0.12), 0 1px 3px rgba(99,28,37,0.08);
    --qt-shadow-sm: 0 1px 3px rgba(99,28,37,0.08);
    --qt-shell-bg: #FCEBEE;
    --qt-side-active-bg: #d2373c;
    --qt-side-active-fg: #ffffff;
    --qt-side-bg: #35141a;
    --qt-side-bg-bottom: #230c10;
    --qt-side-hover: rgba(255,255,255,0.08);
    --qt-side-line: rgba(255,255,255,0.10);
    --qt-side-muted: #b08e91;
    --qt-side-strong: #ffffff;
    --qt-side-text: #efd9db;
    --qt-surface: #FCEBEE;
    --qt-surface-hover: #F6C5CC;
    --qt-surface-muted: #F2D2D7;
    --qt-surface-raised: #FFF4F5;
    --qt-surface-selected: #F2B8C1;
    --qt-surface-sunken: #F5D9DE;
    --qt-text: #382025;
    --qt-text-disabled: #A27B82;
    --qt-text-muted: #6C464C;
    --qt-text-on-accent: #FFF8F8;
    --qt-text-strong: #2D161B;
    --qt-text-subtle: #55343A;
    --qt-warning: #a26a00;
    --qt-warning-soft: #fff9db;
  }
}
@media (prefers-color-scheme: dark) {
  [data-theme="system"]:not([data-color-scheme]) {
    --qt-app-bg: #0e141d;
    --qt-border: #34465c;
    --qt-border-soft: #2a394b;
    --qt-chart-axis: #8494a9;
    --qt-chart-grid: #2a394b;
    --qt-divider: #233244;
    --qt-fall: #4fd1a5;
    --qt-fall-soft: #173b35;
    --qt-fall-strong: #72dfba;
    --qt-focus-ring: #4d8dff;
    --qt-font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
    --qt-gold: #e7b95b;
    --qt-gold-soft: #3b3020;
    --qt-header-bg: #182230;
    --qt-important-text: #ffb4b7;
    --qt-info-soft: #172a42;
    --qt-ladder-hot-bg: #3a2925;
    --qt-ladder-hot-border: #81513d;
    --qt-ladder-hunt-bg: #3b3020;
    --qt-ladder-hunt-border: #83633a;
    --qt-ma10: #58a6ff;
    --qt-ma20: #e879f9;
    --qt-ma5: #f7c05a;
    --qt-nav-bg: #111923;
    --qt-ok: #ef5a60;
    --qt-ok-bg: #3b1a1f;
    --qt-ok-border: #7e3038;
    --qt-ok-text: #ffb4b7;
    --qt-overlay: rgba(3, 7, 12, 0.72);
    --qt-primary: #4d8dff;
    --qt-primary-active: #3976dc;
    --qt-primary-hover: #72a6ff;
    --qt-primary-soft: #1b3557;
    --qt-purple: #b69cff;
    --qt-purple-soft: #30284a;
    --qt-radius-lg: 14px;
    --qt-radius-md: 10px;
    --qt-radius-sm: 6px;
    --qt-rise: #ff6b6b;
    --qt-rise-soft: #44252b;
    --qt-rise-strong: #ff8585;
    --qt-scrollbar: #34465c;
    --qt-scrollbar-hover: #536b86;
    --qt-shadow-md: 0 10px 32px rgba(0, 0, 0, 0.34);
    --qt-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.28);
    --qt-shell-bg: #101720;
    --qt-side-active-bg: #4d8dff;
    --qt-side-active-fg: #ffffff;
    --qt-side-bg: #111923;
    --qt-side-bg-bottom: #111923;
    --qt-side-hover: rgba(255,255,255,0.07);
    --qt-side-line: #2a394b;
    --qt-side-muted: #9aa9bc;
    --qt-side-strong: #e8eef6;
    --qt-side-text: #cbd5e1;
    --qt-surface: #182230;
    --qt-surface-hover: #223249;
    --qt-surface-muted: #202c3b;
    --qt-surface-raised: #1b2635;
    --qt-surface-selected: #1b3557;
    --qt-surface-sunken: #121b27;
    --qt-text: #cbd5e1;
    --qt-text-disabled: #536174;
    --qt-text-muted: #9aa9bc;
    --qt-text-on-accent: #ffffff;
    --qt-text-strong: #e8eef6;
    --qt-text-subtle: #738399;
    --qt-warning: #f2b45f;
    --qt-warning-soft: #45351f;
  }
}


/* 深色主题让原生控件跟着变深 */
[data-theme="obsidian"], [data-theme="midnight"],
[data-theme="system"][data-color-scheme="dark"] { color-scheme: dark; }
[data-theme="classic"], [data-theme="changfen-red"],
[data-theme="system"][data-color-scheme="light"] { color-scheme: light; }

/* 全局 focus ring */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--qt-surface), 0 0 0 4px var(--focus-ring);
  border-radius: var(--r-sm);
}
/* disabled */
:where(button, input, select, textarea)[disabled], .is-disabled {
  color: var(--disabled-fg); background: var(--disabled-bg); cursor: not-allowed; opacity: .75;
}

/* ---- 主题切换菜单 ---- */
.theme-menu-wrap { position: relative; display: inline-block; }
.theme-menu {
  position: absolute; right: 0; bottom: 34px; z-index: 60; min-width: 158px; padding: 6px;
  background: var(--bg); color: var(--text);
  border: 1px solid var(--border); border-radius: var(--r-md); box-shadow: var(--sh-3);
}
.theme-menu[hidden] { display: none; }
.theme-menu-item {
  display: flex; align-items: center; gap: 8px; width: 100%; padding: 7px 10px;
  border: 0; border-radius: var(--r-sm); background: transparent; color: var(--text);
  font-size: 13px; text-align: left; cursor: pointer;
}
.theme-menu-item:hover { background: var(--hover-bg); }
.theme-menu-item[aria-checked="true"] { background: var(--active-bg); color: var(--brand-600); font-weight: 600; }
.theme-swatch { width: 12px; height: 12px; border-radius: 50%; flex: 0 0 12px; border: 1px solid var(--border); }
.theme-menu-item .theme-check { margin-left: auto; opacity: 0; }
.theme-menu-item[aria-checked="true"] .theme-check { opacity: 1; }
.theme-menu-wrap--floating { position: fixed; top: 18px; right: 20px; z-index: 30; }
.theme-menu-wrap--floating .theme-toggle {
  width: 30px; height: 30px; font-size: 14px;
  border-color: var(--border-strong); color: var(--text-muted);
  background: var(--bg); box-shadow: var(--sh-1);
}
.theme-menu-wrap--floating .theme-toggle:hover { color: var(--brand-700); background: var(--brand-50); }
.theme-menu-wrap--floating .theme-menu { top: 38px; bottom: auto; }

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
  html { scroll-behavior: auto !important; }
}
