子要素の入力・選択・チェック状態を見て、カード全体の見た目を切り替えます。小さなフォームUIなら、状態表現をCSSだけで作れます。
入力すると、親のカード全体が完了状態に変わります。
:has() を使うと、input の状態を見て外側の card にスタイルを当てられます。
.field-card:has(input:checked), .field-card:has(select:valid), .field-card:has(.text-input:not(:placeholder-shown)) { border-color: var(--accent-line); background: var(--accent-soft); }