:root {
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  color-scheme: light;

  --gc-font-xs: 0.75rem;
  --gc-font-sm: 0.8125rem;
  --gc-font-md: 0.9375rem;
  --gc-font-lg: 1.0625rem;
  --gc-font-xl: 1.375rem;
  --gc-font-2xl: 1.75rem;
  --gc-font-3xl: 2.25rem;

  --gc-radius-sm: 8px;
  --gc-radius-md: 12px;
  --gc-radius-lg: 16px;
  --gc-radius-xl: 22px;

  --gc-shadow-sm: 0 1px 2px rgba(15, 31, 46, 0.05), 0 4px 16px rgba(15, 31, 46, 0.04);
  --gc-shadow-md: 0 12px 30px rgba(15, 31, 46, 0.11);

  --gc-success: #16834b;
  --gc-success-soft: #e6f7ed;
  --gc-warning: #c27711;
  --gc-warning-soft: #fff3d9;
  --gc-danger: #c83f43;
  --gc-danger-soft: #fde9ea;
  --gc-info: #2f6feb;
  --gc-info-soft: #eaf1ff;

  --gc-brand-lime: #84cc16;
  --gc-brand-core: #22c55e;
  --gc-brand-forest: #0a5f3e;
  --gc-brand-navy: #0f1f2e;
}

html[data-theme='natural'] {
  color-scheme: light;
  --gc-bg: #f4f7f5;
  --gc-bg-elevated: #f8faf9;
  --gc-surface: #ffffff;
  --gc-surface-subtle: #eef4f0;
  --gc-surface-strong: #e3ede7;
  --gc-sidebar: #10262a;
  --gc-sidebar-surface: #163238;
  --gc-sidebar-text: #eaf5f0;
  --gc-sidebar-muted: #9fb5ad;
  --gc-text: #10212d;
  --gc-text-strong: #091722;
  --gc-muted: #64756f;
  --gc-border: #dbe5df;
  --gc-border-strong: #c5d3cb;
  --gc-brand: #0f8648;
  --gc-brand-strong: #0a6b42;
  --gc-brand-soft: #e7f7ed;
  --gc-brand-contrast: #ffffff;
  --gc-hover: #edf4f0;
  --gc-overlay: rgba(8, 24, 30, 0.42);
  --gc-focus: rgba(21, 150, 77, 0.28);
}

html[data-theme='dark'] {
  color-scheme: dark;
  --gc-bg: #091316;
  --gc-bg-elevated: #0d191d;
  --gc-surface: #122125;
  --gc-surface-subtle: #172a2f;
  --gc-surface-strong: #21373d;
  --gc-sidebar: #071114;
  --gc-sidebar-surface: #112429;
  --gc-sidebar-text: #eef8f3;
  --gc-sidebar-muted: #8fa6a0;
  --gc-text: #eaf4f0;
  --gc-text-strong: #ffffff;
  --gc-muted: #a6b7b1;
  --gc-border: #273a3e;
  --gc-border-strong: #395056;
  --gc-brand: #35c96d;
  --gc-brand-strong: #25a957;
  --gc-brand-soft: #173c28;
  --gc-brand-contrast: #07140c;
  --gc-hover: #1b3035;
  --gc-overlay: rgba(0, 0, 0, 0.62);
  --gc-focus: rgba(53, 201, 109, 0.35);
  --gc-success-soft: #163a27;
  --gc-warning-soft: #453318;
  --gc-danger-soft: #452326;
  --gc-info-soft: #1c3151;
}

html[data-theme='earth'] {
  color-scheme: light;
  --gc-bg: #f5f0e7;
  --gc-bg-elevated: #faf7f0;
  --gc-surface: #fffdf8;
  --gc-surface-subtle: #eee8dc;
  --gc-surface-strong: #e2dacb;
  --gc-sidebar: #394334;
  --gc-sidebar-surface: #4a5642;
  --gc-sidebar-text: #fffaf0;
  --gc-sidebar-muted: #c7cfbd;
  --gc-text: #302f29;
  --gc-text-strong: #1d1e1a;
  --gc-muted: #736f63;
  --gc-border: #dfd6c6;
  --gc-border-strong: #cabeaa;
  --gc-brand: #5d7e3b;
  --gc-brand-strong: #365d38;
  --gc-brand-soft: #e8efd9;
  --gc-brand-contrast: #ffffff;
  --gc-hover: #eee8dc;
  --gc-overlay: rgba(54, 50, 41, 0.43);
  --gc-focus: rgba(93, 126, 59, 0.3);
}

html[data-density='comfortable'] {
  --gc-space-1: 4px;
  --gc-space-2: 8px;
  --gc-space-3: 12px;
  --gc-space-4: 16px;
  --gc-space-5: 20px;
  --gc-space-6: 24px;
  --gc-space-8: 32px;
  --gc-control-h: 42px;
  --gc-nav-h: 44px;
  --gc-card-pad: 20px;
  --gc-table-row: 44px;
}

html[data-density='compact'] {
  --gc-space-1: 3px;
  --gc-space-2: 6px;
  --gc-space-3: 9px;
  --gc-space-4: 12px;
  --gc-space-5: 16px;
  --gc-space-6: 20px;
  --gc-space-8: 26px;
  --gc-control-h: 36px;
  --gc-nav-h: 38px;
  --gc-card-pad: 16px;
  --gc-table-row: 38px;
}
