*,
*::before,
*::after {
  box-sizing: border-box;
  /* prevent highlight text in game */
  user-select: none;
}

html, body {
  overscroll-behavior: none; /* prevents pull-to-refresh and overscroll bounce */
  touch-action: manipulation; /* improves touch responsiveness */
  -webkit-tap-highlight-color: transparent; /* removes tap highlight on iOS */
}

body {
  font-family: "Courier New", Courier, monospace;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}

.world {
  overflow: hidden;
  position: relative;
}

.score {
  position: absolute;
  font-size: 4vmin;
  right: 5vmin;
  top: 1vmin;
}

.start-screen {
  position: absolute;
  font-size: 4vmin;
  top: 50%;
  left: 50%;
  width: 75vw;
  /* centers on screen */
  transform: translate(-50%, -50%);
}

p {
  text-align: center;
}

.hide {
  display: none;
}

.ground {
  --left: 0;
  position: absolute;
  width: 300%;
  bottom: 0;
  left: calc(var(--left) * 1%);
}

.player {
  --bottom: 0;
  position: absolute;
  left: 1%;
  height: 28%;
  bottom: calc(var(--bottom) * 1%);
}

.hurdle {
  position: absolute;
  left: calc(var(--left) * 1%);
  height: 28%;
  bottom: 0;
}
