/* ==========================================================================
   Noomi · design tokens
   Single source of colour, radius, shadow and motion values.
   Every value used by styles.css resolves to one of these variables.
   ========================================================================== */

@font-face {
  font-family: "Montserrat";
  src: url("fonts/montserrat-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}

:root {
  /* 画布与表面 */
  --canvas: #EEF3F8;           /* 冷蓝灰 */
  --canvas-grid: rgba(41, 76, 106, .055);
  --surface: #FFFFFF;          /* 卡片纸面 */
  --surface-2: #F7FAFD;        /* 次级区块 */
  --surface-3: #EFF5FB;        /* hover / 选中底 */

  /* 文字 */
  --ink: #1F2C3D;
  --ink-2: #4F6277;
  --ink-3: #5C6E82;
  --on-accent: #FFFFFF;

  /* 线与标题 */
  --line: #D9E3EE;
  --line-strong: #B8CAD9;
  --navy: #294C6A;             /* 小标题条底色 */

  /* 主行动色（全页唯一） */
  --accent: #3568D6;           /* 原稿 #3B74E0，压深一档以满足白字 4.5:1 */
  --accent-hover: #2F63C9;
  --accent-soft: #E9F1FE;
  --data-blue: #4D9DE0;        /* 仅图表 / 次要数据强调 */

  /* 语义色（只用于状态，不做装饰） */
  --live: #2FA66A;
  --warn: #D98E04;
  --danger: #D64541;

  /* 圆角：三档收敛 */
  --r-chip: 6px;
  --r-control: 12px;
  --r-card: 18px;
  --r-icon: 14px;              /* 44px 服务图标块 */
  --r-panel: 28px;
  --r-pill: 999px;

  /* 深蓝标题条上的文字（明暗两套均保持浅色） */
  --on-navy: #F4F8FC;

  /* 阴影：环境光 + 可选硬位移 */
  --shadow-card: 0 1px 2px rgba(31, 44, 61, .05), 0 10px 30px -14px rgba(31, 44, 61, .22);
  --shadow-hover: 0 2px 0 rgba(31, 44, 61, .10), 0 18px 40px -18px rgba(31, 44, 61, .30);
  --shadow-tactile: 0 3px 0 var(--line-strong);
  --shadow-mark: inset 0 -1px 0 rgba(0, 0, 0, .18);
  --ring: 0 0 0 2px var(--surface), 0 0 0 4px rgba(53, 104, 214, .45);

  --ease: cubic-bezier(.2, .75, .25, 1);
  --dur: 200ms;

  /* 排版 */
  --font-display: "Montserrat", "Inter", system-ui, -apple-system, "PingFang SC", sans-serif;
  --font-body: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB",
    "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --font-mono: ui-monospace, "Cascadia Mono", Consolas, monospace;

  /* 布局 */
  --header-h: 64px;
  --container: 1200px;
  --gutter: 32px;
  --grid-size: 64px;

  color-scheme: light;
}

:root[data-theme="dark"] {
  --canvas: #141A23;
  --canvas-grid: rgba(237, 244, 250, .05);
  --surface: #1C2430;
  --surface-2: #232D3B;
  --surface-3: #2A3648;
  --ink: #EDF4FA;
  --ink-2: #A9BACB;
  --ink-3: #7D8FA3;
  --line: #314154;
  --line-strong: #4A5F76;
  --navy: #26384E;
  --accent: #6E9BFF;
  --accent-hover: #86ACFF;
  --accent-soft: #1F2F46;
  --on-accent: #101720;        /* 暗色主色偏亮，白字对比不足 */
  --data-blue: #7FB6E8;
  --live: #3FB97A;
  --warn: #E8A33D;
  --danger: #E25A52;
  --shadow-card: 0 1px 2px rgba(0, 0, 0, .35), 0 12px 32px -16px rgba(0, 0, 0, .55);
  --shadow-hover: 0 2px 0 rgba(0, 0, 0, .45), 0 20px 44px -18px rgba(0, 0, 0, .65);

  color-scheme: dark;
}
