.uc-root {
  --uc-red-50: #FFF3F4;
  --uc-red-100: #FFE3E5;
  --uc-red-200: #FFC6CB;
  --uc-red-300: #FF9AA3;
  --uc-red-400: #FF4D5A;
  --uc-red-500: #E8192B;
  --uc-red-600: #C4121F;
  --uc-red-700: #9C0E19;
  --uc-red-800: #6E0A12;
  --uc-red-900: #40060A;

  --uc-ink-0: #FFFFFF;
  --uc-ink-25: #FBFAFA;
  --uc-ink-50: #F6F5F5;
  --uc-ink-100: #EEECEC;
  --uc-ink-200: #E6E3E4;
  --uc-ink-300: #CFCBCC;
  --uc-ink-400: #A8A3A4;
  --uc-ink-500: #7E7879;
  --uc-ink-600: #6B6667;
  --uc-ink-700: #4A4546;
  --uc-ink-800: #2E2A2B;
  --uc-ink-825: #242121;
  --uc-ink-850: #1C1919;
  --uc-ink-900: #141212;
  --uc-ink-950: #0B0A0A;

  --uc-green-50: #E6F5EF;
  --uc-green-100: #CDE9DC;
  --uc-green-400: #4FBE94;
  --uc-green-500: #0E7C57;
  --uc-green-800: #114A35;
  --uc-green-900: #0A2E22;
  --uc-amber-50: #FBF1E2;
  --uc-amber-100: #F2E0BE;
  --uc-amber-400: #E3A548;
  --uc-amber-500: #9A5B00;
  --uc-amber-800: #573F12;
  --uc-amber-900: #2E2008;

  --uc-font-sans: 'Manrope', 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --uc-font-serif: 'Literata', 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --uc-font-mono: 'JetBrains Mono', 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  --uc-text-micro: 0.6875rem;
  --uc-leading-micro: 1.45;
  --uc-tracking-micro: 0.06em;
  --uc-text-caption: 0.75rem;
  --uc-leading-caption: 1.5;
  --uc-tracking-caption: 0.01em;
  --uc-text-data: 0.8125rem;
  --uc-leading-data: 1.4;
  --uc-text-body-sm: 0.875rem;
  --uc-leading-body-sm: 1.5;
  --uc-text-body: 1rem;
  --uc-leading-body: 1.55;
  --uc-text-prose: 1.125rem;
  --uc-leading-prose: 1.7;
  --uc-text-prose-lg: 1.25rem;
  --uc-leading-prose-lg: 1.7;
  --uc-text-title-sm: 1.25rem;
  --uc-leading-title-sm: 1.35;
  --uc-tracking-title-sm: -0.01em;
  --uc-text-title: 1.5rem;
  --uc-leading-title: 1.3;
  --uc-tracking-title: -0.015em;
  --uc-text-title-lg: 1.875rem;
  --uc-leading-title-lg: 1.25;
  --uc-tracking-title-lg: -0.02em;
  --uc-text-metric: 2.125rem;
  --uc-leading-metric: 1.05;
  --uc-tracking-metric: -0.025em;
  --uc-text-display-sm: 2.5rem;
  --uc-leading-display-sm: 1.1;
  --uc-tracking-display-sm: -0.03em;
  --uc-text-display: 3.25rem;
  --uc-leading-display: 1.02;
  --uc-tracking-display: -0.035em;

  --uc-weight-regular: 400;
  --uc-weight-medium: 500;
  --uc-weight-semibold: 600;
  --uc-weight-bold: 700;
  --uc-weight-black: 800;

  --uc-space-2: 0.125rem;
  --uc-space-4: 0.25rem;
  --uc-space-6: 0.375rem;
  --uc-space-8: 0.5rem;
  --uc-space-12: 0.75rem;
  --uc-space-16: 1rem;
  --uc-space-20: 1.25rem;
  --uc-space-24: 1.5rem;
  --uc-space-32: 2rem;
  --uc-space-40: 2.5rem;
  --uc-space-48: 3rem;
  --uc-space-64: 4rem;
  --uc-space-80: 5rem;
  --uc-space-96: 6rem;
  --uc-space-128: 8rem;

  --uc-radius-sm: 6px;
  --uc-radius-md: 10px;
  --uc-radius-lg: 14px;
  --uc-radius-xl: 20px;
  --uc-radius-full: 9999px;

  --uc-page-max: 1440px;
  --uc-content-max: 1120px;
  --uc-measure: 68ch;
  --uc-sidebar-width: 288px;
  --uc-sidebar-collapsed: 72px;
  --uc-section-gap: var(--uc-space-64);
  --uc-card-padding: var(--uc-space-24);
  --uc-element-gap: var(--uc-space-16);
  --uc-target-min: 44px;
  --uc-row-height: 48px;
  --uc-control-height: 40px;
  --uc-border-width: 1px;

  --uc-duration-instant: 90ms;
  --uc-duration-fast: 140ms;
  --uc-duration-base: 220ms;
  --uc-duration-slow: 340ms;
  --uc-ease: cubic-bezier(0.2, 0, 0, 1);
  --uc-ease-in: cubic-bezier(0.4, 0, 1, 1);

  --uc-z-dropdown: 100;
  --uc-z-sticky: 200;
  --uc-z-overlay: 300;
  --uc-z-modal: 400;
  --uc-z-toast: 500;

  /* Multiplier for physical x offsets that follow the reading direction. */
  --uc-inline-sign: 1;
}

