If it doesn’t refer to the same element, there is a possibility that the CSS will be unstable, for example regarding distance or how to respond to an unexpected condition. You can try it and don’t force it to work perfectly. This is a little complex.
.kanban-plcholder textarea::placeholder {
color: transparent;
}
#page-root:has(.kanban-plcholder textarea) .kanban-plcholder .component-root > div > div > div > div > div:nth-child(2):has(textarea) > div:before {
content: "Input here";
position: relative;
left: 10px;
top: 45px;
color: red;
height:0;
opacity: 0.4;
font-weight: 500;
pointer-events:none;
}
/* Hide when focus or empty*/
#page-root:not(:has(.kanban-plcholder textarea:empty)) .kanban-plcholder .component-root > div > div > div > div > div:nth-child(2) > div:before {
content: "";
}