/* oaitts — instructions as prose. Lavender paper, violet ink; Newsreader's italic for the
   spoken sentences, Manrope for the rest. Motif: the quotation mark. */

:root {
  --page-bg: #f5f3fb;
  --page-text: #2a2440;
  --page-muted: #625b7a;
  --page-line: #ddd7ee;
  --page-accent: #6a4bd1;
  --page-ui: "Manrope", system-ui, sans-serif;
  --display: "Newsreader", Georgia, serif;
  --mono: "JetBrains Mono", ui-monospace, monospace;
  --surface: #fcfbff;
  --raise: #ebe6f8;
  --code-bg: #ebe6f8;
  --code-text: #3a2a7a;
  --strong: #1c1730;
  --k-ink: #2a2440; --k-accent: #6a4bd1; --k-a: #b0457a; --k-b: #2f7d8f; --k-c: #b07a1f;
  --k-d: #4a7d3a; --k-ok: #3a7d55; --k-err: #c0392b; --k-muted: #8a83a3; --k-file: #6d6688;
  color-scheme: light;
}

.hero h1 { max-width: 18ch; font: 400 clamp(38px, 5.4vw, 72px)/1.08 var(--display); font-style: italic; letter-spacing: -0.015em; }
.hero h1 .q { color: var(--page-accent); font-style: normal; }
.part > h2 { font: 800 clamp(26px, 3.2vw, 38px)/1.1 var(--page-ui); letter-spacing: -0.02em; }
.term { background: #1c1730; }
.term code { color: #e3dcff; }
.term .p { color: #fff; }
.term .p::before { color: #b9a6ff; }
.term .o { color: #c6bcf0; white-space: pre-wrap; overflow-wrap: anywhere; }
.term .e { color: #ff9b8f; white-space: pre-wrap; overflow-wrap: anywhere; }
.fig { padding: 18px; background: var(--surface); border: 1px solid var(--page-line); border-radius: 10px; }
.dg .flag { fill: color-mix(in srgb, var(--k) 10%, var(--surface)); stroke: var(--k); stroke-width: 1.3; }
.dg .flag-t { fill: var(--k); font-weight: 600; }
.dg .sent { fill: var(--strong); font-family: var(--display); font-style: italic; }
.facts li { border-left-color: var(--page-accent); }