[dir="rtl"] .uc-root {
  --uc-inline-sign: -1;
}

.uc-root,
.uc-root[data-uc-theme="light"] {
  --uc-color-canvas: var(--uc-ink-25);
  --uc-color-surface: var(--uc-ink-0);
  --uc-color-surface-raised: var(--uc-ink-0);
  --uc-color-surface-sunken: var(--uc-ink-50);
  --uc-color-surface-accent: var(--uc-red-50);

  --uc-color-border: var(--uc-ink-200);
  --uc-color-border-strong: var(--uc-ink-300);

  --uc-color-text: #1A1819;
  --uc-color-text-muted: var(--uc-ink-600);
  --uc-color-text-subtle: #918C8D;
  --uc-color-text-invert: var(--uc-ink-0);

  --uc-color-accent: var(--uc-red-500);
  --uc-color-accent-hover: var(--uc-red-600);
  --uc-color-accent-solid: var(--uc-red-500);
  --uc-color-accent-solid-hover: var(--uc-red-600);
  --uc-color-focus: var(--uc-red-500);
  --uc-color-deadline-urgent: var(--uc-red-600);
  --uc-color-nav-active: var(--uc-red-600);

  --uc-color-success: var(--uc-green-500);
  --uc-color-success-surface: var(--uc-green-50);
  --uc-color-success-border: var(--uc-green-100);
  --uc-color-warning: var(--uc-amber-500);
  --uc-color-warning-surface: var(--uc-amber-50);
  --uc-color-warning-border: var(--uc-amber-100);
  --uc-color-danger: var(--uc-red-700);
  --uc-color-danger-surface: var(--uc-red-100);
  --uc-color-danger-border: var(--uc-red-200);
  --uc-color-neutral-surface: var(--uc-ink-50);

  --uc-chart-1: var(--uc-red-500);
  --uc-chart-2: var(--uc-red-300);
  --uc-chart-3: var(--uc-ink-400);
  --uc-chart-grid: var(--uc-ink-100);
  --uc-chart-area-from: rgb(232 25 43 / 0.16);
  --uc-chart-area-to: rgb(232 25 43 / 0);

  --uc-shadow-xs: 0 1px 2px rgb(20 18 18 / 0.05);
  --uc-shadow-sm: 0 1px 3px rgb(20 18 18 / 0.06), 0 1px 2px rgb(20 18 18 / 0.04);
  --uc-shadow-md: 0 4px 12px rgb(20 18 18 / 0.08);
  --uc-shadow-lg: 0 12px 32px rgb(20 18 18 / 0.12);
  --uc-shadow-popover: 0 4px 16px rgb(20 18 18 / 0.10);
  --uc-shadow-focus: 0 0 0 3px rgb(232 25 43 / 0.28);

  --uc-color-backdrop: rgb(11 10 10 / 0.55);
  color-scheme: light;
}

