/* LFTCM2026 presentation-specific refinements. */

.title-slide h1 {
  font-size: 3.4em;
  font-weight: 300;
  margin: 0.15em 0 0.25em 0;
  color: #ffffff;
}

.title-slide .meta {
  margin-top: auto;
  padding-bottom: 0.6em;
  font-size: 1em;
  font-weight: 300;
  color: #ffffff;
  line-height: 1.35;
  display: flex;
  align-items: flex-start;
  gap: 2.2em;
}

.title-slide .meta .speaker {
  flex: 1 1 0;
  min-width: 0;
}

.title-slide .meta .name {
  font-size: 1.08em;
  font-weight: 500;
  color: #ffffff;
  text-wrap: balance;
}

.reveal a strong,
.reveal a em {
  color: inherit;
}

.reveal ul.people {
  list-style: none;
  margin-top: 1.4em;
  padding: 0;
}

.reveal ul.people li {
  margin-bottom: 1.15em;
  padding-left: 0.9em;
  border-left: 3px solid var(--lean-teal);
  line-height: 1.35;
}

.reveal ul.people li em {
  display: block;
  color: var(--text-muted);
  font-size: 0.78em;
  font-style: normal;
}

.reveal ul.timeline {
  list-style: none;
  margin: 0.2em 0 0;
  padding: 0;
  font-size: 0.68em;
}

.reveal ul.timeline li {
  margin: 0 0 0.75em;
  padding-left: 0.9em;
  border-left: 3px solid var(--lean-teal);
  line-height: 1.4;
}

.reveal ul.timeline li p {
  margin: 0;
}

.reveal ul.timeline li strong:first-child {
  color: var(--lean-teal);
  font-weight: 700;
}

.reveal p.figure-image {
  display: flex;
  justify-content: center;
  margin: 0 0 0.6em;
}

.reveal p.figure-image img {
  width: min(78vw, 1000px);
  max-width: 100%;
  max-height: 52vh;
  object-fit: contain;
  border: 1px solid var(--border-code);
  background: #ffffff;
}

.reveal p.figure-caption {
  color: var(--text-muted);
  font-size: 0.72em;
  font-style: italic;
  margin: 0;
  text-align: center;
}

.reveal p.logo-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2.2em 3em;
  margin: 1.2em 0 0.8em;
}

.reveal p.logo-row img {
  max-height: 13vh;
  max-width: 19vw;
  width: auto;
  object-fit: contain;
}

.reveal p.big-url {
  margin: 0.4em 0;
  text-align: center;

  font-size: min(1.4em, 3.6vw);
  font-weight: 500;
  word-break: break-all;
}

.reveal p.qr-image {
  display: flex;
  justify-content: center;
  margin: 0.2em 0 0.5em;
}

.reveal p.qr-image img {
  height: 32vh;
  width: auto;
  max-width: 32vh;
  object-fit: contain;
}

.reveal section[data-state="install"] p.callout {
  max-width: 32em;
  margin-top: 0.4em;
  padding: 0.6em 1em;
  font-size: 0.8em;
}

.reveal section[data-state="elephant"] > p {
  text-align: center;
}

.reveal section:is(
  [data-state="lean-mathlib"],
  [data-state="what-it-is"],
  [data-state="the-point"],
  [data-state="libraries"],
  [data-state="trust"],
  [data-state="whats-next"]
) .spaced-list {
  font-size: 0.85em;
}

.reveal section:is(
  [data-state="lean-mathlib"],
  [data-state="what-it-is"],
  [data-state="the-point"],
  [data-state="libraries"],
  [data-state="trust"],
  [data-state="whats-next"]
) .spaced-list li {
  margin-bottom: 1em;
}

.reveal section[data-state="exercises"] .spaced-list li {
  margin-bottom: 1.2em;
}

.reveal section[data-state="exercises"] p.callout {
  max-width: 30em;
  margin-top: 0.8em;
  padding: 0.5em 1em;
  font-size: 0.85em;
}

