.root {
  background-color: var(--theme-button);
  color: var(--theme-button-text);
  box-sizing: border-box;
  flex-shrink: 0;
  border-radius: 8px;
  outline: 0;
  border: 0;
  min-height: 48px;
  padding: 4px 24px 4px 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--type-scale-fixed-small);
  letter-spacing: 0.2px;
  font-weight: 600;
  overflow-wrap: break-word;
  user-select: none;
  cursor: pointer;
  box-shadow: var(--theme-button-shadow);
  transition: 200ms ease all;
  transform: scale(1);
  text-decoration: none;

  &:visited {
    color: var(--theme-button-text);
  }

  &:hover {
    box-shadow: var(--theme-button-shadow-hover);
  }
}

.loader {
  color: var(--theme-text);
  box-shadow: 0 0 0 1px var(--theme-border);
  flex-shrink: 0;
  border-radius: 8px;
  outline: 0;
  border: 0;
  min-height: 48px;
  padding: 4px 24px 4px 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  cursor: wait;
  transition: 200ms ease all;
  transform: scale(1);
  text-decoration: none;
}

.visual {
  color: var(--theme-text);
  box-shadow: 0 0 0 1px var(--theme-border);
  background: var(--theme-border-subdued);
  opacity: 0.5;
  filter: blur(0.4px);
  flex-shrink: 0;
  border-radius: 8px;
  outline: 0;
  border: 0;
  min-height: 48px;
  font-size: var(--type-scale-fixed-small);
  letter-spacing: 0.2px;
  font-weight: 600;
  padding: 4px 24px 4px 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  cursor: not-allowed;
  transition: 200ms ease all;
  transform: scale(1);
  text-decoration: none;
}
