/* 10 套可切換風格。後台「系統 → 外觀風格」選一套，前台輸出 <html data-skin="id">。
   每套都只覆寫 tokens.css 已定義的 token；來源網站與取色依據見 docs/design-system.md 第 6 節與 skins.json。
   每套三段：白天、跟隨系統的夜晚、手動夜晚（data-theme="dark"）。預設風格沒有 data-skin，用 tokens.css。
   對比檢查：node scripts/check-contrast.mjs。 */

/* 黑白圖表工作台：TradingView 台灣站（行情榜） */
:root[data-skin='chartmono'] {
  color-scheme: light;
  --font-ui: -apple-system, BlinkMacSystemFont, 'Trebuchet MS', 'Noto Sans TC', 'Microsoft JhengHei', Roboto, sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-mono);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 600;
  --display-style: normal;
  --display-tracking: -0.01em;
  --display-transform: none;
  --radius-sm: 2px;
  --radius: 4px;
  --radius-lg: 4px;
  --radius-pill: 999px;
  --tab-radius: 0px;
  --card-radius: 4px;
  --th-weight: 700;
  --th-transform: uppercase;
  --th-tracking: 0.04em;
  --density: 1;
  --topbar-h: 64px;
  --topbar-blur: 0px;
  --paper: #f2f2f2;
  --surface: #ffffff;
  --surface-2: #f2f2f2;
  --surface-3: #ebebeb;
  --line: #ebebeb;
  --line-strong: #d1d1d1;
  --ink: #0f0f0f;
  --ink-2: #4a4a4a;
  --muted: #6d6d6d;
  --heading: #0f0f0f;
  --brand: #2962ff;
  --brand-2: #5b9cf6;
  --brand-soft: rgba(41, 98, 255, 0.08);
  --on-brand: #ffffff;
  --up: #cc2f3c;
  --down: #067b67;
  --flat: #6d6d6d;
  --warn: #b2520a;
  --chart: #2962ff;
  --chart-fill: rgba(41, 98, 255, 0.08);
  --focus: #2962ff;
  --shadow-sm: none;
  --shadow-md: 0 8px 24px -12px rgba(15, 15, 15, 0.25);
  --overlay: rgba(15, 15, 15, 0.3);
  --heat-ink-light: #0f0f0f;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #f0d3d6;
  --heat-up-2: #e4a9ae;
  --heat-up-3: #d6737c;
  --heat-up-4: #cf3d49;
  --heat-up-5: #b92c37;
  --heat-up-6: #9d222c;
  --heat-up-7: #801a23;
  --heat-down-1: #afe4db;
  --heat-down-2: #59cbb7;
  --heat-down-3: #2fa18d;
  --heat-down-4: #208070;
  --heat-down-5: #1a7061;
  --heat-down-6: #145c50;
  --heat-down-7: #0f4a40;
  --heat-flat: #ebebeb;
  --ma-5: #b8860b;
  --ma-10: #2f6fdf;
  --ma-20: #9b3fd0;
  --ma-60: #0a86b0;
  --ma-120: #c2339a;
  --ma-240: #6e6e6e;
  --accent: var(--brand);
  --link: #2155ee;
  --topbar-bg: #131722;
  --topbar-fg: #ffffff;
  --topbar-fg-muted: #b2b5be;
  --topbar-border: 1px solid #131722;
  --topbar-shadow: none;
  --tab-fg: #0f0f0f;
  --tab-hover-bg: #ebebeb;
  --tab-active-bg: transparent;
  --tab-active-fg: #0f0f0f;
  --tab-bar: 2px solid #2962ff;
  --card-border: 1px solid #ebebeb;
  --card-top-border: 2px solid #131722;
  --th-bg: transparent;
  --th-fg: #4a4a4a;
  --th-border: 1px solid #0f0f0f;
  --row-hover-bg: #e8f0ff;
  --row-stripe-bg: transparent;
  --rhead-weight: 700;
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-fg: #ffffff;
  --topbar-input-bg: color-mix(in srgb, var(--topbar-fg) 12%, transparent);
  --topbar-input-border: color-mix(in srgb, var(--topbar-fg) 28%, transparent);
  --topbar-input-fg: var(--topbar-fg-muted);
  --topbar-toggle-border: color-mix(in srgb, var(--topbar-fg) 40%, transparent);
  --topbar-toggle-fg: var(--topbar-fg);
}
@media (prefers-color-scheme: dark) {
  :root[data-skin='chartmono']:not([data-theme='light']) {
    color-scheme: dark;
    --font-ui: -apple-system, BlinkMacSystemFont, 'Trebuchet MS', 'Noto Sans TC', 'Microsoft JhengHei', Roboto, sans-serif;
    --font-display: var(--font-ui);
    --font-num: var(--font-mono);
    --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
    --display-weight: 600;
    --display-style: normal;
    --display-tracking: -0.01em;
    --display-transform: none;
    --radius-sm: 2px;
    --radius: 4px;
    --radius-lg: 4px;
    --radius-pill: 999px;
    --tab-radius: 0px;
    --card-radius: 4px;
    --th-weight: 700;
    --th-transform: uppercase;
    --th-tracking: 0.04em;
    --density: 0.92;
    --topbar-h: 64px;
    --topbar-blur: 0px;
    --paper: #000000;
    --surface: #0f0f0f;
    --surface-2: #1f1f1f;
    --surface-3: #2e2e2e;
    --line: #2e2e2e;
    --line-strong: #4a4a4a;
    --ink: #dbdbdb;
    --ink-2: #b8b8b8;
    --muted: #8c8c8c;
    --heading: #f2f2f2;
    --brand: #5b9cf6;
    --brand-2: #2962ff;
    --brand-soft: rgba(91, 156, 246, 0.16);
    --on-brand: #000000;
    --up: #f34452;
    --down: #22ab94;
    --flat: #8c8c8c;
    --warn: #f0a35e;
    --chart: #5b9cf6;
    --chart-fill: rgba(91, 156, 246, 0.14);
    --focus: #5b9cf6;
    --shadow-sm: none;
    --shadow-md: 0 8px 24px -12px rgba(0, 0, 0, 0.8);
    --overlay: rgba(0, 0, 0, 0.6);
    --heat-ink-light: #f5f5f5;
    --heat-ink-dark: #ffffff;
    --heat-up-1: #321315;
    --heat-up-2: #501b1f;
    --heat-up-3: #6f2026;
    --heat-up-4: #8d232c;
    --heat-up-5: #a82732;
    --heat-up-6: #bd2a35;
    --heat-up-7: #d22b39;
    --heat-down-1: #0c201d;
    --heat-down-2: #11332d;
    --heat-down-3: #14443b;
    --heat-down-4: #15554a;
    --heat-down-5: #186457;
    --heat-down-6: #197062;
    --heat-down-7: #1a7d6c;
    --heat-flat: #2e2e2e;
    --ma-5: #ffc233;
    --ma-10: #6ea3ff;
    --ma-20: #c58cf0;
    --ma-60: #37c0e8;
    --ma-120: #f06ac8;
    --ma-240: #b8b8b8;
    --accent: var(--brand);
    --link: var(--brand);
    --topbar-bg: #0a0b0f;
    --topbar-fg: #ffffff;
    --topbar-fg-muted: #b8b8b8;
    --topbar-border: 1px solid #2e2e2e;
    --topbar-shadow: none;
    --tab-fg: #dbdbdb;
    --tab-hover-bg: #1f1f1f;
    --tab-active-bg: transparent;
    --tab-active-fg: #f2f2f2;
    --tab-bar: 2px solid #5b9cf6;
    --card-border: 1px solid #2e2e2e;
    --card-top-border: 2px solid #5b9cf6;
    --th-bg: #0f1117;
    --th-fg: #b8b8b8;
    --th-border: 1px solid #8c8c8c;
    --row-hover-bg: #18233a;
    --row-stripe-bg: transparent;
    --rhead-weight: 700;
    --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
    --topbar-active-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
    --topbar-active-fg: #ffffff;
    --topbar-input-bg: color-mix(in srgb, var(--topbar-fg) 12%, transparent);
    --topbar-input-border: color-mix(in srgb, var(--topbar-fg) 28%, transparent);
    --topbar-input-fg: var(--topbar-fg-muted);
    --topbar-toggle-border: color-mix(in srgb, var(--topbar-fg) 40%, transparent);
    --topbar-toggle-fg: var(--topbar-fg);
  }
}
:root[data-skin='chartmono'][data-theme='dark'] {
  color-scheme: dark;
  --font-ui: -apple-system, BlinkMacSystemFont, 'Trebuchet MS', 'Noto Sans TC', 'Microsoft JhengHei', Roboto, sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-mono);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 600;
  --display-style: normal;
  --display-tracking: -0.01em;
  --display-transform: none;
  --radius-sm: 2px;
  --radius: 4px;
  --radius-lg: 4px;
  --radius-pill: 999px;
  --tab-radius: 0px;
  --card-radius: 4px;
  --th-weight: 700;
  --th-transform: uppercase;
  --th-tracking: 0.04em;
  --density: 0.92;
  --topbar-h: 64px;
  --topbar-blur: 0px;
  --paper: #000000;
  --surface: #0f0f0f;
  --surface-2: #1f1f1f;
  --surface-3: #2e2e2e;
  --line: #2e2e2e;
  --line-strong: #4a4a4a;
  --ink: #dbdbdb;
  --ink-2: #b8b8b8;
  --muted: #8c8c8c;
  --heading: #f2f2f2;
  --brand: #5b9cf6;
  --brand-2: #2962ff;
  --brand-soft: rgba(91, 156, 246, 0.16);
  --on-brand: #000000;
  --up: #f34452;
  --down: #22ab94;
  --flat: #8c8c8c;
  --warn: #f0a35e;
  --chart: #5b9cf6;
  --chart-fill: rgba(91, 156, 246, 0.14);
  --focus: #5b9cf6;
  --shadow-sm: none;
  --shadow-md: 0 8px 24px -12px rgba(0, 0, 0, 0.8);
  --overlay: rgba(0, 0, 0, 0.6);
  --heat-ink-light: #f5f5f5;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #321315;
  --heat-up-2: #501b1f;
  --heat-up-3: #6f2026;
  --heat-up-4: #8d232c;
  --heat-up-5: #a82732;
  --heat-up-6: #bd2a35;
  --heat-up-7: #d22b39;
  --heat-down-1: #0c201d;
  --heat-down-2: #11332d;
  --heat-down-3: #14443b;
  --heat-down-4: #15554a;
  --heat-down-5: #186457;
  --heat-down-6: #197062;
  --heat-down-7: #1a7d6c;
  --heat-flat: #2e2e2e;
  --ma-5: #ffc233;
  --ma-10: #6ea3ff;
  --ma-20: #c58cf0;
  --ma-60: #37c0e8;
  --ma-120: #f06ac8;
  --ma-240: #b8b8b8;
  --accent: var(--brand);
  --link: var(--brand);
  --topbar-bg: #0a0b0f;
  --topbar-fg: #ffffff;
  --topbar-fg-muted: #b8b8b8;
  --topbar-border: 1px solid #2e2e2e;
  --topbar-shadow: none;
  --tab-fg: #dbdbdb;
  --tab-hover-bg: #1f1f1f;
  --tab-active-bg: transparent;
  --tab-active-fg: #f2f2f2;
  --tab-bar: 2px solid #5b9cf6;
  --card-border: 1px solid #2e2e2e;
  --card-top-border: 2px solid #5b9cf6;
  --th-bg: #0f1117;
  --th-fg: #b8b8b8;
  --th-border: 1px solid #8c8c8c;
  --row-hover-bg: #18233a;
  --row-stripe-bg: transparent;
  --rhead-weight: 700;
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-fg: #ffffff;
  --topbar-input-bg: color-mix(in srgb, var(--topbar-fg) 12%, transparent);
  --topbar-input-border: color-mix(in srgb, var(--topbar-fg) 28%, transparent);
  --topbar-input-fg: var(--topbar-fg-muted);
  --topbar-toggle-border: color-mix(in srgb, var(--topbar-fg) 40%, transparent);
  --topbar-toggle-fg: var(--topbar-fg);
}

