/* Credit: Matan (hidden) */
/* Matan was here (hidden credit) */
body {
  /* Suki was here (hidden credit) */
  font-family: 'Jersey 15', 'Courier New', monospace;
  font-size: 18px;
  margin: 0;
  padding: 0;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #2c3e50;
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: none;
  /* Prevent text selection */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}

.game-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.game {
  position: relative;
  background-image: url('http://bit.ly/pokemonbg');
  background-size: 100% 100%;
  background-repeat: no-repeat;
  border: 6px solid #000;
  border-radius: 16px 16px 0 0;
  height: 720px;
  width: 1200px;
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
}

.opponent {
  position: relative;
  height: 450px;
}

.opponent .stats {
  position: absolute;
  top: 144px;
  left: 60px;
  width: 480px;
}

.opponent .pokemon {
  position: absolute;
  bottom: 0;
  right: 210px;
  width: 170px;
}

.player {
  position: relative;
  height: 288px;
}

.player .stats {
  position: absolute;
  top: 72px;
  right: 60px;
  width: 480px;
}

.player .pokemon {
  position: absolute;
  left: 150px;
  bottom: 15px;
  width: 340px;
  height: 340px;
  object-fit: contain;
  display: block;
}

.box {
  padding: 12px;
  background: #333;
  border: 6px solid #000;
  border-top: none;
  border-radius: 0 0 16px 16px;
  color: #fff;
  height: 180px;
  width: 1176px;
}

.box .message {
  position: relative;
  float: left;
  font-size: 42px;
  width: 50%;
  letter-spacing: 1px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: none;
}
.box .continue {
  position: absolute;
  margin-top: 30px;
  float: left;
  width: 25%;
  height: 100%;
}
.box .continue  button {
  position: relative;
  float: left;
  background: #666;
  border: 3px solid #888;
  border-radius: 4px;
  color: #fff;
  font-family: monospace;
  font-size: 20px;
  line-height: 14px;
  margin: 4px;
  padding: 16px;
  outline: none !important;
}
.box .continue button:hover {
  background: #777;
  border-color: #999;
}

.box .continue button:active {
  background: #555;
  border-color: #666;
}

.box .actions {
  position: relative;
  float: left;
  width: 50%;
  height: 100%;
}

.box .actions button {
  position: relative;
  float: left;
  background: #666;
  border: 4px solid #888;
  border-radius: 12px;
  color: #fff;
  font-family: 'Jersey 15', 'Courier New', monospace;
  font-size: 27px;
  line-height: 21px;
  margin: 6px;
  padding: 24px;
  width: calc(50% - 12px);
  height: calc(50% - 12px);
  outline: none !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: none;
}

.box .actions button:hover {
  background: #777;
  border-color: #999;
}

.box .actions button:active {
  background: #555;
  border-color: #666;
}
.stats {
  /* Matan */
  background: #333;
  border: 4px solid #000;
  border-radius: 12px;
  color: white;
  padding: 18px;
  position: relative;
}

.stats .hp-count:before {
  content: 'HP: '
}

.stats .hp-count {
  float: right;
}


.stats .name {
  letter-spacing: 1px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: none;
  font-size: 33px;
  margin-right: 8px;
}

.stats .level:before {
  content: "LVL"
}

.stats .level {
  font-size: 30px;
}

.stats .hp-counter {
  float: right;
  margin-left: 15px;
  letter-spacing: 1px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: none;
  font-size: 30px;
}

/* HP Bar Styling */
.hp-bar-container {
  position: relative;
  margin-top: 12px;
  height: 18px;
  background: #333;
  border: 3px solid #000;
  border-radius: 0;
}

.hp-bar {
  height: 100%;
  background: linear-gradient(to right, #00ff00, #00cc00);
  border-radius: 0;
  transition: width 0.3s ease;
  position: relative;
}

.hp-bar::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(
    90deg,
    transparent,
    transparent 2px,
    rgba(255, 255, 255, 0.1) 2px,
    rgba(255, 255, 255, 0.1) 4px
  );
}

.hp-bar.yellow {
  background: linear-gradient(to right, #ffff00, #cccc00);
}

.hp-bar.red {
  background: linear-gradient(to right, #ff0000, #cc0000);
}

/* Status Box Styling */
.status-container {
  margin-top: 8px;
  min-height: 25px;
}

.status-box {
  display: inline-block;
  padding: 4px 8px;
  margin: 2px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  color: white;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.status-sleep {
  background: linear-gradient(135deg, #4a90e2, #357abd);
  border: 1px solid #2d5aa0;
}

.status-paralysis {
  background: linear-gradient(135deg, #f39c12, #e67e22);
  border: 1px solid #d35400;
}

.status-poison {
  background: linear-gradient(135deg, #9b59b6, #8e44ad);
  border: 1px solid #7d3c98;
}

.status-confusion {
  background: linear-gradient(135deg, #e74c3c, #c0392b);
  border: 1px solid #a93226;
}

/* Status Effect Box Fade-in Animation */
.status-box {
  opacity: 0;
  transition: opacity 0.4s ease-out, filter 0.4s ease-out;
  filter: blur(10px);
}

.status-box.visible {
  opacity: 1 !important;
  filter: blur(0px) !important;
}

.status-box.fade-in {
  opacity: 0;
  filter: blur(10px);
}

.status-box.fade-in.visible {
  opacity: 1 !important;
  filter: blur(0px) !important;
}

/* Reset Button Styling */
.reset-button {
  position: absolute;
  top: 56%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #666;
  border: 6px solid #000;
  border-radius: 24px; /* Make corners round */
  color: #fff;
  font-family: 'Jersey 15', 'Courier New', monospace;
  font-size: 42px;
  padding: 30px 60px;
  cursor: pointer;
  text-transform: uppercase;
  outline: none;
  z-index: 1000;
  box-shadow: 6px 6px 0px #000;
  letter-spacing: 3px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: none;
}

.reset-button:hover {
  background: #777;
  border-color: #333;
}

.reset-button:active {
  background: #555;
  transform: translate(-50%, -50%) translate(2px, 2px);
  box-shadow: 2px 2px 0px #000;
}

/* Explosion Animation */
.explosion-animation {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2000;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}

.explosion-gif {
  width: 300px;
  height: 300px;
  object-fit: contain;
  animation: explosionEffect 2s ease-out forwards;
}

@keyframes explosionEffect {
  0% {
    transform: scale(0) rotate(0deg);
    opacity: 0;
  }
  50% {
    transform: scale(1.2) rotate(180deg);
    opacity: 1;
  }
  100% {
    transform: scale(1.5) rotate(360deg);
    opacity: 0;
  }
}

#squares-bg {
  position: fixed;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  border: none;
  display: block;
  pointer-events: none;
}
.game-container, .box, .game {
  position: relative;
  z-index: 1;
}

.actions-blocked {
  position: relative;
}
.actions-blocked .blocked-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: transparent;
  pointer-events: all;
}
.blocked-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: transparent;
  pointer-events: all;
}

.statmod-container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-left: 8px;
  min-width: 60px;
  min-height: 25px;
}

.statmod-box {
  display: inline-block;
  padding: 4px 10px;
  margin: 2px 0 2px 2px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: bold;
  text-transform: none;
  color: #fff;
  background: #888;
  border: 1px solid #444;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  text-align: right;
  letter-spacing: 1px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: none;
}

/* End of file // Matan */
