:root,
page {
  --nut-scale-f: 1;
  --nut-scale-font: var(--nut-scale-f, 1);
  --nut-scale-icon: var(--nut-scale-f, 1);
  --nut-icon-height: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important;
  --nut-icon-width: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important;
  --nut-icon-line-height: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important;
}

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

.nut-range {
  display: block;
  position: relative;
  height: var(--nutui-range-height, calc(4px * var(--nut-scale-f, 1)));
  margin: 0 var(--nutui-range-margin, calc(15px * var(--nut-scale-f, 1)));
  background-color: var(--nutui-range-inactive-color, var(--nutui-color-primary-light-pressed, #ffebf1));
  border-radius: calc(2px * var(--nut-scale-f, 1));
  flex: 1;
  cursor: pointer;
}
.nut-range::before {
  position: absolute;
  inset-block: calc(-8px * var(--nut-scale-f, 1));
  inset-inline: 0;
  content: "";
}
.nut-range-min, .nut-range-max {
  font-size: var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1))));
  color: var(--nutui-range-color, var(--nutui-color-title, #1a1a1a));
  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, #ff0f23));
  border-radius: calc(2px * var(--nut-scale-f, 1));
}
.nut-range-bar-animate {
  transition: all 0.2s;
}
.nut-range-button {
  position: absolute;
  display: flex;
  width: var(--nutui-range-button-width, calc(24px * var(--nut-scale-f, 1)));
  height: var(--nutui-range-button-height, calc(24px * var(--nut-scale-f, 1)));
  background: var(--nutui-range-button-background, #ffffff);
  border-radius: 50%;
  box-shadow: 0 calc(1px * var(--nut-scale-f, 1)) calc(2px * var(--nut-scale-f, 1)) 0 rgba(0, 0, 0, 0.15);
  border: var(--nutui-range-button-border, calc(1px * var(--nut-scale-f, 1)) solid var(--nutui-color-primary, #ff0f23));
  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, calc(24px * var(--nut-scale-f, 1)));
  height: var(--nutui-range-button-height, calc(24px * var(--nut-scale-f, 1)));
}
.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: calc(24px * var(--nut-scale-f, 1));
  line-height: calc(14px * var(--nut-scale-f, 1));
  padding: calc(5px * var(--nut-scale-f, 1)) 0;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  font-size: var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1))));
  color: var(--nutui-range-color, var(--nutui-color-title, #1a1a1a));
  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: calc(14px * var(--nut-scale-f, 1));
  overflow: visible;
  top: 50%;
}
.nut-range-mark-text-wrapper {
  position: absolute;
  height: 100%;
  top: calc(14px * var(--nut-scale-f, 1));
  display: inline-block;
  transform: translateX(calc(-10px * var(--nut-scale-f, 1)));
}
.nut-range-mark-text {
  position: absolute;
  line-height: calc(16px * var(--nut-scale-f, 1));
  font-size: var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1))));
  color: #999;
  text-align: center;
  word-break: keep-all;
  user-select: none;
}
.nut-range-tick {
  position: absolute;
  top: calc(-20px * var(--nut-scale-f, 1));
  width: calc(11px * var(--nut-scale-f, 1));
  height: calc(11px * var(--nut-scale-f, 1));
  left: 0;
  border-radius: calc(6px * var(--nut-scale-f, 1));
  background: var(--nutui-range-inactive-color, var(--nutui-color-primary-light-pressed, #ffebf1));
}
.nut-range-tick-active {
  background: var(--nutui-range-active-color, var(--nutui-color-primary, #ff0f23));
}

.nut-range-vertical-container {
  height: 100%;
  flex-direction: column;
  padding: 0 calc(15px * var(--nut-scale-f, 1));
}

.nut-range-vertical {
  width: var(--nutui-range-height, calc(4px * var(--nut-scale-f, 1)));
  margin: var(--nutui-range-margin, calc(15px * var(--nut-scale-f, 1))) 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: calc(36px * var(--nut-scale-f, 1));
  height: 100%;
  top: 0;
  right: 50%;
  overflow: visible;
  font-size: var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1))));
  padding: 0;
}
.nut-range-vertical-mark-hm {
  left: calc(-34px * var(--nut-scale-f, 1));
}
.nut-range-vertical-mark-text-wrapper {
  height: calc(16px * var(--nut-scale-f, 1));
  position: absolute;
  display: inline-block;
  user-select: none;
  transform: translateY(calc(-11px * var(--nut-scale-f, 1)));
}
.nut-range-vertical-mark-text {
  height: 100%;
  line-height: calc(16px * var(--nut-scale-f, 1));
  color: #999;
  text-align: center;
  word-break: keep-all;
}
.nut-range-vertical-tick {
  position: absolute;
  top: calc(2px * var(--nut-scale-f, 1));
  left: calc(31px * var(--nut-scale-f, 1));
  width: calc(10px * var(--nut-scale-f, 1));
  height: calc(10px * var(--nut-scale-f, 1));
  border-radius: calc(5px * var(--nut-scale-f, 1));
  background: var(--nutui-range-inactive-color, var(--nutui-color-primary-light-pressed, #ffebf1));
}
.nut-range-vertical-tick-active {
  background: var(--nutui-range-active-color, var(--nutui-color-primary, #ff0f23));
}

[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(calc(10px * var(--nut-scale-f, 1)));
}
[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: calc(30px * var(--nut-scale-f, 1));
  margin-left: 0;
  margin-right: 0;
}
[dir=rtl] .nut-range-vertical-mark-text-wrapper,
.rtl-nut-range-vertical-mark-text-wrapper {
  transform: translateY(calc(-11px * var(--nut-scale-f, 1)));
}