/* VationX visual system extracted from mpp54fel-VationX-VI.pdf. */

:root {
  /* Core six-token contract from brand-spec.md. */
  --bg: oklch(100.00% 0.0000 89.88);
  --surface: oklch(89.45% 0.0000 89.88);
  --fg: oklch(29.72% 0.0000 89.88);
  --muted: oklch(36.96% 0.0027 197.04);
  --border: oklch(76.99% 0.0000 89.88);
  --accent: oklch(87.07% 0.2750 143.81);

  --fg-2: var(--muted);
  --meta: oklch(66.42% 0.0763 183.27);
  --border-soft: oklch(89.45% 0.0000 89.88);
  --surface-warm: var(--surface);

  --accent-on: var(--fg);
  --accent-hover: oklch(75.07% 0.2301 144.47);
  --accent-active: oklch(75.07% 0.2301 144.47);
  --brand-green: oklch(75.07% 0.2301 144.47);
  --brand-bright: var(--accent);
  --brand-teal: oklch(66.42% 0.0763 183.27);
  --brand-deep: oklch(33.70% 0.0642 147.25);
  --brand-soft: oklch(73.37% 0.1160 148.23);
  --brand-lime: oklch(93.88% 0.2235 120.28);
  --brand-blue: oklch(70.05% 0.1647 248.30);
  --brand-purple: oklch(69.42% 0.1837 296.85);

  --success: var(--brand-green);
  --warn: var(--brand-lime);
  --danger: var(--brand-purple);

  --font-display: "字魂创粗圆", "Zihun Chuang CuYuan", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-body: "思源黑体", "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;

  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 22px;
  --text-xl: 30px;
  --text-2xl: 44px;
  --text-3xl: 58px;
  --text-4xl: 84px;

  --leading-body: 1.5;
  --leading-tight: 0.96;
  --tracking-display: -0.035em;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;

  --section-y-desktop: 76px;
  --section-y-tablet: 48px;
  --section-y-phone: 32px;

  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;
  --radius-pill: 9999px;

  --elev-flat: none;
  --elev-ring: 0 0 0 1px var(--border-soft);
  --elev-raised:
    0 18px 60px color-mix(in oklab, var(--brand-deep), transparent 90%),
    0 0 0 1px color-mix(in oklab, var(--accent), transparent 82%);

  --focus-ring: 0 0 0 3px color-mix(in oklab, var(--accent), transparent 62%);
  --motion-fast: 150ms;
  --motion-base: 220ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);

  --container-max: 1280px;
  --container-gutter-desktop: 24px;
  --container-gutter-tablet: 16px;
  --container-gutter-phone: 12px;
}
