@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css");
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap');

@font-face {
  font-family: "ps2p";
  src: url("../res/ps2p.ttf");
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  user-select: none;
}

body {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background: rgb(2,10,21);
}

canvas {
  image-rendering: pixelated;
  margin-top: 70px;
}

#loadingScreen {
  font-family: "ps2p", "Sans-Serif";
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100vw;
  height: 100vh;
  background: #051120;
}

#loader {
  position: relative;
  width: 60vw;
  height: 45px;
  padding: 5px;
  border: 2px solid #08f;
}

#loadingBar {
  width: 0;
  height: 100%;
  background: #08f;
  transition: 0.1s;
}

#loadingText {
  color: #08f;
  margin-bottom: 10px;
  font-size: 5vw;
}

#loadingPercent {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  font-size: 3vw;
  color: #accaff;
}
#start {
  margin-top: 50px;
  color: #f04;
  animation: blink 1s linear infinite;
  display: none;
  font-size: 5vw;
}

@keyframes blink {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 100%;
  }
  100% {
    opacity: 0;
  }
}

#dev {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 10px;
  color: rgb(185,199,250);
  color: #679fe3;
  font-family: "Roboto Condensed";
}

.container {
  display: grid;
  place-items: center;
}
#replayBtn {
  width: 50px;
  height: 40px;
  border-radius: 5px;
  background: rgb(21,144,255);
  color: rgb(201,228,252);
  outline: none;
  border: none;
  position: absolute;
  top: calc(50% - (40px / 2));
  transition: 0.5s;
}
#replayBtn.hide {
  display: none;
}
#replayBtn:hover {
  background: rgb(5,125,231);
  color: rgb(110,174,230);
  user-select: none;
}
#wallCollisionToggleBtn {
  position: absolute;
  right: 10px;
  top: 5px;
  width: 20px;
  height: 20px;
  overflow: hidden;
  background: none;
  outline: none;
  border: none;
  border-radius: 50%;
  transition: 0.5s;
}
#wallCollisionToggleBtn img {
  width: 100%;
  height: 100%;
}
#wallCollisionToggleBtn:hover {
  width: 30px;
  height: 30px;
}
#wallCollisionToggleBtn.hide {
  display: none;
}

#msg {
  position: absolute;
  bottom: 10px;
  pointer-events: none;
  background: #021124;
  color: #0a6ce8;
  border: 1px solid #031b39;
  border-radius: 5px;
  padding: 10px;
  transition: 0.5s;
  display: none;
  font-family: "Roboto Condensed";
}
#msg.hide {
  display: block;
  animation: msgHide 0.3s;
  animation-fill-mode: forwards;
}
#msg.show {
  animation: msgShow 0.3s;
  animation-fill-mode: forwards;
  display: block;
}

@keyframes msgHide {
  100% {
    opacity: 0;
    display: none!important;
    transform: translateY(0px) scale(0.8);
  }
}
@keyframes msgShow {
  0% {
    opacity: 0;
    transform: translateY(40px) scale(1.2);
  }
  100% {
    opacity: 1;
    display: block!important;
    transform: translateY(0) scale(1);
  }
}

#pauseResumeBtn {
  position: absolute;
  left: 10px;
  bottom: 10px;
  width: 20px;
  height: 20px;
  border-radius: 5px;
  background: #031122;
  border: none;
  outline: none;
  color: #2a5993;
  transition: 0.5s;
}
#pauseResumeBtn.hide {
  display: none;
}
#pauseResumeBtn:hover {
  color: #3a78c5;
}