:root {
  /* CSS HSL */
  --pale-purple: hsla(322, 44%, 92%, 1);
  --pale-purple-2: hsla(311, 33%, 88%, 1);
  --mauve: hsla(290, 91%, 87%, 1);
  --wisteria: hsla(280, 53%, 75%, 1);
  --chinese-violet: hsla(266, 10%, 41%, 1);
  & * {
    box-sizing: border-box;
    margin: 0;
  }
}

body {
  font-family: sans-serif;
  font-size: 1.2rem;
  background-color: var(--pale-purple);
  display: flex;
  justify-content: center;
  align-items: center;
}

.main-container {
  width: 100%;
  max-width: 600px;
  height: calc(100vh - 4rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: var(--mauve);

  border-radius: 0.5rem;
  border: 1px solid var(--wisteria);

  padding: 1rem;
  margin: 2rem;

  @media (max-width: 600px) {
    margin: 0.5rem;
    height: calc(100vh - 1rem);
  }

  .messages {
    flex-grow: 1;
    list-style-type: none;
    margin-block-start: 0;
    margin-block-end: 0;

    width: 100%;
    display: flex;
    flex-direction: column-reverse;
    gap: 0.5rem;

    margin: 2rem 0;
    padding: 1rem;

    background-color: white;
    border-radius: 0.5rem;

    overflow-y: scroll;

    font-family: monospace;
    font-size: 1rem;

    &::-webkit-scrollbar-track {
      background-color: transparent; /* Optional: Change to a color if you want a background for the scrollbar */
    }

    &::-webkit-scrollbar-thumb {
      background-color: var(--wisteria);
      border-radius: 10px; /* Adjust for rounded corners */
    }

    &::-webkit-scrollbar {
      width: 5px; /* Slim scrollbar */
    }
  }

  .form {
    display: flex;
    width: 100%;

    background-color: white;
    border-radius: 0.5rem;

    padding: 0.5rem;
    padding-left: 1.5rem;

    & > input {
      flex-grow: 1;
      border: none;
      outline: none;
      background-color: transparent;
    }

    & .button {
      width: 2rem;
      height: 2rem;
      border-radius: 0.5rem;
      color: var(--wisteria);
      background-color: var(--mauve);

      border: none;
      box-shadow: 0 1px 20px 1px var(--wisteria);

      transition: all 0.2s ease-in-out;

      cursor: pointer;

      &:hover {
        background-color: var(--wisteria);
        box-shadow: 0 10px 20px 1px var(--wisteria);
        color: var(--mauve);
      }

      & > svg {
        width: 1.5rem;
        height: 1.5rem;
      }
    }
  }
}

h1 {
  color: var(--chinese-violet);
  margin-bottom: 1rem;
}

.login-container {
  width: 100%;
  max-width: 600px;

  padding: 1rem;

  background-color: var(--mauve);
  border-radius: 0.5rem;
  border: 1px solid var(--wisteria);

  @media (max-width: 600px) {
    margin: 0.5rem;
  }

  & h1 {
    margin-bottom: 2rem;
  }

  & p {
    margin-bottom: 1rem;
    color: var(--chinese-violet);
    font-style: italic;
  }

  .input-group {
    margin-bottom: 1rem;

    & label {
      font-weight: bold;
      text-transform: capitalize;
      font-size: 1.2rem;

      margin-bottom: 0.5rem;
    }

    & input {
      width: 100%;
      padding: 0.5rem;
      border-radius: 0.5rem;
      border-color: var(--wisteria);
      box-shadow: none;
      border-style: solid;
      border-width: 1px;
    }
  }

  & .button {
    background: transparent;
    border: none;
    outline: none;

    font-size: 1.2rem;
    font-weight: bold;
    text-transform: uppercase;

    cursor: pointer;
    color: black;

    transition: all 0.2s ease-in-out;

    &:hover {
      color: var(--wisteria);
    }
  }
}

input {
  font-family: monospace;
}
