/* Opaque token outline remains visible in both themes, including fields and media tiles. */
input:focus:focus-visible, select:focus:focus-visible, textarea:focus:focus-visible,
button.library-open:focus-visible, [tabindex]:focus-visible {
  outline: var(--focus-ring-width) solid var(--color-focus);
  outline-offset: var(--focus-ring-offset);
}
/* BAND-002877: where the keyboard ring shows, it is the brand's ring alone (2px, spacing-2 from
   the control, the gap between them empty), so a field drops the halo it shows under pointer
   focus (a Library tile and the open picker do the same). The halo stays where no ring is drawn:
   a field or tile focused by pointer, and the dropzone, whose input is hidden, so its border and
   halo are the indicator. Panels and headings with tabindex keep their own shadow. */
input:focus:focus-visible, select:focus:focus-visible, textarea:focus:focus-visible { box-shadow: none; }
/* Theme text and button backgrounds switch together; interpolating only the background loses contrast. */
button { transition-property: border-color; }
button:not(:disabled):active { transform: translateY(1px); border-color: var(--color-accent); }
a:active { text-decoration-thickness: .15em; }
.productionstudio-spotlight-dialog { inset: auto; margin: 0; max-height: calc(100vh - 32px); overflow-y: auto; }
.productionstudio-spotlight-dialog::backdrop { background: transparent; }
@media (prefers-reduced-motion: reduce) { button:not(:disabled):active { transform: none; } }
/* Disabled connection actions do not dim the readable account name and technical details. */
.channel-connection-row.is-disabled { opacity: 1; }
