/* Hallmark · theme: custom (vibe: "enterprise AI light" · paper oklch(97.5% 0.018 250) · accent oklch(50% 0.17 255) cool-blue · DM Sans + IBM Plex Sans)
 * axes: light / geometric-sans / cool
 * nav: N5 floating pill · footer: Ft5 statement
 */

@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,600&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500&display=swap");

:root {
  --color-paper: oklch(97.5% 0.018 250);
  --color-paper-2: oklch(99.2% 0.012 252);
  --color-paper-3: oklch(94% 0.028 255);
  --color-ink: oklch(24% 0.045 260);
  --color-ink-2: oklch(44% 0.035 260);
  --color-ink-3: oklch(58% 0.025 260);
  --color-rule: oklch(88% 0.025 255);
  --color-accent: oklch(50% 0.17 255);
  --color-accent-soft: oklch(50% 0.17 255 / 0.1);
  --color-accent-muted: oklch(50% 0.17 255 / 0.28);
  --color-accent-ink: oklch(99% 0.005 255);
  --color-focus: oklch(52% 0.16 255);
  --color-danger: oklch(52% 0.2 25);
  --color-danger-muted: oklch(52% 0.2 25 / 0.35);

  --font-display: "DM Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-body: "IBM Plex Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;

  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4.5rem;
  --space-3xl: 7rem;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.375rem;
  --text-2xl: 1.75rem;
  --text-3xl: 2.25rem;
  --text-display-s: clamp(2rem, 4.5vw, 3rem);
  --text-display: clamp(2.25rem, 5.5vw, 3.75rem);

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-pill: 999px;

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-short: 180ms;
  --dur-med: 280ms;

  --rule-hairline: 1px solid var(--color-rule);
  --shadow-panel: 0 1px 2px oklch(24% 0.045 260 / 0.06), 0 8px 28px oklch(24% 0.045 260 / 0.08);
}
