:root {
  color-scheme: light;
  --paper: #f8f4ec;
  --ink: #151515;
  --muted: #62605a;
  --line: #d8d0c2;
  --blue: #0a66c2;
  --blue-dark: #064985;
  --gold: #c9931b;
  --panel: #fffaf0;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  color: var(--ink);
  background:
    linear-gradient(120deg, rgb(10 102 194 / 12%), transparent 55%),
    linear-gradient(300deg, rgb(201 147 27 / 14%), transparent 48%),
    var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.reveal {
  color: var(--ink);
  font-family: inherit;
}

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

.reveal h1,
.reveal h2,
.reveal h3 {
  color: var(--blue-dark);
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: 0;
  text-transform: none;
}

.reveal h1 {
  font-size: 3.15em;
  line-height: 0.95;
}

.reveal h2 {
  font-size: 2.35em;
  line-height: 1.05;
}

.reveal h3 {
  color: var(--blue);
  font-size: 1.35em;
}

.reveal p,
.reveal li {
  font-size: 1.05em;
  line-height: 1.34;
}

.reveal ul,
.reveal ol {
  margin: 0.45em 0 0 1.1em;
}

.reveal blockquote {
  width: auto;
  margin: 28px 0 0;
  padding: 18px 22px;
  border-left: 5px solid var(--gold);
  box-shadow: none;
  background: var(--panel);
  color: var(--ink);
  font-size: 0.85em;
}

.reveal table {
  width: 100%;
  border-collapse: collapse;
  background: rgb(255 250 240 / 72%);
  font-size: 0.68em;
}

.reveal th,
.reveal td {
  padding: 10px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}

.reveal th {
  color: var(--blue-dark);
  background: rgb(201 147 27 / 12%);
  font-weight: 900;
}

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

.reveal img {
  display: block;
  max-width: 100%;
  max-height: 420px;
  margin: 24px 0 0;
  border: 1px solid var(--line);
  border-radius: 6px;
}

/* The speaker slide keeps its standalone Markdown image on the right. */
.reveal #speaker {
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  column-gap: 56px;
  align-items: start;
}

.reveal #speaker > :not(p:last-of-type) {
  grid-column: 1;
}

.reveal #speaker > p:last-of-type {
  grid-column: 2;
  grid-row: 1 / span 12;
  margin: 0;
}

.reveal #speaker > p:last-of-type img {
  width: 100%;
  height: 420px;
  max-height: none;
  margin: 0;
  object-fit: cover;
}

.reveal iframe {
  display: block;
  width: 100%;
  max-width: 980px;
  aspect-ratio: 16 / 9;
  margin: 18px 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #000;
}

.reveal .social-links {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-top: 1.25em;
}

.reveal .social-links a {
  color: var(--blue-dark);
  font-size: 1.35em;
  text-decoration: none;
}

.reveal .social-links a:hover,
.reveal .social-links a:focus-visible {
  color: var(--gold);
}

.author-footer {
  position: fixed;
  z-index: 30;
  top: 16px;
  right: 24px;
  color: var(--blue-dark);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  opacity: 0.85;
}

.author-footer:hover,
.author-footer:focus-visible {
  color: var(--gold);
  opacity: 1;
}