.reveal p.callout-lead {
  font-size: 0.7em;
  text-align: center;
  margin: 0.9em 0 0;
}

.reveal .callout {
  max-width: 26em;
  margin: 0.5em auto 0;
  padding: 0.7em 1.1em;
  border: 2px solid var(--lean-teal);
  border-radius: 8px;
  background: var(--bg-code);
  text-align: center;
  font-weight: 400;
}

.reveal section:is(
  [data-state="section-i"],
  [data-state="section-ii"],
  [data-state="section-iii"],
  [data-state="section-iv"]
) {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 6vh 8vw;
}

.reveal section:is(
  [data-state="section-i"],
  [data-state="section-ii"],
  [data-state="section-iii"],
  [data-state="section-iv"]
) h2 {
  font-size: 1.9em;
  font-weight: 600;
  line-height: 1.25;
  max-width: 18em;
  margin: 0;
  padding: 0.1em 0 0.1em 0.7em;
  border-left: 6px solid var(--lean-teal);
}

.reveal section:is(
  [data-state="section-i"],
  [data-state="section-ii"],
  [data-state="section-iii"],
  [data-state="section-iv"]
) h2::before {
  display: block;
  color: var(--lean-teal);
  font-size: 0.5em;
  font-weight: 700;
  letter-spacing: 0.22em;
  margin-bottom: 0.5em;
}

.reveal section[data-state="section-i"] h2::before {
  content: "PART I";
}

.reveal section[data-state="section-ii"] h2::before {
  content: "PART II";
}

.reveal section[data-state="section-iii"] h2::before {
  content: "PART III";
}

.reveal section[data-state="section-iv"] h2::before {
  content: "PART IV";
}

.reveal section:is(
  [data-state="week-goal"],
  [data-state="formalization"],
  [data-state="lean-mathlib"],
  [data-state="elephant"],
  [data-state="exercises"],
  [data-state="what-it-is"],
  [data-state="the-point"],
  [data-state="libraries"],
  [data-state="trust"],
  [data-state="whats-next"],
  [data-state="two-problems"],
  [data-state="statement-example"],
  [data-state="wrong-ways"],
  [data-state="faithfulness"],
  [data-state="provers"],
  [data-state="imo"],
  [data-state="benchmarks"],
  [data-state="in-practice"],
  [data-state="failure-modes"],
  [data-state="elephant-callback"],
  [data-state="workflow"],
  [data-state="mathlib-ai"],
  [data-state="timeline"],
  [data-state="timeline-2"],
  [data-state="flt"],
  [data-state="proofs-of-false"],
  [data-state="final"]
) {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  padding-top: 12vh;
  padding-bottom: 6vh;
}

.reveal section:is(
  [data-state="week-goal"],
  [data-state="formalization"],
  [data-state="lean-mathlib"],
  [data-state="elephant"],
  [data-state="exercises"],
  [data-state="what-it-is"],
  [data-state="the-point"],
  [data-state="libraries"],
  [data-state="trust"],
  [data-state="whats-next"],
  [data-state="two-problems"],
  [data-state="statement-example"],
  [data-state="wrong-ways"],
  [data-state="faithfulness"],
  [data-state="provers"],
  [data-state="imo"],
  [data-state="benchmarks"],
  [data-state="in-practice"],
  [data-state="failure-modes"],
  [data-state="elephant-callback"],
  [data-state="workflow"],
  [data-state="mathlib-ai"],
  [data-state="timeline"],
  [data-state="timeline-2"],
  [data-state="flt"],
  [data-state="proofs-of-false"],
  [data-state="final"]
) h2 {
  position: absolute;
  top: 2vh;
  left: 3vw;
  right: 3vw;
  margin: 0;
}

.reveal section[data-state="timeline-2"] p.callout {
  max-width: 34em;
  margin-top: 0.9em;
  padding: 0.5em 1em;
  font-size: 0.68em;
}

.reveal p.thankyou-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: max-content;
  max-width: 88vw;
  font-size: 1.6em;
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
  margin: 0;
}
