.tz-color-channel-slider-wrapper {
  height: var(--tz-color-channel-slider-track-height);
  position: relative;
  transform: translate3d(0, 0, 0);
  width: 100%;

  &::after {
    border-radius: var(--tz-color-channel-slider-track-height);
    box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.2);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 2;
  }
}

.tz-color-channel-slider-bg {
  height: 100%;
  width: 100%;
}

.tz-color-channel-slider-bg__alpha {
  --tz-square-color: var(--tz-color-base-gray-800);
  --tz-square-size: calc(0.625 * var(--tz-color-channel-slider-track-height));

  background-image:
    linear-gradient(to right, var(--left-color), var(--right-color)),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><rect fill='%23dad9d6' width='32' height='32'/><rect fill='%23dad9d6' x='32' y='32' width='32' height='32'/></svg>");
  background-repeat: no-repeat, repeat;
  background-size:
    100% 100%,
    var(--tz-square-size) var(--tz-square-size);
}

.tz-color-channel-slider-bg-wrapper {
  border-radius: var(--tz-radius-1000);
  display: flex;
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

.tz-color-channel-slider-overlay {
  --overlay-offset: calc(0.75 * var(--tz-color-channel-slider-track-height));

  background-color: color(srgb 0 0 0 / 0.5);
  display: flex;
  height: 100%;
  pointer-events: none;
  position: absolute;
  width: calc(var(--width) - var(--overlay-offset));
  z-index: 2;
}

.tz-color-channel-slider-overlay__min {
  left: 0;

  &::after {
    background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 256 512" xmlns="http://www.w3.org/2000/svg"><path d="m256 512c-141.4 0-256-114.6-256-256s114.6-256 256-256h-256v512z" fill="rgb(0, 0, 0, 0.5)"/></svg>');
    background-repeat: no-repeat;
    content: "";
    display: block;
    flex-shrink: 0;
    height: var(--tz-color-channel-slider-track-height);
    left: 100%;
    position: absolute;
    top: 0;
    width: calc(0.5 * var(--tz-color-channel-slider-track-height));
  }
}

.tz-color-channel-slider-overlay__max {
  right: 0;

  &::before {
    background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 256 512" xmlns="http://www.w3.org/2000/svg"><path d="m0 0c141.4 0 256 114.6 256 256s-114.6 256-256 256h256v-512z" fill="rgb(0, 0, 0, 0.5)"/></svg>');
    background-repeat: no-repeat;
    content: "";
    display: block;
    flex-shrink: 0;
    height: var(--tz-color-channel-slider-track-height);
    position: absolute;
    right: 100%;
    top: 0;
    width: calc(0.5 * var(--tz-color-channel-slider-track-height));
  }
}

.tz-color-picker {
  background-color: var(--tz-color-bg-1);
  color: var(--tz-text-primary);
  display: flex;
  flex-direction: column;
  gap: var(--tz-space-200);
}

.tz-color-picker-code {
  --copy-btn-width: 2rem;

  display: flex;
  padding: 0;
  position: relative;
}

.tz-color-picker-code-input {
  --tz-color-picker-input-bg: var(--tz-color-bg-1);
  --tz-color-picker-input-border: var(--tz-color-border-3);
  --tz-color-picker-input-text: var(--tz-color-text-1);

  background-color: var(--tz-color-picker-input-bg);
  border: 1px solid var(--tz-color-picker-input-border);
  border-radius: var(--tz-radius-300);
  color: var(--tz-color-picker-input);
  flex: 1 0 auto;
  font-family: var(--tz-font-mono);
  font-size: var(--tz-font-label-small-font-size);
  font-variant-ligatures: none;
  font-weight: var(--tz-font-label-small-font-weight);
  height: var(--tz-space-control-m);
  letter-spacing: 0;
  line-height: var(--tz-space-control-m);
  outline: none;
  padding: 0;
  text-indent: var(--tz-space-200);

  &:focus {
    --tz-color-picker-input-border: var(--tz-color-control-border-focus);
  }
}

.tz-color-picker-preview {
  border: 1px solid var(--tz-button-secondary-border);
  border-radius: var(--tz-radius-300);
  display: flex;
  flex-direction: column;
}

.tz-color-picker-sliders {
  display: flex;
  flex-direction: column;
  gap: var(--tz-space-200);
}

.tz-color-picker-swatch {
  background-image:
    linear-gradient(var(--current-color), var(--current-color)),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><rect fill='%23dad9d6' width='32' height='32'/><rect fill='%23dad9d6' x='32' y='32' width='32' height='32'/></svg>");
  background-repeat: no-repeat, repeat;
  background-size:
    100% 100%,
    10px;
  border-top-left-radius: var(--tz-radius-300);
  border-top-right-radius: var(--tz-radius-300);
  height: 6rem;
}

.tz-color-picker-tooltip-icon {
  color: var(--tz-color-base-gray-900);
}
