/* ----------------------------------
   Global reset (keep it simple)
---------------------------------- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Centered content column */
.content {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

/* Make blocks fit on small screens */
.header,
.content main {
  width: min(34ch, 92vw);  /* 92% of viewport on phones, 34ch on larger screens */
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

/* ----------------------------------
   Page base
---------------------------------- */
body {
  background: #000;
  color: #fff;
  font-family: "Courier New", Courier, monospace;
  font-size: 16px;
  line-height: 1.5;
  padding: 20px;
}

.nav {
  margin-top: 10px;
  margin-bottom: 20px;
}

.nav {
  width: min(34ch, 92vw);
  margin: 12px auto 18px auto;
  text-align: center;
  line-height: 1.8;
  word-break: keep-all;
}

.nav a {
  display: inline-block; /* helps wrapping */
  padding: 2px 0;
}


/* ----------------------------------
   Page wrapper (creates space for gutter)
   Put all visible content inside <div class="page">...</div>
---------------------------------- */
.page {
  padding-left: 70px; /* space for paragraph gutter */
}

/* ----------------------------------
   Centered content column
   Put logo + header + main + footer inside <div class="content">...</div>
---------------------------------- */
/* Centered content column */
.content {
  margin: 0 auto;
  text-align: center; /* center blocks */
}

/* Keep main text left-aligned for terminal readability */
/* Keep main text readable, but center the whole block under the header */
/* Main content block — EXACT SAME WIDTH */
.content main {
  display: block;
  width: 34ch;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

/* ----------------------------------
   Centered logo
---------------------------------- */
.logo {
  margin-bottom: 30px;
  text-align: center;
}

.logo img {
  max-width: 200px;           /* adjust if needed */
  height: auto;
  image-rendering: pixelated; /* retro / high-contrast */
}

/* ----------------------------------
   ASCII header (centered as a block)
   IMPORTANT: remove leading spaces in the <pre> lines in HTML
---------------------------------- */
/* ASCII header */
.header {
  display: block;
  width: 34ch;
  margin: 20px auto 30px auto;
  text-align: left;
  white-space: pre;
}
/* ----------------------------------
   Paragraph spacing
---------------------------------- */
p {
  margin-bottom: 16px;
}

/* Optional: center nav line if you wrap it in <p class="nav"> */
.nav {
  text-align: center;
  margin-top: 18px;
}

/* ----------------------------------
   Audio player (keep it simple)
---------------------------------- */
audio {
  display: block;
  width: 320px;        /* classic, not full-width */
  margin: 10px 0 20px 0;
  filter: grayscale(100%);
}

/* Center audio controls inside the content block */
.content main audio {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.audio-center audio {
  margin-left: auto;
  margin-right: auto;
}


/* Center images inside the main content block */
.content main img {
  display: block;
  margin: 12px auto 20px auto;
}

/* ----------------------------------
   Links
---------------------------------- */
a {
  color: #ffffff;
  text-decoration: underline;
}

a:hover {
  background-color: #ffffff;
  color: #000000;
}

/* ----------------------------------
   Footer
---------------------------------- */
footer {
  margin-top: 40px;
  font-size: 12px;
  opacity: 0.7;
  text-align: center;
}

.cipher-key {
  white-space: pre;              /* never wrap */
  overflow-x: auto;              /* scroll if needed */
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 12px;
  line-height: 1.35;
  font-variant-ligatures: none;  /* no ligatures */
  letter-spacing: 0;             /* keep grid tight */
  tab-size: 2;
}




/* ----------------------------------
   Paragraph-return gutter overlay
---------------------------------- */
#returns-gutter {
  position: fixed;
  top: 0;
  left: 0;
  width: 40px;
  height: 100vh;

  padding-top: 20px;   /* match body padding */
  padding-left: 10px;

  font-size: 12px;
  line-height: 14px;

  opacity: 0;          /* hidden until after load */
  pointer-events: none;
  overflow: hidden;
  z-index: 9999;

  transition: opacity 150ms linear;
}

#returns-gutter.is-on {
  opacity: 0.55;
}

/* ----------------------------------
   Long scroll spacer
---------------------------------- */
#scroll-pad {
  height: 4000px; /* tweak as needed */
}
