/* app — the release ticket. Mint paper and Android green, Manrope at its heaviest for
   display, Onest for reading; headings carry a perforated ticket edge. */

:root {
  --page-bg: #f2f7f1;
  --page-text: #1f2a22;
  --page-muted: #55665a;
  --page-line: #d2e0d4;
  --page-accent: #157a43;
  --page-ui: "Onest", system-ui, sans-serif;
  --display: "Manrope", system-ui, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, monospace;
  --surface: #fbfdfb;
  --raise: #e5efe6;
  --code-bg: #e5efe6;
  --code-text: #134d2e;
  --strong: #122016;
  --k-ink: #1f2a22; --k-accent: #157a43; --k-a: #c26a1a; --k-b: #2b6fb8; --k-c: #7a4fb0;
  --k-d: #b0457a; --k-ok: #157a43; --k-err: #b4321f; --k-muted: #8a9a8e; --k-file: #6b7d6d;
  color-scheme: light;
}

.hero h1 { font: 800 clamp(46px, 7vw, 92px)/0.95 var(--display); letter-spacing: -0.045em; }
.part > h2 { display: inline-block; font: 800 clamp(26px, 3.2vw, 38px)/1.1 var(--display); letter-spacing: -0.03em;
  padding: 6px 16px 8px; background: var(--surface); border: 1.5px dashed var(--page-accent); border-radius: 10px; }
.term { background: #122016; }
.term code { color: #d7f2df; }
.term .p { color: #fff; }
.term .p::before { color: #3ddc84; }
.term .o { color: #a8d8b8; }
.term .c { color: #7aa486; }
.term .e { color: #ff9b8f; }
.fig { padding: 18px; background: var(--surface); border: 1px solid var(--page-line); border-radius: 12px; }
.dg .lab-bg { fill: var(--surface); }
.dg .halo { stroke: var(--surface); }
table { background: var(--surface); border: 1px solid var(--page-line); }
tbody th { font: 700 15px/1.2 var(--mono); color: var(--page-accent); white-space: nowrap; }
