@media (max-width: 1023px) {
  .battle-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .matchup-panel { grid-column: 1 / -1; min-height: 300px; }
}

@media (max-width: 639px) {
  .topbar { gap: 8px; padding-inline: 12px; }
  .brand small { display: none; }
  .primary-nav { order: 3; width: 100%; }
  .topbar { flex-wrap: wrap; padding-block: 8px; }
  .theme-toggle { margin-left: auto; }
  .save-status { display: none; }
  .app-main { padding: 16px 12px 28px; }
  .view-header { align-items: start; flex-direction: column; }
  .battle-grid { grid-template-columns: 1fr; }
  .team-slot-grid { grid-template-columns: 1fr; }
  .form-grid, .stat-input-grid, .move-input-grid { grid-template-columns: 1fr; }
  .stat-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stat-summary span:nth-child(3) { border-right: 0; }
  .context-grid { grid-template-columns: 1fr; }
  .audit-summary-grid { grid-template-columns: 1fr; }
  .settings-grid { grid-template-columns: 1fr; }
  .entry-column, .matchup-panel { min-height: auto; grid-column: auto; }
}
