#settings {
  background-color: var(--background-color);

  .filepicker {
    display: grid;
    grid-template-areas: 'filepicker-label .' 'filepicker-path filepicker-input';
    justify-content: flex-start;
    align-items: center;
    gap: 0 0.5rem;
  }

  .filepicker-input {
    grid-area: filepicker-input;
  }

  .filepicker-label {
    grid-area: filepicker-label;
    margin-block: 1em;
  }

  .filepicker-path {
    grid-area: filepicker-path;
    word-break: break-word;
    user-select: text;
    background: var(--input-color);
    border: 0.0625rem solid var(--border-color);
    border-radius: 0.25rem;
    padding: 0.25rem 0.5rem;
  }

  .vstack,
  .hstack {
    display: flex;
    gap: 0.25rem;
  }

  .vstack {
    flex-direction: column;
  }

  .checkbox-set-container {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    align-content: flex-start;

    > * {
      flex-basis: 20%;
      padding-bottom: 0.5rem;
    }
  }
}

.key-combo-editor {
  display: flex;
  align-items: center;
  margin-left: 0.5rem;
}

.key-combo-input {
  width: 30ch;
}

.key-combo-input-warning {
  display: flex;
  padding: 0.25rem;
}

.tabs {
  display: flex;
  height: 100%;
}

[role='tablist'] {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  background-color: var(--background-color-alt);
  border: 0.0625rem solid var(--border-color);
  padding: 0.5rem 0;
  height: 100%;
}

[role='tab'] {
  background: inherit;
  border: none;
  color: var(--text-color);
  padding: 0.5rem 1.25rem;
  width: 100%;
  text-align: left;
  justify-content: flex-start;

  &[aria-selected='true'] {
    color: var(--text-color-strong);
    background-color: var(--hover-color);
  }

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

[role='tabpanel'] {
  flex-grow: 1;
  overflow: auto;
  padding: 0.5rem 2rem 0.5rem 1.25rem;
}

.info-icon {
  &:hover {
    cursor: help;
    color: var(--text-color-strong);
  }
}
