:root {
  --font-primary: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-mono: "JetBrains Mono", monospace;
  
  --font-size-xs: 11px;
  --font-size-sm: 12px;
  --font-size-md: 13px;
  --font-size-lg: 15px;
  
  --color-bg: #0a0c10;
  --color-bg-elevated: #161a22;
  --color-bg-card: #0f1117;
  --color-bg-hover: #161a22;
  --color-bg-surface: #0f1117;
  --color-bg-input: #0a0c10;
  
  --color-border: rgba(255, 255, 255, 0.06);
  --color-border-light: rgba(255, 255, 255, 0.1);
  
  --color-text: #e2e4e9;
  --color-text-muted: #6b7280;
  --color-text-dimmed: #4b5563;
  --color-text-secondary: #6b7280;
  
  --color-primary: #4c7fff;
  --color-primary-hover: #6b94ff;
  --color-primary-bg: rgba(76, 127, 255, 0.12);
  --color-primary-border: rgba(76, 127, 255, 0.3);
  --color-accent: #4c7fff;
  
  --color-success: #2ea96c;
  --color-success-bg: rgba(46, 169, 108, 0.12);
  --color-success-border: rgba(46, 169, 108, 0.3);
  
  --color-danger: #d4503a;
  --color-danger-bg: rgba(212, 80, 58, 0.12);
  --color-danger-border: rgba(212, 80, 58, 0.3);
  
  --color-warning: #f59e0b;
  --color-warning-bg: rgba(245, 158, 11, 0.12);
  --color-warning-border: rgba(245, 158, 11, 0.3);
  
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-full: 999px;
  
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 12px;
  --spacing-lg: 16px;
  --spacing-xl: 24px;
  --spacing-2xl: 32px;
  
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
  
  --transition-fast: 150ms ease;
  --transition-normal: 250ms ease;
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: var(--font-primary);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
  background: var(--color-bg);
  color: var(--color-text);
  line-height: 1.5;
  min-height: 100vh;
}

a {
  color: var(--color-primary);
  text-decoration: none;
}

a:hover {
  color: var(--color-primary-hover);
}

input, select, button, textarea {
  font-family: inherit;
  font-size: inherit;
}

[data-theme="light"] {
  --color-bg: #f5f6f8;
  --color-bg-elevated: #ffffff;
  --color-bg-card: #ffffff;
  --color-bg-hover: #f0f1f3;
  --color-bg-surface: #ffffff;
  --color-bg-input: #f5f6f8;

  --color-border: rgba(0, 0, 0, 0.08);
  --color-border-light: rgba(0, 0, 0, 0.12);

  --color-text: #1a1d23;
  --color-text-muted: #6b7280;
  --color-text-dimmed: #9ca3af;
  --color-text-secondary: #6b7280;

  --color-primary: #3b6de8;
  --color-primary-hover: #2b5cd6;
  --color-primary-bg: rgba(59, 109, 232, 0.1);
  --color-primary-border: rgba(59, 109, 232, 0.25);

  --color-accent: #3b6de8;

  --color-success: #16a34a;
  --color-success-bg: rgba(22, 163, 74, 0.1);
  --color-success-border: rgba(22, 163, 74, 0.25);

  --color-danger: #dc2626;
  --color-danger-bg: rgba(220, 38, 38, 0.08);
  --color-danger-border: rgba(220, 38, 38, 0.25);

  --color-warning: #d97706;
  --color-warning-bg: rgba(217, 119, 6, 0.1);
  --color-warning-border: rgba(217, 119, 6, 0.25);

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
}
