/* Local styling for Lecture 9, AI and Data Analytics. */
.reveal .slides section.slide.level2 > h2 { margin-bottom: .5em; }
.reveal .slides section.slide.level2 li { line-height: 1.28; }
.reveal .slides section.slide.level2 li + li { margin-top: .42em; }
.reveal .slides section.slide.level2 .columns { display: flex; gap: 1.1em; align-items: center; }
.reveal .slides section.slide.level2 .column { min-width: 0; }

/* Figures stay on screen while the points beside them step in. */
.reveal .slides section.slide.level2 .fig { margin: .2em 0 .35em; text-align: center; }
.reveal .slides section.slide.level2 .fig p { margin: 0; }
.reveal .slides section.slide.level2 .fig img {
  display: block; margin: 0 auto; max-width: 100%; max-height: 395px;
  width: auto; height: auto; object-fit: contain;
  background: #fff; border-radius: 10px; padding: 4px;
}
.reveal .slides section.slide.level2 .fig.full img { max-height: 470px; }
.reveal .slides section.slide.level2 .fig.mid img { max-height: 320px; }
.reveal .slides section.slide.level2 .fig.low img { max-height: 255px; }

.reveal .slides section.slide.level2 .src {
  font-size: .5em; line-height: 1.3; color: var(--clean-muted, #5d687a); margin-top: .55em;
}
.reveal .slides section.slide.level2 .src p { margin: 0; }

/* Card grids replace long bullet lists. */
.reveal .slides section.slide.level2 .cards { display: grid; gap: .65em; margin: .35em 0 .5em; }
.reveal .slides section.slide.level2 .cards.two { grid-template-columns: repeat(2, 1fr); }
.reveal .slides section.slide.level2 .cards.three { grid-template-columns: repeat(3, 1fr); }
.reveal .slides section.slide.level2 .cards.four { grid-template-columns: repeat(2, 1fr); }
.reveal .slides section.slide.level2 .card {
  background: var(--clean-surface-soft, #edf3fa);
  border-top: 5px solid #1c4982; border-radius: 10px;
  padding: .5em .7em; font-size: .86em; line-height: 1.28;
}
.reveal .slides section.slide.level2 .card.warm { border-top-color: #d55e00; }
.reveal .slides section.slide.level2 .card p { margin: .15em 0; }
.reveal .slides section.slide.level2 .card .head { font-weight: 700; font-size: 1.08em; }

/* A number worth remembering. */
.reveal .slides section.slide.level2 .big {
  font-size: 2.35em; font-weight: 700; line-height: 1.05; color: #2a62b0;
}
.reveal .slides section.slide.level2 .warm .big { color: #d55e00; }
html[data-clean-theme="dark"] .reveal .slides section.slide.level2 .big { color: #8fb6ee; }
html[data-clean-theme="dark"] .reveal .slides section.slide.level2 .warm .big { color: #ffac73; }

.reveal .slides section.slide.level2 .ask {
  border-left: 5px solid #d55e00; padding: .25em .7em; margin: .6em 0 .2em;
  font-weight: 600;
}
.reveal .slides section.slide.level2 .ask p { margin: 0; }
.reveal .slides section.slide.level2 .punch { font-size: 1.05em; font-weight: 700; margin: .55em 0 .1em; }
.reveal .slides section.slide.level2 .punch p { margin: 0; }

/* Tokens drawn as chips. */
.reveal .slides section.slide.level2 .chips { font-size: 1.05em; margin: .3em 0 .75em; line-height: 2.1; }
.reveal .slides section.slide.level2 .chips span {
  display: inline-block; font-family: var(--r-code-font, monospace); line-height: 1.3;
  background: #fbe9dd; color: #172033; border: 2px solid #d55e00; border-radius: 8px; padding: 0 .35em;
}
.reveal .slides section.slide.level2 .chips span.next { margin-left: .05em; }
.reveal .slides section.slide.level2 .chips b { margin: 0 .7em 0 .15em; font-weight: 400; color: var(--clean-muted, #5d687a); }

.reveal .slides section.slide.level2 .emoji-line { font-size: 1.5em; margin: .12em 0; }
.reveal .slides section.slide.level2 .emoji-line p { margin: 0; }

.reveal .slides section.slide.level2 table { width: 100%; font-size: .86em; line-height: 1.25; }
.reveal .slides section.slide.level2 td,
.reveal .slides section.slide.level2 th { padding: .32em .5em; }
.reveal .slides section.slide.level2 pre { font-size: .66em; line-height: 1.3; }
.reveal .slides section.slide.level2 .prompt {
  background: var(--clean-surface-soft, #edf3fa); border-radius: 10px;
  padding: .45em .7em; font-size: .86em; line-height: 1.3;
}
.reveal .slides section.slide.level2 .prompt p { margin: .15em 0; }

/* Classwork pointers, matching Lecture 8. */
.reveal .slides section.slide.level2.classwork-slide .classwork-link {
  margin: 1em 0 .9em; font-size: 1.13em; font-weight: 600;
}
.reveal .slides section.slide.level2.classwork-slide .classwork-link a {
  border-bottom: 2px solid currentColor; text-decoration: none;
}

/* Inline diagrams follow the slide theme in light and dark modes. */
.reveal .slides section.slide.level2 .ai-figure { margin: .2em 0 .5em; }
.reveal .slides section.slide.level2 .ai-figure svg {
  width: 100%; height: auto; max-height: 300px; display: block;
  font-family: Optima, "DM Sans", sans-serif; overflow: visible;
}
.ai-figure svg text { fill: var(--clean-ink); }
.ai-figure svg .panel { fill: var(--clean-surface-soft); stroke: var(--clean-line); stroke-width: 2; }
.ai-figure svg .axis { stroke: var(--clean-muted); stroke-width: 2; }
.ai-figure svg .accent { stroke: var(--clean-accent); stroke-width: 4; fill: none; }
.ai-figure svg .dot { fill: var(--clean-accent); }
.ai-figure svg .orange { fill: #d55e00; }
html[data-clean-theme="dark"] .ai-figure svg .orange { fill: #ffac73; }
