/* Slide-only adaptations; theme.css remains the source of truth for the design. */
html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

body {
  display: block;
  max-width: none;
  min-height: 100%;
  align-items: initial;
  background: var(--bg);
  color: var(--font);
}

.reveal {
  width: 100%;
  height: 100%;
  color: var(--font);
  font-family: inherit;
  /* Reveal scales from this base size; the blog's body size is too small here. */
  font-size: 48px;
  line-height: 1.15;
  text-transform: inherit;
}

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

.reveal section {
  text-align: left;
}

.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
  color: var(--font);
  font-family: inherit;
  font-weight: 400;
  line-height: .525;
  text-transform: inherit;
}

.reveal h1 {
  font-size: 1.76em;
  font-weight: 700;
  color: var(--accent);
}

.reveal h2 {
  font-size: 1.36em;
}

.reveal h3 {
  font-size: .936em;
}

.reveal h4 {
  font-size: .8em;
}

.reveal h5 {
  font-size: .664em;
}

.reveal h6 {
  font-size: .536em;
}

.reveal p,
.reveal ul,
.reveal ol {
  line-height: 1.2;
}

.reveal ul,
.reveal ol {
  margin-left: 1em;
}

.reveal a {
  color: var(--accent);
}

.reveal strong {
  color: var(--accent);
}

.reveal code,
.reveal pre {
  font-family: inherit;
  text-transform: none;
}

.reveal pre {
  box-shadow: none;
  width: 100%;
  font-size: .62em;
}

.reveal pre code {
  max-height: 70vh;
  padding: 1em;
  color: var(--font);
  background: rgba(var(--font-rgb), var(--alpha));
}

.reveal .controls {
  color: var(--accent);
}

.reveal .progress {
  color: var(--accent);
  height: 3px;
}

.reveal .slide-number {
  color: var(--accent);
  background: transparent;
}

/* Consistent embed defaults for any iframe used in a slide. */
.reveal iframe {
  display: block;
  box-sizing: border-box;
  max-width: 100%;
  border: 1px solid var(--accent);
  background: var(--bg);
}

.reveal .iframe-frame {
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
}

.reveal .iframe-frame::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  content: "";
  box-shadow: inset 0 0 0 1px var(--accent);
}

.reveal .iframe-frame iframe {
  width: 100%;
  height: 100%;
  max-width: none;
  border: 0;
}
