/* ===========================================
   base.css
   Shared styles across ALL acts (innocent + corrupted).
   Keep this minimal & structural — visual "personality"
   belongs in theme-innocent.css / theme-corrupted.css
   =========================================== */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  width: 100%;
  min-height: 100%;
}

body {
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1.5;
  color: #111;
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

.page {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

/* Used by jumpscare.js to fully lock the screen for a moment */
.no-scroll {
  overflow: hidden !important;
}

/* Generic nav link to move between acts */
.act-nav {
  display: block;
  text-align: center;
  margin: 40px 0 10px;
  font-size: 1.1rem;
  letter-spacing: 1px;
}