/* =========================================================
   BASE
   Variables, Background, Global Reset
   ========================================================= */

/* =============================
   ROOT VARIABLES
============================= */

:root {
  --swamp-green-1: #7D9C00;
  --swamp-green-2: #6F8F00;
  --swamp-green-3: #5E7A00;

  --blood-red-1: #6b0f0f;
  --blood-red-2: #3a0505;
  --blood-red-3: #8a1a1a;

  --card-bg: rgba(0, 0, 0, 0.75);
  --modal-bg: rgba(0, 0, 0, 0.85);
  --accent: #7C675F;
  --white: #fff;

  --header-height: 150px;
}

/* =============================
   GLOBAL RESET
============================= */

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: scroll;
  scrollbar-gutter: stable;
  background-color: #0a0a0a;
  color-scheme: dark;
}

/* =============================
   SAFARI-PROOF BACKGROUND LAYER
============================= */

html {
  background: linear-gradient(
    135deg,
    var(--swamp-green-1),
    var(--swamp-green-2),
    var(--swamp-green-3),
    var(--blood-red-1),
    var(--blood-red-2),
    var(--blood-red-3)
  );
  background-color: #0a0a0a;
  background-size: 600% 600%;
  animation: swampToBlood 25s linear infinite;
}

/* =============================
   BACKGROUND ANIMATION
============================= */

@keyframes swampToBlood {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* =============================
   BODY STRUCTURE
============================= */

body {
  font-family: 'Montserrat', sans-serif;
  color: var(--white);

  min-height: 100svh;
  min-height: 100%;

  display: flex;
  flex-direction: column;

  padding-top: calc(var(--header-height) + env(safe-area-inset-top));
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  padding-bottom: env(safe-area-inset-bottom);

  overflow-x: hidden;
}

/* =============================
   MEDIA ELEMENT SAFETY
============================= */

img,
video,
canvas {
  max-width: 100%;
  height: auto;
  display: block;
}

/* =============================
   CONTAINER STRUCTURE
============================= */

.meta-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.version-box,
.updates-box {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 4rem auto;
  padding: 3rem 2rem;
}

.version-box h3,
.updates-box h3,
.version-box p:first-of-type,
.updates-box p:first-of-type {
  text-align: center;
}

.version-box ul,
.updates-box ul {
  list-style: none;
  text-align: left;
  max-width: 700px;
  margin: 1.5rem auto 0 auto;
  padding: 0;
}

.version-box li {
  margin-bottom: 0.8rem;
  line-height: 1.55;
}

.version-box img {
  flex-shrink: 0;
}

/* =============================
   FAQ
============================= */

.faq-section {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 4rem auto;
  padding: 3rem 2rem;
  text-align: center;
}

.faq-item {
  margin-bottom: 3rem;
}

.faq-item p {
  max-width: 700px;
  margin: 1rem auto 0 auto;
}

/* =============================
   MOBILE TWEAKS
============================= */

@media (max-width: 768px) {
  main {
    padding: 0 1.25rem;
  }

  .version-box,
  .updates-box,
  .faq-section {
    padding: 2.5rem 1.5rem;
  }
}

/* =============================
   PAGE-SPECIFIC FIX
============================= */

body[data-page="speciesroles"] #species-roles {
  padding-top: 0.1px;
}

body[data-page="speciesroles"] .category-title {
  margin-top: 0;
}
.text-center {
  text-align: center;
}








