/* Pin the older dracula look (near-black bg + system sans headings).
   Newer reveal.js dracula ships #282A36 bg + League Gothic display headings,
   which some build environments pull in. These overrides make the theme
   render identically regardless of the reveal.js version underneath. */
:root {
  --r-background: #2b2b2b;
  --r-background-color: #191919;
  --r-heading-font: -apple-system, BlinkMacSystemFont, "avenir next", avenir,
    "segoe ui", "helvetica neue", helvetica, Cantarell, Ubuntu, roboto, noto,
    arial, sans-serif;
  --r-heading-font-weight: 600;
}

.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
  text-transform: none !important;
}

.reveal img {
  max-width: 80%;
  max-height: 35vh;
  object-fit: contain;
}

.reveal img.fullscreen {
  max-width: 90vw;
  max-height: 70vh;
  width: auto;
  height: auto;
}

.reveal pre code {
  color: white !important;
}

/* Global compression — every slide runs tighter than reveal defaults */
.reveal h1 { font-size: 1.9em; }
.reveal h2 { font-size: 1.4em; }
.reveal h3 { font-size: 1.1em; }

.reveal h1, .reveal h2, .reveal h3 {
  margin-bottom: 0.4em !important;
}

.reveal p,
.reveal blockquote {
  font-size: 0.8em;
  line-height: 1.25;
}

.reveal pre {
  font-size: 0.65em;
  line-height: 1.15;
}

.reveal ul li,
.reveal ol li {
  font-size: 0.85em;
  margin-bottom: 0.45em;
  line-height: 1.25;
}

/* Compact — for the densest slides, tighter still */
.reveal .compact h1 { font-size: 1.4em !important; }
.reveal .compact h2 { font-size: 1.1em !important; }

.reveal .compact h1,
.reveal .compact h2 {
  margin-bottom: 0.25em !important;
}

.reveal .compact p,
.reveal .compact blockquote {
  font-size: 0.6em !important;
  line-height: 1.15 !important;
}

.reveal .compact pre {
  font-size: 0.5em !important;
  line-height: 1.05 !important;
}

.reveal .compact ul li,
.reveal .compact ol li {
  font-size: 0.62em !important;
  margin-bottom: 0.25em !important;
  line-height: 1.15 !important;
}
