.px-input {
  --input-size: var(--px-medium-size);
  z-index: 0;
  position: relative;
  background-color: transparent;
  border-color: transparent;
  border-width: var(--px-bit);
  border-style: solid;
  color: var(--px-neutral-10);
  display: flex;
  box-sizing: border-box;
  height: var(--input-size);
  cursor: text;
  transition: 0.25s all;
  flex-grow: 1;
}
.px-input-inner {
  height: 100%;
  border: 0;
  background-color: transparent;
  box-sizing: border-box;
  width: 100%;
  line-height: 1.5;
  font-family: var(--px-font);
  padding: 0;
}
.px-input-inner:focus-visible {
  outline: none;
}
.px-input-inner:disabled {
  color: var(--px-neutral-10);
}
.px-input-inner::placeholder {
  color: var(--px-neutral-8);
  opacity: 1;
}
.px-input.px-input__small {
  padding-right: 8px;
  padding-left: 8px;
  font-size: 12px;
}
.px-input.px-input__small .px-input-inner {
  font-size: 12px;
}
.px-input.px-input__small.px-input__inner {
  padding-right: calc(8px + 1px + 1 * var(--px-bit));
}
.px-input.px-input__small.px-input__inner:last-child {
  padding-right: 8px;
}
.px-input.px-input__small .px-input-close-wrapper .px-input-icon-placeholder {
  width: 12px;
  height: 12px;
}
.px-input.px-input__small .px-input-close-wrapper .px-input-icon {
  width: 12px;
  height: 12px;
}
.px-input.px-input__small .px-input-password-wrapper .px-input-icon,
.px-input.px-input__small .px-input-loading-wrapper .px-input-icon {
  width: 12px;
  height: 12px;
}
.px-input.px-input__medium {
  padding-right: 8px;
  padding-left: 8px;
  font-size: 14px;
}
.px-input.px-input__medium .px-input-inner {
  font-size: 14px;
}
.px-input.px-input__medium.px-input__inner {
  padding-right: calc(8px + 1px + 1 * var(--px-bit));
}
.px-input.px-input__medium.px-input__inner:last-child {
  padding-right: 8px;
}
.px-input.px-input__medium .px-input-close-wrapper .px-input-icon-placeholder {
  width: 14px;
  height: 14px;
}
.px-input.px-input__medium .px-input-close-wrapper .px-input-icon {
  width: 14px;
  height: 14px;
}
.px-input.px-input__medium .px-input-password-wrapper .px-input-icon,
.px-input.px-input__medium .px-input-loading-wrapper .px-input-icon {
  width: 14px;
  height: 14px;
}
.px-input.px-input__large {
  padding-right: 12px;
  padding-left: 12px;
  font-size: 15px;
}
.px-input.px-input__large .px-input-inner {
  font-size: 15px;
}
.px-input.px-input__large.px-input__inner {
  padding-right: calc(12px + 1px + 1 * var(--px-bit));
}
.px-input.px-input__large.px-input__inner:last-child {
  padding-right: 12px;
}
.px-input.px-input__large .px-input-close-wrapper .px-input-icon-placeholder {
  width: 15px;
  height: 15px;
}
.px-input.px-input__large .px-input-close-wrapper .px-input-icon {
  width: 15px;
  height: 15px;
}
.px-input.px-input__large .px-input-password-wrapper .px-input-icon,
.px-input.px-input__large .px-input-loading-wrapper .px-input-icon {
  width: 15px;
  height: 15px;
}
.px-input__large {
  --input-size: var(--px-large-size);
}
.px-input__small {
  --input-size: var(--px-small-size);
}
.px-input__disabled {
  cursor: not-allowed;
}
.px-input__disabled .px-input-inner:disabled {
  cursor: not-allowed;
  color: var(--px-neutral-8);
}
.px-input-count-wrapper,
.px-input-prefix-wrapper,
.px-input-suffix-wrapper,
.px-input-loading-wrapper,
.px-input-close-wrapper,
.px-input-password-wrapper {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.px-input-prefix-wrapper {
  margin-right: 8px;
}
.px-input-count-wrapper,
.px-input-suffix-wrapper,
.px-input-loading-wrapper,
.px-input-close-wrapper,
.px-input-password-wrapper {
  margin-left: 8px;
}
.px-input-close-wrapper .px-input-icon {
  cursor: pointer;
  fill: var(--px-neutral-8);
  transition: 0.25s;
}
.px-input-close-wrapper .px-input-icon:hover {
  fill: var(--px-neutral-7);
}
.px-input-close-wrapper .px-input-icon:active {
  fill: var(--px-neutral-9);
}
.px-input-password-wrapper .px-input-icon {
  cursor: pointer;
  fill: var(--px-neutral-8);
  transition: 0.25s;
}
.px-input-password-wrapper .px-input-icon:hover {
  fill: var(--px-primary-6);
}
.px-input-password-wrapper .px-input-icon:active {
  fill: var(--px-neutral-9);
}
.px-input-loading-wrapper .px-input-icon {
  fill: var(--px-primary-6);
}
.px-input-prefix-wrapper,
.px-input-suffix-wrapper {
  color: var(--px-neutral-10);
}
.px-input-count-wrapper {
  color: var(--px-neutral-8);
}
.px-input-canvas {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  pointer-events: none;
}
