:root {
  /* Brand palette */
  --se-ink-950: #0a0a0a;
  --se-ink-900: #141414;
  --se-ink-800: #242424;
  --se-ink-700: #383838;
  --se-ink-600: #555555;
  --se-ink-500: #6d6d6d;
  --se-ink-300: #b9b9b9;
  --se-ink-200: #d8d8d8;
  --se-ink-100: #ececec;

  --se-paper-50: #fffdf7;
  --se-paper-100: #f8f5ed;
  --se-paper-200: #efeade;
  --se-paper-300: #e3ddcf;

  --se-acid-500: #b6f01e;
  --se-acid-600: #9fd40e;
  --se-acid-700: #7da500;
  --se-signal-300: #f0dc68;
  --se-danger-500: #e65045;
  --se-info-500: #5d8eff;

  /* Semantic surfaces */
  --se-bg: var(--se-paper-100);
  --se-surface: var(--se-paper-50);
  --se-surface-muted: var(--se-paper-200);
  --se-text: var(--se-ink-950);
  --se-text-muted: var(--se-ink-600);
  --se-border: var(--se-ink-950);
  --se-accent: var(--se-acid-500);
  --se-accent-hover: var(--se-acid-600);

  /* Type */
  --se-font-sans: Inter, "Helvetica Neue", Arial, sans-serif;
  --se-font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;

  --se-fs-100: 0.75rem;
  --se-fs-200: 0.8125rem;
  --se-fs-300: 0.9375rem;
  --se-fs-400: 1rem;
  --se-fs-500: 1.125rem;
  --se-fs-600: 1.375rem;
  --se-fs-700: 1.75rem;
  --se-fs-800: 2.25rem;
  --se-fs-900: clamp(2.75rem, 5vw, 5.75rem);
  --se-fs-display: clamp(4rem, 8.8vw, 8.5rem);

  --se-lh-tight: 0.88;
  --se-lh-heading: 0.98;
  --se-lh-body: 1.62;

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

  /* Geometry */
  --se-border-1: 1px;
  --se-border-2: 2px;
  --se-border-3: 3px;
  --se-radius-0: 0;
  --se-radius-1: 2px;
  --se-radius-2: 4px;

  /* Shadows */
  --se-shadow-sm: 4px 4px 0 var(--se-border);
  --se-shadow-md: 7px 7px 0 var(--se-border);
  --se-shadow-accent: 8px 8px 0 var(--se-accent);

  /* Layout */
  --se-container: 90rem;
  --se-content: 72rem;
  --se-reading: 48rem;

  /* Motion */
  --se-ease: cubic-bezier(.2,.8,.2,1);
  --se-duration-fast: 120ms;
  --se-duration: 180ms;

  /* Focus */
  --se-focus: 0 0 0 3px var(--se-bg), 0 0 0 6px var(--se-info-500);
}
