.winput {
    background: hsl(var(--background-color-h), var(--background-color-s), var(--background-color-l));
    display: inline-grid;
    height: 37px;
    color: var(--font-color);
    border-radius: 5px;
    font-weight: 500;
    box-shadow: 0px 0px 0px 0px hsla(var(--background-color-h), var(--background-color-s), var(--background-color-l), 25%);
    transition: box-shadow 250ms ease;
    point: text;
}

.winput span {
    padding: 12px 10px 11px;
    font-size: 12px;
    user-select: none;
    transition: padding 150ms ease, font-size 150ms ease, font-weight 150ms ease;
}

.winput.has-value span {
    padding: 8px 10px 0;
    font-weight: 400;
    font-size: 8px;
}

.winput input {
    background: transparent;
    border: none;
    font-size: 0;
    color: var(--font-color);
    min-width: 150px;
    padding: 0px 0 0 10px;
    opacity: 0;
}

.winput.has-value input {
    font-size: 12px;
    opacity: 1;
    padding: 0px 0 6px 10px;
}

.winput input:focus, .winput:focus {
    outline: none;
}

.winput:focus-within {
    box-shadow: 0px 0px 0px 3px hsla(var(--background-color-h), var(--background-color-s), var(--background-color-l), 25%);
}

.winput.grayscaled {
    --background-color-h: var(--color-grayscaled-hue);
    --background-color-s: var(--color-grayscaled-saturation);
    --background-color-l: var(--color-grayscaled-lightness);
    --font-color: var(--color-grayscaled-font);
}

.winput.colored {
    --background-color-h: var(--color-colored-hue);
    --background-color-s: var(--color-colored-saturation);
    --background-color-l: var(--color-colored-lightness);
    --font-color: var(--color-colored-font);
}

.winput.critical {
    --background-color-h: var(--color-critical-hue);
    --background-color-s: var(--color-critical-saturation);
    --background-color-l: var(--color-critical-lightness);
    --font-color: var(--color-critical-font);
}

.winput.disabled {
    cursor: default;
    --background-color-h: var(--color-disabled-hue);
    --background-color-s: var(--color-disabled-saturation);
    --background-color-l: var(--color-disabled-lightness);
    --font-color: var(--color-disabled-font);
}