/* Reserve outside rings for visible focus. Hover and pointer focus use each
   control's own background/text feedback, including draggable window titles. */
:where(button,.button,[role=combobox],select,textarea,input:not([type=range],[type=color],[type=hidden],[type=file])):focus-visible:not(:disabled,[aria-disabled=true]),
:where(a,summary,input[type=range],input[type=color]):focus-visible {
  border-color: transparent !important;
  outline: 2px solid var(--accent) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
  transition-property: background-color, color, opacity, transform !important;
}
/* The birth-date input and calendar button share one field boundary. */
.birth-input-row:has(:focus-visible) { border-color: transparent; outline: 2px solid var(--accent); outline-offset: 2px; }
.birth-input-row :is(input,button):is(:focus,:hover) { outline: none !important; box-shadow: none !important; }
@media (forced-colors:active) {
  :where(button,.button,[role=combobox],select,textarea,input,a,summary):focus-visible,
  .birth-input-row:has(:focus-visible) { outline-color: Highlight !important; }
}
/* Light controls use a tonal fill instead of the extra outline. Keyboard focus
   remains visible and Windows high contrast retains native control boundaries. */
@media (forced-colors:none) {
  :root[data-resolved-theme=light] body input:is([type=checkbox],[type=radio]):not([role=switch]) {
    border:0;
    box-shadow:none;
    background-color:color-mix(in srgb,var(--muted) 65%,var(--panel));
  }
  :root[data-resolved-theme=light] body input[type=checkbox]:not([role=switch]):is(:checked,:indeterminate) {background-color:var(--accent)}
  :root[data-resolved-theme=light] body input[type=radio]:not([role=switch]) {appearance:none;width:20px;height:20px;min-width:20px;padding:0;border-radius:50%}
  :root[data-resolved-theme=light] body input[type=radio]:not([role=switch]):checked {background:radial-gradient(circle,var(--ink) 0 22%,var(--accent) 27% 100%)}
}
