/* ============================================================================
   RSC freeway deck — additions on top of raconteur.css.
   Diagrams (SVG), the nanobanana image slots (graceful placeholder until a PNG
   is dropped in), and the freeway<->RSC cheat-sheet.
   ============================================================================ */

/* SVG diagrams */
.reveal .fig { margin: 0.3rem auto; }
.reveal .fig img { width: 100%; max-width: 1000px; max-height: 58vh; height: auto; }
.reveal .fig.small img { max-height: 42vh; }
.reveal .figcap {
  font-family: var(--mono); font-size: 0.4em; color: var(--rr-quiet);
  margin: 0.4em auto 0; max-width: 60ch; line-height: 1.55;
}

/* nanobanana image slots — drop assets/NAME.png in and it just appears;
   until then the labeled placeholder (with the prompt path) shows. */
.reveal .nb { margin: 0.3rem auto; max-width: 1000px; }
.reveal .nb img { width: 100%; max-height: 56vh; height: auto; border-radius: 4px; display: block; margin: 0 auto; }
.reveal .nb-ph {
  display: none;   /* onerror flips this to flex when the PNG is missing */
  flex-direction: column; align-items: center; justify-content: center; gap: 0.7rem;
  min-height: 38vh; padding: 1.4rem;
  border: 2px dashed var(--rr-rule); border-radius: 6px; background: var(--rr-paper-warm);
}
.reveal .nb-tag {
  font-family: var(--mono); font-size: 0.32em; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--rr-accent); border: 1px solid var(--rr-rule); border-radius: 2px; padding: 0.25em 0.8em;
}
.reveal .nb-desc {
  font-family: var(--serif); font-style: italic; font-size: 0.52em; color: var(--rr-quiet);
  max-width: 30ch; text-align: center; line-height: 1.5;
}
.reveal .nb-desc code { font-family: var(--mono); font-style: normal; font-size: 0.84em; color: var(--rr-accent); }

/* a single big statement */
.reveal .biglede { font-size: 1.12em; line-height: 1.3; max-width: 26ch; margin: 0.3em auto; }

/* the freeway <-> RSC cheat-sheet */
.reveal table.cheat { margin: 0.4rem auto; border-collapse: collapse; }
.reveal table.cheat td {
  padding: 0.3em 1.2em; border-bottom: 1px solid var(--rr-rule);
  text-align: left; vertical-align: middle; font-size: 0.52em; line-height: 1.4;
}
.reveal table.cheat tr td:first-child { color: var(--rr-quiet); }
.reveal table.cheat tr td:last-child { font-family: var(--mono); color: var(--rr-ink); }
.reveal table.cheat tr td.arrow { color: var(--rr-accent); padding: 0 0.3em; font-family: var(--mono); }

/* a freeway term, highlighted inline */
.reveal .term { font-family: var(--mono); font-size: 0.92em; color: var(--rr-info); }

/* tighten cols on the picture+text slides */
.reveal .cols.tight { gap: 1.6rem; }
.reveal .cols.tight p { font-size: 0.92em; }
