:root {
  --nf-color-bg: #F8FAFC;
  --nf-color-surface: #FFFFFF;
  --nf-color-subtle: #F1F5F9;
  --nf-color-heading: #081A36;
  --nf-color-text: #0F172A;
  --nf-color-muted: #475569;
  --nf-color-border: #CBD5E1;
  --nf-color-border-divider: #E2E8F0;
  --nf-color-border-control: #64748B;
  --nf-color-focus: #2B6BD6;
  --nf-focus-ring: #2B6BD6;
  --nf-focus-offset: #FFFFFF;
  --nf-color-link: #1B4D89;
  --nf-color-inverse-link: #BFDBFE;
  --nf-color-info-bg: #EFF6FF;
  --nf-color-healthy-bg: #ECFDF5;
  --nf-color-watch-bg: #FFFBEB;
  --nf-color-stop-bg: #FEF2F2;
  --nf-color-healthy-keyline: #166534;
  --nf-color-watch-keyline: #92400E;
  --nf-color-stop-keyline: #B91C1C;

  --nf-space-1: 0.25rem;
  --nf-space-2: 0.5rem;
  --nf-space-3: 0.75rem;
  --nf-space-4: 1rem;
  --nf-space-5: 1.5rem;
  --nf-space-6: 2rem;
  --nf-space-7: 3rem;
  --nf-space-8: 4rem;
  --nf-space-p: 0.75rem;
  --nf-space-sec: 2rem;
  --nf-space-li: 0.5rem;
  --nf-space-xs: 0.5rem;
  --nf-space-xxs: 0.25rem;

  --nf-radius-0: 0;
  --nf-radius-sm: 0.25rem;
  --nf-radius: var(--nf-radius-sm);
  --nf-outline-w: 2px;
  --nf-outline-offset: 2px;
  --nf-border-w: 1px;
  --nf-callout-accent-w: 4px;

  --nf-max-width: 68ch;
  --nf-container-max: 72rem;
  --nf-gutter: clamp(1rem, 3vw, 1.5rem);
  --nf-prose: 68ch;

  --nf-font-sans: "Public Sans", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --nf-font-mono: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --nf-w-400: 400;
  --nf-w-500: 500;
  --nf-w-600: 600;

  --nf-h1: 2.25rem;
  --nf-lh-h1: 1.2;
  --nf-h2: 1.625rem;
  --nf-lh-h2: 1.3;
  --nf-h3: 1.375rem;
  --nf-lh-h3: 1.35;
  --nf-h4: 1.125rem;
  --nf-lh-h4: 1.333;
  --nf-h5: 1rem;
  --nf-lh-h5: 1.5;
  --nf-h6: 0.875rem;
  --nf-lh-h6: 1.571;
  --nf-lead: 1.125rem;
  --nf-lh-lead: 1.6;
  --nf-body: 1rem;
  --nf-lh-body: 1.6;
  --nf-small: 0.875rem;
  --nf-lh-small: 1.571;
  --nf-label: 0.8125rem;
  --nf-lh-label: 1.385;
  --nf-mono: 0.8125rem;
  --nf-lh-mono: 1.538;

  --nf-font-main: var(--nf-font-sans);
  --nf-font-size-body: var(--nf-body);
  --nf-font-size-h1: var(--nf-h1);
  --nf-font-size-h2: var(--nf-h2);
  --nf-line-body: var(--nf-lh-body);
  --nf-line-h1: var(--nf-lh-h1);
  --nf-line-h2: var(--nf-lh-h2);
  --nf-weight-regular: var(--nf-w-400);
  --nf-weight-medium: var(--nf-w-500);
  --nf-weight-semibold: var(--nf-w-600);

  --nf-bg-shell: var(--nf-color-bg);
  --nf-bg-sheet: var(--nf-color-subtle);
  --nf-bg-canvas: var(--nf-color-surface);
  --nf-bg-surface: var(--nf-color-bg);
  --nf-sheet-border: var(--nf-color-border);
  --nf-sheet-radius: var(--nf-radius);
  --nf-sheet-pad: var(--nf-space-6);
  --nf-module-gap: var(--nf-space-6);
  --nf-section-gap: var(--nf-space-sec);
  --nf-block-gap: var(--nf-space-p);

  --nf-border-default: var(--nf-color-border);
  --nf-border-soft: var(--nf-color-border-divider);
  --nf-border-divider: var(--nf-color-border-divider);
  --nf-border-control: var(--nf-color-border-control);

  --nf-text-body: var(--nf-color-text);
  --nf-text-heading: var(--nf-color-heading);
  --nf-text-muted: var(--nf-color-muted);

  --nf-link-emphasis: var(--nf-weight-medium);
  --nf-strip-bg: var(--nf-color-bg);
  --nf-strip-border: var(--nf-border-divider);
  --nf-header-divider-color: var(--nf-strip-border);
  --nf-header-divider-width: var(--nf-border-w);
  --nf-header-inner-pad-y: var(--nf-space-2);
  --nf-header-inner-pad-x: var(--nf-space-4);
  --nf-header-stack-gap: var(--nf-space-xxs);
  --nf-header-to-main-gap: var(--nf-space-2);
  --nf-entry-offset-top: 0;
  --nf-main-top-standard: var(--nf-space-5);
  --nf-main-top-short: var(--nf-space-4);
  --nf-short-main-pad-bottom: var(--nf-space-4);
  --nf-short-section-gap: var(--nf-space-3);
  --nf-short-prose-max: 66ch;
  --nf-short-frame-pad-y: var(--nf-space-2);
  --nf-evidence-split-gap: var(--nf-space-2);
  --nf-evidence-split-col-primary: 1.14fr;
  --nf-evidence-split-col-secondary: 0.86fr;
  --nf-ops-split-col-primary: 1.08fr;
  --nf-ops-split-col-secondary: 0.92fr;
  --nf-lane-support-bg: var(--nf-strip-bg);
  --nf-lane-support-border: var(--nf-border-divider);
  --nf-lane-support-pad: var(--nf-space-2);
  --nf-cta-rail-emphasis: calc(var(--nf-callout-accent-w) + 2px);

  --nf-logo-header-h-desktop: 1.5rem;
  --nf-logo-header-h-mobile: 1.25rem;
  --nf-logo-footer-h: 1.375rem;
  --nf-logo-minw-desktop: 8.75rem;
  --nf-brand-group-gap: var(--nf-space-2);
  --nf-brand-meta-size: 0.6875rem;
  --nf-brand-meta-lh: 1.25;
  --nf-brand-meta-gap-top: 0.125rem;
  --nf-mini-label-col-max: 22ch;
  --nf-mini-label-col-min: 8rem;
  --nf-instruction-bg: var(--nf-bg-sheet);
  --nf-instruction-keyline: var(--nf-callout-keyline-info);
  --nf-instruction-rail: var(--nf-border-divider);

  --nf-callout-bg-info: var(--nf-color-info-bg);
  --nf-callout-keyline-info: var(--nf-focus-ring);
  --nf-callout-bg-healthy: var(--nf-color-healthy-bg);
  --nf-callout-keyline-healthy: var(--nf-color-healthy-keyline);
  --nf-callout-bg-watch: var(--nf-color-watch-bg);
  --nf-callout-keyline-watch: var(--nf-color-watch-keyline);
  --nf-callout-bg-stop: var(--nf-color-stop-bg);
  --nf-callout-keyline-stop: var(--nf-color-stop-keyline);
  --nf-status-healthy-ink: var(--nf-color-healthy-keyline);
  --nf-status-watch-ink: var(--nf-color-watch-keyline);
  --nf-status-stop-ink: var(--nf-color-stop-keyline);

  --nf-s1: 0.5rem;
  --nf-s2: 1rem;
  --nf-s3: 1.25rem;
}
