/* Shared native HTML controls; opt-in preserves existing consumers. */
.a11y-unified { color-scheme: dark; font: 15px/1.45 "Segoe UI", system-ui, sans-serif; background: var(--a11y-ui-bg); color: var(--a11y-ui-fg); letter-spacing: 0; accent-color: var(--a11y-ui-accent); scrollbar-color: var(--a11y-ui-interactive) var(--a11y-ui-bg); }
.a11y-unified button { min-height: 44px; padding: 8px 12px; border: 1px solid var(--a11y-ui-border); border-radius: 6px; font: 600 14px/1.35 "Segoe UI", system-ui, sans-serif; background: var(--a11y-ui-raised); color: var(--a11y-ui-fg); cursor: pointer; transition: background-color 110ms ease, border-color 110ms ease; box-shadow: none; transform: none; }
.a11y-unified button:hover { background: var(--a11y-ui-interactive); border-color: var(--a11y-ui-accent); transform: none; box-shadow: none; }
.a11y-unified button:active { background: var(--a11y-ui-accent-soft); transform: none; }
.a11y-unified button:disabled { opacity: .5; cursor: not-allowed; }
.a11y-unified :is(button, input, select, textarea, summary, a, [tabindex]):focus-visible { outline: 2px solid var(--a11y-ui-focus-color); outline-offset: 2px; }
.a11y-unified :is(input:not([type=checkbox]):not([type=radio]), select, textarea) { min-width: 0; min-height: 44px; border: 1px solid var(--a11y-ui-border); border-radius: 6px; padding: 9px 12px; background: var(--a11y-ui-surface); color: var(--a11y-ui-fg); font: inherit; }
.a11y-unified textarea { resize: vertical; }
.a11y-unified :is(input[type=checkbox], input[type=radio]) { width: 20px; height: 20px; flex: 0 0 auto; }
.a11y-unified .unified-primary { background: var(--a11y-ui-accent); border-color: var(--a11y-ui-accent); color: white; }
.a11y-unified .unified-primary:hover { background: var(--a11y-ui-accent-hover); }
.a11y-unified .unified-brand { color: var(--a11y-ui-fg); font-weight: 600; white-space: nowrap; }
.a11y-unified .unified-brand b { color: var(--a11y-ui-danger); font-weight: 700; }
.a11y-unified .unified-footer { display: flex; align-items: baseline; flex-wrap: wrap; justify-content: flex-start; gap: 8px; min-height: 36px; font-size: 11px; color: var(--a11y-ui-muted); }
.a11y-unified .unified-footer .unified-brand { font-size: 14px; }
@media (prefers-reduced-motion: reduce) { .a11y-unified *, .a11y-unified *::before, .a11y-unified *::after { animation: none !important; transition: none !important; } }
@media (forced-colors: active) {
  .a11y-unified :is(button, input, textarea, select, .task-item) { border-color: ButtonText; }
  .a11y-unified :is(button, input, select, textarea, summary, a, [tabindex]):focus-visible { outline-color: Highlight; }
  .a11y-unified button:is(.is-active, .active, [aria-pressed=true]) { outline: 2px solid Highlight; }
}
