/* Illustration controls and illustrated-slide layout. Load after theme-edulab.css. */
.illustration-label { font-family: var(--font-mono); font-size: var(--overline); color: var(--ink-2); }
.image-options { display: flex; flex-direction: column; gap: var(--sp-2); padding: var(--sp-3); border-radius: var(--r-sm); background: var(--paper-2); }
.illustration-note { margin: 0; color: var(--ink-3); font-size: var(--caption); line-height: 1.45; }

.slide--illustrated { width: min(1600px, 94vw); }
/* The slide box itself has no padding, so without this the picture runs
   dead flush into the slide's right and bottom edges and reads as cropped. */
.slide-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(260px, .92fr); gap: 1.4em; align-items: center; padding: 0 1.1em .9em 0; }
.slide-copy { min-width: 0; }
/* Never crop the picture: it scales down to whichever bound bites first
   (column width or max height) at its own aspect ratio. */
.slide-generated-image { display: block; max-width: 100%; max-height: 52vh; width: auto; height: auto; justify-self: center; border-radius: var(--r-md); box-shadow: var(--shadow-image); }

@media (max-width: 768px) {
  .slide-layout { grid-template-columns: 1fr; }
  .slide-generated-image { max-height: 34vh; }
}