.uc-root[data-uc-theme="dark"] {
  /* Canvas starts one step above the darkest ink so sunken has somewhere to go. */
  --uc-color-canvas: var(--uc-ink-900);
  --uc-color-surface: var(--uc-ink-850);
  --uc-color-surface-raised: var(--uc-ink-825);
  --uc-color-surface-sunken: var(--uc-ink-950);
  --uc-color-surface-accent: #301518;

  --uc-color-border: #302C2C;
  --uc-color-border-strong: #454040;

  --uc-color-text: #F5F3F3;
  --uc-color-text-muted: #A39D9E;
  --uc-color-text-subtle: #7A7475;
  --uc-color-text-invert: var(--uc-ink-0);

  --uc-color-accent: var(--uc-red-400);
  --uc-color-accent-hover: #FF7A84;
  --uc-color-accent-solid: var(--uc-red-500);
  --uc-color-accent-solid-hover: var(--uc-red-600);
  --uc-color-focus: var(--uc-red-400);
  --uc-color-deadline-urgent: var(--uc-red-400);
  --uc-color-nav-active: var(--uc-red-400);

  --uc-color-success: var(--uc-green-400);
  --uc-color-success-surface: var(--uc-green-900);
  --uc-color-success-border: var(--uc-green-800);
  --uc-color-warning: var(--uc-amber-400);
  --uc-color-warning-surface: var(--uc-amber-900);
  --uc-color-warning-border: var(--uc-amber-800);
  --uc-color-danger: var(--uc-red-300);
  --uc-color-danger-surface: var(--uc-red-900);
  --uc-color-danger-border: var(--uc-red-800);
  --uc-color-neutral-surface: var(--uc-ink-825);

  --uc-chart-1: var(--uc-red-500);
  --uc-chart-2: var(--uc-red-800);
  --uc-chart-3: var(--uc-ink-700);
  --uc-chart-grid: #2A2626;
  --uc-chart-area-from: rgb(232 25 43 / 0.22);
  --uc-chart-area-to: rgb(232 25 43 / 0);

  --uc-shadow-xs: none;
  --uc-shadow-sm: none;
  --uc-shadow-md: none;
  --uc-shadow-lg: 0 16px 40px rgb(0 0 0 / 0.6);
  --uc-shadow-popover: 0 8px 24px rgb(0 0 0 / 0.55);
  --uc-shadow-focus: 0 0 0 3px rgb(255 77 90 / 0.32);

  --uc-color-backdrop: rgb(0 0 0 / 0.7);
  color-scheme: dark;
}

/* Duplicated rather than aliased — custom properties cannot be inherited across selectors. */
@media (prefers-color-scheme: dark) {
  .uc-root:not([data-uc-theme]) {
    --uc-color-canvas: var(--uc-ink-900);
    --uc-color-surface: var(--uc-ink-850);
    --uc-color-surface-raised: var(--uc-ink-825);
    --uc-color-surface-sunken: var(--uc-ink-950);
    --uc-color-surface-accent: #301518;

    --uc-color-border: #302C2C;
    --uc-color-border-strong: #454040;

    --uc-color-text: #F5F3F3;
    --uc-color-text-muted: #A39D9E;
    --uc-color-text-subtle: #7A7475;
    --uc-color-text-invert: var(--uc-ink-0);

    --uc-color-accent: var(--uc-red-400);
    --uc-color-accent-hover: #FF7A84;
    --uc-color-accent-solid: var(--uc-red-500);
    --uc-color-accent-solid-hover: var(--uc-red-600);
    --uc-color-focus: var(--uc-red-400);
    --uc-color-deadline-urgent: var(--uc-red-400);
    --uc-color-nav-active: var(--uc-red-400);

    --uc-color-success: var(--uc-green-400);
    --uc-color-success-surface: var(--uc-green-900);
    --uc-color-success-border: var(--uc-green-800);
    --uc-color-warning: var(--uc-amber-400);
    --uc-color-warning-surface: var(--uc-amber-900);
    --uc-color-warning-border: var(--uc-amber-800);
    --uc-color-danger: var(--uc-red-300);
    --uc-color-danger-surface: var(--uc-red-900);
    --uc-color-danger-border: var(--uc-red-800);
    --uc-color-neutral-surface: var(--uc-ink-825);

    --uc-chart-1: var(--uc-red-500);
    --uc-chart-2: var(--uc-red-800);
    --uc-chart-3: var(--uc-ink-700);
    --uc-chart-grid: #2A2626;
    --uc-chart-area-from: rgb(232 25 43 / 0.22);
    --uc-chart-area-to: rgb(232 25 43 / 0);

    --uc-shadow-xs: none;
    --uc-shadow-sm: none;
    --uc-shadow-md: none;
    --uc-shadow-lg: 0 16px 40px rgb(0 0 0 / 0.6);
    --uc-shadow-popover: 0 8px 24px rgb(0 0 0 / 0.55);
    --uc-shadow-focus: 0 0 0 3px rgb(255 77 90 / 0.32);

    --uc-color-backdrop: rgb(0 0 0 / 0.7);
    color-scheme: dark;
  }
}
