body {
  background-color: #f0f0f0;
  color: #000000;
  font-family: "Courier New", Courier, monospace;
  font-size: 1.2rem;

  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  margin: 0;
  overflow: hidden;
}

/* Wrapper to keep the text and link stacked initially */
.content-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

#secret-s,
#secret-dot {
  cursor: pointer;
}

/* Classic, ugly Web 1.0 link */
#annoying-link {
  color: #0000ee;
  text-decoration: underline;
  font-size: 1rem;
  cursor: pointer;
  /* Transition makes the jump look just a tiny bit smoother but mostly chaotic */
  transition:
    top 0.1s,
    left 0.1s;
}

.hidden {
  display: none !important;
}

/* --- STYLE DLA TROLLI Z KLAWIATURY --- */

/* Animacja kręcenia całej strony */
@keyframes spin-page {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.spinning-mode {
  animation: spin-page 4s linear infinite;
}

.boom-text-simple {
  position: fixed;
  top: 50%; /* Startują idealnie ze środka */
  left: 50%;
  /* Zwykły, surowy font jak reszta strony */
  font-family: "Courier New", Courier, monospace;
  font-weight: bold;
  font-size: 2rem; /* Stała wielkość dla wszystkich */
  pointer-events: none;
  z-index: 5000;
  /* Kluczowe: wyśrodkowanie punktu startu */
  transform: translate(-50%, -50%);
  /* Animacja lotu - trwa 2s, ruchem jednostajnym */
  animation: fly-out 2s linear forwards;
}

/* Animacja rozbryzgu */
@keyframes fly-out {
  0% {
    /* Start: środek ekranu, pełna widoczność */
    transform: translate(-50%, -50%) translate(0px, 0px);
    opacity: 1;
  }
  80% {
    /* W 80% trasy nadal są w pełni widoczne */
    opacity: 1;
  }
  100% {
    /* Koniec: lecą do punktu wyznaczonego przez JS (tx, ty) i znikają */
    transform: translate(-50%, -50%) translate(var(--tx), var(--ty));
    opacity: 0;
  }
}

/* --- TWARDE NADPISANIE DLA TRYBU REVERSE --- */
body.reverse-mode {
  background-color: #000000 !important;
  color: #ffffff !important;
}

body.reverse-mode #annoying-link {
  color: #00ff00 !important; /* Jaskrawy, hakerski zielony */
}

/* Opcjonalnie: uderzamy też w okienko puzzli, jeśli jest otwarte */
body.reverse-mode .puzzle-window {
  background-color: #000000 !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}

body.reverse-mode .puzzle-header {
  background-color: #ffffff !important;
  color: #000000 !important;
}

body.reverse-mode #close-puzzle,
body.reverse-mode #dumb-mode-btn {
  background-color: #000000 !important;
  color: #ffffff !important;
}
