/* =========================================================
   🕯️ ATHERIS — THE KEEPER OF UNSPOKEN WORDS
   =========================================================

   Name: Atheris
   Title: The Keeper of Unspoken Words
   Home: Rampant — The Fractured Sanctuary

   Behind the fractured glass dwells Atheris,
   a shadow born from words never spoken.

   It does not whisper.
   It does not demand.
   It simply watches.

   Every thought withheld becomes another
   echo within its silent sanctuary.

   Yet Atheris is not the darkness it guards.

   It is the weary keeper of a thousand
   unfinished sentences.

   And even the strongest keeper
   deserves a moment of quiet.

   ========================================================= */

.theme-rampant {
  min-height: 100vh;
  margin: 0;
  padding: 28px 16px 65px;
  box-sizing: border-box;
  color: #e7dde1;
  color-scheme: dark;
  background: radial-gradient(ellipse at 50% 13%, rgba(104, 28, 47, .17), transparent 46%),
              linear-gradient(155deg, #09090d 0%, #171017 55%, #09090d 100%);
  background-attachment: fixed;
}
.theme-rampant .poem-page { max-width: 760px; margin: 0 auto; }
.theme-rampant .back-link { color: #d0aeb8; }
.theme-rampant .back-link:hover, .theme-rampant .back-link:focus-visible { color: #fff1f3; }
.theme-rampant .rampant-chamber {
  position: relative;
  overflow: hidden;
  padding: clamp(32px, 6vw, 58px) clamp(20px, 5vw, 52px);
  border: 1px solid rgba(163, 102, 119, .35);
  border-radius: 10px;
  background: linear-gradient(155deg, rgba(30, 20, 29, .96), rgba(12, 12, 19, .98));
  box-shadow: 0 20px 65px rgba(0, 0, 0, .35), inset 0 0 55px rgba(92, 23, 40, .06);
}
.theme-rampant .rampant-chamber::before {
  content: "";
  position: absolute;
  inset: -20%;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 30%, rgba(115, 32, 53, .13), transparent 53%);
  animation: sanctuary-breathe 19s ease-in-out infinite alternate;
}
.theme-rampant .rampant-chamber > * { position: relative; z-index: 1; }
.theme-rampant .poem-category { color: #b994a0; letter-spacing: .19em; }
.theme-rampant .full-poem h1 {
  margin: 14px 0 22px;
  color: #f0e5e8;
  font-family: Georgia, serif;
  font-size: clamp(1.9rem, 5vw, 2.7rem);
  font-weight: normal;
  letter-spacing: .035em;
}
.rampant-window {
  position: relative;
  width: min(100%, 340px);
  height: 220px;
  margin: 18px auto 28px;
  overflow: hidden;
  border: 1px solid rgba(166, 129, 141, .42);
  border-radius: 45% 45% 3px 3px / 34% 34% 3px 3px;
  background: radial-gradient(ellipse at 50% 70%, rgba(84, 31, 50, .28), transparent 56%),
              linear-gradient(160deg, #12111b, #090b13 72%);
  box-shadow: inset 0 0 35px rgba(0,0,0,.65), 0 0 22px rgba(96,35,53,.11);
  cursor: default;
  outline-offset: 5px;
}
.rampant-window:focus-visible { outline: 1px solid #d1a4b0; }
.rampant-cracks { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; }
.rampant-cracks path { fill: none; stroke: rgba(192, 160, 171, .35); stroke-width: .8; vector-effect: non-scaling-stroke; }
/* 🕯️ ATHERIS — SHADOW VISIBILITY REFINEMENT */

.atheris {
  position: absolute;
  left: 50%;
  bottom: -28px;

  width: 100px;
  height: 173px;

  transform: translateX(-50%);

  border-radius:
    48% 48% 22% 22% /
    31% 31% 14% 14%;

  background: radial-gradient(
    ellipse at 50% 28%,
    rgba(112, 83, 105, 0.95) 0%,
    rgba(55, 39, 60, 0.95) 40%,
    rgba(14, 11, 23, 0.98) 80%
  );

  box-shadow:
    0 0 28px 8px rgba(85, 48, 72, 0.24);

  filter: blur(6px);

  opacity: 0.14;

  transition:
    opacity 1.2s ease,
    filter 1.2s ease;
}

/* When Atheris is noticed */

.rampant-window:is(:hover, :focus-visible, :active) .atheris {
  opacity: 0.85;
  filter: blur(4px);
}
.rampant-window-caption {
  position: absolute; z-index: 3; bottom: 14px; left: 0; right: 0;
  color: rgba(203, 177, 186, .55);
  font-size: .62rem; text-align: center; letter-spacing: .22em;
  text-transform: uppercase;
}
.rampant-divider { width: 76px; height: 1px; margin: 0 auto 27px; background: linear-gradient(90deg, transparent, #a16a7b, transparent); }
.theme-rampant .poem-text {
  max-width: 540px;
  margin: 0 auto;
  color: #e5dce0;
  text-align: left;
  font-size: 1rem;
  line-height: 1.95;
  white-space: pre-line;
}
.theme-rampant .poem-text strong { font-weight: 700; color: inherit; }
@keyframes sanctuary-breathe {
  from { opacity: .32; transform: translateY(-1%); }
  to { opacity: .85; transform: translateY(2%); }
}
@media (max-width: 600px) {
  .theme-rampant .rampant-chamber { padding: 34px 20px; }
  .theme-rampant .poem-text { font-size: 16px; line-height: 1.9; }
  .rampant-window { height: 195px; }
}
@media (prefers-reduced-motion: reduce) {
  .theme-rampant .rampant-chamber::before { animation: none; }
  .atheris { transition: none; }
}
