@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;700&display=swap");

.reveal,
.reveal .slides,
.reveal .slides section,
.reveal p,
.reveal li,
.reveal table,
.reveal blockquote {
  font-family: "IBM Plex Sans", sans-serif;
}

.reveal {
  font-size: 35px;
}

.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
  font-family: "Space Grotesk", "IBM Plex Sans", sans-serif;
  font-weight: 700;
  letter-spacing: -0.035em;
}

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

.reveal h2 {
  font-size: 1.42em;
  line-height: 0.97;
  margin-bottom: 0.24em;
}

.reveal ul,
.reveal ol {
  margin-top: 0.45em;
  margin-bottom: 0;
}

.reveal li {
  margin-bottom: 0.2em;
}

.reveal strong,
.reveal b {
  font-weight: 600;
}

.reveal code,
.reveal pre {
  font-family:
    "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo,
    monospace;
}

.footer > p {
  font-size: 15px;
}

/* Increase font size for code blocks inside callouts */
.reveal .slides section div.callout pre.sourceCode {
  font-size: 0.75em !important;
}

.reveal .slides img.hero,
.reveal .slides img.artifact,
.reveal .slides img.panel-image {
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.1);
}

.reveal .slides img.panel-image {
  border-radius: 18px;
}

.reveal .slides div[style*="background-color: #e3f2fd;"],
.reveal .slides div[style*="background-color: #e8f5e9;"],
.reveal .slides div[style*="background-color: #fff3e0;"],
.reveal .slides div[style*="background-color: #ffebee;"],
.reveal .slides div[style*="background-color: #FFFBC1;"] {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.22);
  box-shadow:
    0 18px 36px rgba(15, 23, 42, 0.06),
    0 2px 0 rgba(255, 255, 255, 0.82) inset;
}

.reveal .slides div[style*="background-color: #e3f2fd;"]::before,
.reveal .slides div[style*="background-color: #e8f5e9;"]::before,
.reveal .slides div[style*="background-color: #fff3e0;"]::before,
.reveal .slides div[style*="background-color: #ffebee;"]::before,
.reveal .slides div[style*="background-color: #FFFBC1;"]::before {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  top: 0;
  height: 4px;
  border-radius: 0 0 999px 999px;
  opacity: 0.95;
}

.reveal .slides div[style*="background-color: #e3f2fd;"] {
  background-image: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.75) 0%,
    rgba(255, 255, 255, 0) 46%
  );
  border-color: rgba(66, 133, 244, 0.18);
}

.reveal .slides div[style*="background-color: #e3f2fd;"]::before {
  background: linear-gradient(90deg, #3b82f6, #60a5fa);
}

.reveal .slides div[style*="background-color: #e8f5e9;"] {
  background-image: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.72) 0%,
    rgba(255, 255, 255, 0) 48%
  );
  border-color: rgba(34, 197, 94, 0.18);
}

.reveal .slides div[style*="background-color: #e8f5e9;"]::before {
  background: linear-gradient(90deg, #22c55e, #4ade80);
}

.reveal .slides div[style*="background-color: #fff3e0;"] {
  background-image: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.78) 0%,
    rgba(255, 255, 255, 0) 48%
  );
  border-color: rgba(245, 158, 11, 0.18);
}

.reveal .slides div[style*="background-color: #fff3e0;"]::before {
  background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

.reveal .slides div[style*="background-color: #ffebee;"] {
  background-image: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.78) 0%,
    rgba(255, 255, 255, 0) 48%
  );
  border-color: rgba(244, 63, 94, 0.18);
}

.reveal .slides div[style*="background-color: #ffebee;"]::before {
  background: linear-gradient(90deg, #f43f5e, #fb7185);
}

.reveal .slides div[style*="background-color: #FFFBC1;"] {
  background-image: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.8) 0%,
    rgba(255, 255, 255, 0) 48%
  );
  border-color: rgba(234, 179, 8, 0.22);
}

.reveal .slides div[style*="background-color: #FFFBC1;"]::before {
  background: linear-gradient(90deg, #eab308, #facc15);
}

.reveal .slides .visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