/* 柔和淺灰面板：Google 財經 */
:root[data-skin='softpanel'] {
  color-scheme: light;
  --font-ui: 'Inter Tight', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-ui);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 400;
  --display-style: normal;
  --display-tracking: -0.01em;
  --display-transform: none;
  --radius-sm: 8px;
  --radius: 14px;
  --radius-lg: 24px;
  --radius-pill: 999px;
  --tab-radius: 999px;
  --card-radius: 24px;
  --th-weight: 500;
  --th-transform: none;
  --th-tracking: 0;
  --density: 1.1;
  --topbar-h: 64px;
  --topbar-blur: 0px;
  --paper: #ffffff;
  --surface: #eff3fa;
  --surface-2: #e4eaf5;
  --surface-3: #dbe3f1;
  --line: #d9e0ee;
  --line-strong: #cccfd9;
  --ink: #0a0a0a;
  --ink-2: #36373a;
  --muted: #56595e;
  --heading: #0a0a0a;
  --brand: #0b57d0;
  --brand-2: #4a8af4;
  --brand-soft: rgba(11, 87, 208, 0.08);
  --on-brand: #ffffff;
  --up: #c0151d;
  --down: #046e00;
  --flat: #56595e;
  --warn: #b2520a;
  --chart: #0b57d0;
  --chart-fill: rgba(11, 87, 208, 0.10);
  --focus: #0b57d0;
  --shadow-sm: none;
  --shadow-md: 0 8px 28px -14px rgba(16, 18, 24, 0.28);
  --overlay: rgba(10, 10, 10, 0.3);
  --heat-ink-light: #0a0a0a;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #f0d3d5;
  --heat-up-2: #e4a9ac;
  --heat-up-3: #d67378;
  --heat-up-4: #cf3d44;
  --heat-up-5: #bb2c32;
  --heat-up-6: #9d2228;
  --heat-up-7: #801a1f;
  --heat-down-1: #b7e6b5;
  --heat-down-2: #68ce64;
  --heat-down-3: #34a630;
  --heat-down-4: #248421;
  --heat-down-5: #1e721b;
  --heat-down-6: #185f15;
  --heat-down-7: #124d10;
  --heat-flat: #e9ebf0;
  --ma-5: #a87a08;
  --ma-10: #2f6fdf;
  --ma-20: #9b3fd0;
  --ma-60: #0a86b0;
  --ma-120: #c2339a;
  --ma-240: #6e6e6e;
  --accent: var(--brand);
  --link: var(--brand);
  --topbar-bg: #e8f0fe;
  --topbar-fg: #0a0a0a;
  --topbar-fg-muted: #3c4658;
  --topbar-border: 1px solid #d3e0fc;
  --topbar-shadow: none;
  --tab-fg: #36373a;
  --tab-hover-bg: #dbe6fb;
  --tab-active-bg: #b8d5ff;
  --tab-active-fg: #041e49;
  --tab-bar: 0 solid transparent;
  --card-border: 0 solid transparent;
  --card-top-border: var(--card-border);
  --th-bg: transparent;
  --th-fg: #4a5568;
  --th-border: 1px solid transparent;
  --row-hover-bg: #e4eaf5;
  --row-stripe-bg: transparent;
  --rhead-weight: 500;
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 8%, transparent);
  --topbar-active-bg: #b8d5ff;
  --topbar-active-fg: #041e49;
  --topbar-input-bg: var(--surface);
  --topbar-input-border: var(--line);
  --topbar-input-fg: var(--muted);
  --topbar-toggle-border: var(--line-strong);
  --topbar-toggle-fg: var(--ink-2);
}
@media (prefers-color-scheme: dark) {
  :root[data-skin='softpanel']:not([data-theme='light']) {
    color-scheme: dark;
    --font-ui: 'Inter Tight', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
    --font-display: var(--font-ui);
    --font-num: var(--font-ui);
    --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
    --display-weight: 400;
    --display-style: normal;
    --display-tracking: -0.01em;
    --display-transform: none;
    --radius-sm: 8px;
    --radius: 14px;
    --radius-lg: 24px;
    --radius-pill: 999px;
    --tab-radius: 999px;
    --card-radius: 24px;
    --th-weight: 500;
    --th-transform: none;
    --th-tracking: 0;
    --density: 1.1;
    --topbar-h: 64px;
    --topbar-blur: 0px;
    --paper: #101218;
    --surface: #1b1d27;
    --surface-2: #242634;
    --surface-3: #22232b;
    --line: #31323d;
    --line-strong: #42434f;
    --ink: #e6e8f0;
    --ink-2: #c9cbd1;
    --muted: #adafb8;
    --heading: #e6e8f0;
    --brand: #a8c7fa;
    --brand-2: #6ea3ff;
    --brand-soft: rgba(168, 199, 250, 0.16);
    --on-brand: #062e6f;
    --up: #ffa9af;
    --down: #90e58c;
    --flat: #adafb8;
    --warn: #f0a35e;
    --chart: #a8c7fa;
    --chart-fill: rgba(168, 199, 250, 0.14);
    --focus: #a8c7fa;
    --shadow-sm: none;
    --shadow-md: 0 8px 28px -12px rgba(0, 0, 0, 0.7);
    --overlay: rgba(0, 0, 0, 0.6);
    --heat-ink-light: #f5f5f5;
    --heat-ink-dark: #ffffff;
    --heat-up-1: #331315;
    --heat-up-2: #501b1f;
    --heat-up-3: #6f2026;
    --heat-up-4: #8d232a;
    --heat-up-5: #a82730;
    --heat-up-6: #bd2a34;
    --heat-up-7: #d22b37;
    --heat-down-1: #0d210d;
    --heat-down-2: #133311;
    --heat-down-3: #164614;
    --heat-down-4: #195716;
    --heat-down-5: #1c6618;
    --heat-down-6: #1d7319;
    --heat-down-7: #1f801a;
    --heat-flat: #22232b;
    --ma-5: #ffc233;
    --ma-10: #6ea3ff;
    --ma-20: #c58cf0;
    --ma-60: #37c0e8;
    --ma-120: #f06ac8;
    --ma-240: #b8b8b8;
    --accent: var(--brand);
    --link: var(--brand);
    --topbar-bg: #161a28;
    --topbar-fg: #e6e8f0;
    --topbar-fg-muted: #adafb8;
    --topbar-border: 1px solid #2a3150;
    --topbar-shadow: none;
    --tab-fg: #c9cbd1;
    --tab-hover-bg: #22232b;
    --tab-active-bg: #2b4468;
    --tab-active-fg: #ffffff;
    --tab-bar: 0 solid transparent;
    --card-border: 0 solid transparent;
    --card-top-border: var(--card-border);
    --th-bg: transparent;
    --th-fg: var(--muted);
    --th-border: 1px solid transparent;
    --row-hover-bg: #242634;
    --row-stripe-bg: transparent;
    --rhead-weight: 500;
    --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
    --topbar-active-bg: #2b4468;
    --topbar-active-fg: #ffffff;
    --topbar-input-bg: var(--surface);
    --topbar-input-border: var(--line);
    --topbar-input-fg: var(--muted);
    --topbar-toggle-border: var(--line-strong);
    --topbar-toggle-fg: var(--ink-2);
  }
}
:root[data-skin='softpanel'][data-theme='dark'] {
  color-scheme: dark;
  --font-ui: 'Inter Tight', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-ui);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 400;
  --display-style: normal;
  --display-tracking: -0.01em;
  --display-transform: none;
  --radius-sm: 8px;
  --radius: 14px;
  --radius-lg: 24px;
  --radius-pill: 999px;
  --tab-radius: 999px;
  --card-radius: 24px;
  --th-weight: 500;
  --th-transform: none;
  --th-tracking: 0;
  --density: 1.1;
  --topbar-h: 64px;
  --topbar-blur: 0px;
  --paper: #101218;
  --surface: #1b1d27;
  --surface-2: #242634;
  --surface-3: #22232b;
  --line: #31323d;
  --line-strong: #42434f;
  --ink: #e6e8f0;
  --ink-2: #c9cbd1;
  --muted: #adafb8;
  --heading: #e6e8f0;
  --brand: #a8c7fa;
  --brand-2: #6ea3ff;
  --brand-soft: rgba(168, 199, 250, 0.16);
  --on-brand: #062e6f;
  --up: #ffa9af;
  --down: #90e58c;
  --flat: #adafb8;
  --warn: #f0a35e;
  --chart: #a8c7fa;
  --chart-fill: rgba(168, 199, 250, 0.14);
  --focus: #a8c7fa;
  --shadow-sm: none;
  --shadow-md: 0 8px 28px -12px rgba(0, 0, 0, 0.7);
  --overlay: rgba(0, 0, 0, 0.6);
  --heat-ink-light: #f5f5f5;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #331315;
  --heat-up-2: #501b1f;
  --heat-up-3: #6f2026;
  --heat-up-4: #8d232a;
  --heat-up-5: #a82730;
  --heat-up-6: #bd2a34;
  --heat-up-7: #d22b37;
  --heat-down-1: #0d210d;
  --heat-down-2: #133311;
  --heat-down-3: #164614;
  --heat-down-4: #195716;
  --heat-down-5: #1c6618;
  --heat-down-6: #1d7319;
  --heat-down-7: #1f801a;
  --heat-flat: #22232b;
  --ma-5: #ffc233;
  --ma-10: #6ea3ff;
  --ma-20: #c58cf0;
  --ma-60: #37c0e8;
  --ma-120: #f06ac8;
  --ma-240: #b8b8b8;
  --accent: var(--brand);
  --link: var(--brand);
  --topbar-bg: #161a28;
  --topbar-fg: #e6e8f0;
  --topbar-fg-muted: #adafb8;
  --topbar-border: 1px solid #2a3150;
  --topbar-shadow: none;
  --tab-fg: #c9cbd1;
  --tab-hover-bg: #22232b;
  --tab-active-bg: #2b4468;
  --tab-active-fg: #ffffff;
  --tab-bar: 0 solid transparent;
  --card-border: 0 solid transparent;
  --card-top-border: var(--card-border);
  --th-bg: transparent;
  --th-fg: var(--muted);
  --th-border: 1px solid transparent;
  --row-hover-bg: #242634;
  --row-stripe-bg: transparent;
  --rhead-weight: 500;
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: #2b4468;
  --topbar-active-fg: #ffffff;
  --topbar-input-bg: var(--surface);
  --topbar-input-border: var(--line);
  --topbar-input-fg: var(--muted);
  --topbar-toggle-border: var(--line-strong);
  --topbar-toggle-fg: var(--ink-2);
}

