/* mengjin-site · design tokens
 * direction: cobalt ink · dark-first editorial / bento grid
 * audit: single primary accent (cobalt blue) + coral signal color,
 *        deep blue-black surfaces, forced dark theme
 */

:root {
  color-scheme: dark;

  /* surfaces · deep blue-black ink */
  --color-paper: oklch(16.5% 0.014 265);
  --color-paper-2: oklch(19.5% 0.016 265);
  --color-paper-3: oklch(23% 0.017 265);
  --color-rule: oklch(30% 0.018 265);
  --color-rule-2: oklch(46% 0.02 265);

  /* ink scale · cool off-white */
  --color-muted: oklch(72% 0.014 240);
  --color-neutral: oklch(81% 0.01 235);
  --color-ink-2: oklch(88% 0.008 235);
  --color-ink: oklch(95% 0.005 220);

  /* accent · electric cobalt blue */
  --color-accent: oklch(68% 0.15 255);
  --color-accent-deep: oklch(60% 0.15 255);
  --color-accent-text: oklch(76% 0.12 255);
  --color-accent-ink: oklch(17% 0.015 265);
  --color-focus: oklch(74% 0.13 255);

  /* signal · coral (status only, used sparingly) */
  --color-flare: oklch(74% 0.13 25);
  --color-flare-deep: oklch(66% 0.14 25);
  --color-flare-text: oklch(80% 0.11 28);

  /* tint surfaces */
  --tint-accent: oklch(68% 0.15 255 / 0.13);
  --tint-accent-strong: oklch(68% 0.15 255 / 0.22);
  --tint-flare: oklch(74% 0.13 25 / 0.12);
  --tint-ink: oklch(95% 0.005 220 / 0.05);
  --tint-ink-strong: oklch(95% 0.005 220 / 0.1);
  --tint-rule: oklch(95% 0.005 220 / 0.12);

  /* shadows */
  --shadow-card: 0 16px 40px -20px oklch(0% 0 0 / 0.6), 0 1px 2px oklch(0% 0 0 / 0.3);
  --shadow-card-hover: 0 28px 64px -24px oklch(0% 0 0 / 0.7), 0 2px 6px oklch(0% 0 0 / 0.35);
  --shadow-btn-cast: oklch(0% 0 0 / 0.45);

  /* aurora blobs · fixed backdrop */
  --aurora-1: oklch(58% 0.14 240 / 0.22);
  --aurora-2: oklch(68% 0.1 215 / 0.18);
  --aurora-3: oklch(64% 0.17 265 / 0.16);

  /* Type: variable rounded sans + mono labels */
  --font-display: "Plus Jakarta Sans", "PingFang SC", "Hiragino Sans GB", sans-serif;
  --font-body: "Plus Jakarta Sans", "PingFang SC", "Hiragino Sans GB", sans-serif;
  --font-label: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --display-weight: 300;
  --text-display: clamp(2.9rem, 5.6vw + 0.8rem, 5.5rem);
  --text-display-s: clamp(2.1rem, 3.4vw + 1rem, 3.4rem);
  --tracking-display: -0.02em;
  --tracking-tight: -0.01em;
  --tracking-normal: 0;
  --tracking-label: 0.14em;
  --tracking-micro: 0.2em;

  --lh-tight: 1.12;
  --lh-snug: 1.24;
  --lh-normal: 1.7;
  --lh-relaxed: 1.85;

  --section-gap: 7rem;
  --section-head-gap: 2rem;

  /* shape system: buttons pill · cards 20px · inputs 12px */
  --radius-card: 20px;
  --radius-pill: 999px;
  --radius-input: 12px;
  --rule-card: 1px;

  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-snap: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms;
  --dur-short: 220ms;
  --dur-long: 420ms;
  --dur-tick: 1200ms;

  --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: 7rem;

  --text-xs: 0.6875rem;
  --text-sm: 0.8125rem;
  --text-base: 1rem;
  --text-md: 1.0625rem;
  --text-lg: 1.25rem;
  --text-xl: 1.5rem;
  --text-2xl: 2rem;
  --text-3xl: 2.5rem;

  --page-max: 78rem;
  --page-gutter: clamp(1.25rem, 4vw, 3rem);
  --measure: 60ch;
}
