
:root {
  color-scheme: dark;

  --neutral-0:   #ffffff;
  --neutral-50:  #f7f6f6;
  --neutral-100: #eceaea;
  --neutral-200: #d6d3d3;
  --neutral-300: #b4afaf;
  --neutral-400: #8a8585;
  --neutral-500: #6b6666;
  --neutral-600: #4d4949;
  --neutral-700: #353232;
  --neutral-800: #232121;
  --neutral-850: #1a1818;
  --neutral-900: #131111;
  --neutral-950: #090808;

  --red-50:  #e9eaff;
  --red-100: #d5d7ff;
  --red-200: #b6baff;
  --red-300: #878dff;
  --red-400: #4b57ff;
  --red-500: #1c32ff;
  --err-300: #ff938e;
  --err-400: #fa5c57;
  --red-600: #0726e5;
  --red-700: #081ac0;
  --red-800: #08169a;
  --red-900: #091375;
  --red-950: #020843;

  --green-400: #4fce98;
  --green-500: #2fb67c;
  --green-600: #1f8f61;
  --amber-400: #f0b65a;
  --amber-500: #e8a33d;
  --amber-600: #c8861f;
  --blue-400:  #6ba4f8;
  --blue-500:  #4c8df6;
  --blue-600:  #2f6fd6;

  --bg:            var(--neutral-950);
  --bg-subtle:     #0e0c0c;
  --surface:       var(--neutral-900);
  --surface-raised:var(--neutral-850);
  --surface-inset: #080707;
  --surface-hover: var(--neutral-800);

  --border:        rgba(255,255,255,0.08);
  --border-strong: rgba(255,255,255,0.14);
  --border-subtle: rgba(255,255,255,0.05);

  --text:          #f3f2f1;
  --text-muted:    var(--neutral-300);
  --text-subtle:   var(--neutral-400);
  --text-faint:    var(--neutral-500);
  --text-inverse:  var(--neutral-950);

  --primary:       var(--red-500);
  --primary-hover: var(--red-600);
  --primary-active:var(--red-700);
  --primary-fg:    #ffffff;
  --primary-soft:  rgba(28, 50, 255,0.14);
  --primary-ring:  rgba(28, 50, 255,0.45);

  --success:       var(--green-500);
  --success-soft:  rgba(47,182,124,0.15);
  --warning:       var(--amber-500);
  --warning-soft:  rgba(232,163,61,0.15);
  --danger:        var(--red-500);
  --danger-soft:   rgba(28, 50, 255,0.15);
  --info:          var(--blue-500);
  --info-soft:     rgba(76,141,246,0.15);

  --focus-ring:    var(--primary-ring);

  --font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "Geist Mono", ui-monospace, "SF Mono", "Menlo", monospace;
  --font-display: var(--font-sans);

  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  --text-xs:   0.75rem;
  --text-sm:   0.8125rem;
  --text-base: 0.875rem;
  --text-md:   1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.375rem;
  --text-2xl:  1.75rem;
  --text-3xl:  2.25rem;
  --text-4xl:  3rem;
  --text-5xl:  3.75rem;

  --lh-tight: 1.1;
  --lh-snug: 1.25;
  --lh-normal: 1.5;
  --lh-relaxed: 1.65;

  --tracking-tighter: -0.03em;
  --tracking-tight: -0.015em;
  --tracking-normal: 0;
  --tracking-wide: 0.02em;
  --tracking-caps: 0.08em;

  --display-size: var(--text-5xl);
  --display-weight: var(--fw-semibold);
  --display-tracking: var(--tracking-tighter);
  --heading-tracking: var(--tracking-tight);
  --heading-weight: var(--fw-semibold);
  --body-size: var(--text-base);
  --body-line: var(--lh-relaxed);
  --label-size: var(--text-sm);
  --label-weight: var(--fw-medium);
  --eyebrow-size: var(--text-xs);
  --eyebrow-tracking: var(--tracking-caps);
  --eyebrow-weight: var(--fw-medium);

  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  --radius-sm: 6px;
  --radius-md: 6px;
  --radius:    8px;
  --radius-lg: 10px;
  --radius-xl: 14px;
  --radius-2xl: 28px;
  --radius-full: 6px;

  --border-width: 1px;
  --border-width-strong: 1.5px;

  --shadow-xs: 0 1px 2px rgba(0,0,0,0.40);
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.45), 0 1px 2px rgba(0,0,0,0.35);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.45), 0 2px 4px rgba(0,0,0,0.35);
  --shadow-lg: 0 12px 32px rgba(0,0,0,0.55), 0 4px 10px rgba(0,0,0,0.40);
  --shadow-xl: 0 24px 60px rgba(0,0,0,0.60), 0 8px 18px rgba(0,0,0,0.45);
  --glow-primary: 0 0 40px rgba(28, 50, 255,0.35);
  --edge-highlight: inset 0 1px 0 rgba(255,255,255,0.05);

  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 120ms;
  --dur-base: 180ms;
  --dur-slow: 280ms;

  --container: 1240px;
  --sidebar-w: 248px;
  --topbar-h: 60px;
}


body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-sans);
  font-size: var(--body-size);
  line-height: var(--body-line);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

::selection { background: var(--primary-soft); color: var(--text); }

code, kbd, samp { font-family: var(--font-mono); font-size: 0.92em; }