/* 紫色入口站：Yahoo 奇摩股市（白天）＋ Yahoo Finance（夜晚） */
:root[data-skin='violetlight'] {
  color-scheme: light;
  --font-ui: 'Inter Tight', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-ui);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 700;
  --display-style: normal;
  --display-tracking: -0.01em;
  --display-transform: none;
  --radius-sm: 4px;
  --radius: 8px;
  --radius-lg: 12px;
  --radius-pill: 999px;
  --tab-radius: 0px;
  --card-radius: 6px;
  --th-weight: 600;
  --th-transform: none;
  --th-tracking: 0;
  --density: 0.95;
  --topbar-h: 60px;
  --topbar-blur: 0px;
  --paper: #f0f3f5;
  --surface: #ffffff;
  --surface-2: #f5f8fa;
  --surface-3: #e0e4e9;
  --line: #e0e4e9;
  --line-strong: #c9d0d6;
  --ink: #232a31;
  --ink-2: #464e56;
  --muted: #5b636a;
  --heading: #232a31;
  --brand: #6001d2;
  --brand-2: #7d2eff;
  --brand-soft: rgba(96, 1, 210, 0.08);
  --on-brand: #ffffff;
  --up: #d60a22;
  --down: #037b66;
  --flat: #5b636a;
  --warn: #b4530a;
  --chart: #6001d2;
  --chart-fill: rgba(96, 1, 210, 0.08);
  --focus: #6001d2;
  --shadow-sm: 0 1px 2px rgba(35, 42, 49, 0.06);
  --shadow-md: 0 10px 30px -14px rgba(35, 42, 49, 0.3);
  --overlay: rgba(35, 42, 49, 0.3);
  --heat-ink-light: #232a31;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #f1d5d8;
  --heat-up-2: #e4abb1;
  --heat-up-3: #d77581;
  --heat-up-4: #ce3c4e;
  --heat-up-5: #b92c3c;
  --heat-up-6: #9c2231;
  --heat-up-7: #801a26;
  --heat-down-1: #b2e5dd;
  --heat-down-2: #5ccbb8;
  --heat-down-3: #2fa38e;
  --heat-down-4: #208070;
  --heat-down-5: #1a7061;
  --heat-down-6: #145c50;
  --heat-down-7: #0f4a40;
  --heat-flat: #e0e4e9;
  --ma-5: #b8860b;
  --ma-10: #2f6fdf;
  --ma-20: #9b3fd0;
  --ma-60: #0a86b0;
  --ma-120: #c2339a;
  --ma-240: #6e6e6e;
  --accent: var(--brand);
  --link: #0a58d6;
  --topbar-bg: #6001d2;
  --topbar-fg: #ffffff;
  --topbar-fg-muted: #eadcfc;
  --topbar-border: 1px solid #6001d2;
  --topbar-shadow: none;
  --tab-fg: #464e56;
  --tab-hover-bg: #f0f3f5;
  --tab-active-bg: transparent;
  --tab-active-fg: #6001d2;
  --tab-bar: 3px solid #7d2eff;
  --card-border: 1px solid #e0e4e9;
  --card-top-border: 3px solid #6001d2;
  --th-bg: #eef1f5;
  --th-fg: #464e56;
  --th-border: 1px solid #c9d0d6;
  --row-hover-bg: #ebe2fa;
  --row-stripe-bg: #f3f5f8;
  --rhead-weight: 600;
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: color-mix(in srgb, var(--topbar-fg) 18%, transparent);
  --topbar-active-fg: #ffffff;
  --topbar-input-bg: color-mix(in srgb, var(--topbar-fg) 12%, transparent);
  --topbar-input-border: color-mix(in srgb, var(--topbar-fg) 28%, transparent);
  --topbar-input-fg: var(--topbar-fg-muted);
  --topbar-toggle-border: color-mix(in srgb, var(--topbar-fg) 40%, transparent);
  --topbar-toggle-fg: var(--topbar-fg);
}
@media (prefers-color-scheme: dark) {
  :root[data-skin='violetlight']:not([data-theme='light']) {
    color-scheme: dark;
    --font-ui: 'Inter Tight', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
    --font-display: var(--font-ui);
    --font-num: var(--font-ui);
    --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
    --display-weight: 700;
    --display-style: normal;
    --display-tracking: -0.01em;
    --display-transform: none;
    --radius-sm: 4px;
    --radius: 8px;
    --radius-lg: 12px;
    --radius-pill: 999px;
    --tab-radius: 0px;
    --card-radius: 6px;
    --th-weight: 600;
    --th-transform: none;
    --th-tracking: 0;
    --density: 0.95;
    --topbar-h: 60px;
    --topbar-blur: 0px;
    --paper: #14181c;
    --surface: #1c2228;
    --surface-2: #232a31;
    --surface-3: #2d363d;
    --line: #363f44;
    --line-strong: #4a555c;
    --ink: #e3e3e3;
    --ink-2: #c9d0d6;
    --muted: #a9b2ba;
    --heading: #f0f3f5;
    --brand: #b98dff;
    --brand-2: #9fd7ff;
    --brand-soft: rgba(185, 141, 255, 0.16);
    --on-brand: #14181c;
    --up: #ff5052;
    --down: #00aa76;
    --flat: #a9b2ba;
    --warn: #f0a35e;
    --chart: #b98dff;
    --chart-fill: rgba(185, 141, 255, 0.14);
    --focus: #b98dff;
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.5);
    --shadow-md: 0 10px 30px -12px rgba(0, 0, 0, 0.7);
    --overlay: rgba(0, 0, 0, 0.6);
    --heat-ink-light: #f5f5f5;
    --heat-ink-dark: #ffffff;
    --heat-up-1: #331314;
    --heat-up-2: #501b1b;
    --heat-up-3: #6f2021;
    --heat-up-4: #8d2325;
    --heat-up-5: #a82729;
    --heat-up-6: #be2a2c;
    --heat-up-7: #d32b2d;
    --heat-down-1: #0c201a;
    --heat-down-2: #113328;
    --heat-down-3: #144435;
    --heat-down-4: #155541;
    --heat-down-5: #18654d;
    --heat-down-6: #197156;
    --heat-down-7: #1a7d5f;
    --heat-flat: #2d363d;
    --ma-5: #ffc233;
    --ma-10: #6ea3ff;
    --ma-20: #c58cf0;
    --ma-60: #37c0e8;
    --ma-120: #f06ac8;
    --ma-240: #b8b8b8;
    --accent: var(--brand);
    --link: #9fd7ff;
    --topbar-bg: #2d0a63;
    --topbar-fg: #ffffff;
    --topbar-fg-muted: #d9c8f7;
    --topbar-border: 1px solid #2d0a63;
    --topbar-shadow: none;
    --tab-fg: #c9d0d6;
    --tab-hover-bg: #232a31;
    --tab-active-bg: transparent;
    --tab-active-fg: #c4a0ff;
    --tab-bar: 3px solid #9b5cff;
    --card-border: 1px solid #363f44;
    --card-top-border: 3px solid #9b5cff;
    --th-bg: #232a31;
    --th-fg: #c9d0d6;
    --th-border: 1px solid #4a555c;
    --row-hover-bg: #2a2440;
    --row-stripe-bg: #1f262c;
    --rhead-weight: 600;
    --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
    --topbar-active-bg: color-mix(in srgb, var(--topbar-fg) 18%, transparent);
    --topbar-active-fg: #ffffff;
    --topbar-input-bg: color-mix(in srgb, var(--topbar-fg) 12%, transparent);
    --topbar-input-border: color-mix(in srgb, var(--topbar-fg) 28%, transparent);
    --topbar-input-fg: var(--topbar-fg-muted);
    --topbar-toggle-border: color-mix(in srgb, var(--topbar-fg) 40%, transparent);
    --topbar-toggle-fg: var(--topbar-fg);
  }
}
:root[data-skin='violetlight'][data-theme='dark'] {
  color-scheme: dark;
  --font-ui: 'Inter Tight', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-ui);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 700;
  --display-style: normal;
  --display-tracking: -0.01em;
  --display-transform: none;
  --radius-sm: 4px;
  --radius: 8px;
  --radius-lg: 12px;
  --radius-pill: 999px;
  --tab-radius: 0px;
  --card-radius: 6px;
  --th-weight: 600;
  --th-transform: none;
  --th-tracking: 0;
  --density: 0.95;
  --topbar-h: 60px;
  --topbar-blur: 0px;
  --paper: #14181c;
  --surface: #1c2228;
  --surface-2: #232a31;
  --surface-3: #2d363d;
  --line: #363f44;
  --line-strong: #4a555c;
  --ink: #e3e3e3;
  --ink-2: #c9d0d6;
  --muted: #a9b2ba;
  --heading: #f0f3f5;
  --brand: #b98dff;
  --brand-2: #9fd7ff;
  --brand-soft: rgba(185, 141, 255, 0.16);
  --on-brand: #14181c;
  --up: #ff5052;
  --down: #00aa76;
  --flat: #a9b2ba;
  --warn: #f0a35e;
  --chart: #b98dff;
  --chart-fill: rgba(185, 141, 255, 0.14);
  --focus: #b98dff;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.5);
  --shadow-md: 0 10px 30px -12px rgba(0, 0, 0, 0.7);
  --overlay: rgba(0, 0, 0, 0.6);
  --heat-ink-light: #f5f5f5;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #331314;
  --heat-up-2: #501b1b;
  --heat-up-3: #6f2021;
  --heat-up-4: #8d2325;
  --heat-up-5: #a82729;
  --heat-up-6: #be2a2c;
  --heat-up-7: #d32b2d;
  --heat-down-1: #0c201a;
  --heat-down-2: #113328;
  --heat-down-3: #144435;
  --heat-down-4: #155541;
  --heat-down-5: #18654d;
  --heat-down-6: #197156;
  --heat-down-7: #1a7d5f;
  --heat-flat: #2d363d;
  --ma-5: #ffc233;
  --ma-10: #6ea3ff;
  --ma-20: #c58cf0;
  --ma-60: #37c0e8;
  --ma-120: #f06ac8;
  --ma-240: #b8b8b8;
  --accent: var(--brand);
  --link: #9fd7ff;
  --topbar-bg: #2d0a63;
  --topbar-fg: #ffffff;
  --topbar-fg-muted: #d9c8f7;
  --topbar-border: 1px solid #2d0a63;
  --topbar-shadow: none;
  --tab-fg: #c9d0d6;
  --tab-hover-bg: #232a31;
  --tab-active-bg: transparent;
  --tab-active-fg: #c4a0ff;
  --tab-bar: 3px solid #9b5cff;
  --card-border: 1px solid #363f44;
  --card-top-border: 3px solid #9b5cff;
  --th-bg: #232a31;
  --th-fg: #c9d0d6;
  --th-border: 1px solid #4a555c;
  --row-hover-bg: #2a2440;
  --row-stripe-bg: #1f262c;
  --rhead-weight: 600;
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: color-mix(in srgb, var(--topbar-fg) 18%, transparent);
  --topbar-active-fg: #ffffff;
  --topbar-input-bg: color-mix(in srgb, var(--topbar-fg) 12%, transparent);
  --topbar-input-border: color-mix(in srgb, var(--topbar-fg) 28%, transparent);
  --topbar-input-fg: var(--topbar-fg-muted);
  --topbar-toggle-border: color-mix(in srgb, var(--topbar-fg) 40%, transparent);
  --topbar-toggle-fg: var(--topbar-fg);
}

/* 財經電視深藍金線：CNBC Markets */
:root[data-skin='broadcastnavy'] {
  color-scheme: light;
  --font-ui: 'Inter Tight', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-ui);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 700;
  --display-style: normal;
  --display-tracking: 0.01em;
  --display-transform: uppercase;
  --radius-sm: 2px;
  --radius: 2px;
  --radius-lg: 2px;
  --radius-pill: 2px;
  --tab-radius: 0px;
  --card-radius: 0px;
  --th-weight: 600;
  --th-transform: uppercase;
  --th-tracking: 0.04em;
  --density: 0.95;
  --topbar-h: 56px;
  --topbar-blur: 0px;
  --paper: #f8f8f8;
  --surface: #ffffff;
  --surface-2: #eef0f3;
  --surface-3: #e1e4e9;
  --line: #e1e1e1;
  --line-strong: #b5b5b5;
  --ink: #111111;
  --ink-2: #4a4a4a;
  --muted: #696969;
  --heading: #002f6c;
  --brand: #002f6c;
  --brand-2: #3860be;
  --brand-soft: rgba(0, 47, 108, 0.08);
  --on-brand: #ffffff;
  --up: #ce2b2b;
  --down: #007c51;
  --flat: #696969;
  --warn: #9a5200;
  --chart: #002f6c;
  --chart-fill: rgba(0, 47, 108, 0.08);
  --focus: #002f6c;
  --shadow-sm: none;
  --shadow-md: 0 8px 24px -14px rgba(0, 30, 90, 0.35);
  --overlay: rgba(17, 17, 17, 0.3);
  --heat-ink-light: #111111;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #f0d3d3;
  --heat-up-2: #e4a9a9;
  --heat-up-3: #d67373;
  --heat-up-4: #cf3d3d;
  --heat-up-5: #bb2c2c;
  --heat-up-6: #9d2323;
  --heat-up-7: #811b1b;
  --heat-down-1: #b1e5d3;
  --heat-down-2: #5ccba5;
  --heat-down-3: #2fa37b;
  --heat-down-4: #208260;
  --heat-down-5: #1a7053;
  --heat-down-6: #155d44;
  --heat-down-7: #0f4c37;
  --heat-flat: #e1e4e9;
  --ma-5: #b8860b;
  --ma-10: #2f6fdf;
  --ma-20: #9b3fd0;
  --ma-60: #0a86b0;
  --ma-120: #c2339a;
  --ma-240: #6e6e6e;
  --accent: #fcb700;
  --link: #002f6c;
  --topbar-bg: #001e5a;
  --topbar-fg: #ffffff;
  --topbar-fg-muted: #c9d3e6;
  --topbar-border: 3px solid #fcb700;
  --topbar-shadow: none;
  --tab-fg: #4a4a4a;
  --tab-hover-bg: #eef0f3;
  --tab-active-bg: transparent;
  --tab-active-fg: #002f6c;
  --tab-bar: 3px solid #fcb700;
  --card-border: 1px solid #e1e1e1;
  --card-top-border: 3px solid #002f6c;
  --th-bg: #eef1f5;
  --th-fg: #595959;
  --th-border: 1px dashed #8b8b8b;
  --row-hover-bg: #e1e7f0;
  --row-stripe-bg: #eef1f5;
  --rhead-weight: var(--th-weight);
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-fg: #ffffff;
  --topbar-input-bg: color-mix(in srgb, var(--topbar-fg) 12%, transparent);
  --topbar-input-border: color-mix(in srgb, var(--topbar-fg) 28%, transparent);
  --topbar-input-fg: var(--topbar-fg-muted);
  --topbar-toggle-border: color-mix(in srgb, var(--topbar-fg) 40%, transparent);
  --topbar-toggle-fg: var(--topbar-fg);
}
@media (prefers-color-scheme: dark) {
  :root[data-skin='broadcastnavy']:not([data-theme='light']) {
    color-scheme: dark;
    --font-ui: 'Inter Tight', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
    --font-display: var(--font-ui);
    --font-num: var(--font-ui);
    --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
    --display-weight: 700;
    --display-style: normal;
    --display-tracking: 0.01em;
    --display-transform: uppercase;
    --radius-sm: 2px;
    --radius: 2px;
    --radius-lg: 2px;
    --radius-pill: 2px;
    --tab-radius: 0px;
    --card-radius: 0px;
    --th-weight: 600;
    --th-transform: uppercase;
    --th-tracking: 0.04em;
    --density: 0.95;
    --topbar-h: 56px;
    --topbar-blur: 0px;
    --paper: #040e22;
    --surface: #09193a;
    --surface-2: #0f2350;
    --surface-3: #162f66;
    --line: #1c3568;
    --line-strong: #2a4a85;
    --ink: #f2f5fa;
    --ink-2: #c6d0e2;
    --muted: #93a3c0;
    --heading: #f2f5fa;
    --brand: #fcb700;
    --brand-2: #8db4ff;
    --brand-soft: rgba(252, 183, 0, 0.16);
    --on-brand: #001e5a;
    --up: #ff6b6b;
    --down: #35d09a;
    --flat: #93a3c0;
    --warn: #f0a35e;
    --chart: #8db4ff;
    --chart-fill: rgba(141, 180, 255, 0.14);
    --focus: #fcb700;
    --shadow-sm: none;
    --shadow-md: 0 8px 24px -12px rgba(0, 0, 0, 0.7);
    --overlay: rgba(0, 0, 0, 0.6);
    --heat-ink-light: #f5f5f5;
    --heat-ink-dark: #ffffff;
    --heat-up-1: #331313;
    --heat-up-2: #501b1b;
    --heat-up-3: #6f2020;
    --heat-up-4: #8d2323;
    --heat-up-5: #a92828;
    --heat-up-6: #be2a2a;
    --heat-up-7: #d32b2b;
    --heat-down-1: #0c2019;
    --heat-down-2: #113327;
    --heat-down-3: #144433;
    --heat-down-4: #15553e;
    --heat-down-5: #18654a;
    --heat-down-6: #197153;
    --heat-down-7: #1a7d5b;
    --heat-flat: #162f66;
    --ma-5: #ffc233;
    --ma-10: #6ea3ff;
    --ma-20: #c58cf0;
    --ma-60: #37c0e8;
    --ma-120: #f06ac8;
    --ma-240: #b8b8b8;
    --accent: #fcb700;
    --link: #8db4ff;
    --topbar-bg: #001e5a;
    --topbar-fg: #ffffff;
    --topbar-fg-muted: #c9d3e6;
    --topbar-border: 3px solid #fcb700;
    --topbar-shadow: none;
    --tab-fg: #c6d0e2;
    --tab-hover-bg: #0f2350;
    --tab-active-bg: transparent;
    --tab-active-fg: #ffffff;
    --tab-bar: 3px solid #fcb700;
    --card-border: 1px solid #1c3568;
    --card-top-border: 3px solid #fcb700;
    --th-bg: #0b1f45;
    --th-fg: #93a3c0;
    --th-border: 1px dashed #2a4a85;
    --row-hover-bg: #0f2350;
    --row-stripe-bg: #071530;
    --rhead-weight: var(--th-weight);
    --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
    --topbar-active-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
    --topbar-active-fg: #ffffff;
    --topbar-input-bg: var(--surface);
    --topbar-input-border: var(--line);
    --topbar-input-fg: var(--muted);
    --topbar-toggle-border: var(--line-strong);
    --topbar-toggle-fg: var(--ink-2);
  }
}
:root[data-skin='broadcastnavy'][data-theme='dark'] {
  color-scheme: dark;
  --font-ui: 'Inter Tight', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-ui);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 700;
  --display-style: normal;
  --display-tracking: 0.01em;
  --display-transform: uppercase;
  --radius-sm: 2px;
  --radius: 2px;
  --radius-lg: 2px;
  --radius-pill: 2px;
  --tab-radius: 0px;
  --card-radius: 0px;
  --th-weight: 600;
  --th-transform: uppercase;
  --th-tracking: 0.04em;
  --density: 0.95;
  --topbar-h: 56px;
  --topbar-blur: 0px;
  --paper: #040e22;
  --surface: #09193a;
  --surface-2: #0f2350;
  --surface-3: #162f66;
  --line: #1c3568;
  --line-strong: #2a4a85;
  --ink: #f2f5fa;
  --ink-2: #c6d0e2;
  --muted: #93a3c0;
  --heading: #f2f5fa;
  --brand: #fcb700;
  --brand-2: #8db4ff;
  --brand-soft: rgba(252, 183, 0, 0.16);
  --on-brand: #001e5a;
  --up: #ff6b6b;
  --down: #35d09a;
  --flat: #93a3c0;
  --warn: #f0a35e;
  --chart: #8db4ff;
  --chart-fill: rgba(141, 180, 255, 0.14);
  --focus: #fcb700;
  --shadow-sm: none;
  --shadow-md: 0 8px 24px -12px rgba(0, 0, 0, 0.7);
  --overlay: rgba(0, 0, 0, 0.6);
  --heat-ink-light: #f5f5f5;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #331313;
  --heat-up-2: #501b1b;
  --heat-up-3: #6f2020;
  --heat-up-4: #8d2323;
  --heat-up-5: #a92828;
  --heat-up-6: #be2a2a;
  --heat-up-7: #d32b2b;
  --heat-down-1: #0c2019;
  --heat-down-2: #113327;
  --heat-down-3: #144433;
  --heat-down-4: #15553e;
  --heat-down-5: #18654a;
  --heat-down-6: #197153;
  --heat-down-7: #1a7d5b;
  --heat-flat: #162f66;
  --ma-5: #ffc233;
  --ma-10: #6ea3ff;
  --ma-20: #c58cf0;
  --ma-60: #37c0e8;
  --ma-120: #f06ac8;
  --ma-240: #b8b8b8;
  --accent: #fcb700;
  --link: #8db4ff;
  --topbar-bg: #001e5a;
  --topbar-fg: #ffffff;
  --topbar-fg-muted: #c9d3e6;
  --topbar-border: 3px solid #fcb700;
  --topbar-shadow: none;
  --tab-fg: #c6d0e2;
  --tab-hover-bg: #0f2350;
  --tab-active-bg: transparent;
  --tab-active-fg: #ffffff;
  --tab-bar: 3px solid #fcb700;
  --card-border: 1px solid #1c3568;
  --card-top-border: 3px solid #fcb700;
  --th-bg: #0b1f45;
  --th-fg: #93a3c0;
  --th-border: 1px dashed #2a4a85;
  --row-hover-bg: #0f2350;
  --row-stripe-bg: #071530;
  --rhead-weight: var(--th-weight);
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-fg: #ffffff;
  --topbar-input-bg: var(--surface);
  --topbar-input-border: var(--line);
  --topbar-input-fg: var(--muted);
  --topbar-toggle-border: var(--line-strong);
  --topbar-toggle-fg: var(--ink-2);
}

