@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root {
  /* Brand purple scale */
  --brand-700: oklch(0.44 0.205 305);
  --brand-600: oklch(0.52 0.235 305);
  --brand-500: oklch(0.58 0.225 305);
  --brand-400: oklch(0.67 0.185 305);
  --brand-300: oklch(0.80 0.115 305);
  --brand-100: oklch(0.95 0.035 305);

  /* Ink (near-black to muted) */
  --ink-900: oklch(0.18 0.018 300);
  --ink-800: oklch(0.25 0.018 300);
  --ink-700: oklch(0.34 0.016 300);
  --ink-500: oklch(0.53 0.012 300);
  --ink-300: oklch(0.74 0.010 300);

  /* Paper (white scale) */
  --paper:   oklch(0.985 0.003 300);
  --paper-2: oklch(0.965 0.005 300);
  --paper-3: oklch(0.945 0.006 300);

  /* Lines / hairlines */
  --line:    oklch(0.90 0.006 300);
  --line-dk: oklch(0.30 0.016 300);

  /* Gradient blends */
  --blend:      linear-gradient(135deg, var(--brand-500) 0%, var(--brand-700) 52%, var(--ink-900) 100%);
  --blend-ink:  linear-gradient(150deg, var(--ink-900) 0%, oklch(0.24 0.06 305) 60%, var(--brand-700) 130%);
  --blend-soft: linear-gradient(160deg, var(--brand-100) 0%, var(--paper) 70%);

  /* Typography */
  --font-sans: 'IBM Plex Sans', system-ui, sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;

  /* Border radii */
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 22px;
  --r-xl: 34px;

  /* Shadows */
  --shadow-card:       0 2px 8px oklch(0.18 0.018 300 / 0.07), 0 0 0 1px var(--line);
  --shadow-card-hover: 0 10px 32px oklch(0.18 0.018 300 / 0.13), 0 0 0 1.5px var(--brand-400);
  --glow:              0 0 80px oklch(0.52 0.235 305 / 0.28);
}
