@media (max-width: 75rem) {
  .book-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 64rem) {
  :root { --sidebar-width: 5rem; }
  .sidebar { padding-inline: var(--space-12); }
  .brand { justify-content: center; padding: 0; font-size: 0; }
  .brand-mark { margin: 0; }
  .nav-link { justify-content: center; padding-inline: 0; }
  .nav-link span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .page { padding: var(--space-24); }
  .topbar { padding-inline: var(--space-24); }
  .book-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--space-16); row-gap: var(--space-48); }
  .achievement-list { grid-template-columns: repeat(2, 1fr); row-gap: var(--space-32); }
  .carousel { grid-auto-columns: calc((100% - 3rem) / 3); }
  .previous-read-carousel { grid-auto-columns: min(14rem, calc((100% - 3rem) / 3)); }
}

@media (max-width: 48rem) {
  body { padding-bottom: 0; }
  .sidebar { display: none; }
  .app-body { margin-left: 0; }
  .topbar { height: auto; min-height: 4.5rem; padding: var(--space-12) var(--space-16); }
  .global-search { width: 100%; }
  .account-copy { display: none; }
  .account-button { min-width: auto; }
  .account-button > svg { display: none; }
  .page { padding: var(--space-24) var(--space-16) calc(4.75rem + var(--space-16)); }
  .page-header { min-height: auto; margin-bottom: var(--space-24); }
  .page-header h1 { font-size: var(--text-2xl); }
  .page > section + section { margin-top: var(--space-48); }
  body[data-page='home'] .page > section + section { margin-top: var(--space-24); }
  .grid-12 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-16); }
  .span-12, .span-8, .span-7, .span-5, .span-4 { grid-column: span 4; }

  .mobile-nav { position: fixed; inset: auto 0 0; z-index: 40; display: grid; grid-template-columns: repeat(5, 1fr); height: 4.75rem; border-top: 1px solid var(--border-default); background: var(--bg-sidebar); padding: var(--space-8) var(--space-4); }
  .mobile-nav .nav-link { display: flex; min-height: 3.5rem; flex-direction: column; justify-content: center; gap: var(--space-4); border: 0; padding: 0; font-size: .6875rem; }
  .mobile-nav .nav-link span { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
  .mobile-nav .nav-link.active { background: var(--bg-elevated); }

  .feature { padding: var(--space-24); }
  .continue-feature, .club-feature { grid-template-columns: 6.5rem minmax(0, 1fr); gap: var(--space-24); align-items: stretch; }
  .reading-carousel.multiple { grid-auto-columns: 100%; }
  .reading-carousel.multiple .continue-feature { grid-template-columns: 6.5rem minmax(0, 1fr); gap: var(--space-24); padding: var(--space-24); }
  .reading-nav.two-readings { display: flex; }
  .continue-content h3, .club-feature h3 { font-size: var(--text-xl); }
  .continue-content .progress-meta, .club-meta { margin-top: var(--space-16); }
  .continue-content .button, .club-feature .button { margin-top: var(--space-16); }
  .home-secondary { grid-template-columns: 1fr; }
  .stats-row { grid-template-columns: repeat(2, 1fr); row-gap: var(--space-24); }
  .stat strong { font-size: var(--text-xl); }
  .book-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-16); row-gap: var(--space-32); }
  .context-trigger { opacity: 1; }
  .shelf-add-button { width: 2.75rem; padding: 0; }
  .shelf-add-button .add-book-label { display: none; }
  .shelf-header-actions { display: flex; gap: var(--space-8); }
  .create-list-button { width: 2.75rem; padding: 0; }
  .create-list-button .create-list-label { display: none; }
  .shelf-toolbar { align-items: flex-start; }
  .user-list-header { align-items: flex-start; }
  .user-list-description { margin-top: calc(var(--space-8) * -1); margin-bottom: var(--space-24); }
  .list-page-toolbar { display: flex; justify-content: flex-start; margin: 0 0 var(--space-24); }
  .view-toggle { display: none; }
  .list-page-toolbar .view-toggle { display: flex; }
  .carousel { grid-auto-columns: calc((100% - 1rem) / 2.2); gap: var(--space-16); }
  .previous-read-carousel { grid-auto-columns: calc((100% - 1rem) / 2.2); }
  .carousel-controls { display: none; }
  .calendar-heading { align-items: center; }
  .agenda-header-actions { align-items: flex-end; gap: var(--space-8); }
  .agenda-view-toggle { display: flex; }
  .calendar-heading p { max-width: 13rem; }
  .calendar-weekday { padding: var(--space-8) var(--space-4); font-size: .625rem; text-align: center; }
  .calendar-day { min-height: 4.75rem; gap: var(--space-4); padding: var(--space-4); }
  .calendar-day-number { min-width: 1.375rem; height: 1.375rem; font-size: var(--text-xs); }
  .calendar-day-events { display: flex; flex-wrap: wrap; gap: 2px; }
  .calendar-event { width: 100%; height: 3px; border: 0; background: var(--text-muted); padding: 0; font-size: 0; }
  .calendar-more { display: none; }
  .agenda-list-event { grid-template-columns: 3.25rem minmax(0, 1fr) auto; gap: var(--space-16); padding-inline: 0; }
  .timeline-item { grid-template-columns: 3.25rem 1px minmax(0, 1fr); gap: var(--space-16); }
  .timeline-date { text-align: left; }
  .achievement-list { display: grid; grid-auto-flow: column; grid-auto-columns: 78%; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .achievement { scroll-snap-align: start; }
  .book-page-layout { grid-template-columns: 1fr; gap: var(--space-32); }
  .book-sticky-cover { position: static; }
  .book-hero-cover { width: min(70vw, 15rem); max-width: none; margin-inline: auto; }
  .book-info h1 { font-size: var(--text-2xl); }
  .book-hero-author { font-size: var(--text-md); }
  .book-title-row { gap: var(--space-16); }
  .rating-wrap { align-items: flex-start; flex-direction: column; gap: var(--space-4); }
  .settings-fields { grid-template-columns: 1fr; }
  .admin-section-heading, .admin-row { align-items: stretch; flex-direction: column; }
  .admin-section-heading .button { align-self: flex-start; }
  .admin-row-actions { flex-wrap: wrap; }
  .admin-role-control { min-width: 10.5rem; flex: 1; }
  .toast-region { right: var(--space-16); bottom: 5.5rem; }
  .modal-backdrop.add-book-backdrop { align-items: stretch; padding: 0; }
  .add-book-modal { display: flex; width: 100%; height: 100dvh; max-height: 100dvh; flex-direction: column; border: 0; border-radius: 0; }
  .add-book-modal .modal-body { flex: 1; overflow-y: auto; }
  .add-book-modal .add-book-results { max-height: none; }
  .list-book-options { grid-template-columns: 1fr; }
  .add-book-confirm { grid-template-columns: 5.5rem minmax(0, 1fr); gap: var(--space-16); }
  .add-book-facts { grid-template-columns: 1fr; gap: var(--space-8); margin-block: var(--space-16); }
  .add-book-confirm-actions { align-items: stretch; flex-direction: column-reverse; }
  .add-book-confirm-actions .button { width: 100%; }
}

@media (max-width: 27rem) {
  .account { display: none; }
  .continue-feature, .club-feature { grid-template-columns: 5.5rem minmax(0, 1fr); gap: var(--space-16); }
  .feature { padding: var(--space-16); }
  .month-feature { grid-template-columns: 5rem minmax(0, 1fr); gap: var(--space-16); }
  .book-card .book-title { font-size: var(--text-md); }
  .membership-card { padding: var(--space-24); }
  .membership-name { font-size: var(--text-xl); }
  .membership-meta { display: grid; gap: var(--space-4); }
  .qr-code { width: 3.5rem; }
  .book-hero-cover { width: min(76vw, 14rem); }
  .calendar-heading { align-items: flex-start; }
  .calendar-heading p { font-size: var(--text-xs); }
  .calendar-navigation .button { width: 2.25rem; min-height: 2.25rem; }
  .calendar-day { min-height: 4.25rem; }
  .modal-backdrop { padding: var(--space-16); align-items: end; }
}
