/* NextAid AX theme — minimal, declarative, design-led. */

:root {
  --ax-bg: #0e0e10;
  --ax-fg: #f5f5f3;
  --ax-accent: #d8d4ca;
  --ax-muted: rgba(245, 245, 243, 0.55);
  --ax-rule: rgba(245, 245, 243, 0.15);
  --ax-serif: "Iowan Old Style", "Georgia", "Yu Mincho", "游明朝", serif;
  --ax-sans: "Inter", "Helvetica Neue", "Yu Gothic", "游ゴシック", sans-serif;
}

/* ---- reveal.js overrides ---- */

.reveal {
  font-family: var(--ax-serif);
  color: var(--ax-fg);
  background: var(--ax-bg);
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.005em;
}

html, body { background: var(--ax-bg); }

.reveal .slides {
  text-align: left;
}

.reveal .slides section {
  padding: 0 6vw;
}

.reveal h1 {
  font-family: var(--ax-sans);
  font-weight: 700;
  font-size: 2.2em;
  letter-spacing: -0.015em;
  text-transform: none;
  margin: 0 0 0.6em;
  color: var(--ax-fg);
  line-height: 1.15;
}

.reveal h2 {
  font-family: var(--ax-sans);
  font-weight: 600;
  font-size: 1.4em;
  margin: 0 0 0.5em;
  color: var(--ax-fg);
}

.reveal p {
  line-height: 1.55;
  margin: 0 0 0.7em;
  color: var(--ax-fg);
}

.reveal strong {
  color: var(--ax-accent);
  font-weight: 700;
}

.reveal em {
  color: var(--ax-muted);
  font-style: italic;
}

.reveal a {
  color: var(--ax-accent);
  text-decoration: none;
  border-bottom: 1px solid var(--ax-rule);
}

.reveal a:hover { border-bottom-color: var(--ax-accent); }

.reveal .controls { color: var(--ax-muted); }
.reveal .progress { color: var(--ax-accent); height: 2px; }

/* Title slide special treatment */
.reveal .slides section.title-slide {
  text-align: center;
}
.reveal .slides section.title-slide h1 {
  font-size: 4em;
  letter-spacing: -0.03em;
  margin-bottom: 0.2em;
}
.reveal .slides section.title-slide .subtitle {
  font-family: var(--ax-sans);
  font-size: 1.2em;
  opacity: 0.7;
  margin-bottom: 3em;
}
.reveal .slides section.title-slide .author {
  font-family: var(--ax-sans);
  font-size: 0.9em;
  opacity: 0.6;
}

/* Quiet slide numbers */
.reveal .slide-number { color: var(--ax-muted); background: transparent; }

@media (max-width: 720px) {
  .reveal { font-size: 22px; }
  .reveal .slides section { padding: 0 4vw; }
}
