/* Accessibility polish: keyboard focus, touch targets, and high-contrast fallbacks. */

:where(button, summary):focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}

.search-field:focus-within,
.backup-import-button:focus-within {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}

.activity-input:focus-visible,
.edit-input:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
  box-shadow: none;
}

.activity-more > summary,
.sort-options button,
.settings-language-options button,
.history-delete-button,
.history-cancel-button,
.history-expand-button,
.backup-button,
.replace-backup-button,
.cancel-import-button,
.reset-data-button,
.cancel-reset-button,
.settings-close {
  min-height: 44px;
}

.settings-close {
  min-width: 44px;
}

.manual-position-actions button {
  width: 44px;
  height: 44px;
}

@media (max-width: 540px) {
  .done-button {
    min-height: 44px;
  }
}

@media (max-width: 430px) {
  .settings-trigger {
    width: 44px;
    height: 44px;
  }
}

@media (forced-colors: active) {
  :where(button, summary):focus-visible,
  .search-field:focus-within,
  .backup-import-button:focus-within,
  .activity-input:focus-visible,
  .edit-input:focus-visible {
    outline: 3px solid Highlight;
  }

  .settings-trigger,
  .done-button,
  .sort-options,
  .history-panel summary,
  .manage-panel summary,
  .backup-panel,
  .backup-button,
  .data-safety,
  .settings-sheet,
  .settings-section,
  .settings-language-options {
    border-color: CanvasText;
  }
}