/* 暖米色橘字深邊欄：Seeking Alpha */
:root[data-skin='warmorange'] {
  color-scheme: light;
  --font-ui: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-ui);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 700;
  --display-style: normal;
  --display-tracking: -0.01em;
  --display-transform: none;
  --radius-sm: 6px;
  --radius: 8px;
  --radius-lg: 10px;
  --radius-pill: 999px;
  --tab-radius: 8px;
  --card-radius: 10px;
  --th-weight: 700;
  --th-transform: none;
  --th-tracking: 0;
  --density: 1;
  --topbar-h: 60px;
  --topbar-blur: 0px;
  --paper: #f5f2f1;
  --surface: #ffffff;
  --surface-2: #f2f4f7;
  --surface-3: #e6e2e0;
  --line: #e4e0de;
  --line-strong: #c9c3bf;
  --ink: #04080b;
  --ink-2: #434348;
  --muted: #656565;
  --heading: #04080b;
  --brand: #a85d00;
  --brand-2: #2867db;
  --brand-soft: rgba(168, 93, 0, 0.08);
  --on-brand: #ffffff;
  --up: #bf3030;
  --down: #1b7a3d;
  --flat: #656565;
  --warn: #8a4b00;
  --chart: #414a5f;
  --chart-fill: rgba(65, 74, 95, 0.08);
  --focus: #a85d00;
  --shadow-sm: none;
  --shadow-md: 0 8px 24px -14px rgba(4, 8, 11, 0.3);
  --overlay: rgba(4, 8, 11, 0.3);
  --heat-ink-light: #04080b;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #f0d3d3;
  --heat-up-2: #e4a9a9;
  --heat-up-3: #d67373;
  --heat-up-4: #cf3d3d;
  --heat-up-5: #bb2c2c;
  --heat-up-6: #9d2323;
  --heat-up-7: #811b1b;
  --heat-down-1: #b2e5c5;
  --heat-down-2: #62cd88;
  --heat-down-3: #30a55a;
  --heat-down-4: #218344;
  --heat-down-5: #1b723a;
  --heat-down-6: #155e2f;
  --heat-down-7: #104d25;
  --heat-flat: #e6e2e0;
  --ma-5: #b8860b;
  --ma-10: #2f6fdf;
  --ma-20: #9b3fd0;
  --ma-60: #0a86b0;
  --ma-120: #c2339a;
  --ma-240: #6e6e6e;
  --accent: #ff9a1f;
  --link: #2867db;
  --topbar-bg: #04080b;
  --topbar-fg: #ffffff;
  --topbar-fg-muted: #c8ccd2;
  --topbar-border: 0 solid transparent;
  --topbar-shadow: none;
  --tab-fg: #434348;
  --tab-hover-bg: #ebe7e5;
  --tab-active-bg: #a85d00;
  --tab-active-fg: #ffffff;
  --tab-bar: 0 solid transparent;
  --card-border: 0 solid transparent;
  --card-top-border: var(--card-border);
  --th-bg: transparent;
  --th-fg: var(--muted);
  --th-border: 1px solid #dbdbdb;
  --row-hover-bg: #f2f4f7;
  --row-stripe-bg: transparent;
  --rhead-weight: var(--th-weight);
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: #a85d00;
  --topbar-active-fg: #ffffff;
  --topbar-input-bg: color-mix(in srgb, var(--topbar-fg) 12%, transparent);
  --topbar-input-border: color-mix(in srgb, var(--topbar-fg) 28%, transparent);
  --topbar-input-fg: var(--topbar-fg-muted);
  --topbar-toggle-border: color-mix(in srgb, var(--topbar-fg) 40%, transparent);
  --topbar-toggle-fg: var(--topbar-fg);
}
@media (prefers-color-scheme: dark) {
  :root[data-skin='warmorange']:not([data-theme='light']) {
    color-scheme: dark;
    --font-ui: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
    --font-display: var(--font-ui);
    --font-num: var(--font-ui);
    --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
    --display-weight: 700;
    --display-style: normal;
    --display-tracking: -0.01em;
    --display-transform: none;
    --radius-sm: 6px;
    --radius: 8px;
    --radius-lg: 10px;
    --radius-pill: 999px;
    --tab-radius: 8px;
    --card-radius: 10px;
    --th-weight: 700;
    --th-transform: none;
    --th-tracking: 0;
    --density: 1;
    --topbar-h: 60px;
    --topbar-blur: 0px;
    --paper: #04080b;
    --surface: #0e141a;
    --surface-2: #171f27;
    --surface-3: #252e3a;
    --line: #242d37;
    --line-strong: #3a4553;
    --ink: #f5f2f1;
    --ink-2: #cfcac7;
    --muted: #9ea4ae;
    --heading: #f5f2f1;
    --brand: #ff9a1f;
    --brand-2: #6f9cf0;
    --brand-soft: rgba(255, 114, 0, 0.16);
    --on-brand: #04080b;
    --up: #ff6b6b;
    --down: #3fbf7f;
    --flat: #9ea4ae;
    --warn: #f0a35e;
    --chart: #b9c3d6;
    --chart-fill: rgba(185, 195, 214, 0.14);
    --focus: #ff9a1f;
    --shadow-sm: none;
    --shadow-md: 0 8px 24px -12px rgba(0, 0, 0, 0.75);
    --overlay: rgba(0, 0, 0, 0.6);
    --heat-ink-light: #f5f5f5;
    --heat-ink-dark: #ffffff;
    --heat-up-1: #331313;
    --heat-up-2: #501b1b;
    --heat-up-3: #6f2020;
    --heat-up-4: #8d2323;
    --heat-up-5: #a92828;
    --heat-up-6: #be2a2a;
    --heat-up-7: #d32b2b;
    --heat-down-1: #0c2016;
    --heat-down-2: #113322;
    --heat-down-3: #14452c;
    --heat-down-4: #155535;
    --heat-down-5: #18653f;
    --heat-down-6: #197246;
    --heat-down-7: #1a7e4c;
    --heat-flat: #252e3a;
    --ma-5: #ffc233;
    --ma-10: #6ea3ff;
    --ma-20: #c58cf0;
    --ma-60: #37c0e8;
    --ma-120: #f06ac8;
    --ma-240: #b8b8b8;
    --accent: #ff9a1f;
    --link: #7aa8ff;
    --topbar-bg: #04080b;
    --topbar-fg: #ffffff;
    --topbar-fg-muted: #c8ccd2;
    --topbar-border: 1px solid #242d37;
    --topbar-shadow: none;
    --tab-fg: #cfcac7;
    --tab-hover-bg: #171f27;
    --tab-active-bg: #ff9a1f;
    --tab-active-fg: #04080b;
    --tab-bar: 0 solid transparent;
    --card-border: 1px solid #242d37;
    --card-top-border: 3px solid #ff9a1f;
    --th-bg: transparent;
    --th-fg: var(--muted);
    --th-border: 1px solid #242d37;
    --row-hover-bg: #171f27;
    --row-stripe-bg: transparent;
    --rhead-weight: var(--th-weight);
    --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
    --topbar-active-bg: #ff9a1f;
    --topbar-active-fg: #04080b;
    --topbar-input-bg: var(--surface);
    --topbar-input-border: var(--line);
    --topbar-input-fg: var(--muted);
    --topbar-toggle-border: var(--line-strong);
    --topbar-toggle-fg: var(--ink-2);
  }
}
:root[data-skin='warmorange'][data-theme='dark'] {
  color-scheme: dark;
  --font-ui: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-ui);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 700;
  --display-style: normal;
  --display-tracking: -0.01em;
  --display-transform: none;
  --radius-sm: 6px;
  --radius: 8px;
  --radius-lg: 10px;
  --radius-pill: 999px;
  --tab-radius: 8px;
  --card-radius: 10px;
  --th-weight: 700;
  --th-transform: none;
  --th-tracking: 0;
  --density: 1;
  --topbar-h: 60px;
  --topbar-blur: 0px;
  --paper: #04080b;
  --surface: #0e141a;
  --surface-2: #171f27;
  --surface-3: #252e3a;
  --line: #242d37;
  --line-strong: #3a4553;
  --ink: #f5f2f1;
  --ink-2: #cfcac7;
  --muted: #9ea4ae;
  --heading: #f5f2f1;
  --brand: #ff9a1f;
  --brand-2: #6f9cf0;
  --brand-soft: rgba(255, 114, 0, 0.16);
  --on-brand: #04080b;
  --up: #ff6b6b;
  --down: #3fbf7f;
  --flat: #9ea4ae;
  --warn: #f0a35e;
  --chart: #b9c3d6;
  --chart-fill: rgba(185, 195, 214, 0.14);
  --focus: #ff9a1f;
  --shadow-sm: none;
  --shadow-md: 0 8px 24px -12px rgba(0, 0, 0, 0.75);
  --overlay: rgba(0, 0, 0, 0.6);
  --heat-ink-light: #f5f5f5;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #331313;
  --heat-up-2: #501b1b;
  --heat-up-3: #6f2020;
  --heat-up-4: #8d2323;
  --heat-up-5: #a92828;
  --heat-up-6: #be2a2a;
  --heat-up-7: #d32b2b;
  --heat-down-1: #0c2016;
  --heat-down-2: #113322;
  --heat-down-3: #14452c;
  --heat-down-4: #155535;
  --heat-down-5: #18653f;
  --heat-down-6: #197246;
  --heat-down-7: #1a7e4c;
  --heat-flat: #252e3a;
  --ma-5: #ffc233;
  --ma-10: #6ea3ff;
  --ma-20: #c58cf0;
  --ma-60: #37c0e8;
  --ma-120: #f06ac8;
  --ma-240: #b8b8b8;
  --accent: #ff9a1f;
  --link: #7aa8ff;
  --topbar-bg: #04080b;
  --topbar-fg: #ffffff;
  --topbar-fg-muted: #c8ccd2;
  --topbar-border: 1px solid #242d37;
  --topbar-shadow: none;
  --tab-fg: #cfcac7;
  --tab-hover-bg: #171f27;
  --tab-active-bg: #ff9a1f;
  --tab-active-fg: #04080b;
  --tab-bar: 0 solid transparent;
  --card-border: 1px solid #242d37;
  --card-top-border: 3px solid #ff9a1f;
  --th-bg: transparent;
  --th-fg: var(--muted);
  --th-border: 1px solid #242d37;
  --row-hover-bg: #171f27;
  --row-stripe-bg: transparent;
  --rhead-weight: var(--th-weight);
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: #ff9a1f;
  --topbar-active-fg: #04080b;
  --topbar-input-bg: var(--surface);
  --topbar-input-border: var(--line);
  --topbar-input-fg: var(--muted);
  --topbar-toggle-border: var(--line-strong);
  --topbar-toggle-fg: var(--ink-2);
}

