/* Acts shared presentation theme
   Reuse this file for future Acts chapter decks. */
:root {
  --acts-ink: #b8beff;
  --acts-muted: #8d95d8;
  --acts-line: #5a67e8;
  --acts-paper: #171717;
  --acts-panel: #222222;
}

* { box-sizing: border-box; }

html, body { margin: 0; min-height: 100%; }

body {
  background: var(--acts-paper);
  color: var(--acts-ink);
  font-family: Verdana, Geneva, sans-serif;
}

.deck {
  min-height: 100vh;
  display: grid;
  grid-template-rows: 1fr auto;
}

.slide {
  display: none;
  min-height: 0;
  padding: clamp(2rem, 6vw, 6rem) clamp(1.5rem, 8vw, 10rem) 2rem;
}

.slide.is-active { display: flex; flex-direction: column; }

.slide__eyebrow {
  margin: 0 0 1rem;
  color: var(--acts-muted);
  font-size: clamp(.7rem, 1.15vw, 1rem);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

h1, h2 { margin: 0; line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: clamp(1rem, 2.15vw, 2.05rem); }
h2 { font-size: clamp(1.2rem, 2.2vw, 2.23rem); }

.slide__subtitle {
  margin: 1.2rem 0 0;
  max-width: 46rem;
  font-size: clamp(.936rem, 1.076vw, 1.03rem);
  line-height: 1.35;
}

.slide__content {
  margin-top: clamp(.75rem, 2vw, 1.625rem);
  display: grid;
  gap: .25rem;
  max-width: 78rem;
}

.point {
  padding: .15rem 0 .15rem 1.25rem;
  position: relative;
  font-size: clamp(.936rem, 1.076vw, 1.03rem);
  line-height: 1.4;
}

.point::before {
  content: "•";
  left: .25rem;
  position: absolute;
  font-weight: 800;
}

.point strong { font-weight: inherit; }

.reference {
  margin: auto 0 0;
  padding-top: 1.25rem;
  color: var(--acts-muted);
  font-size: clamp(.75rem, .9vw, .9rem);
  font-weight: 700;
}

.nav {
  min-height: 4.25rem;
  border-top: 2px solid var(--acts-line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .8rem clamp(1rem, 4vw, 4rem);
}

.nav button {
  min-width: 9.5rem;
  padding: .7rem 1.1rem;
  border: 2px solid var(--acts-line);
  border-radius: .25rem;
  background: var(--acts-paper);
  color: var(--acts-ink);
  cursor: pointer;
  font: inherit;
  font-size: .9rem;
  font-weight: 700;
}

.nav button:hover, .nav button:focus-visible { background: var(--acts-line); color: var(--acts-paper); }
.nav button:disabled { cursor: not-allowed; opacity: .35; }
.nav button:disabled:hover { background: var(--acts-paper); color: var(--acts-ink); }
.slide-count { font-size: .85rem; font-weight: 700; }

@media (max-width: 560px) {
  .nav button { min-width: 6.5rem; }
  .slide { padding-bottom: 1.25rem; }
}

@media print {
  .slide { display: flex !important; min-height: 100vh; page-break-after: always; }
  .nav { display: none; }
}

