:root {
    --hue: 200;
    --saturation: 50%;
    --foreground-color: hsl(var(--hue), var(--saturation), 75%);
    --background-color: hsl(var(--hue), var(--saturation), 20%);
  }

body {
    background-color: var(--background-color);
    margin: 0;
    color: var(--background-color);
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: Georgia, 'Times New Roman', Times, serif;
  }
  
  .container {
    background-color: var(--foreground-color);
    padding: 3rem;
    border-radius: 1rem;
    border: 2px solid var(--background-color);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  
  .form {
    display: grid;
    grid-template-columns: auto auto;
    row-gap: 1rem;
    column-gap: 3rem;
    justify-content: center;
    align-items: center;
  }
  
  .title {
    margin: 0;
    text-align: center;
  }
  
  label {
    font-weight: bold;
  }
  
  .character-amount-container {
    display: flex;
    align-items: center;
  }
  
  .number-input {
    width: 2rem;
  }
  
  .password-display {
    background-color: white;
    color: var(--background-color);
    padding: 1rem;
    border: 1px solid var(--background-color);;
    height: 2rem;
    width: 350px;
    display: flex;
    justify-content: center;
    align-items: center;
    word-break: break-all;
    border-radius: .5rem;
  }
  
  .btn {
    grid-column: span 2;
    background-color: var(--background-color);
    border: 2px solid var(--background-color);
    color: var(--foreground-color);
    padding: .5rem 1rem;
    font-weight: bold;
    cursor: pointer;
    border-radius: 1rem;
  }
  
  .btn:hover {
    background-color: var(--foreground-color);
    color: var(--background-color);
    
  }