/* 老牌入口站炭灰金：MoneyDJ 理財網 */
:root[data-skin='portalgold'] {
  color-scheme: light;
  --font-ui: Verdana, 'Segoe UI', 'Noto Sans TC', 'Microsoft JhengHei', 'PingFang TC', sans-serif;
  --font-display: Arial, 'Noto Sans TC', 'Microsoft JhengHei', sans-serif;
  --font-num: Verdana, 'Segoe UI', 'Noto Sans TC', sans-serif;
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 700;
  --display-style: normal;
  --display-tracking: 0;
  --display-transform: none;
  --radius-sm: 2px;
  --radius: 3px;
  --radius-lg: 4px;
  --radius-pill: 3px;
  --tab-radius: 3px;
  --card-radius: 4px;
  --th-weight: 700;
  --th-transform: none;
  --th-tracking: 0;
  --density: 0.85;
  --topbar-h: 44px;
  --topbar-blur: 0px;
  --paper: #f1f5f7;
  --surface: #ffffff;
  --surface-2: #f7f9fb;
  --surface-3: #e3eaee;
  --line: #d0dfe6;
  --line-strong: #bcbcbc;
  --ink: #262626;
  --ink-2: #404040;
  --muted: #626262;
  --heading: #0066af;
  --brand: #3a3a3a;
  --brand-2: #0099ff;
  --brand-soft: rgba(58, 58, 58, 0.08);
  --on-brand: #ffffff;
  --up: #d02a2c;
  --down: #0b7a32;
  --flat: #626262;
  --warn: #7d4900;
  --chart: #0066af;
  --chart-fill: rgba(0, 102, 175, 0.08);
  --focus: #3a3a3a;
  --shadow-sm: none;
  --shadow-md: 0 6px 18px -10px rgba(0, 0, 0, 0.35);
  --overlay: rgba(38, 38, 38, 0.3);
  --heat-ink-light: #262626;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #f0d3d4;
  --heat-up-2: #e4a9aa;
  --heat-up-3: #d67375;
  --heat-up-4: #cf3d3f;
  --heat-up-5: #bb2c2d;
  --heat-up-6: #9d2324;
  --heat-up-7: #811b1c;
  --heat-down-1: #b2e5c4;
  --heat-down-2: #62cd87;
  --heat-down-3: #30a559;
  --heat-down-4: #218344;
  --heat-down-5: #1b7239;
  --heat-down-6: #155e2f;
  --heat-down-7: #104d25;
  --heat-flat: #e3eaee;
  --ma-5: #b8860b;
  --ma-10: #2f6fdf;
  --ma-20: #9b3fd0;
  --ma-60: #0a86b0;
  --ma-120: #c2339a;
  --ma-240: #6e6e6e;
  --accent: #ffcc33;
  --link: #0066af;
  --topbar-bg: #3a3a3a;
  --topbar-fg: #ffffff;
  --topbar-fg-muted: #d7d7d7;
  --topbar-border: 3px solid #ffcc33;
  --topbar-shadow: none;
  --tab-fg: #404040;
  --tab-hover-bg: #e3eaee;
  --tab-active-bg: #ffcc33;
  --tab-active-fg: #262626;
  --tab-bar: 0 solid transparent;
  --card-border: 1px solid #d0dfe6;
  --card-top-border: 3px solid #ffcc33;
  --th-bg: #e3eaee;
  --th-fg: #262626;
  --th-border: 1px solid #bcbcbc;
  --row-hover-bg: #f1f5f7;
  --row-stripe-bg: #f7f9fb;
  --rhead-weight: var(--th-weight);
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: #ffcc33;
  --topbar-active-fg: #262626;
  --topbar-input-bg: color-mix(in srgb, var(--topbar-fg) 12%, transparent);
  --topbar-input-border: color-mix(in srgb, var(--topbar-fg) 28%, transparent);
  --topbar-input-fg: var(--topbar-fg-muted);
  --topbar-toggle-border: color-mix(in srgb, var(--topbar-fg) 40%, transparent);
  --topbar-toggle-fg: var(--topbar-fg);
}
@media (prefers-color-scheme: dark) {
  :root[data-skin='portalgold']:not([data-theme='light']) {
    color-scheme: dark;
    --font-ui: Verdana, 'Segoe UI', 'Noto Sans TC', 'Microsoft JhengHei', 'PingFang TC', sans-serif;
    --font-display: Arial, 'Noto Sans TC', 'Microsoft JhengHei', sans-serif;
    --font-num: Verdana, 'Segoe UI', 'Noto Sans TC', sans-serif;
    --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
    --display-weight: 700;
    --display-style: normal;
    --display-tracking: 0;
    --display-transform: none;
    --radius-sm: 2px;
    --radius: 3px;
    --radius-lg: 4px;
    --radius-pill: 3px;
    --tab-radius: 3px;
    --card-radius: 4px;
    --th-weight: 700;
    --th-transform: none;
    --th-tracking: 0;
    --density: 0.85;
    --topbar-h: 44px;
    --topbar-blur: 0px;
    --paper: #1b1d1f;
    --surface: #26292c;
    --surface-2: #2f3337;
    --surface-3: #3a3a3a;
    --line: #3e4347;
    --line-strong: #555b60;
    --ink: #ececec;
    --ink-2: #c4c8cc;
    --muted: #a0a6ab;
    --heading: #66b8ff;
    --brand: #ffcc33;
    --brand-2: #4db3ff;
    --brand-soft: rgba(255, 204, 51, 0.16);
    --on-brand: #262626;
    --up: #ff6b6b;
    --down: #3fbf7f;
    --flat: #a0a6ab;
    --warn: #f0a35e;
    --chart: #66b8ff;
    --chart-fill: rgba(102, 184, 255, 0.14);
    --focus: #ffcc33;
    --shadow-sm: none;
    --shadow-md: 0 6px 18px -8px rgba(0, 0, 0, 0.7);
    --overlay: rgba(0, 0, 0, 0.6);
    --heat-ink-light: #f5f5f5;
    --heat-ink-dark: #ffffff;
    --heat-up-1: #331313;
    --heat-up-2: #501b1b;
    --heat-up-3: #6f2020;
    --heat-up-4: #8d2323;
    --heat-up-5: #a92828;
    --heat-up-6: #be2a2a;
    --heat-up-7: #d32b2b;
    --heat-down-1: #0c2016;
    --heat-down-2: #113322;
    --heat-down-3: #14452c;
    --heat-down-4: #155535;
    --heat-down-5: #18653f;
    --heat-down-6: #197246;
    --heat-down-7: #1a7e4c;
    --heat-flat: #3a3a3a;
    --ma-5: #ffc233;
    --ma-10: #6ea3ff;
    --ma-20: #c58cf0;
    --ma-60: #37c0e8;
    --ma-120: #f06ac8;
    --ma-240: #b8b8b8;
    --accent: #ffcc33;
    --link: #66b8ff;
    --topbar-bg: #141516;
    --topbar-fg: #ffffff;
    --topbar-fg-muted: #c4c8cc;
    --topbar-border: 3px solid #ffcc33;
    --topbar-shadow: none;
    --tab-fg: #c4c8cc;
    --tab-hover-bg: #3a3a3a;
    --tab-active-bg: #ffcc33;
    --tab-active-fg: #262626;
    --tab-bar: 0 solid transparent;
    --card-border: 1px solid #3e4347;
    --card-top-border: 3px solid #ffcc33;
    --th-bg: #262a2d;
    --th-fg: #ececec;
    --th-border: 1px solid #555b60;
    --row-hover-bg: #2f3337;
    --row-stripe-bg: #222528;
    --rhead-weight: var(--th-weight);
    --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
    --topbar-active-bg: #ffcc33;
    --topbar-active-fg: #262626;
    --topbar-input-bg: var(--surface);
    --topbar-input-border: var(--line);
    --topbar-input-fg: var(--muted);
    --topbar-toggle-border: var(--line-strong);
    --topbar-toggle-fg: var(--ink-2);
  }
}
:root[data-skin='portalgold'][data-theme='dark'] {
  color-scheme: dark;
  --font-ui: Verdana, 'Segoe UI', 'Noto Sans TC', 'Microsoft JhengHei', 'PingFang TC', sans-serif;
  --font-display: Arial, 'Noto Sans TC', 'Microsoft JhengHei', sans-serif;
  --font-num: Verdana, 'Segoe UI', 'Noto Sans TC', sans-serif;
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 700;
  --display-style: normal;
  --display-tracking: 0;
  --display-transform: none;
  --radius-sm: 2px;
  --radius: 3px;
  --radius-lg: 4px;
  --radius-pill: 3px;
  --tab-radius: 3px;
  --card-radius: 4px;
  --th-weight: 700;
  --th-transform: none;
  --th-tracking: 0;
  --density: 0.85;
  --topbar-h: 44px;
  --topbar-blur: 0px;
  --paper: #1b1d1f;
  --surface: #26292c;
  --surface-2: #2f3337;
  --surface-3: #3a3a3a;
  --line: #3e4347;
  --line-strong: #555b60;
  --ink: #ececec;
  --ink-2: #c4c8cc;
  --muted: #a0a6ab;
  --heading: #66b8ff;
  --brand: #ffcc33;
  --brand-2: #4db3ff;
  --brand-soft: rgba(255, 204, 51, 0.16);
  --on-brand: #262626;
  --up: #ff6b6b;
  --down: #3fbf7f;
  --flat: #a0a6ab;
  --warn: #f0a35e;
  --chart: #66b8ff;
  --chart-fill: rgba(102, 184, 255, 0.14);
  --focus: #ffcc33;
  --shadow-sm: none;
  --shadow-md: 0 6px 18px -8px rgba(0, 0, 0, 0.7);
  --overlay: rgba(0, 0, 0, 0.6);
  --heat-ink-light: #f5f5f5;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #331313;
  --heat-up-2: #501b1b;
  --heat-up-3: #6f2020;
  --heat-up-4: #8d2323;
  --heat-up-5: #a92828;
  --heat-up-6: #be2a2a;
  --heat-up-7: #d32b2b;
  --heat-down-1: #0c2016;
  --heat-down-2: #113322;
  --heat-down-3: #14452c;
  --heat-down-4: #155535;
  --heat-down-5: #18653f;
  --heat-down-6: #197246;
  --heat-down-7: #1a7e4c;
  --heat-flat: #3a3a3a;
  --ma-5: #ffc233;
  --ma-10: #6ea3ff;
  --ma-20: #c58cf0;
  --ma-60: #37c0e8;
  --ma-120: #f06ac8;
  --ma-240: #b8b8b8;
  --accent: #ffcc33;
  --link: #66b8ff;
  --topbar-bg: #141516;
  --topbar-fg: #ffffff;
  --topbar-fg-muted: #c4c8cc;
  --topbar-border: 3px solid #ffcc33;
  --topbar-shadow: none;
  --tab-fg: #c4c8cc;
  --tab-hover-bg: #3a3a3a;
  --tab-active-bg: #ffcc33;
  --tab-active-fg: #262626;
  --tab-bar: 0 solid transparent;
  --card-border: 1px solid #3e4347;
  --card-top-border: 3px solid #ffcc33;
  --th-bg: #262a2d;
  --th-fg: #ececec;
  --th-border: 1px solid #555b60;
  --row-hover-bg: #2f3337;
  --row-stripe-bg: #222528;
  --rhead-weight: var(--th-weight);
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: #ffcc33;
  --topbar-active-fg: #262626;
  --topbar-input-bg: var(--surface);
  --topbar-input-border: var(--line);
  --topbar-input-fg: var(--muted);
  --topbar-toggle-border: var(--line-strong);
  --topbar-toggle-fg: var(--ink-2);
}

