/* GENERATED by scripts/build/tailwind/build-tailwind.ts — edit frameworks/tailwind/Theme.css or a manifest, not this file. */
@import '../../../Prelude.generated.css';
@import '../../../hues/forms/arena-number-field/ArenaNumberField.hues.generated.css';

@layer utilities {
  .arena-number-field__root {
    display: flex;
    flex-direction: column;
    gap: calc(var(--sp-1) * 1.5);
  }
  .arena-number-field__label {
    font-family: var(--ff-label);
    font-size: var(--dz-text-xs);
    --tw-tracking: var(--track-label);
    letter-spacing: var(--track-label);
    color: var(--ink-muted);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--ink-muted) var(--level-ink-muted), transparent);
    }
    text-transform: var(--tt-label);
  }
  .arena-number-field__required {
    margin-left: var(--sp-1);
    color: var(--color-primary);
  }
  .arena-number-field__field {
    display: flex;
    height: var(--dz-ctl-h);
    align-items: stretch;
    gap: var(--gap-control);
    overflow: hidden;
    border-radius: var(--r-field);
    border-style: var(--tw-border-style);
    border-width: var(--bw-field);
    background-color: var(--fill-field);
    transition-property: border-color,box-shadow;
    transition-timing-function: var(--tw-ease, var(--ease-out));
    transition-duration: var(--tw-duration, var(--dur-fast));
    --tw-duration: var(--dur-hover);
    transition-duration: var(--dur-hover);
    --tw-ease: var(--ease-hover);
    transition-timing-function: var(--ease-hover);
  }
  .arena-number-field__stepper {
    display: inline-flex;
    min-width: var(--dz-ctl-h-sm);
    flex-shrink: 0;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    border-style: var(--tw-border-style);
    border-width: 0px;
    border-color: var(--edge-control);
    background-color: transparent;
    padding: 0px;
    font-size: var(--icon-sm);
    color: var(--ink-muted);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--ink-muted) var(--level-ink-muted), transparent);
    }
    transition-property: background,color;
    transition-timing-function: var(--tw-ease, var(--ease-out));
    transition-duration: var(--tw-duration, var(--dur-fast));
    --tw-duration: var(--dur-hover);
    transition-duration: var(--dur-hover);
    --tw-ease: var(--ease-hover);
    transition-timing-function: var(--ease-hover);
    &:first-child {
      border-inline-end-style: var(--tw-border-style);
      border-inline-end-width: var(--bw-control);
    }
    &:last-child {
      border-inline-start-style: var(--tw-border-style);
      border-inline-start-width: var(--bw-control);
    }
    &:hover {
      @media (hover: hover) {
        background-color: var(--fill-hover);
      }
    }
    &:hover {
      @media (hover: hover) {
        color: var(--ink-body);
      }
    }
    &:disabled {
      cursor: not-allowed;
    }
    &:disabled {
      opacity: 45%;
    }
    &:disabled {
      &:hover {
        @media (hover: hover) {
          background-color: transparent;
        }
      }
    }
  }
  .arena-number-field__prefix {
    align-self: center;
    font-family: var(--font-mono);
    font-size: var(--dz-text-md);
    color: var(--ink-muted);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--ink-muted) var(--level-ink-muted), transparent);
    }
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .arena-number-field__input {
    min-width: 0px;
    flex: 1;
    --tw-border-style: none;
    border-style: none;
    background-color: transparent;
    font-family: var(--font-mono);
    font-size: var(--dz-text);
    color: var(--ink-body);
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
    --tw-outline-style: none;
    outline-style: none;
    &::placeholder {
      color: var(--ink-muted);
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--ink-muted) var(--level-ink-muted), transparent);
      }
    }
  }
  .arena-number-field__suffix {
    align-self: center;
    font-family: var(--font-mono);
    font-size: var(--dz-text-md);
    color: var(--ink-muted);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--ink-muted) var(--level-ink-muted), transparent);
    }
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .arena-number-field__status-icon {
    align-self: center;
    font-size: var(--icon-md);
  }
  .arena-number-field__hint {
    font-family: var(--font-body);
    font-size: var(--dz-text-sm);
    color: var(--ink-muted);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--ink-muted) var(--level-ink-muted), transparent);
    }
  }
  .arena-number-field__error {
    font-family: var(--font-body);
    font-size: var(--dz-text-sm);
    color: var(--arena-hue-ink);
  }
  .arena-number-field__field:where([data-arena-state="neutral"]) {
    border-color: var(--edge-field);
    &:focus-within {
      border-color: var(--color-secondary);
    }
    &:focus-within {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(var(--focus-width) + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
    &:focus-within {
      --tw-ring-color: var(--color-secondary);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--color-secondary) 16%, transparent);
      }
    }
  }
  .arena-number-field__field:where([data-arena-state="error"]) {
    border-color: var(--arena-hue-edge);
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(var(--focus-width) + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    --tw-ring-color: var(--arena-hue-fill-soft);
  }
  .arena-number-field__status-icon:where([data-arena-state="error"]) {
    color: var(--arena-hue-ink);
  }
  .arena-number-field__field:where([data-arena-state="valid"]) {
    border-color: var(--arena-hue-edge);
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(var(--focus-width) + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    --tw-ring-color: var(--arena-hue-fill-soft);
    &:focus-within {
      border-color: var(--color-secondary);
    }
    &:focus-within {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(var(--focus-width) + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
    &:focus-within {
      --tw-ring-color: var(--color-secondary);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--color-secondary) 16%, transparent);
      }
    }
  }
  .arena-number-field__status-icon:where([data-arena-state="valid"]) {
    color: var(--arena-hue-ink);
  }
  .arena-number-field__field:where(:not([data-arena-steppers])) {
    padding-inline: var(--pad-control-x);
  }
  .arena-number-field__root:where([data-arena-disabled]) {
    opacity: 50%;
  }
  .arena-number-field__field:where([data-arena-read-only]) {
    background-color: var(--color-base-200);
  }
  .arena-number-field__input:where([data-arena-read-only]) {
    cursor: default;
  }
}
