﻿/* ==========================================================================
   洞察 v3 · 设计令牌
   Cool neutral ground · frosted glass · one structural blue · one accent teal
   ========================================================================== */

:root {
  /* ---- Sky: navigation, links, focus (the only structural hue) --------- */
  --sky-50:  #eef7ff;
  --sky-100: #d9edfb;
  --sky-200: #b7ddf4;
  --sky-300: #86c7e9;
  --sky-400: #54aed8;
  --sky-500: #2f93c2;
  --sky-600: #1b76a2;
  --sky-700: #125e83;
  --sky-800: #0e4a68;
  --sky-900: #0a364d;

  /* ---- Accent: the data hue (values, live, selected) -------------------- */
  --accent-100: #e3f6f7;
  --accent-200: #c0eced;
  --accent-300: #8ddde1;
  --accent-400: #57c9cf;
  --accent-500: #1fa8b2;
  --accent-600: #0a6e7a;
  --accent-700: #08535c;
  --accent-ink: #032c31;

  /* ---- Status ---------------------------------------------------------- */
  --danger-500: #c0392b;
  --danger-600: #a02e22;
  --danger-bg:  rgba(255, 236, 232, .74);
  --success-500: #12805c;
  --success-600: #0c6347;
  --success-bg: rgba(228, 248, 240, .74);
  --warn-500: #9a6b0c;
  --warn-bg:  rgba(255, 246, 226, .80);

  /* ---- Ink -------------------------------------------------------------- */
  --ink:        #0e1b24;
  --ink-2:      #3e5364;
  --ink-muted:  #47606f;
  --ink-faint:  #5a7182;

  /* ---- Glass surfaces ---------------------------------------------------- */
  --glass-1: rgba(255, 255, 255, .66);   /* resting panel */
  --glass-2: rgba(255, 255, 255, .82);   /* raised panel / dialog */
  --glass-3: rgba(255, 255, 255, .92);   /* input, popover */
  --glass-sunk: rgba(236, 242, 248, .62);
  --glass-line: rgba(255, 255, 255, .92);
  --glass-line-soft: rgba(255, 255, 255, .62);
  --glass-tint-sky: rgba(196, 225, 243, .58);
  --glass-tint-accent: rgba(196, 236, 238, .58);

  --blur-1: 18px;
  --blur-2: 26px;
  --blur-3: 40px;
  --sat: 160%;

  --hairline: rgba(16, 42, 67, .10);
  --hairline-strong: rgba(16, 42, 67, .17);
  --focus-ring: rgba(31, 147, 194, .55);

  /* ---- Elevation --------------------------------------------------------- */
  --shadow-1: 0 1px 2px rgba(16, 38, 58, .04), 0 10px 26px -20px rgba(16, 38, 58, .35);
  --shadow-2: 0 2px 6px rgba(16, 38, 58, .05), 0 28px 60px -32px rgba(16, 38, 58, .42);
  --shadow-3: 0 40px 90px -42px rgba(10, 28, 44, .55);
  --inset-top: inset 0 1px 0 rgba(255, 255, 255, .8);
  --ring: 0 0 0 1px rgba(16, 42, 67, .07);

  /* ---- Radius ------------------------------------------------------------ */
  --r-xl: 22px;
  --r-lg: 16px;
  --r-md: 12px;
  --r-sm: 9px;
  --r-xs: 6px;
  --r-pill: 999px;

  /* ---- Type -------------------------------------------------------------- */
  --font: "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans SC",
          "Noto Sans SC", system-ui, -apple-system, sans-serif;
  --font-num: "Bahnschrift", "DIN Alternate", "Segoe UI Variable Display", var(--font);
  --font-mono: "Cascadia Mono", "JetBrains Mono", Consolas, "Courier New", monospace;

  --fs-11: 11px;
  --fs-12: 12px;
  --fs-13: 13px;
  --fs-14: 14px;
  --fs-15: 15px;
  --fs-16: 16px;
  --fs-18: 18px;
  --fs-22: 22px;
  --fs-26: 26px;
  --fs-30: 30px;
  --fs-38: 38px;

  /* ---- Space ------------------------------------------------------------- */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;
  --gap: 16px;
  --pad: 22px;

  /* ---- Shell metrics ------------------------------------------------------ */
  --titlebar-h: 54px;
  --sidebar-w: 272px;
  --sidebar-w-collapsed: 84px;
  --control-h: 34px;
  --row-h: 46px;

  /* ---- Motion ------------------------------------------------------------- */
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);
  --ease-spring: cubic-bezier(.34, 1.56, .64, 1);
  --dur-1: 110ms;
  --dur-2: 190ms;
  --dur-3: 300ms;
  --dur-4: 460ms;
}

/* ======================= Dark theme ==================================== */
:root[data-theme="dark"] {
  --ink:        #e9f1f6;
  --ink-2:      #b3c4d0;
  --ink-muted:  #9db0be;
  --ink-faint:  #8095a4;

  --glass-1: rgba(20, 33, 42, .58);
  --glass-2: rgba(25, 40, 50, .78);
  --glass-3: rgba(31, 48, 59, .88);
  --glass-sunk: rgba(9, 17, 23, .52);
  --glass-line: rgba(178, 214, 235, .16);
  --glass-line-soft: rgba(178, 214, 235, .09);
  --glass-tint-sky: rgba(46, 118, 156, .26);
  --glass-tint-accent: rgba(24, 116, 124, .30);

  --hairline: rgba(168, 210, 235, .14);
  --hairline-strong: rgba(168, 210, 235, .24);
  --focus-ring: rgba(87, 201, 207, .65);

  --shadow-1: 0 1px 2px rgba(0, 0, 0, .30), 0 12px 30px -22px rgba(0, 0, 0, .8);
  --shadow-2: 0 2px 8px rgba(0, 0, 0, .36), 0 32px 70px -34px rgba(0, 0, 0, .9);
  --shadow-3: 0 44px 100px -44px rgba(0, 0, 0, .95);
  --inset-top: inset 0 1px 0 rgba(255, 255, 255, .08);
  --ring: 0 0 0 1px rgba(160, 215, 245, .10);

  --danger-500: #ff8471;
  --danger-600: #ff6a53;
  --danger-bg:  rgba(96, 32, 26, .55);
  --success-500: #4fd6a2;
  --success-600: #39c18d;
  --success-bg: rgba(16, 72, 54, .55);
  --warn-500: #e8b961;
  --warn-bg:  rgba(82, 61, 18, .55);

  --accent-500: #57c9cf;
  --accent-600: #7ad9df;
  --accent-700: #a8e7ea;
  --accent-ink: #032c31;
}

