/* Greenscreen-inspired palette on top of revealjs dark theme. */
:root,
.reveal-viewport {
  --ucl-light-purple: #a433ff;
  --ucl-dark-purple: #3c1657;
  --code-green: #9ef7b1;
  --ucl-white: #f5f5f5;
  --r-main-font: "Aptos", "Aptos Display", "Segoe UI", Helvetica, Arial, sans-serif;
  --r-heading-font: "Aptos", "Aptos Display", "Segoe UI", Helvetica, Arial, sans-serif;

  --r-background-color: var(--ucl-dark-purple);
}

.reveal {
  --r-main-color: var(--ucl-white);
  --r-heading-color: var(--ucl-light-purple);
  --r-link-color: var(--ucl-light-purple);
  --r-link-color-hover: var(--ucl-white);
}

/* Keep reveal navigation controls aligned with link palette. */
.reveal .controls {
  color: var(--ucl-light-purple);
}

/* Quarto menu plugin injects a white SVG data URI for the burger icon.
   Override that URI directly so the icon uses UCL light purple. */
.reveal .slide-menu-button .fas::before,
.reveal .slide-menu-button .fa::before {
  background-image: url("assets/generated/menu-icon-purple.svg") !important;
}

/* Tighten pseudocode blocks so ~80 cols fit in one content column on slides. */
.reveal pre code.language-default,
.reveal pre.default code,
.reveal .sourceCode.default code {
  font-size: 0.62em;
  line-height: 1.1;
  font-family: Menlo, Consolas, "Liberation Mono", monospace;
  white-space: pre;
  overflow-x: auto;
  tab-size: 4;
}

/* Override dark theme token rule: pre > code.sourceCode > span { color: ... } */
.reveal pre > code.sourceCode.default > span,
.reveal pre.sourceCode.default > code.sourceCode.default > span,
.reveal pre.default > code.sourceCode.default > span {
  color: var(--code-green) !important;
}

/* Keep block chrome compact so useful line width is not wasted. */
.reveal pre.default,
.reveal .sourceCode.default {
  margin: 0.25em 0;
  padding: 0.4em 0.5em;
}

/* Place a small UCL logo at the bottom-right of every slide viewport. */
.reveal-viewport::after {
  content: "";
  position: fixed;
  right: 14px;
  bottom: 12px;
  width: 184px;
  height: 60px;
  background-image: url("assets/stored/ucl-logo.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right bottom;
  pointer-events: none;
  opacity: 0.95;
  z-index: 20;
}

/* Move the reveal page number from bottom-right to top-right. */
.reveal .slide-number {
  top: 10px;
  right: 14px;
  bottom: auto;
  left: auto;
  z-index: 30;
}

/* Alternative title slide: monitor-style box for content only. */
.reveal .slides section.title-slide-alt {
  text-align: center;
}

.reveal .slides section.title-slide-alt .alt-terminal-box {
  display: inline-block;
  background: #000000;
  color: var(--code-green);
  font-family: Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.82em;
  line-height: 1.35;
  padding: 0.8em 1.1em;
  border-radius: 3px;
  margin-top: 0.6em;
  text-align: left;
}

.reveal .slides section.title-slide-alt .alt-terminal-box p,
.reveal .slides section.title-slide-alt .alt-terminal-box li {
  color: var(--code-green);
  font-family: Menlo, Consolas, "Liberation Mono", monospace;
}

.reveal .image-credit {
  display: block;
  margin-top: 0.35em;
  font-size: 0.4em;
  line-height: 1.2;
  color: var(--ucl-white);
  opacity: 0.88;
}

.navbar {
  background-color: var(--ucl-light-purple);
}