/* Shared phone / tablet safeguards. Learning state and content order stay unchanged. */
.near-word-name,
.near-word-select {
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
}

/* A long word needs a wider cell, not broken spelling or tiny type. */
.near-member-grid:has(.has-long-word) { grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); }
.near-cell-top { flex-wrap: wrap; }
.near-member.has-long-word .near-word-name,
.near-member.has-long-word .near-word-select { font-size: 26px; }
.near-story b { white-space: normal; overflow-wrap: normal; }

/* Flex basis must remain a width on phones, not a 220px empty vertical block. */
.root-family-guide { flex-direction: row; }
.root-family-guide .affix-guide-heading { align-items: center; }
.root-word-heading h2 { white-space: nowrap; overflow-wrap: normal; word-break: normal; }
.root-word-heading { flex-wrap: wrap; }
.root-lesson-word.has-long-word { grid-column: 1 / -1; }

.method-grid { grid-template-columns: repeat(auto-fit, minmax(min(165px, 100%), 1fr)); }
.method-card h3 { white-space: normal; }

.app-shell {
  padding-top: env(safe-area-inset-top, 0px);
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
}
.book-library-header { padding-top: max(16px, env(safe-area-inset-top, 0px)); }
.book-library-main { padding-bottom: max(24px, env(safe-area-inset-bottom, 0px)); }

@media (max-width: 1100px), (pointer: coarse) {
  .root-word-heading h2 { font-size: 28px; }
  .sequence-nav .icon-button,
  .order-switch button,
  .near-cell-top .audio-button,
  .pronunciation .audio-button,
  .dialog-heading .icon-button {
    min-width: 44px;
    min-height: 44px;
  }
  .topbar .article-entry,
  .near-play-all,
  .near-lesson-foot .text-button,
  .root-word-example { min-height: 44px; }
  .topbar .search-trigger { min-width: 44px; min-height: 44px; }
}

@media (max-width: 960px) and (min-width: 761px) {
  .topbar { height: auto; min-height: 116px; flex-shrink: 0; }
}

@media (max-width: 760px) {
  :root { --mobile-nav-height: calc(64px + max(6px, env(safe-area-inset-bottom, 0px))); }
  .app-shell { padding-bottom: var(--mobile-nav-height); }
  .sidebar {
    height: var(--mobile-nav-height);
    padding-bottom: max(6px, env(safe-area-inset-bottom, 0px));
    padding-left: max(10px, env(safe-area-inset-left, 0px));
    padding-right: max(10px, env(safe-area-inset-right, 0px));
  }
  .topbar { height: auto; min-height: 110px; flex-shrink: 0; padding-inline: 15px; }
  .topbar .article-entry { font-size: 12px; }
  .study-toolbar { flex-wrap: wrap; gap: 5px 10px; padding: 8px 15px; }
  .study-controls { margin-left: auto; gap: 8px; }
  .sequence-nav > span { min-width: 56px; }
  .method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .near-member.has-long-word .near-word-name,
  .near-member.has-long-word .near-word-select { font-size: 24px; }
  .near-member-meaning > strong { line-height: 1.6; }
  .near-member-ipa { font-size: 16px; }
  .near-cell-top { gap: 4px; }
  .root-family-guide > div:first-child,
  .root-family-guide .group-affix-guide { flex-basis: 100%; }
  .root-family-guide { gap: 12px; }
  .root-family-guide .affix-chip-grid { grid-template-columns: repeat(auto-fit, minmax(min(105px, 100%), 1fr)); }
  .reading-mode-bar .consolidation-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .reading-mode-note { max-width: none; font-size: 12px; }
  .reading-mode-bar .continue-lesson { min-height: 48px; }
  .reading-mode-bar .result-bar-heading { margin-bottom: 8px; }
  /* Prevent Safari from zooming the whole page when a search field gets focus. */
  .global-search input,
  .list-search input { font-size: 16px; }
}

/* A short landscape screen needs page scrolling, not a 20px inner reading slot. */
@media (max-height: 540px) and (max-width: 1100px) {
  .main-column { overflow-y: auto; overscroll-behavior-y: contain; }
  .sidebar { overflow-y: auto; }
  .reader-page { flex: none; overflow: visible; }
  .reader-scroll { flex: none; overflow: visible; }
  .reader-toolbar { padding-block: 6px; }
  .mark-bar { position: sticky; bottom: 0; z-index: 8; padding-block: 8px; }
  .reading-mode-bar { flex-direction: row; gap: 12px; }
  .reading-mode-bar .result-bar-heading { margin: 0; }
  .reading-mode-bar .result-bar-heading > span,
  .reading-mode-bar .reading-mode-note { display: none; }
  .reading-mode-bar .consolidation-actions { width: auto; flex: none; }
  .reading-mode-bar .continue-lesson { min-height: 44px; min-width: 120px; }
}

@media (max-width: 365px) {
  .topbar { padding-inline: 10px; }
  .mobile-lumen-brand > b { font-size: 14px; }
  .topbar .book-breadcrumb > .back-to-books { padding-inline: 7px; }
  .near-word-name,
  .near-word-select { font-size: 21px; }
  .near-member { padding-inline: 8px; }
  .near-member.has-long-word .near-word-name,
  .near-member.has-long-word .near-word-select { font-size: 22px; }
}

/* One global prefix/suffix reference; no duplicate chapter CTA. */
.affix-prerequisite{margin:0 0 1.5rem;padding:.25rem 0;color:var(--muted);font-size:1rem;line-height:1.8}.affix-prerequisite strong{color:var(--green)}
