@keyframes gradientMove {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

body {
  margin: 0;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: Courier, monospace;
  background: linear-gradient(-45deg, #1b1a1a, #4d3355, #2a2a58, #000);
  background-size: 400% 400%;
  animation: gradientMove 5s ease infinite;
}

.profile-card {
  width: 25em;
  height: 35em;
  perspective: 1000px;
}

.card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}

.profile-card.is-flipped .card-inner {
  transform: rotateY(180deg);
}

.card-front, .card-back {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  border-radius: 1rem;
  box-shadow: 0 0 20px rgba(0,0,0,.3);
  padding: 1rem;
  color: white;
}

.card-front {
  background: linear-gradient(0deg, rgb(231,95,62) 40%, #3640f5 100%);
  overflow-x: hidden;
}

.card-back {
  background: linear-gradient(0deg, #16213e 40%, #0f3460 100%);
  transform: rotateY(180deg);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.profile-card-header {
  text-align: center;
  margin-top: 1rem;
}

.profile-card-header h1 {
  margin: .5rem 0;
  color: rgb(240, 173, 50);
}

.profile-card-header p {
  margin: 0;
  color: black;
  font-family: 'Trebuchet MS', sans-serif;
}

.profile-card-button {
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 3rem;
  height: 3rem;
  border: none;
  border-radius: 50%;
  background: cyan;
  cursor: pointer;
  transition: .25s;
}
.profile-card-button:hover { 
  background: pink; 
}

.profile-card-img {
  display: block;
  width: 10em;
  height: auto;
  margin: 1rem auto;
  border: 5px solid lightcoral;
  border-radius: 50%;
  box-shadow: 0 0 5px rgba(0,0,0,.3);
}
