/* Quarto RevealJS theme overrides for this course.
   Palette matches the ebook (Cosmo light / Solar dark). */

:root {
  /* Ebook (Cosmo - light) */
  --slides-bg: #ffffff;
  --slides-fg: #343a40;
  --slides-heading: #212529;
  --slides-muted: #6c757d;
  --slides-accent: #2780e3;
  --slides-accent-hover: #1e65b8;

  --slides-surface: rgba(39, 128, 227, 0.06);
  --slides-border: rgba(52, 58, 64, 0.14);

  --r-background-color: var(--slides-bg);
  --r-main-color: var(--slides-fg);
  --r-heading-color: var(--slides-heading);
  --r-link-color: var(--slides-accent);
  --r-link-color-hover: var(--slides-accent-hover);
  --r-selection-background-color: rgba(39, 128, 227, 0.22);

  --r-main-font: "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --r-heading-font: "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --r-code-font: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

@media (prefers-color-scheme: dark) {
  :root {
    /* Ebook (Solar - dark) */
    --slides-bg: #002b36;
    --slides-fg: #adb5bd;
    --slides-heading: #fdf6e3;
    --slides-muted: #6c757d;

    /* Solar accents from the ebook theme */
    --slides-accent: #268bd2;
    --slides-accent-hover: #2aa198;

    --slides-surface: rgba(38, 139, 210, 0.10);
    --slides-border: rgba(253, 246, 227, 0.16);

    --r-selection-background-color: rgba(38, 139, 210, 0.25);
  }
}

.reveal .slides section {
  text-align: left;
}

.reveal .center {
  text-align: center;
}

.reveal h1,
.reveal h2,
.reveal h3 {
  letter-spacing: -0.02em;
}

.reveal pre code {
  font-size: 0.9em;
  line-height: 1.25;
}

.reveal pre {
  background: var(--slides-surface);
  border: 1px solid var(--slides-border);
  border-radius: 10px;
}

.reveal code {
  background: var(--slides-surface);
  border-radius: 6px;
  padding: 0.05em 0.25em;
}

.reveal a {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.reveal .footer-links {
  font-size: 0.7em;
  opacity: 0.85;
}

.reveal img.avatar {
  border-radius: 9999px;
  border: 2px solid var(--slides-border);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}
