/* Ingreso y contraseñas del núcleo. El aspecto lo da la maquetación (la del
   proyecto o el shell de wsfirst); aquí solo lo propio: el ojo y el aviso. */
.wsf-reveal {
    position: relative;
    display: block;

    & input {
        width: 100%;
        padding-right: 2.75rem;
        box-sizing: border-box;
    }

    & button {
        position: absolute;
        inset-block: 0;
        right: 0.25rem;
        display: grid;
        place-items: center;
        width: 2.25rem;
        padding: 0;
        border: none;
        background: none;
        color: inherit;
        opacity: 0.6;
        cursor: pointer;

        &:hover,
        &:focus-visible {
            opacity: 1;
        }
    }
}

.wsf-auth output:empty {
    display: none;
}

/* Campo trampa de los antibots: fuera de la vista, no oculto (un bot que
   ignora el CSS lo llena; una persona no lo ve ni lo alcanza con Tab). */
.wsf-auth-trap {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
