:root {
  --page-width: 1000px;
}

.page-width {
  max-width: var(--page-width);
  margin-left: auto;
  margin-right: auto;
}

main {
  position: relative;

  display: flex;
  flex-direction: column;

  width: 100%;
  min-height: calc(100vh - 50px);
  padding: 0;
  margin: 0;

  color: var(--gray-900);
  background-color: white;

  > section {
    position: relative;

    display: flex;
    flex-direction: column;
    flex-wrap: wrap;

    width: 100%;
    margin-left: 0;
    margin-right: 0;

    > article {
      position: relative;

      display: flex;
      flex-direction: column;
      flex-wrap: wrap;

      width: calc(100% - 40px);
      max-width: var(--page-width);
      padding: 0 20px;
      margin: 0 auto;

      div {
        position: relative;
        display: flex;
        flex-wrap: wrap;
      }
    }
  }

  a {
    text-decoration: none;
    color: var(--gray-900);
    font-weight: 700;

    &:hover {
      color: var(--purple-600);
      text-decoration: underline;
      text-underline-offset: 0.1rem;
      text-decoration-thickness: 1px;
    }
  }

  p,
  pp {
    position: relative;

    width: 100%;
    padding: 0;
    margin: 0 0 0.5rem 0;
  }

  ul,
  ol {
    position: relative;

    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;

    width: calc(100% - 2rem);
    padding: 0 0 0 2rem;
    margin: 0;

    > li {
      position: relative;
      width: calc(100% - 2rem);
      padding: 0;
      margin: 0 0 0.5rem 0;
    }

    > li::marker {
      font-family: var(--font-family-mono);
      font-size: 0.9rem;
      font-weight: bold;
    }
  }
}
