/* bene vixit — paper terminal.
   privacy = light: warm paper, dark ink. not another green-on-black cave. */

:root {
  --paper: #faf7f0;
  --ink: #23201a;
  --ink-soft: #6b6459;
  --accent: #8a6d1f; /* old gold */
}

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

html, body {
  height: 100%;
  background: var(--paper);
  color: var(--ink);
  font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  font-size: 15px;
  line-height: 1.6;
}

#terminal {
  max-width: 46rem;
  margin: 0 auto;
  padding: 3rem 1.25rem 6rem;
  min-height: 100%;
  overflow-y: auto;
}

.line { white-space: pre-wrap; word-break: break-word; min-height: 1.6em; }
.line.keeper { color: var(--ink); }
.line.visitor { color: var(--ink-soft); }
.line.system { color: var(--accent); font-style: italic; }

.copyable { cursor: pointer; text-decoration: underline dotted var(--accent); }
.copyable.copied { color: var(--accent); }

#input-line { white-space: pre-wrap; word-break: break-word; }
.cursor { animation: blink 1.1s steps(1) infinite; color: var(--accent); }
@keyframes blink { 50% { opacity: 0; } }

#hidden-input {
  position: fixed;
  left: -9999px;
  top: 0;
  opacity: 0;
}

#turnstile-slot {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
}

a { color: var(--accent); }

/* Ghost footer — barely there until you look for it (ported from renderself). */
#site-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  padding: 10px 20px;
  font-size: 10px;
  letter-spacing: 0.06em;
  color: var(--ink-soft);
  opacity: 0.25;
  transition: opacity 0.3s;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
#site-footer:hover { opacity: 0.7; }
#site-footer nav { display: flex; gap: 16px; justify-content: center; }
#site-footer nav a { color: var(--ink); text-decoration: none; }
#site-footer nav a:hover { text-decoration: underline; }
#site-footer p { margin-top: 2px; }

/* Static pages (terms, privacy) */
.page {
  max-width: 46rem;
  margin: 0 auto;
  padding: 3rem 1.25rem 6rem;
}
.page h1 { font-size: 1.1rem; margin-bottom: 1.5rem; letter-spacing: 0.04em; }
.page h2 { font-size: 0.95rem; margin: 1.5rem 0 0.5rem; color: var(--accent); }
.page p, .page li { margin-bottom: 0.75rem; color: var(--ink); }
.page ul { padding-left: 1.25rem; }
.page .back { display: inline-block; margin-bottom: 2rem; }

@media (prefers-color-scheme: dark) {
  /* Even the dark theme stays warm — dusk, not a basement. */
  :root {
    --paper: #201d17;
    --ink: #ece6da;
    --ink-soft: #a89f8f;
    --accent: #d4af37;
  }
}
