/* Layouts specific to this talk. Shared styles live in ../_theme/talk.scss
   (Space .columns blocks with padding: their margin-top gets overridden.) */

/* Motivation */
.reveal .motivation {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2em;
  margin-top: 1em;
}
.reveal .motivation-sources {
  display: flex;
  flex-direction: column;
  gap: 0.9em;
  width: 330px;
}
.reveal .motivation-target { width: 480px; }

/* Reinforcement Learning */
.reveal .rl-apps {
  display: grid;
  grid-template-columns: 421fr 402fr 282fr;
  gap: 0 1.4em;
  margin-top: 0.4em;
}
.reveal .rl-app img,
.reveal .rl-app video {
  height: 270px;
  width: 100%;
  object-fit: cover;
}
.reveal .rl-app p { margin: 0; }
.reveal .rl-cite {
  display: block;
  margin-top: 0.4em;
  font-size: 0.52em;
  line-height: 1.3;
  color: #7f7f7f;
}
.reveal .rl-cite strong { color: #000; }
.reveal .rl-more {
  display: block;
  text-align: center;
  font-size: 1.25em;
  margin-top: 1.3em;
}
.reveal .rl-objective {
  position: absolute;
  top: 150px;
  left: 50%;
  transform: translateX(-50%);
  width: 960px;
  font-size: 1.15em;
  padding: 0.35em 1.2em;
}

/* GPE text */
.reveal .gpe-text p { margin: 0.1em 0; }

/* Combining behaviors via GPI */
.reveal .gpi-demo {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 1em;
}
.reveal .gpi-base,
.reveal .gpi-new {
  display: flex;
  align-items: flex-end;
  gap: 0.9em;
}
.reveal .gpi-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1.2em;
}
.reveal .gpi-panel p { margin: 0; line-height: 1.2; }
.reveal .gpi-panel img { width: 285px; }
.reveal .gpi-policy { font-size: 1.15em; }
.reveal .gpi-result { font-size: 0.95em; }
.reveal .gpi-result .katex-display { margin: 0 0 0.1em; }
.reveal .gpi-arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: center;
  margin: 0 0.4em 0 1.5em;
  font-size: 0.8em;
}
.reveal .gpi-arrow p { margin: 0.1em 0; }

/* Option Keyboard */
.reveal .ok-columns { padding-top: 0.6em; }
.reveal .ok-columns ul { font-size: 1.2em; }
.reveal .ok-columns img { border: 2px solid #ccc; }

/* Convex Coverage Set */
.reveal .ccs-columns { align-items: flex-start; }
.reveal .ccs-heading {
  display: block;
  color: #0070c0;
  font-weight: 700;
  font-size: 1.15em;
  margin-bottom: 0.4em;
}
.reveal .ccs-columns .callout-box { width: 100%; box-sizing: border-box; margin-top: 0.5em; font-size: 1.05em; }
.reveal .ccs-columns .paper-excerpt { font-size: 0.64em; margin-top: 0.6em; }
.reveal .ccs-definition {
  position: absolute;
  left: 0;
  top: 545px;
  font-size: 1.05em;
}
.reveal .infeasible {
  display: block;
  text-align: center;
  font-weight: 700;
  font-size: 1.4em;
  margin-top: 1.2em;
}

/* Option Keyboard Basis */
.reveal .okb-steps > ol > li { margin-bottom: 0.9em; }
.reveal .okb-steps ul { margin-top: 0.2em; }
.reveal .okb-steps ul li { margin-bottom: 0.25em; }

.reveal .okb-diagram {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: -0.4em;
}
.reveal .okb-diagram p { margin: 0; }
.reveal .okb-basis {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 280px;
}
.reveal .okb-basis-label { font-size: 1.3em; }
.reveal .okb-task {
  text-align: center;
  font-size: 1.25em;
  line-height: 1.6;
}
.reveal .okb-plus { font-weight: 700; color: #000; }
.reveal .okb-reconstructed { width: 460px; }
.reveal .okb-diagram .block-arrow { font-size: 0.9em; flex-shrink: 0; }

/* Results */
.reveal .results-columns { align-items: flex-start; }
.reveal .domains {
  display: flex;
  align-items: flex-start;
  gap: 1.2em;
  margin-bottom: 1.6em;
}
.reveal .domain { text-align: center; font-size: 0.85em; }
.reveal .domain p { margin: 0 0 0.3em; white-space: nowrap; }
.reveal .domain img.minecart { width: 178px; }
.reveal .results-columns ul,
.reveal .scaling-columns ul,
.reveal .nonlinear-columns ul { font-size: 1.2em; }
.reveal .scaling-columns { justify-content: center; padding-top: 0.6em; }
.reveal .nonlinear-gridworld {
  position: absolute;
  top: -10px;
  left: 0;
  width: 150px;
}
.reveal .slides .nonlinear-columns { padding-top: 45px; align-items: flex-start; }
.reveal .nonlinear-columns li { margin-bottom: 1.4em; }
.reveal .temporal-plot { display: block; width: 1060px; margin: 0.2em auto 0.6em !important; }
.reveal .summary { font-size: 0.92em; margin-bottom: 0.7em; }
