/* Zed-like: engineering wireframe · monospace · monochrome · disappearing UI */

:root {
  --bg: #0f0f0f;
  --bg-deep: #0a0a0a;
  --surface: #141414;
  --surface-2: #1a1a1a;
  --ink: #e6e6e6;
  --muted: #8f8f8f;
  --faint: #5c5c5c;
  --line: #2a2a2a;
  --line-strong: #333333;
  --accent: #87c987;
  --accent-dim: color-mix(in srgb, var(--accent) 12%, transparent);
  --accent-text: #0f0f0f;
  --sky: #9db4c8;
  --green: #87c987;
  --amber: #c9a86c;
  --violet: #a899c9;
  --red: #c97b7b;

  --mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;
  --prose: "IBM Plex Sans", "Noto Sans", system-ui, sans-serif;
  --sans: var(--prose);
  --serif: var(--mono);
  --display: var(--mono);

  --radius: 0;
  --radius-lg: 0;
  --ease: cubic-bezier(0.25, 0.1, 0.25, 1);
  --ease-smooth: var(--ease);
  --shadow: none;
  --border-w: 1px;

  /* Legacy aliases (book inline CSS) */
  --ctp-rosewater: #e8e0d8;
  --ctp-flamingo: #c97b7b;
  --ctp-pink: var(--accent);
  --ctp-mauve: var(--accent);
  --ctp-red: var(--red);
  --ctp-maroon: #c97b7b;
  --ctp-peach: var(--amber);
  --ctp-yellow: var(--amber);
  --ctp-green: var(--green);
  --ctp-teal: var(--accent);
  --ctp-sky: var(--sky);
  --ctp-sapphire: #8aa4b8;
  --ctp-blue: var(--sky);
  --ctp-lavender: #b8c9b8;
  --ctp-text: var(--ink);
  --ctp-subtext1: #a8a8a8;
  --ctp-subtext0: var(--muted);
  --ctp-overlay2: #707070;
  --ctp-overlay1: var(--faint);
  --ctp-overlay0: #444444;
  --ctp-surface2: #2e2e2e;
  --ctp-surface1: #242424;
  --ctp-surface0: var(--surface-2);
  --ctp-base: var(--surface);
  --ctp-mantle: var(--bg);
  --ctp-crust: var(--bg-deep);

  --fg: var(--ink);
  --border: var(--line-strong);
  --paper: var(--surface);
  --code-bg: var(--surface-2);
  --pre-bg: #0c0c0c;
  --pre-fg: var(--ink);
  --link: var(--sky);
  --lesson-rail: var(--line-strong);
  --practice: var(--amber);
  --toc-bg: var(--surface);
}
