:root {
  --lg-color-neutral-0: #ffffff;
  --lg-color-neutral-50: #faf9f7;
  --lg-color-neutral-100: #f4f2ef;
  --lg-color-neutral-200: #e8e4df;
  --lg-color-neutral-300: #d4cec7;
  --lg-color-neutral-400: #afa79e;
  --lg-color-neutral-500: #807870;
  --lg-color-neutral-600: #625b55;
  --lg-color-neutral-700: #48433e;
  --lg-color-neutral-800: #302d2a;
  --lg-color-neutral-900: #1f1d1b;
  --lg-color-neutral-950: #141312;

  --lg-color-brand-50: #fcf1ef;
  --lg-color-brand-100: #f9dbd6;
  --lg-color-brand-200: #f2b7ae;
  --lg-color-brand-300: #e98a7f;
  --lg-color-brand-400: #dd6255;
  --lg-color-brand-500: #d04a3c;
  --lg-color-brand-600: #c33e32;
  --lg-color-brand-700: #a63129;
  --lg-color-brand-800: #812720;
  --lg-color-brand-900: #5c1c18;
  --lg-color-brand-950: #36110e;
  --lg-color-accent-50: #f1f6fa;
  --lg-color-accent-100: #dfeaf2;
  --lg-color-accent-200: #c1d7e7;
  --lg-color-accent-300: #96bdd6;
  --lg-color-accent-400: #659abb;
  --lg-color-accent-500: #477d9f;
  --lg-color-accent-600: #315c7d;
  --lg-color-accent-700: #294c68;
  --lg-color-accent-800: #263f55;
  --lg-color-accent-900: #233747;
  --lg-color-accent-950: #17232e;

  --lg-color-success-500: #2f7a55;
  --lg-color-warning-500: #a56618;
  --lg-color-error-500: #b9382f;
  --lg-color-info-500: #315c7d;

  --lg-bg-page: var(--lg-color-neutral-50);
  --lg-bg-subtle: var(--lg-color-neutral-100);
  --lg-surface-card: var(--lg-color-neutral-0);
  --lg-surface-raised: var(--lg-color-neutral-0);
  --lg-surface-brand-soft: var(--lg-color-brand-50);
  --lg-surface-accent-soft: var(--lg-color-accent-50);
  --lg-text-primary: var(--lg-color-neutral-950);
  --lg-text-secondary: var(--lg-color-neutral-700);
  --lg-text-muted: var(--lg-color-neutral-600);
  --lg-text-inverse: var(--lg-color-neutral-0);
  --lg-text-inverse-muted: var(--lg-color-neutral-300);
  --lg-border-default: var(--lg-color-neutral-200);
  --lg-border-strong: var(--lg-color-neutral-400);
  --lg-border-inverse: var(--lg-color-neutral-800);
  --lg-action-primary-bg: var(--lg-color-brand-600);
  --lg-action-primary-hover-bg: var(--lg-color-brand-700);
  --lg-action-primary-text: var(--lg-color-neutral-0);
  --lg-action-secondary-bg: var(--lg-color-neutral-0);
  --lg-action-secondary-hover-bg: var(--lg-color-accent-50);
  --lg-action-secondary-text: var(--lg-color-accent-700);
  --lg-action-secondary-border: var(--lg-color-accent-300);
  --lg-action-ghost-text: var(--lg-color-brand-700);
  --lg-action-ghost-hover-bg: var(--lg-color-brand-50);
  --lg-action-disabled-bg: var(--lg-color-neutral-200);
  --lg-action-disabled-text: var(--lg-color-neutral-500);
  --lg-focus-ring: var(--lg-color-accent-500);
  --lg-status-success: var(--lg-color-success-500);
  --lg-status-warning: var(--lg-color-warning-500);
  --lg-status-error: var(--lg-color-error-500);
  --lg-status-info: var(--lg-color-info-500);

  --lg-spacing-0: 0;
  --lg-spacing-2: 2px;
  --lg-spacing-4: 4px;
  --lg-spacing-8: 8px;
  --lg-spacing-12: 12px;
  --lg-spacing-16: 16px;
  --lg-spacing-20: 20px;
  --lg-spacing-24: 24px;
  --lg-spacing-32: 32px;
  --lg-spacing-40: 40px;
  --lg-spacing-48: 48px;
  --lg-spacing-64: 64px;
  --lg-spacing-80: 80px;
  --lg-spacing-96: 96px;

  /* Phase 2 semantic density aliases reuse the canonical spacing scale. */
  --lg-section-space-landing: var(--lg-spacing-96);
  --lg-section-space-context: var(--lg-spacing-64);
  --lg-section-space-task: var(--lg-spacing-40);

  --lg-radius-0: 0;
  --lg-radius-4: 4px;
  --lg-radius-8: 8px;
  --lg-radius-12: 12px;
  --lg-radius-16: 16px;
  --lg-radius-24: 24px;
  --lg-radius-full: 999px;

  --lg-elevation-100: 0 1px 3px rgba(20, 18, 15, 0.06);
  --lg-elevation-200: 0 6px 18px -4px rgba(20, 18, 15, 0.08);
  --lg-elevation-300: 0 16px 40px -10px rgba(20, 18, 15, 0.12);

  --lg-font-cn: "Noto Sans SC", system-ui, sans-serif;
  --lg-font-latin: "Geist", system-ui, sans-serif;
  --lg-container-wide: 1312px;
  --lg-gutter-desktop: 64px;
  --lg-gutter-mobile: 24px;
}
