/* ============================================================
   theme.css — Design Tokens v2
   深海蓝 + 哑金 + 暖米白 · 私人银行视觉语境
   ============================================================ */

:root {

  /* ── Core Palette ── */
  --navy:       #0b1829;
  --navy-dark:  #070f1c;
  --navy-mid:   #0f2035;
  --navy-light: #162844;
  --gold:       #c9a96e;
  --gold-lt:    #dfc090;
  --gold-dk:    #a8834a;
  --cream:      #f7f5f0;
  --cream-dk:   #ede9e2;
  --white:      #ffffff;

  /* ── Semantic Colors ── */
  --bg-base:      var(--cream);
  --bg-surface:   var(--white);
  --bg-dark:      var(--navy);

  /* ── Text on light background ── */
  --text-primary:   #0b1829;
  --text-secondary: #445566;
  --text-muted:     #8898aa;

  /* ── Text on dark (navy) background ── */
  --text-on-dark:       #e8dfc8;
  --text-on-dark-dim:   #9aadbe;
  --text-on-dark-muted: #4e6678;

  /* ── Gold utilities ── */
  --gold-dim:    rgba(201, 169, 110, 0.12);
  --gold-border: rgba(201, 169, 110, 0.30);
  --gold-glow:   0 0 36px rgba(201, 169, 110, 0.18);

  /* ── Light-bg borders ── */
  --border-subtle:  rgba(11, 24, 41, 0.06);
  --border-default: rgba(11, 24, 41, 0.10);
  --border-strong:  rgba(11, 24, 41, 0.18);

  /* ── Dark-bg borders ── */
  --border-dk-subtle:  rgba(255,255,255, 0.05);
  --border-dk-default: rgba(255,255,255, 0.09);
  --border-dk-strong:  rgba(255,255,255, 0.16);

  /* ── Insight card accent bars ── */
  --ins-gold:  #c9a96e;   /* 核心价值 */
  --ins-blue:  #4472b8;   /* 技术机制 */
  --ins-green: #3a9a72;   /* 增长逻辑 */
  --ins-red:   #b85050;   /* 风险警示 */

  /* ── Fonts ── */
  --font-serif: 'DM Serif Display', 'Noto Serif SC', Georgia, serif;
  --font-sans:  'Noto Sans SC', -apple-system, 'Helvetica Neue', sans-serif;
  --font-mono:  'IBM Plex Mono', 'JetBrains Mono', monospace;

  /* ── Type Scale ── */
  --text-2xs: 0.625rem;   /* 10px */
  --text-xs:  0.6875rem;  /* 11px  ← mono labels */
  --text-sm:  0.8125rem;  /* 13px */
  --text-base:0.875rem;   /* 14px */
  --text-lg:  1rem;       /* 16px */
  --text-xl:  1.125rem;   /* 18px */
  --text-2xl: 1.375rem;   /* 22px */
  --text-3xl: 1.75rem;    /* 28px */
  --text-4xl: 2.25rem;    /* 36px */
  --text-5xl: 3rem;       /* 48px */
  --text-6xl: 3.75rem;    /* 60px */

  /* ── Weights ── */
  --fw-light:  300;
  --fw-normal: 400;
  --fw-medium: 500;
  --fw-semi:   600;
  --fw-bold:   700;

  /* ── Spacing ── */
  --sp-1: 0.25rem;  --sp-2: 0.5rem;   --sp-3: 0.75rem;
  --sp-4: 1rem;     --sp-5: 1.25rem;  --sp-6: 1.5rem;
  --sp-8: 2rem;     --sp-10: 2.5rem;  --sp-12: 3rem;

  /* ── Radius ── */
  --r-sm:   4px;
  --r-md:   8px;
  --r-lg:   12px;
  --r-xl:   20px;
  --r-full: 9999px;

  /* ── Easing ──
     弹簧曲线：到位时轻微越过 3-5% 再弹回，模拟物理落地感
     区别于 ease-out 的"滑入感"，这是"降落感" */
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-out:    cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-fast:   0.15s cubic-bezier(0.4, 0, 0.2, 1);

  /* ── Shell ── */
  --topbar-h:    52px;
  --bottombar-h: 60px;
  --stage-h:     calc(100dvh - var(--topbar-h) - var(--bottombar-h));

  /* ── Shadows (on light bg) ── */
  --shadow-sm: 0 1px 4px rgba(11,24,41,0.08);
  --shadow-md: 0 4px 16px rgba(11,24,41,0.10), 0 1px 4px rgba(11,24,41,0.06);
  --shadow-lg: 0 8px 32px rgba(11,24,41,0.12), 0 2px 8px rgba(11,24,41,0.08);
}