/* 交易所官方藍：臺灣證券交易所 */
:root[data-skin='exchangenavy'] {
  color-scheme: light;
  --font-ui: Helvetica, Arial, 'Noto Sans TC', 'Microsoft JhengHei', 'PingFang TC', sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-ui);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 700;
  --display-style: normal;
  --display-tracking: 0;
  --display-transform: none;
  --radius-sm: 0px;
  --radius: 0px;
  --radius-lg: 0px;
  --radius-pill: 2px;
  --tab-radius: 0px;
  --card-radius: 0px;
  --th-weight: 700;
  --th-transform: none;
  --th-tracking: 0;
  --density: 0.9;
  --topbar-h: 48px;
  --topbar-blur: 0px;
  --paper: #eaeaea;
  --surface: #ffffff;
  --surface-2: #f0f0f0;
  --surface-3: #dde3ea;
  --line: #dddddd;
  --line-strong: #b9c4d0;
  --ink: #111111;
  --ink-2: #3d3d3d;
  --muted: #5a5a5a;
  --heading: #004f88;
  --brand: #004f88;
  --brand-2: #24aadc;
  --brand-soft: rgba(0, 79, 136, 0.08);
  --on-brand: #ffffff;
  --up: #cf1717;
  --down: #0a7839;
  --flat: #5a5a5a;
  --warn: #8a4b00;
  --chart: #004f88;
  --chart-fill: rgba(0, 79, 136, 0.08);
  --focus: #004f88;
  --shadow-sm: none;
  --shadow-md: 0 6px 18px -10px rgba(0, 54, 133, 0.35);
  --overlay: rgba(17, 17, 17, 0.3);
  --heat-ink-light: #111111;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #f0d3d3;
  --heat-up-2: #e4a9a9;
  --heat-up-3: #d67373;
  --heat-up-4: #cf3d3d;
  --heat-up-5: #bb2c2c;
  --heat-up-6: #9d2323;
  --heat-up-7: #811b1b;
  --heat-down-1: #b2e5c8;
  --heat-down-2: #5fcd8e;
  --heat-down-3: #2fa461;
  --heat-down-4: #21824a;
  --heat-down-5: #1b7240;
  --heat-down-6: #155e34;
  --heat-down-7: #104d2a;
  --heat-flat: #dde3ea;
  --ma-5: #b8860b;
  --ma-10: #2f6fdf;
  --ma-20: #9b3fd0;
  --ma-60: #0a86b0;
  --ma-120: #c2339a;
  --ma-240: #6e6e6e;
  --accent: #0e7cb6;
  --link: #003685;
  --topbar-bg: linear-gradient(180deg, #0e7cb6 0%, #0161a0 100%);
  --topbar-fg: #ffffff;
  --topbar-fg-muted: #ffffff;
  --topbar-border: 0 solid transparent;
  --topbar-shadow: none;
  --tab-fg: #3d3d3d;
  --tab-hover-bg: #dde3ea;
  --tab-active-bg: #004f88;
  --tab-active-fg: #ffffff;
  --tab-bar: 0 solid transparent;
  --card-border: 1px solid #d4d4d4;
  --card-top-border: var(--card-border);
  --th-bg: #eeeeee;
  --th-fg: #004f88;
  --th-border: 2px solid #004f88;
  --row-hover-bg: #e8f0f8;
  --row-stripe-bg: transparent;
  --rhead-weight: var(--th-weight);
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: #004f88;
  --topbar-active-fg: #ffffff;
  --topbar-input-bg: color-mix(in srgb, var(--topbar-fg) 12%, transparent);
  --topbar-input-border: color-mix(in srgb, var(--topbar-fg) 28%, transparent);
  --topbar-input-fg: var(--topbar-fg-muted);
  --topbar-toggle-border: color-mix(in srgb, var(--topbar-fg) 40%, transparent);
  --topbar-toggle-fg: var(--topbar-fg);
}
@media (prefers-color-scheme: dark) {
  :root[data-skin='exchangenavy']:not([data-theme='light']) {
    color-scheme: dark;
    --font-ui: Helvetica, Arial, 'Noto Sans TC', 'Microsoft JhengHei', 'PingFang TC', sans-serif;
    --font-display: var(--font-ui);
    --font-num: var(--font-ui);
    --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
    --display-weight: 700;
    --display-style: normal;
    --display-tracking: 0;
    --display-transform: none;
    --radius-sm: 0px;
    --radius: 0px;
    --radius-lg: 0px;
    --radius-pill: 2px;
    --tab-radius: 0px;
    --card-radius: 0px;
    --th-weight: 700;
    --th-transform: none;
    --th-tracking: 0;
    --density: 0.9;
    --topbar-h: 48px;
    --topbar-blur: 0px;
    --paper: #0a1624;
    --surface: #10233a;
    --surface-2: #163150;
    --surface-3: #1d3f66;
    --line: #24496f;
    --line-strong: #35618f;
    --ink: #e8eef5;
    --ink-2: #c3d0de;
    --muted: #9fb2c6;
    --heading: #7fd0f2;
    --brand: #5cc3ea;
    --brand-2: #24aadc;
    --brand-soft: rgba(92, 195, 234, 0.16);
    --on-brand: #04243d;
    --up: #ff6b6b;
    --down: #35d98a;
    --flat: #9fb2c6;
    --warn: #f0a35e;
    --chart: #5cc3ea;
    --chart-fill: rgba(92, 195, 234, 0.14);
    --focus: #5cc3ea;
    --shadow-sm: none;
    --shadow-md: 0 6px 18px -8px rgba(0, 0, 0, 0.75);
    --overlay: rgba(0, 0, 0, 0.6);
    --heat-ink-light: #f5f5f5;
    --heat-ink-dark: #ffffff;
    --heat-up-1: #331313;
    --heat-up-2: #501b1b;
    --heat-up-3: #6f2020;
    --heat-up-4: #8d2323;
    --heat-up-5: #a92828;
    --heat-up-6: #be2a2a;
    --heat-up-7: #d32b2b;
    --heat-down-1: #0c2015;
    --heat-down-2: #11331f;
    --heat-down-3: #144528;
    --heat-down-4: #155530;
    --heat-down-5: #186639;
    --heat-down-6: #19723e;
    --heat-down-7: #1a7e44;
    --heat-flat: #1d3f66;
    --ma-5: #ffc233;
    --ma-10: #6ea3ff;
    --ma-20: #c58cf0;
    --ma-60: #37c0e8;
    --ma-120: #f06ac8;
    --ma-240: #b8b8b8;
    --accent: #24aadc;
    --link: #7fd0f2;
    --topbar-bg: linear-gradient(180deg, #0b6a9c 0%, #013f6b 100%);
    --topbar-fg: #ffffff;
    --topbar-fg-muted: #e1f1fa;
    --topbar-border: 0 solid transparent;
    --topbar-shadow: none;
    --tab-fg: #c3d0de;
    --tab-hover-bg: #1d3f66;
    --tab-active-bg: #5cc3ea;
    --tab-active-fg: #04243d;
    --tab-bar: 0 solid transparent;
    --card-border: 1px solid #24496f;
    --card-top-border: var(--card-border);
    --th-bg: #163150;
    --th-fg: #7fd0f2;
    --th-border: 2px solid #35618f;
    --row-hover-bg: #163150;
    --row-stripe-bg: transparent;
    --rhead-weight: var(--th-weight);
    --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
    --topbar-active-bg: #5cc3ea;
    --topbar-active-fg: #04243d;
    --topbar-input-bg: var(--surface);
    --topbar-input-border: var(--line);
    --topbar-input-fg: var(--muted);
    --topbar-toggle-border: var(--line-strong);
    --topbar-toggle-fg: var(--ink-2);
  }
}
:root[data-skin='exchangenavy'][data-theme='dark'] {
  color-scheme: dark;
  --font-ui: Helvetica, Arial, 'Noto Sans TC', 'Microsoft JhengHei', 'PingFang TC', sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-ui);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 700;
  --display-style: normal;
  --display-tracking: 0;
  --display-transform: none;
  --radius-sm: 0px;
  --radius: 0px;
  --radius-lg: 0px;
  --radius-pill: 2px;
  --tab-radius: 0px;
  --card-radius: 0px;
  --th-weight: 700;
  --th-transform: none;
  --th-tracking: 0;
  --density: 0.9;
  --topbar-h: 48px;
  --topbar-blur: 0px;
  --paper: #0a1624;
  --surface: #10233a;
  --surface-2: #163150;
  --surface-3: #1d3f66;
  --line: #24496f;
  --line-strong: #35618f;
  --ink: #e8eef5;
  --ink-2: #c3d0de;
  --muted: #9fb2c6;
  --heading: #7fd0f2;
  --brand: #5cc3ea;
  --brand-2: #24aadc;
  --brand-soft: rgba(92, 195, 234, 0.16);
  --on-brand: #04243d;
  --up: #ff6b6b;
  --down: #35d98a;
  --flat: #9fb2c6;
  --warn: #f0a35e;
  --chart: #5cc3ea;
  --chart-fill: rgba(92, 195, 234, 0.14);
  --focus: #5cc3ea;
  --shadow-sm: none;
  --shadow-md: 0 6px 18px -8px rgba(0, 0, 0, 0.75);
  --overlay: rgba(0, 0, 0, 0.6);
  --heat-ink-light: #f5f5f5;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #331313;
  --heat-up-2: #501b1b;
  --heat-up-3: #6f2020;
  --heat-up-4: #8d2323;
  --heat-up-5: #a92828;
  --heat-up-6: #be2a2a;
  --heat-up-7: #d32b2b;
  --heat-down-1: #0c2015;
  --heat-down-2: #11331f;
  --heat-down-3: #144528;
  --heat-down-4: #155530;
  --heat-down-5: #186639;
  --heat-down-6: #19723e;
  --heat-down-7: #1a7e44;
  --heat-flat: #1d3f66;
  --ma-5: #ffc233;
  --ma-10: #6ea3ff;
  --ma-20: #c58cf0;
  --ma-60: #37c0e8;
  --ma-120: #f06ac8;
  --ma-240: #b8b8b8;
  --accent: #24aadc;
  --link: #7fd0f2;
  --topbar-bg: linear-gradient(180deg, #0b6a9c 0%, #013f6b 100%);
  --topbar-fg: #ffffff;
  --topbar-fg-muted: #e1f1fa;
  --topbar-border: 0 solid transparent;
  --topbar-shadow: none;
  --tab-fg: #c3d0de;
  --tab-hover-bg: #1d3f66;
  --tab-active-bg: #5cc3ea;
  --tab-active-fg: #04243d;
  --tab-bar: 0 solid transparent;
  --card-border: 1px solid #24496f;
  --card-top-border: var(--card-border);
  --th-bg: #163150;
  --th-fg: #7fd0f2;
  --th-border: 2px solid #35618f;
  --row-hover-bg: #163150;
  --row-stripe-bg: transparent;
  --rhead-weight: var(--th-weight);
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: #5cc3ea;
  --topbar-active-fg: #04243d;
  --topbar-input-bg: var(--surface);
  --topbar-input-border: var(--line);
  --topbar-input-fg: var(--muted);
  --topbar-toggle-border: var(--line-strong);
  --topbar-toggle-fg: var(--ink-2);
}

/* 清爽冷白青綠線：鉅亨網 Anue */
:root[data-skin='freshteal'] {
  color-scheme: light;
  --font-ui: Lato, 'Inter Tight', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-ui);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 700;
  --display-style: normal;
  --display-tracking: -0.01em;
  --display-transform: none;
  --radius-sm: 4px;
  --radius: 6px;
  --radius-lg: 8px;
  --radius-pill: 999px;
  --tab-radius: 8px;
  --card-radius: 6px;
  --th-weight: 500;
  --th-transform: none;
  --th-tracking: 0;
  --density: 0.95;
  --topbar-h: 56px;
  --topbar-blur: 0px;
  --paper: #f6f8fc;
  --surface: #ffffff;
  --surface-2: #edf1f8;
  --surface-3: #e2e8f1;
  --line: #e2e8f1;
  --line-strong: #c9d3e3;
  --ink: #1b1b1b;
  --ink-2: #383838;
  --muted: #515c69;
  --heading: #1b1b1b;
  --brand: #1d7f92;
  --brand-2: #54b5c6;
  --brand-soft: rgba(29, 127, 146, 0.08);
  --on-brand: #ffffff;
  --up: #c93916;
  --down: #1f7e06;
  --flat: #515c69;
  --warn: #9a5200;
  --chart: #1d7f92;
  --chart-fill: rgba(29, 127, 146, 0.08);
  --focus: #1d7f92;
  --shadow-sm: 0 2px 14px rgba(0, 65, 143, 0.16);
  --shadow-md: 0 10px 28px -12px rgba(0, 65, 143, 0.3);
  --overlay: rgba(27, 27, 27, 0.3);
  --heat-ink-light: #1b1b1b;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #efd5ce;
  --heat-up-2: #e1ac9f;
  --heat-up-3: #d17862;
  --heat-up-4: #c34d31;
  --heat-up-5: #aa4128;
  --heat-up-6: #8f351f;
  --heat-up-7: #752a18;
  --heat-down-1: #bce5b2;
  --heat-down-2: #76cd5f;
  --heat-down-3: #48a42f;
  --heat-down-4: #358221;
  --heat-down-5: #2d721b;
  --heat-down-6: #245e15;
  --heat-down-7: #1c4d10;
  --heat-flat: #e2e8f1;
  --ma-5: #b8860b;
  --ma-10: #2f6fdf;
  --ma-20: #9b3fd0;
  --ma-60: #0a86b0;
  --ma-120: #c2339a;
  --ma-240: #6e6e6e;
  --accent: #54b5c6;
  --link: #177184;
  --topbar-bg: #17717f;
  --topbar-fg: #ffffff;
  --topbar-fg-muted: #e6f4f7;
  --topbar-border: 3px solid #54b5c6;
  --topbar-shadow: none;
  --tab-fg: #383838;
  --tab-hover-bg: #edf1f8;
  --tab-active-bg: #ffffff;
  --tab-active-fg: #17717f;
  --tab-bar: 2px solid #54b5c6;
  --card-border: 1px solid #e2e8f1;
  --card-top-border: 3px solid #54b5c6;
  --th-bg: #dff0f3;
  --th-fg: #35505a;
  --th-border: 1px solid #e2e8f1;
  --row-hover-bg: #e3f1f4;
  --row-stripe-bg: #f4f9fb;
  --rhead-weight: var(--th-weight);
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: color-mix(in srgb, var(--topbar-fg) 18%, transparent);
  --topbar-active-fg: #ffffff;
  --topbar-input-bg: color-mix(in srgb, var(--topbar-fg) 12%, transparent);
  --topbar-input-border: color-mix(in srgb, var(--topbar-fg) 28%, transparent);
  --topbar-input-fg: var(--topbar-fg-muted);
  --topbar-toggle-border: color-mix(in srgb, var(--topbar-fg) 40%, transparent);
  --topbar-toggle-fg: var(--topbar-fg);
}
@media (prefers-color-scheme: dark) {
  :root[data-skin='freshteal']:not([data-theme='light']) {
    color-scheme: dark;
    --font-ui: Lato, 'Inter Tight', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
    --font-display: var(--font-ui);
    --font-num: var(--font-ui);
    --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
    --display-weight: 700;
    --display-style: normal;
    --display-tracking: -0.01em;
    --display-transform: none;
    --radius-sm: 4px;
    --radius: 6px;
    --radius-lg: 8px;
    --radius-pill: 999px;
    --tab-radius: 8px;
    --card-radius: 6px;
    --th-weight: 500;
    --th-transform: none;
    --th-tracking: 0;
    --density: 0.95;
    --topbar-h: 56px;
    --topbar-blur: 0px;
    --paper: #0d1320;
    --surface: #151d2e;
    --surface-2: #1c2640;
    --surface-3: #243150;
    --line: #27334f;
    --line-strong: #3a4a70;
    --ink: #eef2f8;
    --ink-2: #cbd3e1;
    --muted: #9aa6bb;
    --heading: #eef2f8;
    --brand: #54b5c6;
    --brand-2: #3ec1ce;
    --brand-soft: rgba(84, 181, 198, 0.16);
    --on-brand: #06202a;
    --up: #ff7a5c;
    --down: #4cc26a;
    --flat: #9aa6bb;
    --warn: #f0a35e;
    --chart: #54b5c6;
    --chart-fill: rgba(84, 181, 198, 0.14);
    --focus: #54b5c6;
    --shadow-sm: 0 2px 14px rgba(0, 0, 0, 0.45);
    --shadow-md: 0 10px 28px -10px rgba(0, 0, 0, 0.75);
    --overlay: rgba(0, 0, 0, 0.6);
    --heat-ink-light: #f5f5f5;
    --heat-ink-dark: #ffffff;
    --heat-up-1: #2e1711;
    --heat-up-2: #492118;
    --heat-up-3: #652a1d;
    --heat-up-4: #803220;
    --heat-up-5: #993a24;
    --heat-up-6: #ae3f26;
    --heat-up-7: #c24428;
    --heat-down-1: #0c2011;
    --heat-down-2: #11331a;
    --heat-down-3: #144520;
    --heat-down-4: #165726;
    --heat-down-5: #18662c;
    --heat-down-6: #197330;
    --heat-down-7: #1a8034;
    --heat-flat: #243150;
    --ma-5: #ffc233;
    --ma-10: #6ea3ff;
    --ma-20: #c58cf0;
    --ma-60: #37c0e8;
    --ma-120: #f06ac8;
    --ma-240: #b8b8b8;
    --accent: #54b5c6;
    --link: #66c8d8;
    --topbar-bg: #0e3a44;
    --topbar-fg: #ffffff;
    --topbar-fg-muted: #bfe3ea;
    --topbar-border: 3px solid #54b5c6;
    --topbar-shadow: none;
    --tab-fg: #cbd3e1;
    --tab-hover-bg: #1c2640;
    --tab-active-bg: #1c2640;
    --tab-active-fg: #54b5c6;
    --tab-bar: 2px solid #54b5c6;
    --card-border: 1px solid #27334f;
    --card-top-border: 3px solid #2f8fa2;
    --th-bg: #1c2640;
    --th-fg: #9aa6bb;
    --th-border: 1px solid #27334f;
    --row-hover-bg: #1c2640;
    --row-stripe-bg: #121a2a;
    --rhead-weight: var(--th-weight);
    --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
    --topbar-active-bg: color-mix(in srgb, var(--topbar-fg) 18%, transparent);
    --topbar-active-fg: #ffffff;
    --topbar-input-bg: color-mix(in srgb, var(--topbar-fg) 12%, transparent);
    --topbar-input-border: color-mix(in srgb, var(--topbar-fg) 28%, transparent);
    --topbar-input-fg: var(--topbar-fg-muted);
    --topbar-toggle-border: color-mix(in srgb, var(--topbar-fg) 40%, transparent);
    --topbar-toggle-fg: var(--topbar-fg);
  }
}
:root[data-skin='freshteal'][data-theme='dark'] {
  color-scheme: dark;
  --font-ui: Lato, 'Inter Tight', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-ui);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 700;
  --display-style: normal;
  --display-tracking: -0.01em;
  --display-transform: none;
  --radius-sm: 4px;
  --radius: 6px;
  --radius-lg: 8px;
  --radius-pill: 999px;
  --tab-radius: 8px;
  --card-radius: 6px;
  --th-weight: 500;
  --th-transform: none;
  --th-tracking: 0;
  --density: 0.95;
  --topbar-h: 56px;
  --topbar-blur: 0px;
  --paper: #0d1320;
  --surface: #151d2e;
  --surface-2: #1c2640;
  --surface-3: #243150;
  --line: #27334f;
  --line-strong: #3a4a70;
  --ink: #eef2f8;
  --ink-2: #cbd3e1;
  --muted: #9aa6bb;
  --heading: #eef2f8;
  --brand: #54b5c6;
  --brand-2: #3ec1ce;
  --brand-soft: rgba(84, 181, 198, 0.16);
  --on-brand: #06202a;
  --up: #ff7a5c;
  --down: #4cc26a;
  --flat: #9aa6bb;
  --warn: #f0a35e;
  --chart: #54b5c6;
  --chart-fill: rgba(84, 181, 198, 0.14);
  --focus: #54b5c6;
  --shadow-sm: 0 2px 14px rgba(0, 0, 0, 0.45);
  --shadow-md: 0 10px 28px -10px rgba(0, 0, 0, 0.75);
  --overlay: rgba(0, 0, 0, 0.6);
  --heat-ink-light: #f5f5f5;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #2e1711;
  --heat-up-2: #492118;
  --heat-up-3: #652a1d;
  --heat-up-4: #803220;
  --heat-up-5: #993a24;
  --heat-up-6: #ae3f26;
  --heat-up-7: #c24428;
  --heat-down-1: #0c2011;
  --heat-down-2: #11331a;
  --heat-down-3: #144520;
  --heat-down-4: #165726;
  --heat-down-5: #18662c;
  --heat-down-6: #197330;
  --heat-down-7: #1a8034;
  --heat-flat: #243150;
  --ma-5: #ffc233;
  --ma-10: #6ea3ff;
  --ma-20: #c58cf0;
  --ma-60: #37c0e8;
  --ma-120: #f06ac8;
  --ma-240: #b8b8b8;
  --accent: #54b5c6;
  --link: #66c8d8;
  --topbar-bg: #0e3a44;
  --topbar-fg: #ffffff;
  --topbar-fg-muted: #bfe3ea;
  --topbar-border: 3px solid #54b5c6;
  --topbar-shadow: none;
  --tab-fg: #cbd3e1;
  --tab-hover-bg: #1c2640;
  --tab-active-bg: #1c2640;
  --tab-active-fg: #54b5c6;
  --tab-bar: 2px solid #54b5c6;
  --card-border: 1px solid #27334f;
  --card-top-border: 3px solid #2f8fa2;
  --th-bg: #1c2640;
  --th-fg: #9aa6bb;
  --th-border: 1px solid #27334f;
  --row-hover-bg: #1c2640;
  --row-stripe-bg: #121a2a;
  --rhead-weight: var(--th-weight);
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: color-mix(in srgb, var(--topbar-fg) 18%, transparent);
  --topbar-active-fg: #ffffff;
  --topbar-input-bg: color-mix(in srgb, var(--topbar-fg) 12%, transparent);
  --topbar-input-border: color-mix(in srgb, var(--topbar-fg) 28%, transparent);
  --topbar-input-fg: var(--topbar-fg-muted);
  --topbar-toggle-border: color-mix(in srgb, var(--topbar-fg) 40%, transparent);
  --topbar-toggle-fg: var(--topbar-fg);
}

