.stp {
  overflow: hidden;

  li {
    &:nth-of-type(4) {
      display: none;
    }
    &:last-of-type {
      margin-bottom: 2.5rem;
    }
  }
}

.map {
  dl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2rem;
    dt {
      font-size: 0.875rem;
      margin-bottom: 0.25rem;
    }
    button {
      background: var(--blue-600);
      padding: 0.5rem 1rem;
      font-weight: bold;
      color: var(--light-50);
      border-radius: 0.25rem;
      box-shadow: 0 0.2rem 0.2rem -0.1rem rgb(0 0 0 / 0.4);
    }
  }
}

.axis {
  position: relative;
  background: var(--light-50);
  border: 1px solid var(--dark-950);
  border-radius: 0.25rem;
  height: 16rem;
  margin-inline: 1.5rem;

  &::before,
  &::after {
    content: '';
    position: absolute;
    background: var(--dark-950);
  }
  &::before {
    width: 100%;
    height: 2px;
    top: 50%;
    left: 0;
    translate: 0 -50%;
  }
  &::after {
    width: 2px;
    height: 100%;
    top: 0;
    left: 50%;
    translate: -50%;
  }

  > input {
    position: absolute;
    border: 1px solid var(--dark-950);
    border-radius: 0.25rem;
    padding: 0.25rem;
    font-size: 0.75rem;

    &:nth-of-type(odd) {
      left: 50%;
      translate: -50%;
    }
    &:nth-of-type(even) {
      top: 50%;
      translate: 0 -50%;
    }

    &:nth-of-type(1) {
      top: -1.5rem;
    }
    &:nth-of-type(2) {
      right: -5.3rem;
      rotate: 90deg;
    }
    &:nth-of-type(3) {
      bottom: -1.5rem;
    }
    &:nth-of-type(4) {
      left: -5.3rem;
      rotate: 270deg;
    }
  }
}

.items {
  > div {
    position: relative;
    z-index: 1;
    padding-left: 1rem;
    background: var(--blue-600);
    cursor: pointer;
    border-radius: 0.25rem;

    &::before {
      content: '';
      position: absolute;
      width: 0.5rem;
      height: 0.5rem;
      background: var(--light-50);
      border-radius: 50%;
      top: 50%;
      left: 0.25rem;
      translate: 0 -50%;
    }

    input {
      font-size: 0.75rem;
      padding: 0.25rem;
      background: transparent;
      color: var(--light-50);
      cursor: default;
      border-left: 1px solid var(--blue-50);
    }

    button {
      background: #dc1818;
      color: var(--light-50);
      font-weight: bold;
      font-size: 0.75rem;
      display: grid;
      place-content: center;
      width: 1rem;
      height: 1rem;
      border-radius: 50%;
      position: absolute;
      top: 50%;
      right: -1.25rem;
      translate: 0 -50%;
    }
  }
}

@media (min-width: 744px) {
  .stp {
    li:last-of-type {
      margin-top: 2rem;
    }
  }

  .axis {
    height: 24rem;
  }
}

@media (min-width: 1280px) {
  .axis {
    height: 28rem;
  }
}
