/* Hallmark · genre: modern-minimal · macrostructure: Bento Grid · theme: Cobalt
 * enrichment: none (typography + Tier-A retention-ruler signature) · nav: N1b · footer: Ft2
 * F1 Bento knobs: tiles=8 · spans=irregular · border=hairline-all
 * audience: 国内 B2B 企业决策者 · use: 预约演示 · tone: technical / instrument-panel
 * pre-emit critique: P4 H4 E4 S4 R5 V5
 * slop: pass · contrast: pass (40–41) · nav/footer/hero: pass (42–45) · honest: pass (46)
 * chrome: pass (47) · tokens: pass (48, favicon data-URI 豲 asset 豁免) · mobile: pass (34, 49, 50–57)
 */

:root {
  /* ── Color · Cobalt (cool hue 255–262, accent ≤3% coverage) ── */
  --color-paper:      oklch(97.5% 0.004 255);
  --color-paper-2:    oklch(95.0% 0.006 255);
  --color-rule:       oklch(89.5% 0.006 255);
  --color-rule-2:     oklch(84.0% 0.008 255);
  --color-muted:      oklch(45.0% 0.012 255);
  --color-neutral:    oklch(52.0% 0.010 255);
  --color-ink:        oklch(23.0% 0.014 255);
  --color-ink-2:      oklch(19.5% 0.016 255);   /* dark bento tile surface */
  --color-on-ink:     oklch(93.0% 0.006 255);    /* text on dark tile */
  --color-on-ink-mut: oklch(72.0% 0.008 255);    /* muted text on dark tile */
  --color-rule-dark:  oklch(32.0% 0.010 255);    /* hairline on dark tile */
  --color-accent:     oklch(54.0% 0.190 262);    /* electric cobalt — signal only */
  --color-focus:      oklch(54.0% 0.190 262);

  /* ── Type ── */
  --font-display: "Space Grotesk", "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --font-body:    "Space Grotesk", "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace; /* outlier: wordmark + stat numerals only */

  --text-xs:   0.8rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-md:   1.25rem;
  --text-lg:   1.5625rem;
  --text-xl:   1.9531rem;
  --text-2xl:  2.4414rem;
  --text-display: clamp(2.5rem, 5vw + 0.75rem, 4.75rem);
  --text-display-s: clamp(2rem, 3.5vw + 0.75rem, 3.25rem);

  /* ── Space · 4pt scale ── */
  --space-3xs: 0.125rem;
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;

  /* ── Motion ── */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:     cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms;
  --dur-short: 220ms;
  --dur-long:  420ms;

  /* ── Rules / radius / depth / z ── */
  --rule-hair: 1px;
  --radius-tile: 8px;
  --radius-pill: 999px;
  --shadow-whisper: 0 1px 2px oklch(20% 0.01 255 / 0.05);
  --z-base: 1; --z-sticky: 200; --z-modal: 400;
  --page-max: 80rem;
  --page-gutter: clamp(1.25rem, 4vw, 2.5rem);
}
