:root {
  --Purple-600: hsl(246, 80%, 60%);
  --Orange-300: hsl(15, 100%, 70%);
  --Blue-300: hsl(195, 74%, 62%);
  --Pink-400: hsl(348, 100%, 68%);
  --Green-400: hsl(145, 58%, 55%);
  --Purple-700: hsl(264, 64%, 52%);
  --Yellow-300: hsl(43, 84%, 65%);
  --Navy-950: hsl(226, 43%, 10%);
  --Navy-900: hsl(235, 46%, 20%);
  --Purple-500: hsl(235, 45%, 61%);
  --Navy-200: hsl(236, 100%, 87%);
}

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

html {
  font-size: 62.5%;
}

body {
  font-family: 'Rubik', sans-serif;
  background-color: var(--Navy-950);
  color: #fff;
  padding-top: 10rem;
}

.container {
  display: flex;
  align-items: center;
  justify-content: center;
}

main {
  display: grid;
  grid-template-columns: repeat(4, 25rem);
  gap: 3rem;
  justify-items: center;
}

.character {
  grid-row: 1 / 3;
  background-color: var(--Navy-900);
  border-radius: 1.5rem;
  width: 100%;
}

.character .profile {
  background-color: var(--Purple-600);
  border-radius: 1.5rem;
  height: 70%;
  padding: 3rem;
}

.character .profile img {
  width: 6rem;
  border: solid #fff 0.3rem;
  border-radius: 50%;
  margin-bottom: 4rem;
}

.character .profile span {
  display: block;
  color: var(--Navy-200);
  margin-bottom: 0.5rem;
  font-size: 1.3rem;
}

.character .profile .name {
  font-size: 4rem;
}

.character .options {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 3rem;
}

.character .options button {
  background-color: transparent;
  border: none;
  text-align: left;
  color: var(--Purple-500);
}

.character .options button.chosen {
  color: #fff;
}

.character .options button:hover {
  cursor: pointer;
}

.category {
  border-radius: 1.5rem;
  overflow: hidden;
  position: relative;
  width: 25rem;
  height: 22rem;
}

.category:hover {
  cursor: pointer;
}

.category:hover .info {
  background-color: var(--Purple-500);
}

.work {
  background-color: var(--Orange-300);
}
.play {
  background-color: var(--Blue-300);
}
.study {
  background-color: var(--Pink-400);
}
.exercise {
  background-color: var(--Green-400);
}
.social {
  background-color: var(--Purple-700);
}
.self-care {
  background-color: var(--Yellow-300);
}

.category > img {
  position: absolute;
  width: 7rem;
  right: 1rem;
  top: -0.3rem;
}

.category .info {
  background-color: var(--Navy-900);
  height: 80%;
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 1;
  padding: 3rem;
}

.category .info .head {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2rem;
}

.category .info .head h2 {
  font-weight: 400;
}

.category .info .head img {
  height: 0.5rem;
}

.category .info .body p:first-of-type {
  font-size: 4rem;
  font-weight: 300;
  margin-bottom: 1rem;
}

.category .info .body p:last-of-type {
  font-weight: 100;
  color: var(--Navy-200);
}

@media (max-width: 1150px) {
  body {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  main {
    grid-template-columns: repeat(3, 25rem);
  }
}
@media (max-width: 850px) {
  main {
    grid-template-columns: repeat(2, 25rem);
  }
}
@media (max-width: 580px) {
  main {
    grid-template-columns: repeat(1, 25rem);
  }

  .character {
    grid-row: auto;
  }

  .character .profile {
    padding: 2rem;
    height: auto;
    display: flex;
    align-items: center;
    gap: 2rem;
  }

  .character .profile img {
    margin-bottom: 0;
  }

  .character .profile span {
    margin-bottom: 0.5rem;
  }

  .character .profile .name {
    font-size: 1.5rem;
    font-weight: 100;
  }

  .character .options {
    flex-direction: row;
    justify-content: space-between;
  }

  .category {
    height: 15em;
  }

  .category .info {
    padding: 2rem;
  }

  .category .info .head {
    margin-bottom: 1rem;
  }

  .category .info .body {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .category .info .body p:first-of-type {
    font-size: 3rem;
    font-weight: 200;
  }
}
