/* Phase 9 quality gate: shared keyboard, touch, motion, and network affordances. */
:where(button,a,input,textarea,select,[tabindex]):focus-visible {
  outline: 3px solid #146c94 !important;
  outline-offset: 3px !important;
}

:where(button,.button,.primary-link,.card-actions a,.track-card,.editor-track) {
  min-height: 44px;
}

:where(input,select) { min-height: 44px; }
textarea { min-height: 96px; }

.generation-network-state {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  margin: -4px 0 14px;
  padding: 9px 13px;
  border: 1px solid #d8cec6;
  border-radius: 12px;
  background: rgba(255,255,255,.62);
  color: #655c65;
  font-size: 11px;
  font-weight: 800;
}
.generation-network-state.offline {
  border-color: #e4b5bd;
  background: #fff5f6;
  color: #97364b;
}
.generation-network-state .material-symbols-rounded { font-size: 18px; }

.audio-status[role="status"] { min-height: 2.4em; }

@media (pointer: coarse) {
  :where(button,.button,.primary-link,.card-actions a,.track-card,.editor-track,input,select) {
    min-height: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

@media (forced-colors: active) {
  :where(button,a,input,textarea,select,[tabindex]):focus-visible {
    outline-color: Highlight !important;
  }
  .progress i,.fake-progress i { background: Highlight !important; }
}