/* 藍灰漸層經典：HiStock 嗨投資 */
:root[data-skin='slateclassic'] {
  color-scheme: light;
  --font-ui: Arial, 'Noto Sans TC', 'Microsoft JhengHei', 'PingFang TC', sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-ui);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 700;
  --display-style: normal;
  --display-tracking: 0;
  --display-transform: none;
  --radius-sm: 2px;
  --radius: 3px;
  --radius-lg: 4px;
  --radius-pill: 3px;
  --tab-radius: 3px;
  --card-radius: 4px;
  --th-weight: 700;
  --th-transform: none;
  --th-tracking: 0;
  --density: 0.9;
  --topbar-h: 48px;
  --topbar-blur: 0px;
  --paper: #eeeeee;
  --surface: #ffffff;
  --surface-2: #f5f5f5;
  --surface-3: #dedede;
  --line: #d7d7d7;
  --line-strong: #c6c6c6;
  --ink: #222222;
  --ink-2: #444444;
  --muted: #5e5e5e;
  --heading: #23536c;
  --brand: #455a64;
  --brand-2: #607d8b;
  --brand-soft: rgba(69, 90, 100, 0.08);
  --on-brand: #ffffff;
  --up: #c30d23;
  --down: #006e00;
  --flat: #5e5e5e;
  --warn: #8a4b00;
  --chart: #455a64;
  --chart-fill: rgba(69, 90, 100, 0.08);
  --focus: #455a64;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 6px 18px -8px rgba(0, 0, 0, 0.35);
  --overlay: rgba(34, 34, 34, 0.3);
  --heat-ink-light: #222222;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #f0d3d6;
  --heat-up-2: #e4a8b0;
  --heat-up-3: #d6727f;
  --heat-up-4: #ce3c4e;
  --heat-up-5: #b92c3d;
  --heat-up-6: #9c2231;
  --heat-up-7: #801a27;
  --heat-down-1: #b5e6b5;
  --heat-down-2: #65ce65;
  --heat-down-3: #30a630;
  --heat-down-4: #218521;
  --heat-down-5: #1b721b;
  --heat-down-6: #155f15;
  --heat-down-7: #104d10;
  --heat-flat: #dedede;
  --ma-5: #b8860b;
  --ma-10: #2f6fdf;
  --ma-20: #9b3fd0;
  --ma-60: #0a86b0;
  --ma-120: #c2339a;
  --ma-240: #6e6e6e;
  --accent: #94c7d3;
  --link: #006aae;
  --topbar-bg: linear-gradient(180deg, #536e7b 0%, #3f535c 100%);
  --topbar-fg: #ffffff;
  --topbar-fg-muted: #e8eef1;
  --topbar-border: 0 solid transparent;
  --topbar-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  --tab-fg: #444444;
  --tab-hover-bg: #dedede;
  --tab-active-bg: #455a64;
  --tab-active-fg: #ffffff;
  --tab-bar: 0 solid transparent;
  --card-border: 1px solid #d7d7d7;
  --card-top-border: 2px solid #455a64;
  --th-bg: linear-gradient(180deg, #ececec 0%, #d6d6d6 100%);
  --th-fg: #23536c;
  --th-border: 1px solid #c6c6c6;
  --row-hover-bg: #f0f4f6;
  --row-stripe-bg: transparent;
  --rhead-weight: var(--th-weight);
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: #455a64;
  --topbar-active-fg: #ffffff;
  --topbar-input-bg: color-mix(in srgb, var(--topbar-fg) 12%, transparent);
  --topbar-input-border: color-mix(in srgb, var(--topbar-fg) 28%, transparent);
  --topbar-input-fg: var(--topbar-fg-muted);
  --topbar-toggle-border: color-mix(in srgb, var(--topbar-fg) 40%, transparent);
  --topbar-toggle-fg: var(--topbar-fg);
}
@media (prefers-color-scheme: dark) {
  :root[data-skin='slateclassic']:not([data-theme='light']) {
    color-scheme: dark;
    --font-ui: Arial, 'Noto Sans TC', 'Microsoft JhengHei', 'PingFang TC', sans-serif;
    --font-display: var(--font-ui);
    --font-num: var(--font-ui);
    --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
    --display-weight: 700;
    --display-style: normal;
    --display-tracking: 0;
    --display-transform: none;
    --radius-sm: 2px;
    --radius: 3px;
    --radius-lg: 4px;
    --radius-pill: 3px;
    --tab-radius: 3px;
    --card-radius: 4px;
    --th-weight: 700;
    --th-transform: none;
    --th-tracking: 0;
    --density: 0.9;
    --topbar-h: 48px;
    --topbar-blur: 0px;
    --paper: #12181b;
    --surface: #1b2428;
    --surface-2: #243036;
    --surface-3: #2e3d44;
    --line: #33444c;
    --line-strong: #4a606a;
    --ink: #eceff1;
    --ink-2: #cfd8dc;
    --muted: #a4b4bb;
    --heading: #9dd3e4;
    --brand: #90a4ae;
    --brand-2: #78909c;
    --brand-soft: rgba(144, 164, 174, 0.16);
    --on-brand: #12181b;
    --up: #ff6b6b;
    --down: #3fbf7f;
    --flat: #a4b4bb;
    --warn: #f0a35e;
    --chart: #90a4ae;
    --chart-fill: rgba(144, 164, 174, 0.14);
    --focus: #90a4ae;
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.5);
    --shadow-md: 0 6px 18px -8px rgba(0, 0, 0, 0.75);
    --overlay: rgba(0, 0, 0, 0.6);
    --heat-ink-light: #f5f5f5;
    --heat-ink-dark: #ffffff;
    --heat-up-1: #331313;
    --heat-up-2: #501b1b;
    --heat-up-3: #6f2020;
    --heat-up-4: #8d2323;
    --heat-up-5: #a92828;
    --heat-up-6: #be2a2a;
    --heat-up-7: #d32b2b;
    --heat-down-1: #0c2016;
    --heat-down-2: #113322;
    --heat-down-3: #14452c;
    --heat-down-4: #155535;
    --heat-down-5: #18653f;
    --heat-down-6: #197246;
    --heat-down-7: #1a7e4c;
    --heat-flat: #2e3d44;
    --ma-5: #ffc233;
    --ma-10: #6ea3ff;
    --ma-20: #c58cf0;
    --ma-60: #37c0e8;
    --ma-120: #f06ac8;
    --ma-240: #b8b8b8;
    --accent: #94c7d3;
    --link: #7cc4f2;
    --topbar-bg: linear-gradient(180deg, #34444c 0%, #232f35 100%);
    --topbar-fg: #f5f5f5;
    --topbar-fg-muted: #c3ced3;
    --topbar-border: 0 solid transparent;
    --topbar-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
    --tab-fg: #cfd8dc;
    --tab-hover-bg: #2e3d44;
    --tab-active-bg: #90a4ae;
    --tab-active-fg: #12181b;
    --tab-bar: 0 solid transparent;
    --card-border: 1px solid #33444c;
    --card-top-border: 2px solid #90a4ae;
    --th-bg: linear-gradient(180deg, #34444c 0%, #26333a 100%);
    --th-fg: #9dd3e4;
    --th-border: 1px solid #4a606a;
    --row-hover-bg: #243036;
    --row-stripe-bg: rgba(144, 164, 174, 0.06);
    --rhead-weight: var(--th-weight);
    --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
    --topbar-active-bg: #90a4ae;
    --topbar-active-fg: #12181b;
    --topbar-input-bg: var(--surface);
    --topbar-input-border: var(--line);
    --topbar-input-fg: var(--muted);
    --topbar-toggle-border: var(--line-strong);
    --topbar-toggle-fg: var(--ink-2);
  }
}
:root[data-skin='slateclassic'][data-theme='dark'] {
  color-scheme: dark;
  --font-ui: Arial, 'Noto Sans TC', 'Microsoft JhengHei', 'PingFang TC', sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-ui);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 700;
  --display-style: normal;
  --display-tracking: 0;
  --display-transform: none;
  --radius-sm: 2px;
  --radius: 3px;
  --radius-lg: 4px;
  --radius-pill: 3px;
  --tab-radius: 3px;
  --card-radius: 4px;
  --th-weight: 700;
  --th-transform: none;
  --th-tracking: 0;
  --density: 0.9;
  --topbar-h: 48px;
  --topbar-blur: 0px;
  --paper: #12181b;
  --surface: #1b2428;
  --surface-2: #243036;
  --surface-3: #2e3d44;
  --line: #33444c;
  --line-strong: #4a606a;
  --ink: #eceff1;
  --ink-2: #cfd8dc;
  --muted: #a4b4bb;
  --heading: #9dd3e4;
  --brand: #90a4ae;
  --brand-2: #78909c;
  --brand-soft: rgba(144, 164, 174, 0.16);
  --on-brand: #12181b;
  --up: #ff6b6b;
  --down: #3fbf7f;
  --flat: #a4b4bb;
  --warn: #f0a35e;
  --chart: #90a4ae;
  --chart-fill: rgba(144, 164, 174, 0.14);
  --focus: #90a4ae;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.5);
  --shadow-md: 0 6px 18px -8px rgba(0, 0, 0, 0.75);
  --overlay: rgba(0, 0, 0, 0.6);
  --heat-ink-light: #f5f5f5;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #331313;
  --heat-up-2: #501b1b;
  --heat-up-3: #6f2020;
  --heat-up-4: #8d2323;
  --heat-up-5: #a92828;
  --heat-up-6: #be2a2a;
  --heat-up-7: #d32b2b;
  --heat-down-1: #0c2016;
  --heat-down-2: #113322;
  --heat-down-3: #14452c;
  --heat-down-4: #155535;
  --heat-down-5: #18653f;
  --heat-down-6: #197246;
  --heat-down-7: #1a7e4c;
  --heat-flat: #2e3d44;
  --ma-5: #ffc233;
  --ma-10: #6ea3ff;
  --ma-20: #c58cf0;
  --ma-60: #37c0e8;
  --ma-120: #f06ac8;
  --ma-240: #b8b8b8;
  --accent: #94c7d3;
  --link: #7cc4f2;
  --topbar-bg: linear-gradient(180deg, #34444c 0%, #232f35 100%);
  --topbar-fg: #f5f5f5;
  --topbar-fg-muted: #c3ced3;
  --topbar-border: 0 solid transparent;
  --topbar-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
  --tab-fg: #cfd8dc;
  --tab-hover-bg: #2e3d44;
  --tab-active-bg: #90a4ae;
  --tab-active-fg: #12181b;
  --tab-bar: 0 solid transparent;
  --card-border: 1px solid #33444c;
  --card-top-border: 2px solid #90a4ae;
  --th-bg: linear-gradient(180deg, #34444c 0%, #26333a 100%);
  --th-fg: #9dd3e4;
  --th-border: 1px solid #4a606a;
  --row-hover-bg: #243036;
  --row-stripe-bg: rgba(144, 164, 174, 0.06);
  --rhead-weight: var(--th-weight);
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: #90a4ae;
  --topbar-active-fg: #12181b;
  --topbar-input-bg: var(--surface);
  --topbar-input-border: var(--line);
  --topbar-input-fg: var(--muted);
  --topbar-toggle-border: var(--line-strong);
  --topbar-toggle-fg: var(--ink-2);
}

/* 深色終端機：Koyfin */
:root[data-skin='terminaldark'] {
  color-scheme: light;
  --font-ui: 'Inter Tight', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-mono);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 600;
  --display-style: normal;
  --display-tracking: -0.02em;
  --display-transform: none;
  --radius-sm: 2px;
  --radius: 4px;
  --radius-lg: 6px;
  --radius-pill: 4px;
  --tab-radius: 4px;
  --card-radius: 2px;
  --th-weight: 600;
  --th-transform: uppercase;
  --th-tracking: 0.06em;
  --density: 0.8;
  --topbar-h: 48px;
  --topbar-blur: 0px;
  --paper: #f3f5f9;
  --surface: #ffffff;
  --surface-2: #edeff1;
  --surface-3: #e0e4e9;
  --line: #e3e6ea;
  --line-strong: #c8cdd4;
  --ink: #191e25;
  --ink-2: #3d444d;
  --muted: #5e6166;
  --heading: #191e25;
  --brand: #0070e0;
  --brand-2: #3d9bff;
  --brand-soft: rgba(0, 112, 224, 0.08);
  --on-brand: #ffffff;
  --up: #cb302a;
  --down: #127c4c;
  --flat: #5e6166;
  --warn: #9a5200;
  --chart: #0070e0;
  --chart-fill: rgba(0, 112, 224, 0.08);
  --focus: #0070e0;
  --shadow-sm: none;
  --shadow-md: 0 8px 24px -14px rgba(25, 30, 37, 0.35);
  --overlay: rgba(25, 30, 37, 0.3);
  --heat-ink-light: #191e25;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #f0d3d2;
  --heat-up-2: #e3aaa8;
  --heat-up-3: #d67471;
  --heat-up-4: #ce3f3a;
  --heat-up-5: #b8302b;
  --heat-up-6: #9b2722;
  --heat-up-7: #7e1e1a;
  --heat-down-1: #b2e5ce;
  --heat-down-2: #5fcd9b;
  --heat-down-3: #2fa46f;
  --heat-down-4: #218256;
  --heat-down-5: #1a704a;
  --heat-down-6: #155e3d;
  --heat-down-7: #104c30;
  --heat-flat: #e0e4e9;
  --ma-5: #b8860b;
  --ma-10: #2f6fdf;
  --ma-20: #9b3fd0;
  --ma-60: #0a86b0;
  --ma-120: #c2339a;
  --ma-240: #6e6e6e;
  --accent: #0070e0;
  --link: #0067d1;
  --topbar-bg: #1a1e23;
  --topbar-fg: #f3f5f9;
  --topbar-fg-muted: #b3bac4;
  --topbar-border: 0 solid transparent;
  --topbar-shadow: none;
  --tab-fg: #3d444d;
  --tab-hover-bg: #e0e4e9;
  --tab-active-bg: #191e25;
  --tab-active-fg: #ffffff;
  --tab-bar: 0 solid transparent;
  --card-border: 1px solid #e3e6ea;
  --card-top-border: var(--card-border);
  --th-bg: #edeff1;
  --th-fg: #3d444d;
  --th-border: 1px solid #c8cdd4;
  --row-hover-bg: #edeff1;
  --row-stripe-bg: transparent;
  --rhead-weight: var(--th-weight);
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-fg: #ffffff;
  --topbar-input-bg: color-mix(in srgb, var(--topbar-fg) 12%, transparent);
  --topbar-input-border: color-mix(in srgb, var(--topbar-fg) 28%, transparent);
  --topbar-input-fg: var(--topbar-fg-muted);
  --topbar-toggle-border: color-mix(in srgb, var(--topbar-fg) 40%, transparent);
  --topbar-toggle-fg: var(--topbar-fg);
}
@media (prefers-color-scheme: dark) {
  :root[data-skin='terminaldark']:not([data-theme='light']) {
    color-scheme: dark;
    --font-ui: 'Inter Tight', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
    --font-display: var(--font-ui);
    --font-num: var(--font-mono);
    --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
    --display-weight: 600;
    --display-style: normal;
    --display-tracking: -0.02em;
    --display-transform: none;
    --radius-sm: 2px;
    --radius: 4px;
    --radius-lg: 6px;
    --radius-pill: 4px;
    --tab-radius: 4px;
    --card-radius: 2px;
    --th-weight: 600;
    --th-transform: uppercase;
    --th-tracking: 0.06em;
    --density: 0.8;
    --topbar-h: 48px;
    --topbar-blur: 0px;
    --paper: #13171b;
    --surface: #1a1e23;
    --surface-2: #232a31;
    --surface-3: #2f3740;
    --line: #2a323a;
    --line-strong: #3d4853;
    --ink: #f3f5f9;
    --ink-2: #c5cbd3;
    --muted: #98a2ad;
    --heading: #f3f5f9;
    --brand: #3d9bff;
    --brand-2: #0070e0;
    --brand-soft: rgba(61, 155, 255, 0.16);
    --on-brand: #07121f;
    --up: #ff5d57;
    --down: #2fbf7a;
    --flat: #98a2ad;
    --warn: #f0a35e;
    --chart: #5aaeff;
    --chart-fill: rgba(90, 174, 255, 0.14);
    --focus: #3d9bff;
    --shadow-sm: none;
    --shadow-md: 0 8px 24px -10px rgba(0, 0, 0, 0.8);
    --overlay: rgba(0, 0, 0, 0.6);
    --heat-ink-light: #f5f5f5;
    --heat-ink-dark: #ffffff;
    --heat-up-1: #311413;
    --heat-up-2: #501c1b;
    --heat-up-3: #6d2220;
    --heat-up-4: #8b2723;
    --heat-up-5: #a62b27;
    --heat-up-6: #bb2e29;
    --heat-up-7: #d0312b;
    --heat-down-1: #0c2017;
    --heat-down-2: #113322;
    --heat-down-3: #14452d;
    --heat-down-4: #155537;
    --heat-down-5: #186540;
    --heat-down-6: #197248;
    --heat-down-7: #1a7e4e;
    --heat-flat: #2f3740;
    --ma-5: #ffc233;
    --ma-10: #6ea3ff;
    --ma-20: #c58cf0;
    --ma-60: #37c0e8;
    --ma-120: #f06ac8;
    --ma-240: #b8b8b8;
    --accent: #3d9bff;
    --link: #5aaeff;
    --topbar-bg: #1a1e23;
    --topbar-fg: #f3f5f9;
    --topbar-fg-muted: #98a2ad;
    --topbar-border: 1px solid #2a323a;
    --topbar-shadow: none;
    --tab-fg: #c5cbd3;
    --tab-hover-bg: #232a31;
    --tab-active-bg: #2f3740;
    --tab-active-fg: #ffffff;
    --tab-bar: 0 solid transparent;
    --card-border: 1px solid #2a323a;
    --card-top-border: 1px solid #3d9bff;
    --th-bg: #1b2127;
    --th-fg: #c5cbd3;
    --th-border: 1px solid #3d4853;
    --row-hover-bg: #232a31;
    --row-stripe-bg: transparent;
    --rhead-weight: var(--th-weight);
    --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
    --topbar-active-bg: #2f3740;
    --topbar-active-fg: #ffffff;
    --topbar-input-bg: var(--surface);
    --topbar-input-border: var(--line);
    --topbar-input-fg: var(--muted);
    --topbar-toggle-border: var(--line-strong);
    --topbar-toggle-fg: var(--ink-2);
  }
}
:root[data-skin='terminaldark'][data-theme='dark'] {
  color-scheme: dark;
  --font-ui: 'Inter Tight', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
  --font-display: var(--font-ui);
  --font-num: var(--font-mono);
  --font-mono: 'Geist Mono', 'Noto Sans TC', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --display-weight: 600;
  --display-style: normal;
  --display-tracking: -0.02em;
  --display-transform: none;
  --radius-sm: 2px;
  --radius: 4px;
  --radius-lg: 6px;
  --radius-pill: 4px;
  --tab-radius: 4px;
  --card-radius: 2px;
  --th-weight: 600;
  --th-transform: uppercase;
  --th-tracking: 0.06em;
  --density: 0.8;
  --topbar-h: 48px;
  --topbar-blur: 0px;
  --paper: #13171b;
  --surface: #1a1e23;
  --surface-2: #232a31;
  --surface-3: #2f3740;
  --line: #2a323a;
  --line-strong: #3d4853;
  --ink: #f3f5f9;
  --ink-2: #c5cbd3;
  --muted: #98a2ad;
  --heading: #f3f5f9;
  --brand: #3d9bff;
  --brand-2: #0070e0;
  --brand-soft: rgba(61, 155, 255, 0.16);
  --on-brand: #07121f;
  --up: #ff5d57;
  --down: #2fbf7a;
  --flat: #98a2ad;
  --warn: #f0a35e;
  --chart: #5aaeff;
  --chart-fill: rgba(90, 174, 255, 0.14);
  --focus: #3d9bff;
  --shadow-sm: none;
  --shadow-md: 0 8px 24px -10px rgba(0, 0, 0, 0.8);
  --overlay: rgba(0, 0, 0, 0.6);
  --heat-ink-light: #f5f5f5;
  --heat-ink-dark: #ffffff;
  --heat-up-1: #311413;
  --heat-up-2: #501c1b;
  --heat-up-3: #6d2220;
  --heat-up-4: #8b2723;
  --heat-up-5: #a62b27;
  --heat-up-6: #bb2e29;
  --heat-up-7: #d0312b;
  --heat-down-1: #0c2017;
  --heat-down-2: #113322;
  --heat-down-3: #14452d;
  --heat-down-4: #155537;
  --heat-down-5: #186540;
  --heat-down-6: #197248;
  --heat-down-7: #1a7e4e;
  --heat-flat: #2f3740;
  --ma-5: #ffc233;
  --ma-10: #6ea3ff;
  --ma-20: #c58cf0;
  --ma-60: #37c0e8;
  --ma-120: #f06ac8;
  --ma-240: #b8b8b8;
  --accent: #3d9bff;
  --link: #5aaeff;
  --topbar-bg: #1a1e23;
  --topbar-fg: #f3f5f9;
  --topbar-fg-muted: #98a2ad;
  --topbar-border: 1px solid #2a323a;
  --topbar-shadow: none;
  --tab-fg: #c5cbd3;
  --tab-hover-bg: #232a31;
  --tab-active-bg: #2f3740;
  --tab-active-fg: #ffffff;
  --tab-bar: 0 solid transparent;
  --card-border: 1px solid #2a323a;
  --card-top-border: 1px solid #3d9bff;
  --th-bg: #1b2127;
  --th-fg: #c5cbd3;
  --th-border: 1px solid #3d4853;
  --row-hover-bg: #232a31;
  --row-stripe-bg: transparent;
  --rhead-weight: var(--th-weight);
  --topbar-hover-bg: color-mix(in srgb, var(--topbar-fg) 16%, transparent);
  --topbar-active-bg: #2f3740;
  --topbar-active-fg: #ffffff;
  --topbar-input-bg: var(--surface);
  --topbar-input-border: var(--line);
  --topbar-input-fg: var(--muted);
  --topbar-toggle-border: var(--line-strong);
  --topbar-toggle-fg: var(--ink-2);
}

/* 結構性補充（不是 token）：chartmono 表格的數字欄用等寬字，像 TradingView 的行情列表 */
:root[data-skin='chartmono'] .dtable td.r,
:root[data-skin='chartmono'] .dtable td.num {
  font-family: var(--font-mono);
}

/* 結構性補充（不是 token）：terminaldark 表格的數字欄用等寬字，像終端機的報價列 */
:root[data-skin='terminaldark'] .dtable td.r,
:root[data-skin='terminaldark'] .dtable td.num {
  font-family: var(--font-mono);
}
