/* appA.css: deck-local styles for the technical Appendix A deck (code, outputs, screenshots).
   The shared theme (site-brand.scss) is copied verbatim; everything appendix-specific lives here. */

/* Code blocks: readable size (about 18 px on a 1280x720 slide), no inner scroll box for short cells.
   The theme sets .reveal pre to 0.55em; keep every inner element at "inherit" so sizes never compound. */
.reveal div.sourceCode { font-size: 1em; margin: 0.35em auto; max-width: 100%; border-radius: 0.4em; background: #0d1117; }
.reveal div.sourceCode pre { background: transparent; }
.reveal pre { width: 100%; box-shadow: none; margin: 0.35em auto; font-size: 0.53em; line-height: 1.38; }
.reveal pre code, .reveal pre.sourceCode code { font-size: inherit; max-height: 600px; padding: 0.45em 0.8em; }
.reveal .small-code pre { font-size: 0.46em; }

/* Inline code in prose, tables and cards */
.reveal p code, .reveal li code, .reveal td code, .reveal th code, .reveal span code {
  color: #fcd34d; background: rgba(148, 163, 184, 0.14); padding: 0.02em 0.22em; border-radius: 0.2em;
  font-size: 0.85em;
}

/* No programming ligatures: students must see >=, ==, != and -> exactly as they type them */
.reveal code, .reveal pre { font-variant-ligatures: none; font-feature-settings: "liga" 0, "calt" 0; }

/* A simple left-to-right flow of boxes (instead of mermaid, whose Quarto shim throws on load) */
.reveal .flow p { display: flex; align-items: center; justify-content: center; gap: 0.7em; margin: 1.2em 0 0.6em; }
.reveal .flow .node { display: block; padding: 0.7em 1em; border-radius: 0.4em; color: #fff; font-weight: 600; font-size: 0.78em; text-align: center; max-width: 15em; }
.reveal .flow .node code { color: #fff; background: rgba(0, 0, 0, 0.25); }
.reveal .flow .n1 { background: #3498db; } .reveal .flow .n2 { background: #8e44ad; } .reveal .flow .n3 { background: #2d8659; }
.reveal .flow .arrow { display: block; color: #94a3b8; font-size: 0.62em; text-align: center; line-height: 1.5; }

/* Output of a cell: a dark panel with a green rule and an OUTPUT label */
.reveal .output {
  display: block; margin: 0.35em auto 0; padding: 0.15em 0.2em 0.1em;
  border-left: 4px solid #34d399; border-radius: 0.4em; background: rgba(15, 23, 42, 0.0);
}
.reveal .output::before {
  content: "OUTPUT"; display: block; font-size: 0.42em; font-weight: 700; letter-spacing: 0.25em;
  color: #34d399; margin: 0.15em 0 0 0.9em;
}
.reveal .output pre { margin: 0.1em 0 0.15em; font-size: 0.5em; }
.reveal .output pre code { font-size: inherit; background: #111c2e; color: #e2e8f0; border-radius: 0.35em; max-height: 520px; }
.reveal .output table { font-size: 0.5em; margin: 0.2em 0.6em 0.3em; }
.reveal .output table td, .reveal .output table th { padding: 0.08em 0.7em; font-family: "JetBrains Mono", monospace; }
.reveal .output p { font-size: 0.6em; margin: 0.2em 0.9em; }

/* "Try it in Colab" exercise card */
.reveal .tryit {
  display: block; max-width: 32em; margin: 0.4em auto 0; padding: 0.5em 0.95em;
  font-size: 0.74em; line-height: 1.4; color: #f1f5f9;
  background: rgba(167, 139, 250, 0.18); border-left: 5px solid #a78bfa; border-radius: 0.45em;
}
.reveal .tryit::before {
  content: "TRY IT IN COLAB"; display: block; font-size: 0.68em; font-weight: 700; letter-spacing: 0.25em;
  color: #a78bfa; margin-bottom: 0.25em;
}

/* Small plain-language gloss under a code block */
.reveal .gloss { display: block; text-align: center; color: #94a3b8; font-size: 0.6em; line-height: 1.35; margin: 0.35em auto 0; max-width: 46em; }

/* Colab screenshots: light images framed on the dark canvas */
.reveal img.shot {
  display: block; margin: 0.2em auto 0; max-height: 470px; max-width: 100%; width: auto;
  border-radius: 0.4em; border: 1px solid #334155; box-shadow: 0 6px 24px rgba(0, 0, 0, 0.45);
  cursor: zoom-in;
}
.reveal img.shot.short { max-height: 380px; }
.reveal img.shot.tall { max-height: 540px; }

/* Cheat-sheet and reference tables */
.reveal .cheat table { font-size: 0.6em; }
.reveal .cheat table td, .reveal .cheat table th { padding: 0.14em 0.7em; }
.reveal .cheat table td:first-child { white-space: nowrap; }

/* Compact bullets next to a screenshot */
.reveal .tight li { font-size: 0.78em; margin-bottom: 0.15em; }
