:root {
  color-scheme: dark;
  background: #070912;
  color: #e6edf7;
  font-family: system-ui, sans-serif;
  line-height: 1.5;
}

body {
  margin: 0 auto;
  max-width: 40rem;
  padding: 1.5rem;
}

a {
  color: inherit;
}

/* Page content sits above the home scene's canvas. */
main {
  position: relative;
  z-index: 1;
}

/* Plain-text documents rendered by text-page.js. */
.text-page h1 {
  font-size: 1.4rem;
  margin: 0 0 1.5rem;
}

.text-page h2 {
  font-size: 1rem;
  margin: 2.5rem 0 1rem;
}

.text-page ul {
  list-style-type: '- ';
  padding-left: 2.5ch;
}

.text-page .indented {
  padding-left: 1ch;
}

.scene {
  inset: 0;
  pointer-events: none;
  position: fixed;
  z-index: 0;
}

/* The logo as plain SVG, placed where the scene draws it. */
.hero-title {
  left: 50%;
  margin: 0;
  position: fixed;
  top: 46vh;
  transform: translate(-50%, -50%);
  /* Matches the scene: 70% of the width or 30% of the height (5.8:1 logo). */
  width: min(70vw, 174vh);
}

.logo {
  display: block;
  width: 100%;
}

/* The scene draws the logo itself; the SVG stays for assistive technology. */
.scene-active .hero-title {
  opacity: 0;
}
