@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap");

:root {
  --bg-app: #0c0d10;
  --bg-surface: #13151b;
  --bg-surface-raised: #1a1c24;
  --bg-surface-active: #222530;
  --bg-input: #101217;

  --border-subtle: #20232c;
  --border-default: #2a2e3b;
  --border-highlight: #3c4254;

  --text-primary: #f2f4f8;
  --text-secondary: #9aa1b2;
  --text-muted: #62687a;

  --accent: #ff2d3f;
  --accent-hover: #ff5564;
  --accent-subtle: rgba(255, 45, 63, 0.12);
  --accent-border: rgba(255, 45, 63, 0.3);
  --accent-glow: rgba(255, 45, 63, 0.25);

  --success: #10b981;
  --success-bg: rgba(16, 185, 129, 0.12);
  --success-border: rgba(16, 185, 129, 0.3);
  --warning: #f59e0b;
  --warning-bg: rgba(245, 158, 11, 0.12);
  --warning-border: rgba(245, 158, 11, 0.3);
  --danger: #ef4444;
  --danger-bg: rgba(239, 68, 68, 0.12);
  --danger-border: rgba(239, 68, 68, 0.3);
  --info: #3b82f6;

  --focus-ring: rgba(255, 45, 63, 0.35);
  --on-accent: #ffffff;
  --on-danger: #ffffff;
  --mouse-body: #171922;
  --mouse-skate: #242838;
  --mouse-skate-border: #3d465c;
  --mouse-wheel: #2d3242;
  --mouse-wheel-line: #4a536c;
  --mouse-sensor-bg: #0b0d13;
  --mouse-switch-thumb: #3a4258;

  --space-3xs: 2px;
  --space-2xs: 4px;
  --space-xs: 6px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 20px;
  --space-2xl: 24px;
  --space-4xl: 48px;

  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-full: 9999px;

  --control-height-sm: 28px;
  --control-height-md: 36px;
  --control-height-lg: 42px;

  --font-sans:
    "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", Roboto, sans-serif;
  --font-mono:
    "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    monospace;

  --font-xs: 0.7rem;
  --font-sm: 0.8rem;
  --font-md: 0.95rem;
  --font-lg: 1.1rem;
  --font-xl: 1.35rem;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.5), 0 1px 3px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.6), 0 2px 6px rgba(0, 0, 0, 0.4);

  --transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}

[data-theme="light"] {
  --bg-app: #f4f5f8;
  --bg-surface: #ffffff;
  --bg-surface-raised: #f8f9fc;
  --bg-surface-active: #eaedf4;
  --bg-input: #f0f2f7;

  --border-subtle: #e2e5ec;
  --border-default: #d3d8e2;
  --border-highlight: #b8c0d1;

  --text-primary: #151821;
  --text-secondary: #5b6478;
  --text-muted: #8892a6;

  --accent: #d92d3a;
  --accent-hover: #e8434f;
  --accent-subtle: rgba(217, 45, 58, 0.1);
  --accent-border: rgba(217, 45, 58, 0.25);
  --accent-glow: rgba(217, 45, 58, 0.2);

  --success: #059669;
  --success-bg: #ecfdf5;
  --success-border: #a7f3d0;
  --warning: #d97706;
  --warning-bg: #fffbeb;
  --warning-border: #fde68a;
  --danger: #dc2626;
  --danger-bg: #fef2f2;
  --danger-border: #fecaca;
  --info: #2563eb;

  --focus-ring: rgba(217, 45, 58, 0.3);
  --mouse-body: #e5e9f2;
  --mouse-skate: #c6cee0;
  --mouse-skate-border: #abb6ce;
  --mouse-wheel: #b4bfd4;
  --mouse-wheel-line: #7e8ba3;
  --mouse-sensor-bg: #eef1f8;
  --mouse-switch-thumb: #8d9bb5;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
  --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.06);
}
