.swatch {
  --size: 18px;

  height: var(--size);
  min-height: unset;
  min-width: unset;
  padding: 0;
  width: var(--size);
  background-color: var(--palette-color, transparent);
  border-radius: 0.25rem;
  border: 1px solid var(--border-color, transparent);
  color: var(--contrast-color, black);
  display: inline-block;
  font-family: monospace;
  text-align: center;
  flex-shrink: 0;

  &.no-color {
    background-image: repeating-linear-gradient(
      -45deg,
      #ddd,
      #ddd 5px,
      #eee 5px,
      #eee 10px
    );
    background-size: cover;
  }

  &.transparent {
    background-color: inherit;
  }

  &.with-text {
    height: auto;
    min-height: 15px;
    min-width: 80px;
    padding: 0.2rem 0.5rem;
    width: auto;
  }

  & input {
    display: none;
  }
}

fieldset.palette-colors {
  & div {
    display: flex;
    flex-wrap: wrap;
    margin-top: 0.5rem;
    width: 100%;
  }

  & span {
    border-radius: 5px;
    display: flex;
    padding: 5px;
  }

  & span:has(input:checked) {
    background-color: var(--medium-blue);
  }

  & label {
    cursor: pointer;
    margin: 0;
  }
}
