/* Design tokens — ported from Northfire Compliance design system (tokens/colors.css, typography.css, spacing.css, effects.css) */
:root {
  /* base — ink (navy) */
  --ink-950: #0a1c33;
  --ink-900: #132e50;
  --ink-800: #1c3a60;
  --ink-700: #2a4569;
  --ink-500: #5c7291;
  --ink-300: #a7b6c9;
  --ink-100: #e7ebf1;

  /* base — paper (warm neutrals) */
  --paper-0: #ffffff;
  --paper-50: #f7f6f2;
  --paper-100: #efece4;
  --paper-200: #e2ded2;

  /* base — ember (flame accent) */
  --ember-600: #d3441c;
  --ember-500: #f0791e;
  --ember-400: #f6a33d;
  --ember-100: #fde9d5;

  /* status */
  --status-pass: #2f7d52;
  --status-pass-bg: #e6f2ea;
  --status-warn: var(--ember-500);
  --status-warn-bg: var(--ember-100);
  --status-fail: #c23b2b;
  --status-fail-bg: #fbe7e3;

  /* semantic */
  --surface-page: var(--paper-50);
  --surface-card: var(--paper-0);
  --surface-inverse: var(--ink-900);
  --surface-inverse-2: var(--ink-950);
  --surface-sunken: var(--paper-100);

  --text-primary: var(--ink-950);
  --text-secondary: var(--ink-700);
  --text-muted: var(--ink-500);
  --text-inverse: #ffffff;
  --text-inverse-muted: var(--ink-300);

  --border-subtle: var(--ink-100);
  --border-strong: var(--ink-300);
  --border-inverse: rgba(255, 255, 255, 0.16);

  --accent: var(--ember-500);
  --accent-hover: var(--ember-600);
  --accent-contrast: #ffffff;

  --link: var(--ink-900);
  --link-hover: var(--ember-600);

  /* type */
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --tracking-wide: 0.08em;
  --tracking-label: 0.14em;

  --text-display-xl: 700 64px/1.05 var(--font-display);
  --text-display-lg: 700 44px/1.1 var(--font-display);
  --text-display-md: 600 32px/1.2 var(--font-display);
  --text-h1: 600 28px/1.25 var(--font-sans);
  --text-h2: 600 22px/1.3 var(--font-sans);
  --text-h3: 600 18px/1.35 var(--font-sans);
  --text-body-lg: 400 18px/1.6 var(--font-sans);
  --text-body: 400 15px/1.6 var(--font-sans);
  --text-body-sm: 400 13px/1.5 var(--font-sans);
  --text-label: 600 11px/1.2 var(--font-sans);
  --text-mono: 400 13px/1.5 ui-monospace, 'SF Mono', Menlo, monospace;

  /* spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;

  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 14px;
  --radius-pill: 999px;

  --container-max: 1200px;

  /* effects */
  --shadow-sm: 0 1px 2px rgba(10, 28, 51, 0.06), 0 1px 1px rgba(10, 28, 51, 0.04);
  --shadow-md: 0 4px 16px rgba(10, 28, 51, 0.08), 0 1px 2px rgba(10, 28, 51, 0.06);
  --shadow-lg: 0 12px 32px rgba(10, 28, 51, 0.14), 0 2px 6px rgba(10, 28, 51, 0.08);
  --shadow-inverse: 0 8px 30px rgba(0, 0, 0, 0.35);

  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --duration-fast: 120ms;
  --duration-base: 200ms;
}
