/* ========================================
   变量系统 - 彭博终端风格主题
   ======================================== */

:root {
  /* ========== 调色板 ========== */
  --color-primary: #ffbf00;            /* 琥珀主色 */
  --color-primary-dark: #b97a00;
  --color-primary-light: #ffd766;

  --color-accent-green: #2fffc9;       /* 数据上涨 */
  --color-accent-red: #ff6464;         /* 数据下跌 */
  --color-accent-blue: #4bc2ff;        /* 系统提示 */

  --color-text-dark: #f8f5e6;
  --color-text-medium: rgba(248, 245, 230, 0.82);
  --color-text-light: rgba(255, 255, 255, 0.45);
  --color-text-white: #ffffff;

  --terminal-bg: #020202;
  --terminal-panel: #050607;
  --terminal-panel-alt: #0b0d10;
  --terminal-panel-soft: #0f1116;
  --terminal-border: rgba(255, 191, 0, 0.35);
  --terminal-border-muted: rgba(255, 191, 0, 0.16);
  --terminal-gridline: rgba(255, 191, 0, 0.08);

  --color-background: var(--terminal-bg);
  --color-background-alt: #0d1015;
  --color-background-dark: #010102;
  --color-border: var(--terminal-border);
  --color-border-light: var(--terminal-border-muted);

  --color-success: var(--color-accent-green);
  --color-warning: var(--color-primary);
  --color-danger: var(--color-accent-red);
  --color-info: var(--color-accent-blue);

  /* ========== 字体 ========== */
  --font-family-sans: 'IBM Plex Sans', 'Microsoft YaHei', 'PingFang SC', 'Segoe UI', sans-serif;
  --font-family-serif: 'Source Serif Pro', 'Songti SC', serif;
  --font-family-mono: 'JetBrains Mono', 'IBM Plex Mono', 'SFMono-Regular', 'Consolas', 'Menlo', 'Courier New', monospace;

  --font-size-xs: 12px;
  --font-size-sm: 13px;
  --font-size-base: 15px;
  --font-size-lg: 17px;
  --font-size-xl: 21px;
  --font-size-2xl: 26px;
  --font-size-3xl: 32px;
  --font-size-4xl: 40px;
  --font-size-5xl: 52px;

  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;

  --line-height-tight: 1.15;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.85;

  /* ========== 间距 ========== */
  --spacing-unit: 8px;
  --spacing-xs: calc(var(--spacing-unit) * 0.5);
  --spacing-sm: var(--spacing-unit);
  --spacing-md: calc(var(--spacing-unit) * 1.5);
  --spacing-lg: calc(var(--spacing-unit) * 2);
  --spacing-xl: calc(var(--spacing-unit) * 3);
  --spacing-2xl: calc(var(--spacing-unit) * 4);
  --spacing-3xl: calc(var(--spacing-unit) * 6);
  --spacing-4xl: calc(var(--spacing-unit) * 8);

  /* ========== 圆角与阴影 ========== */
  --border-radius-sm: 2px;
  --border-radius-md: 4px;
  --border-radius-lg: 6px;
  --border-radius-xl: 10px;

  --shadow-sm: 0 0 0 1px rgba(255, 191, 0, 0.08);
  --shadow-md: 0 12px 35px rgba(0, 0, 0, 0.45);
  --shadow-glow: 0 0 30px rgba(255, 191, 0, 0.25);

  /* ========== 过渡 ========== */
  --transition-fast: 120ms ease-out;
  --transition-base: 220ms ease;
  --transition-slow: 360ms ease;

  /* ========== 栅格 ========== */
  --grid-columns: 12;
  --grid-gap: var(--spacing-2xl);
  --container-max-width: 1320px;
  --container-padding: var(--spacing-2xl);

  /* ========== 组件尺寸 ========== */
  --ticker-height: 38px;
  --console-height: 260px;

  /* ========== 层级 ========== */
  --z-dropdown: 200;
  --z-ticker: 150;
  --z-nav: 300;
  --z-console: 250;
  --z-modal: 600;
}

@media (max-width: 575px) {
  :root {
    --font-size-base: 14px;
    --font-size-lg: 16px;
    --font-size-xl: 18px;
    --container-padding: var(--spacing-xl);
    --grid-gap: var(--spacing-lg);
  }
}

@media (min-width: 1600px) {
  :root {
    --container-max-width: 1480px;
  }
}
