@layer seed-components {
  .seed-input-button__root {
    box-sizing: border-box;
    isolation: isolate;
    align-items: center;
    width: 100%;
    display: flex;
    position: relative;
  }

  .seed-input-button__button {
    z-index: -1;
    cursor: pointer;
    background-color: var(--seed-color-bg-transparent);
    box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-weak);
    transition: background-color var(--seed-duration-color-transition) var(--seed-timing-function-easing), outline-color var(--seed-duration-d3) var(--seed-timing-function-easing);
    border: none;
    padding: 0;
    position: absolute;
    inset: 0;
  }

  .seed-input-button__button:after {
    content: "";
    border-radius: inherit;
    transition: border-color .1s var(--seed-timing-function-easing);
    pointer-events: none;
    border: 2px solid #0000;
    position: absolute;
    inset: 0;
  }

  .seed-input-button__button[data-disabled] {
    cursor: not-allowed;
    background-color: var(--seed-color-bg-disabled);
  }

  @media (hover: hover) and (pointer: fine) {
    .seed-input-button__button:not([data-disabled]):not([data-readonly]):is(:hover, [data-hover]) {
      background-color: var(--seed-color-bg-transparent-pressed);
    }
  }

  @media not all and (hover: hover) and (pointer: fine) {
    .seed-input-button__button:not([data-disabled]):not([data-readonly]):is(:active, [data-active]) {
      background-color: var(--seed-color-bg-transparent-pressed);
    }
  }

  .seed-input-button__button[data-readonly]:not([data-disabled]) {
    cursor: default;
    background-color: var(--seed-color-bg-disabled);
  }

  .seed-input-button__button {
    outline: var(--seed-dimension-x0_5) solid transparent;
    outline-offset: var(--seed-dimension-x0_5);
  }

  .seed-input-button__button:is(:focus-visible, [data-focus-visible]) {
    outline: var(--seed-dimension-x0_5) solid var(--seed-color-stroke-focus-ring);
    outline-offset: var(--seed-dimension-x0_5);
  }

  .seed-input-button__button:is(:invalid, [data-invalid]):after {
    border-width: 2px;
    border-color: var(--seed-color-stroke-critical-solid);
  }

  .seed-input-button__value {
    font-weight: var(--seed-font-weight-regular);
    color: var(--seed-color-fg-neutral);
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    flex-grow: 1;
    overflow: hidden;
  }

  .seed-input-button__value[data-disabled] {
    color: var(--seed-color-fg-disabled);
  }

  .seed-input-button__value[data-readonly]:not([data-disabled]) {
    color: var(--seed-color-fg-neutral);
  }

  .seed-input-button__placeholder {
    font-weight: var(--seed-font-weight-regular);
    color: var(--seed-color-fg-placeholder);
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    flex-grow: 1;
    overflow: hidden;
  }

  .seed-input-button__placeholder[data-disabled] {
    color: var(--seed-color-fg-disabled);
  }

  .seed-input-button__placeholder[data-readonly]:not([data-disabled]) {
    color: var(--seed-color-fg-placeholder);
  }

  .seed-input-button__prefixText {
    font-weight: var(--seed-font-weight-regular);
    color: var(--seed-color-fg-neutral-subtle);
    pointer-events: none;
  }

  .seed-input-button__prefixText[data-disabled] {
    color: var(--seed-color-fg-disabled);
  }

  .seed-input-button__prefixIcon {
    color: var(--seed-color-fg-neutral-muted);
    pointer-events: none;
    flex-shrink: 0;
  }

  .seed-input-button__prefixIcon[data-disabled] {
    color: var(--seed-color-fg-disabled);
  }

  .seed-input-button__suffixText {
    font-weight: var(--seed-font-weight-regular);
    color: var(--seed-color-fg-neutral-subtle);
    pointer-events: none;
  }

  .seed-input-button__suffixText[data-disabled] {
    color: var(--seed-color-fg-disabled);
  }

  .seed-input-button__suffixIcon {
    color: var(--seed-color-fg-neutral-muted);
    pointer-events: none;
    flex-shrink: 0;
  }

  .seed-input-button__suffixIcon[data-disabled] {
    color: var(--seed-color-fg-disabled);
  }

  .seed-input-button__clearButton {
    cursor: pointer;
    border-radius: var(--seed-radius-full);
    transition: outline-color var(--seed-duration-d3) var(--seed-timing-function-easing);
    outline: var(--seed-dimension-x0_5) solid transparent;
    outline-offset: var(--seed-dimension-x0_5);
    background-color: #0000;
    border: none;
    padding: 0;
  }

  .seed-input-button__clearButton:is(:focus-visible, [data-focus-visible]) {
    outline: var(--seed-dimension-x0_5) solid var(--seed-color-stroke-focus-ring);
    outline-offset: var(--seed-dimension-x0_5);
  }

  .seed-input-button__clearButton {
    --seed-icon-color: var(--seed-color-fg-neutral-subtle);
  }

  .seed-input-button__root--size_large {
    height: var(--seed-dimension-x13);
    gap: var(--seed-dimension-x2_5);
    padding-left: var(--seed-dimension-x4);
    padding-right: var(--seed-dimension-x4);
  }

  .seed-input-button__button--size_large {
    border-radius: var(--seed-radius-r3);
  }

  .seed-input-button__value--size_large, .seed-input-button__placeholder--size_large, .seed-input-button__prefixText--size_large {
    font-size: var(--seed-font-size-t5);
    line-height: var(--seed-line-height-t5);
  }

  .seed-input-button__prefixIcon--size_large {
    width: var(--seed-dimension-x5);
    height: var(--seed-dimension-x5);
  }

  .seed-input-button__suffixText--size_large {
    font-size: var(--seed-font-size-t5);
    line-height: var(--seed-line-height-t5);
  }

  .seed-input-button__suffixIcon--size_large {
    width: var(--seed-dimension-x5);
    height: var(--seed-dimension-x5);
  }

  .seed-input-button__clearButton--size_large {
    --seed-icon-size: 22px;
  }

  .seed-input-button__root--size_medium {
    height: var(--seed-dimension-x10);
    gap: var(--seed-dimension-x2);
    padding-left: var(--seed-dimension-x3_5);
    padding-right: var(--seed-dimension-x3_5);
  }

  .seed-input-button__button--size_medium {
    border-radius: var(--seed-radius-r2);
  }

  .seed-input-button__value--size_medium, .seed-input-button__placeholder--size_medium, .seed-input-button__prefixText--size_medium {
    font-size: var(--seed-font-size-t4);
    line-height: var(--seed-line-height-t4);
  }

  .seed-input-button__prefixIcon--size_medium {
    width: var(--seed-dimension-x4);
    height: var(--seed-dimension-x4);
  }

  .seed-input-button__suffixText--size_medium {
    font-size: var(--seed-font-size-t4);
    line-height: var(--seed-line-height-t4);
  }

  .seed-input-button__suffixIcon--size_medium {
    width: var(--seed-dimension-x4);
    height: var(--seed-dimension-x4);
  }

  .seed-input-button__clearButton--size_medium {
    --seed-icon-size: var(--seed-dimension-x4_5);
  }

  .seed-input-button__root--size_responsive {
    height: var(--seed-dimension-x13);
    gap: var(--seed-dimension-x2_5);
    padding-left: var(--seed-dimension-x4);
    padding-right: var(--seed-dimension-x4);
  }

  @media (width >= 1280px) {
    .seed-input-button__root--size_responsive {
      height: var(--seed-dimension-x10);
      gap: var(--seed-dimension-x2);
      padding-left: var(--seed-dimension-x3_5);
      padding-right: var(--seed-dimension-x3_5);
    }
  }

  .seed-input-button__button--size_responsive {
    border-radius: var(--seed-radius-r3);
  }

  @media (width >= 1280px) {
    .seed-input-button__button--size_responsive {
      border-radius: var(--seed-radius-r2);
    }
  }

  .seed-input-button__value--size_responsive {
    font-size: var(--seed-font-size-t5);
    line-height: var(--seed-line-height-t5);
  }

  @media (width >= 1280px) {
    .seed-input-button__value--size_responsive {
      font-size: var(--seed-font-size-t4);
      line-height: var(--seed-line-height-t4);
    }
  }

  .seed-input-button__placeholder--size_responsive {
    font-size: var(--seed-font-size-t5);
    line-height: var(--seed-line-height-t5);
  }

  @media (width >= 1280px) {
    .seed-input-button__placeholder--size_responsive {
      font-size: var(--seed-font-size-t4);
      line-height: var(--seed-line-height-t4);
    }
  }

  .seed-input-button__prefixText--size_responsive {
    font-size: var(--seed-font-size-t5);
    line-height: var(--seed-line-height-t5);
  }

  @media (width >= 1280px) {
    .seed-input-button__prefixText--size_responsive {
      font-size: var(--seed-font-size-t4);
      line-height: var(--seed-line-height-t4);
    }
  }

  .seed-input-button__prefixIcon--size_responsive {
    width: var(--seed-dimension-x5);
    height: var(--seed-dimension-x5);
  }

  @media (width >= 1280px) {
    .seed-input-button__prefixIcon--size_responsive {
      width: var(--seed-dimension-x4);
      height: var(--seed-dimension-x4);
    }
  }

  .seed-input-button__suffixText--size_responsive {
    font-size: var(--seed-font-size-t5);
    line-height: var(--seed-line-height-t5);
  }

  @media (width >= 1280px) {
    .seed-input-button__suffixText--size_responsive {
      font-size: var(--seed-font-size-t4);
      line-height: var(--seed-line-height-t4);
    }
  }

  .seed-input-button__suffixIcon--size_responsive {
    width: var(--seed-dimension-x5);
    height: var(--seed-dimension-x5);
  }

  @media (width >= 1280px) {
    .seed-input-button__suffixIcon--size_responsive {
      width: var(--seed-dimension-x4);
      height: var(--seed-dimension-x4);
    }
  }

  .seed-input-button__clearButton--size_responsive {
    --seed-icon-size: 22px;
  }

  @media (width >= 1280px) {
    .seed-input-button__clearButton--size_responsive {
      --seed-icon-size: var(--seed-dimension-x4_5);
    }
  }
}
