/* #ifdef harmony */
/* #endif */
/* #ifndef harmony */
/* #endif */
.nut-range-container {
  display: flex;
  flex-direction: row;
  position: relative;
  width: 100%;
  height: var(--nutui-range-height, 2px);
  align-items: center;
  justify-content: space-between;
}
.nut-range-container-native {
  height: auto;
}

.nut-range {
  display: block;
  position: relative;
  height: var(--nutui-range-height, 2px);
  margin: 0 var(--nutui-range-margin, 15px);
  background-color: var(--nutui-range-inactive-color, var(--nutui-color-default));
  border-radius: scale-px(2px);
  flex: 1;
  cursor: pointer;
}
.nut-range::before {
  position: absolute;
  inset-block: scale-px(-8px);
  inset-inline: 0;
  content: "";
}
.nut-range-min, .nut-range-max {
  font-size: var(--nutui-font-text-small);
  color: var(--nutui-range-color, var(--nutui-color-title));
  user-select: none;
}
.nut-range-bar {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  background: var(--nutui-range-active-color, var(--nutui-color-primary, #ff6666));
  border-radius: scale-px(2px);
}
.nut-range-bar-animate {
  transition: all 0.2s;
}
.nut-range-button {
  position: absolute;
  display: flex;
  width: var(--nutui-range-button-width, 24px);
  height: var(--nutui-range-button-height, 24px);
  background: var(--nutui-range-button-background, var(--nutui-color-text-dark));
  border-radius: 50%;
  box-shadow: 0 scale-px(1px) scale-px(2px) 0 rgba(0, 0, 0, 0.15);
  border: var(--nutui-range-button-border, none);
  outline: none;
  align-items: center;
  top: 50%;
  left: 50%;
}
.nut-range-button-wrapper, .nut-range-button-wrapper-right, .nut-range-button-wrapper-left {
  width: var(--nutui-range-button-width, 24px);
  height: var(--nutui-range-button-height, 24px);
}
.nut-range-button-wrapper, .nut-range-button-wrapper-right {
  touch-action: none;
  position: absolute;
  top: 50%;
  left: 100%;
  cursor: grab;
  outline: none;
}
.nut-range-button-wrapper-left {
  position: absolute;
  top: 50%;
  left: 0;
  cursor: grab;
  outline: none;
  touch-action: none;
}
.nut-range-button-number {
  position: relative;
  width: 200%;
  height: scale-px(24px);
  line-height: scale-px(14px);
  padding: scale-px(5px) 0;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  font-size: var(--nutui-font-text-small);
  color: var(--nutui-range-color, var(--nutui-color-title));
  text-align: center;
  vertical-align: center;
  box-sizing: border-box;
}
.nut-range-disabled {
  cursor: not-allowed;
  opacity: 0.54;
}
.nut-range-disabled .nut-range-button-wrapper,
.nut-range-disabled .nut-range-button-wrapper-left,
.nut-range-disabled .nut-range-button-wrapper-right {
  cursor: not-allowed;
}
.nut-range-mark {
  position: absolute;
  width: 100%;
  height: scale-px(14px);
  overflow: visible;
  top: 50%;
}
.nut-range-mark-text-wrapper {
  position: absolute;
  height: 100%;
  top: scale-px(14px);
  display: inline-block;
  transform: translateX(scale-px(-10px));
}
.nut-range-mark-text {
  position: absolute;
  line-height: scale-px(16px);
  font-size: var(--nutui-font-text-small);
  color: #999;
  text-align: center;
  word-break: keep-all;
  user-select: none;
}
.nut-range-tick {
  position: absolute;
  top: scale-px(-20px);
  width: scale-px(11px);
  height: scale-px(11px);
  left: 0;
  border-radius: scale-px(6px);
  background: var(--nutui-range-inactive-color, var(--nutui-color-default));
}
.nut-range-tick-active {
  background: var(--nutui-range-active-color, var(--nutui-color-primary, #ff6666));
}

.nut-range-vertical-container {
  height: 100%;
  flex-direction: column;
  padding: 0 scale-px(15px);
}

.nut-range-vertical {
  width: var(--nutui-range-height, 2px);
  margin: var(--nutui-range-margin, 15px) 0;
}
.nut-range-vertical-button-wrapper, .nut-range-vertical-button-wrapper-right {
  position: absolute;
  /* #ifndef dynamic*/
  top: initial;
  right: initial;
  /* #endif */
  top: 100%;
  left: 50%;
}
.nut-range-vertical-button-wrapper-left {
  top: 0;
  left: 50%;
  /* #ifndef dynamic*/
  right: initial;
  /* #endif */
}
.nut-range-vertical-button-number {
  left: 0;
  top: 50%;
}
.nut-range-vertical-mark {
  position: absolute;
  width: scale-px(36px);
  height: 100%;
  top: 0;
  right: 50%;
  overflow: visible;
  font-size: var(--nutui-font-text-small);
  padding: 0;
}
.nut-range-vertical-mark-hm {
  left: scale-px(-34px);
}
.nut-range-vertical-mark-text-wrapper {
  height: scale-px(16px);
  position: absolute;
  display: inline-block;
  user-select: none;
  transform: translateY(scale-px(-11px));
}
.nut-range-vertical-mark-text {
  height: 100%;
  line-height: scale-px(16px);
  color: #999;
  text-align: center;
  word-break: keep-all;
}
.nut-range-vertical-tick {
  position: absolute;
  top: scale-px(2px);
  left: scale-px(31px);
  width: scale-px(10px);
  height: scale-px(10px);
  border-radius: scale-px(5px);
  background: var(--nutui-range-inactive-color, var(--nutui-color-default));
}
.nut-range-vertical-tick-active {
  background: var(--nutui-range-active-color, var(--nutui-color-primary, #ff6666));
}

[dir=rtl] .nut-range-button-wrapper, [dir=rtl] .nut-range-button-wrapper-right,
.rtl-nut-range-button-wrapper,
.rtl-nut-range-button-wrapper-right {
  left: 0;
  /* #ifndef dynamic*/
  right: initial;
  /* #endif */
}
[dir=rtl] .nut-range-button-wrapper-left,
.rtl-nut-range-button-wrapper-left {
  right: 0;
  /* #ifndef dynamic*/
  left: initial;
  /* #endif */
}
[dir=rtl] .nut-range-tick,
.rtl-nut-range-tick {
  right: 0;
  /* #ifndef dynamic*/
  left: initial;
  /* #endif */
}
[dir=rtl] .nut-range-mark-text,
.rtl-nut-range-mark-text {
  transform: translateX(scale-px(10px));
}
[dir=rtl] .nut-range-vertical-button-wrapper, [dir=rtl] .nut-range-vertical-button-wrapper-right,
.rtl-nut-range-vertical-button-wrapper,
.rtl-nut-range-vertical-button-wrapper-right {
  right: 50%;
  /* #ifndef dynamic*/
  left: initial;
  /* #endif */
}
[dir=rtl] .nut-range-vertical-button-wrapper-left,
.rtl-nut-range-vertical-button-wrapper-left {
  right: 50%;
  /* #ifndef dynamic*/
  left: initial;
  /* #endif */
}
[dir=rtl] .nut-range-vertical-mark,
.rtl-nut-range-vertical-mark {
  right: auto;
  left: 50%;
}
[dir=rtl] .nut-range-vertical-tick,
.rtl-nut-range-vertical-tick {
  left: auto;
  right: scale-px(30px);
  margin-left: 0;
  margin-right: 0;
}
[dir=rtl] .nut-range-vertical-mark-text-wrapper,
.rtl-nut-range-vertical-mark-text-wrapper {
  transform: translateY(scale-px(-11px));
}