@import url('https://fonts.googleapis.com/css?family=Press+Start+2P&display=swap');


:root {
  --background-color: #fff0f6;
  --text-color: #503c5d;
  --button-bg-color: #ffe6f2;
  --button-text-color: #ff69b4;
  --button-border-color: #ff69b4;
  --link-color: #ff69b4;
}


.dark-mode {
  --background-color: #121212;
  --text-color: #ffffff;
  --button-bg-color: #1e1e1e;
  --button-text-color: #ffffff;
  --button-border-color: #333333;
  --link-color: #bb86fc;
}
.light-mode {
  --background-color: #ffffff;
  --text-color: #000000;
  --button-bg-color: #f0f0f0;
  --button-text-color: #000000;
  --button-border-color: #cccccc;
  --link-color: #1a0dab;
}
.galaxy-theme {
  --background-color: #0b0033;
  --text-color: #ffffff;
  --button-bg-color: #1a0033;
  --button-text-color: #ffffff;
  --button-border-color: #330066;
  --link-color: #ff66ff;
}
.red-nebula-theme {
  --background-color: #330000;
  --text-color: #ffffff;
  --button-bg-color: #660000;
  --button-text-color: #ffffff;
  --button-border-color: #990000;
  --link-color: #ff3333;
}
.blue-nebula-theme {
  --background-color: #000033;
  --text-color: #ffffff;
  --button-bg-color: #000066;
  --button-text-color: #ffffff;
  --button-border-color: #000099;
  --link-color: #3399ff;
}
.bubblegum-theme {
  --background-color: #ffe6f0;
  --text-color: #330033;
  --button-bg-color: #ff99cc;
  --button-text-color: #330033;
  --button-border-color: #ff66b2;
  --link-color: #cc0066;
}
.forest-theme {
  --background-color: #e6ffe6;
  --text-color: #003300;
  --button-bg-color: #99cc99;
  --button-text-color: #003300;
  --button-border-color: #66b266;
  --link-color: #006600;
}
.citrus-theme {
  --background-color: #fffde7;
  --text-color: #426b1f;
  --button-bg-color: #ffe066;
  --button-text-color: #fff;
  --button-border-color: #ffa600;
  --link-color: #70c744;
}
.pastel-theme {
  --background-color: #f0e6ff;
  --text-color: #330033;
  --button-bg-color: #cc99ff;
  --button-text-color: #330033;
  --button-border-color: #b266ff;
  --link-color: #8000ff;
}
.coffee-theme {
  --background-color: #f3e5d5;
  --text-color: #4b2e1e;
  --button-bg-color: #d2b48c;
  --button-text-color: #4b2e1e;
  --button-border-color: #a67c52;
  --link-color: #8b4513;
}
.rainbow-theme {
  --background-color: #ffffff;
  --text-color: #000000;
  --button-bg-color: linear-gradient(45deg, red, orange, yellow, green, blue, indigo, violet);
  --button-text-color: #ffffff;
  --button-border-color: #cccccc;
  --link-color: #ff00ff;
  background-size: 300% 300%;
  animation: rainbowGradient 5s ease infinite;
}
@keyframes rainbowGradient {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}



body {
  background: var(--background-color);
  color: var(--text-color);
  font-family: 'Poppins', sans-serif;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  cursor: url('Nekopara-Normal-Select.cur'), auto;
  transition: background 0.4s, color 0.3s;
}


.myButton:hover,
.css-button-arrow--rose:hover,
.imagebutton:hover {
  cursor: url('Nekopara-Link-Select-NEW.cur'), pointer;
}


h1 {
  color: var(--text-color);
  margin-top: 32px;
  margin-bottom: 18px;
  font-size: 2.2rem;
  letter-spacing: 1px;
}

.myButton {
 font-family: 'Press Start 2P', monospace, Arial, sans-serif !important;
  font-size: 16px;
  color: var(--button-text-color);
  background: var(--button-bg-color);
  border: 2px solid var(--button-border-color);
  padding: 12px 24px;
  border-radius: 6px;
  box-shadow: 0 0 8px var(--button-border-color, #ffb6c1);
  transition: all 0.2s ease-in-out;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  margin: 12px 10px 18px 10px;
}

.myButton:hover {
  background: var(--link-color);
  color: var(--background-color);
  box-shadow: 0 0 16px var(--button-border-color, #ffb6c1);
  transform: scale(1.06);
  border-color: var(--link-color);
}


.rainbow-theme .myButton {
  background: linear-gradient(45deg, red, orange, yellow, green, blue, indigo, violet);
  color: #fff;
  border: 2px solid #cccccc;
  background-size: 300% 300%;
  animation: rainbowGradient 5s ease infinite;
}
.rainbow-theme .myButton:hover {
  background: linear-gradient(45deg, violet, indigo, blue, green, yellow, orange, red);
  color: #fff;
}


.imagebutton {
  width: 100px;
  height: 100px;
  border-radius: 12px;
  border: 2.5px solid var(--button-border-color);
  object-fit: cover;
  box-shadow: 0 0 8px var(--button-border-color, #ffb6c1);
  background: var(--button-bg-color);
  transition: all 0.2s;
  margin: 6px 6px 0 6px;
}

.imagebutton:hover {
  transform: scale(1.08) rotate(-5deg);
  box-shadow: 0 0 24px var(--button-border-color, #ffb6c1), 0 0 36px var(--button-border-color, #ffb6c1);
  filter: brightness(1.2) contrast(1.1) drop-shadow(0 0 4px var(--button-border-color, #ffb6c1));
  cursor: url('Nekopara-Link-Select-NEW.cur'), pointer;
}

.game-counter {
  color: var(--link-color);
  font-weight: 500;
  margin-bottom: 10px;
}

input[type="text"], #terminal-input {
  border: 2px solid var(--button-border-color);
  background: var(--background-color);
  color: var(--text-color);
  width: 400px;
  max-width: 90vw;
  padding: 10px;
  border-radius: 20px;
  outline: none;
  font-family: 'Poppins', sans-serif;
  text-align: center;
  box-shadow: 0 0 10px var(--button-border-color, #ffb6c1);
  margin-bottom: 14px;
  transition: 0.3s ease;
  font-size: 16px;
}

input[type="text"]:focus, #terminal-input:focus {
  background: var(--button-bg-color);
  box-shadow: 0 0 15px var(--button-border-color, #ffb6c1);
}

input[type="text"]::placeholder, #terminal-input::placeholder {
  color: var(--link-color);
  opacity: 0.7;
}


.game-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 12px;
}

.site-container {
  max-width: 100%;
  padding: 10px;
  box-sizing: border-box;
}


@media (max-width: 600px) {
  .game-grid {
    gap: 7px;
  }
  .imagebutton {
    width: 65px;
    height: 65px;
  }
  .myButton {
    font-size: 14px;
    padding: 10px 12px;
    margin: 7px 4px 14px 4px;
  }
  input[type="text"], #terminal-input {
    width: 90vw;
    font-size: 14px;
  }
  h1 {
    font-size: 1.25rem;
  }
}
