/* Shared field states, loaded after component/theme styles. Keep focus inside the field. */
:root{--field-error:#a12525}
html[data-theme=dark]{--field-error:#ffaaa8}
:root :is(input,select,textarea){accent-color:var(--ink)}
:root :is(input,select,textarea):focus:not(:disabled){border-color:var(--ink);outline:2px solid var(--ink);outline-offset:-2px;box-shadow:none}
/* Native errors appear only after interaction; aria-invalid is set by validators. */
:root :is(input,select,textarea):not(:disabled):is([aria-invalid="true"],:user-invalid){border-color:var(--field-error);outline-color:var(--field-error)}
@media(forced-colors:active){:root :is(input,select,textarea):focus:not(:disabled){outline:2px solid Highlight;outline-offset:-2px}}
