* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  background: #000000;
  color: #33ff33;
  font-family: 'IBM Plex Mono', 'Courier New', Courier, monospace;
  font-size: 1rem;
  line-height: 1.7;
  padding: 2rem 1rem 4rem;
}

/* main column — fixed width, terminal-style */
.terminal {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 1rem;
}

.ascii-header {
  font-family: 'IBM Plex Mono', 'Courier New', Courier, monospace;
  font-size: 0.5rem;
  line-height: 1.15;
  white-space: pre;
  color: #00ff41;
  margin: 0 auto 2rem;
  overflow-x: auto;
  width: max-content;
  max-width: 100%;
}

/* narrative text blocks */
.narrative p {
  margin-bottom: 1.2rem;
}

.narrative p + p {
  margin-top: 0;
}

/* options list */
.options {
  margin-top: 2rem;
}

.options-label {
  color: #33ff33;
  margin-bottom: 0.8rem;
}

.option-list {
  list-style: none;
}

.option-list li {
  margin-bottom: 0.6rem;
}

/* the [ BUTTON ] links */
.option-list a,
.choice {
  color: #33ff33;
  text-decoration: none;
  font-family: inherit;
  font-size: inherit;
  background: none;
  border: none;
  cursor: pointer;
}

.option-list a:hover,
.choice:hover {
  color: #00ff41;
  text-decoration: underline;
}

/* emphasis stays in-family — no color shift, just brightness via bold */
em, i {
  font-style: italic;
  color: #00ff41;
}

strong, b {
  font-weight: bold;
  color: #00ff41;
}

/* links to external sites (limerick contest etc) */
a {
  color: #33ff33;
  text-decoration: underline;
}

a:hover {
  color: #00ff41;
}

/* the cursor-blink, reused from the main site's palette but in green */
@keyframes term-blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}

.cursor {
  display: inline-block;
  animation: term-blink 1s step-end infinite;
}

/* horizontal divider, terminal style — a row of dashes, not a <hr> */
.divider {
  color: #1a8c1a;
  margin: 2rem 0;
  white-space: pre;
}

/* small print / system text (e.g. "loading", node IDs) */
.sys {
  color: #1a8c1a;
  font-size: 0.85rem;
}

@media (max-width: 480px) {
  body { font-size: 0.9rem; padding: 1.5rem 1rem 3rem; }
  .ascii-header { font-size: 0.5rem; }
}