@media (max-width: 959px) {
  .sidebar { display: none; }
  .mobile-header {
    position: sticky; top: 0; z-index: 25;
    display: flex; align-items: center; justify-content: space-between;
    min-height: var(--mobile-header-height); padding: 0 14px 0 18px;
    border-bottom: 1px solid var(--border); background: color-mix(in srgb, var(--bg) 94%, transparent);
    backdrop-filter: blur(10px);
  }
  .mobile-brand { color: var(--text); font-weight: 700; letter-spacing: -.02em; }
  .header-actions { display: flex; align-items: center; gap: 6px; }
  .bottom-nav {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 30;
    display: grid; grid-template-columns: repeat(4, 1fr);
    min-height: calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));
    padding-bottom: env(safe-area-inset-bottom);
    border-top: 1px solid var(--border); background: var(--surface);
  }
  .bottom-nav-link { display: flex; min-height: 48px; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-width: 0; color: var(--text-muted); font-size: .72rem; font-weight: 600; }
  .bottom-nav-link svg { width: 21px; height: 21px; }
  .bottom-nav-link.active { color: var(--accent-strong); }
  .main-content { margin-left: 0; padding: 28px 24px calc(var(--bottom-nav-height) + 42px + env(safe-area-inset-bottom)); }
  .focus-mode .main-content { padding: 18px 24px 42px; }
}

@media (max-width: 639px) {
  .main-content { padding-left: 18px; padding-right: 18px; }
  .focus-mode .main-content { padding-left: 16px; padding-right: 16px; }
  h1 { margin-bottom: 20px; }
  .page-header { margin-bottom: 26px; }
  .section { margin-top: 34px; }
  .quick-actions { grid-template-columns: 1fr; }
  .quick-action { min-height: 66px; }
  .button-row { flex-direction: column; }
  .button-row > .button { flex: none; width: 100%; }
  .flashcard { min-height: min(450px, calc(100dvh - 115px)); padding: 22px 18px; }
  .card-question { font-size: 1.35rem; }
  .rating-grid { grid-template-columns: 1fr; }
  .rating-button { min-height: 48px; }
  .matching-row { grid-template-columns: 1fr; gap: 6px; }
  .session-summary { gap: 6px; }
  .session-summary strong { font-size: 1.2rem; }
  .dialog-actions { flex-direction: column-reverse; }
  .dialog-actions .button { width: 100%; }
  .toast-region { left: 14px; right: 14px; bottom: calc(var(--bottom-nav-height) + 12px + env(safe-area-inset-bottom)); }
  .toast { max-width: none; }
}

@media (max-width: 350px) {
  .bottom-nav-link { font-size: .68rem; }
  .main-content { padding-left: 14px; padding-right: 14px; }
  .flashcard { padding-left: 15px; padding-right: 15px; }
}

@media (min-width: 960px) and (max-width: 1200px) {
  .main-content { padding-left: 34px; padding-right: 34px; }
}

@media (min-width: 640px) and (max-width: 959px) {
  .main-content { padding-left: 32px; padding-right: 32px; }
}
