CSS FORM STATE

:has()で入力状態を 親カードに反映する

状態を持っているのはinput。見た目を変えたいのは外側のカード。 未入力、OK、エラーをCSSだけで切り替えます。

Input State Cards 入力状態に合わせて、親カード全体の見た目が変わります
:placeholder-shown / :valid / :invalid
Point

空欄も invalid になるので、未入力とエラーを分けたいときは :placeholder-shown を合わせると扱いやすいです。