@layer components {
  /*
   * Tokens
   */
  
  .tokens {
    margin: 0 auto;
    max-width: 37.5rem;
    width: fit-content;
  
    .token-answers,
    .tokens-pool {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
    }
  
    .tokens-pool {
      justify-content: center;
      margin-top: 0.75rem;
    }
  
    .tokens-btn,
    .tokens-selected,
    .tokens-empty {
      align-items: center;
      cursor: pointer;
      display: inline-flex;
      border: 1px solid transparent;
      border-radius: 2px;
      font-weight: 700;
      height: 2.25rem;
      justify-content: center;
      line-height: 1.125;
      margin: 0.125rem;
      text-align: center;
      text-decoration: none;
      width: 2.25rem;
      -webkit-appearance: none;
      -moz-appearance: none;
      transition: 0.2s ease;
  
      @media (max-width: 639.98px) {
        font-size: 0.938rem;
        height: 2rem;
        width: 2rem;
      }
  
      &:focus {
        outline: none;
      }
    }
  
    .tokens-words {
      .tokens-btn,
      .tokens-selected,
      .tokens-empty {
        min-width: 2.25rem;
        padding: 0 0.5rem;
        width: auto;
  
        @media (max-width: 639.98px) {
          min-width: 2rem;
        }
      }
    }
  
    .tokens-btn {
      background-color: var(--color-primary);
      box-shadow: 0px 1px 2px 0px rgb(var(--rgb-primary) / 0.32);
      color: var(--color-white);
  
      &:hover,
      &:focus {
        background-color: var(--color-primary-darker);
        box-shadow: 0px 1px 2px 0px rgb(var(--rgb-primary) / 0.48);
      }
    }
  
    .tokens-selected {
      border: 1px solid var(--color-primary);
      box-shadow: 0px 1px 2px 0px rgb(var(--rgb-primary) / 0.32);
      color: var(--color-primary);
      position: relative;
  
      &:hover,
      &:focus {
        box-shadow: 0px 1px 2px 0px rgb(var(--rgb-grey-200) / 0.48);
  
        /* Displays remove icon on hover */
        &:after {
          background-color: var(--color-white);
          color: var(--color-red);
          content: '\f057';
          font-family: 'Font Awesome 5 Pro';
          font-size: 0.75rem;
          font-weight: 600;
          line-height: 1;
          padding-left: 1px;
          position: absolute;
          right: -0.188rem;
          top: -0.188rem;
        }
      }
    }
  
    .tokens-empty {
      background-color: transparent;
      border: 1px solid var(--color-grey-200);
      cursor: auto;
    }
  }
}
