/* Shared touch and small-screen refinements, after the page-specific styles. */
.remove-label { display: none; }
@media (max-width: 800px), (pointer: coarse) {
  .shell :is(button, .button), dialog :is(button, .button), .sidebar .nav-item {
    min-height: 44px;
  }
  .shell :is(input:not([type=checkbox]), select, textarea),
  dialog :is(input:not([type=checkbox]), select, textarea) {
    font-size: 16px;
    min-height: 44px;
  }
  :is(.icon-button, .profile-close, .compare-remove, .favorite-button),
  #mobile-menu {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }
  .favorite-button { top: 5px; right: 5px; }
  .compare-remove { top: 4px; right: 4px; }
  .check-line { min-height: 44px; align-items: center; }
  .check-line input[type=checkbox] { width: 20px; height: 20px; }
  .auth-dialog .check-line { align-items: center; }
  .auth-dialog .check-line input { margin-top: 0; }
  .profile-tabs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; padding: 0 6px; }
  .profile-tabs button { min-width: 0; padding: 12px 3px; font-size: 12px; white-space: normal; }
  .profile-body, .profile-intro { min-width: 0; overflow-wrap: anywhere; }
  .profile-intro .button { white-space: normal; }
  .source-credit p { overflow-wrap: anywhere; }
  .shell summary, dialog summary { min-height: 44px; align-content: center; padding-block: 10px; }
  .site-end nav a, .footer-navigation a { display: inline-flex; align-items: center; min-height: 44px; }
  .auth-options { gap: 8px 16px; }
  .top-actions { gap: 6px; }
  .game-switch button { min-height: 44px; }
  .profile-intro .button, .saved-item .button { min-height: 44px; }
  .auth-dialog input:not([type=checkbox]), #account-display-name, #delete-account-form input { font-size: 16px; }
  .slot-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; padding: 6px; }
  .slot-actions button { min-width: 0; min-height: 44px; font-size: 12px; padding: 8px 2px; }
  .slot-actions .remove { grid-column: 1/-1; display: flex; justify-content: center; align-items: center; gap: 6px; }
  .remove-label { display: inline; }
  .swap-row { min-height: 48px; }
  .swap-row button { min-height: 44px; }
}
@media (max-width: 570px) {
  #mobile-menu { top: 10px; left: 10px; }
  .topbar { min-height: 64px; }
  .swap-row button { width: 100%; min-height: 44px; }
  .formation-footer { flex-wrap: wrap; gap: 10px; }
  .formation-footer label { min-height: 44px; align-items: center; }
  .formation-footer #clear-team { min-height: 44px; padding: 8px 12px; }
  .profile-intro { padding-top: 58px; }
  .profile-close { top: 8px; right: 8px; }
  .form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .form-grid :is(input,select) { min-width: 0; }
  .dialog-actions { flex-wrap: wrap; }
  .dialog-actions .button { flex: 1; white-space: normal; }
  .account-share-row { flex-wrap: wrap; }
  .unit-picker { grid-template-columns: 48px minmax(0,1fr); }
  .unit-picker img { width: 48px; height: 48px; }
  .unit-picker>span { min-width: 0; overflow-wrap: anywhere; }
  .unit-picker>b { grid-column: 2; text-align: left; }
}
