/* Shared public mobile scale, loaded after the desktop and page styles.
   Keep browser zoom and full text available; controls retain usable hit areas. */
@media (max-width:760px) {
  html { -webkit-text-size-adjust:100%; text-size-adjust:100% }
  body.library-site { font-size:14px; line-height:1.7 }
  .library-site .shell { width:calc(100% - 24px) }
  .library-site .site-header { height:auto }
  .library-site .site-header .header-inner {
    display:grid; grid-template-columns:minmax(0,1fr) 36px 36px;
    grid-template-rows:54px 36px; height:auto; min-height:0;
    padding:0 0 8px; gap:4px 8px;
  }
  .library-site .site-header .brand { grid-column:1; grid-row:1; gap:8px; min-width:0 }
  .library-site .brand>span { font-size:22px; line-height:1.25; letter-spacing:0 }
  .library-site .brand small { font-size:10px; line-height:1.4; letter-spacing:.5px }
  .library-site .brand-mark,.library-site .brand-mark img { width:32px; height:32px; flex-shrink:0 }
  .library-site .site-header .brand-description { display:none }
  .library-site .site-header .theme-toggle { grid-column:2; grid-row:1; margin:0 }
  .library-site .site-header .mobile-toggle { grid-column:3; grid-row:1; margin:0; display:grid; place-items:center }
  .library-site .site-header .header-tool,.library-site .site-header .mobile-toggle { width:36px; height:36px; min-width:0; padding:8px }
  .library-site .site-header .library-search {
    position:static; grid-column:1/-1; grid-row:2; display:flex;
    width:100%; height:36px; margin:0; transform:none; min-width:0;
  }
  .library-site .site-header .library-search input:not([type=checkbox]) { font-size:16px; padding:5px 8px; width:0; flex:1; min-width:0 }
  .library-site .site-header .library-search button[type=submit] { min-height:28px; height:28px; font-size:12px; padding:0 10px; flex:none }
  .library-site .site-header .search-shortcut { display:none }
  .library-site .site-header .primary-nav { position:static; height:auto }
  .library-site .site-header .desktop-nav { height:auto; min-height:36px; padding-top:0; padding-bottom:0; align-items:center; gap:0 }
  .library-site .site-header .desktop-nav>a { font-size:14px; line-height:20px; padding:8px 11px; flex:none }
  .library-site .site-header .mobile-nav { top:100% }
  .library-site.software-catalog-page .site-header .header-inner { grid-template-rows:54px; padding-bottom:0 }
  .library-site.software-catalog-page .site-header .library-search { display:none }
  .library-site .button { font-size:14px; min-height:42px; line-height:1.5; padding:9px 13px }
  .library-site .breadcrumb { font-size:12px; line-height:1.6; gap:6px; margin:14px 0; overflow-wrap:anywhere }
  .library-site .page-intro { padding-top:18px; padding-bottom:14px }
  .library-site .page-intro h1 { font-size:23px; line-height:1.4; margin-bottom:7px }
  .library-site .page-intro>p { font-size:14px; line-height:1.65; margin-bottom:12px }
  .library-site .prose,.library-site .prose p,.library-site .prose li,
  .library-site .prose td,.library-site .prose th { font-size:15px; line-height:1.8 }
  .library-site .prose p { margin:0 0 12px }
  .library-site .prose h2 { font-size:20px; line-height:1.45; margin:22px 0 11px }
  .library-site .prose h3 { font-size:17px; line-height:1.5; margin:18px 0 9px }
  .library-site .prose li { margin-bottom:5px }
  .library-site .prose ul,.library-site .prose ol { padding-left:21px }
  .library-site .prose pre { max-width:100%; overflow:auto; padding:12px; font-size:13px }
  .library-site .prose table { display:block; max-width:100%; overflow:auto }

  /* Software details: text uses the full card width after the icon/title row. */
  .software-detail-page .software-heading { display:grid; grid-template-columns:46px minmax(0,1fr); gap:9px 11px; padding:16px; margin:0 0 12px; border-radius:12px }
  .software-detail-page .software-heading .app-icon.large { width:46px; height:46px; flex-basis:46px; font-size:20px; border-radius:11px; grid-column:1; grid-row:1; margin:0 }
  .software-detail-page .software-heading>.software-heading-main { display:contents }
  .software-detail-page .software-heading h1 { grid-column:2; grid-row:1; align-self:center; font-size:21px; line-height:1.4; margin:0; min-width:0 }
  .software-detail-page .software-title-version { display:inline-block; font-size:12px; font-weight:400; line-height:1.5; margin-left:6px }
  .software-detail-page .software-heading-main>p { grid-column:1/-1; font-size:14px; line-height:1.7; margin:0; max-width:none }
  .software-detail-page .detail-badges { grid-column:1/-1; gap:5px 7px; font-size:12px; min-width:0 }
  .software-detail-page .detail-badges .pill { font-size:12px; line-height:1.5; padding:3px 6px }
  .software-detail-page .software-updated { flex-basis:auto; font-size:12px; line-height:1.6; margin:0; padding:0 }
  .software-detail-page .software-quick-facts { grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 12px; margin:2px 0; max-width:none }
  .software-detail-page .software-quick-facts>div { display:grid; grid-template-columns:auto minmax(0,1fr); gap:7px; font-size:12px; line-height:1.7; align-items:baseline }
  .software-detail-page .software-quick-facts>.quick-fact-system_requirements,
  .software-detail-page .software-quick-facts>.quick-fact-developer { grid-column:1/-1 }
  .software-detail-page .software-quick-facts dt { white-space:nowrap }
  .software-detail-page .software-quick-facts dd { min-width:0; margin:0; word-break:normal; overflow-wrap:anywhere }
  .software-detail-page .software-heading>.software-heading-actions { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr); gap:6px; padding:3px 0 0; min-width:0 }
  .software-detail-page .software-heading-actions .button.heading-download {
    width:100%; max-width:100%; margin:0; min-width:0; min-height:42px;
    padding:10px 12px; font-size:14px; white-space:normal; justify-content:center;
  }
  .software-detail-page .heading-download>span { min-width:0; white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere }
  .software-detail-page .heading-download>.icon { flex:none; width:17px; height:17px }
  .software-detail-page .heading-download-more,.software-detail-page .heading-affiliate-note { font-size:12px; line-height:1.65; padding:0; min-width:0 }
  .software-detail-page .detail-toc { display:flex; flex-wrap:nowrap; gap:14px; padding:0 12px; margin:0 0 14px; min-height:42px; border-radius:9px; font-size:13px; overflow:auto }
  .software-detail-page .detail-toc>a { padding:10px 0; flex:none }
  .software-detail-page .detail-toc-download { margin-left:auto }
  .software-detail-page .detail-content { padding:16px; min-width:0; border-radius:12px }
  .software-detail-page .detail-content>.content-section { padding:0 0 18px; margin:0 0 18px }
  .software-detail-page .content-section>h2,.software-detail-page .detail-section-heading h2 { font-size:20px; line-height:1.45; margin-bottom:12px }
  .software-detail-page .detail-section-heading { gap:7px; margin-bottom:12px }
  .software-detail-page .detail-section-heading h2 { margin:0 }
  .software-detail-page .detail-section-heading>span { font-size:12px }
  .software-detail-page .software-section-nav { font-size:12px; padding:9px 11px; gap:6px 12px; margin-bottom:14px }
  .software-detail-page .screenshots { gap:9px }
  .software-detail-page .screenshot-link img { height:200px; max-height:200px; width:auto }
  .software-detail-page .software-facts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px }
  .software-detail-page .software-facts-grid>div { padding:10px 0 }
  .software-detail-page .software-facts-grid dt { font-size:12px; line-height:1.6; margin-bottom:3px }
  .software-detail-page .software-facts-grid dd { font-size:14px; line-height:1.7 }
  .software-detail-page .software-facts-grid .fact-system_requirements,
  .software-detail-page .software-facts-grid .fact-developer { grid-column:1/-1 }
  .software-detail-page .software-facts-note,.software-detail-page .software-detail-footer { font-size:12px; line-height:1.75 }
  .software-detail-page .download-panel { padding:16px; border-radius:12px }
  .software-detail-page .download-panel-heading h2 { font-size:20px }
  .software-detail-page .download-panel-heading { margin-bottom:12px }
  .software-detail-page .download-empty { padding:0 }
  .software-detail-page .download-empty-icon { display:none }
  .software-detail-page .download-panel-lead,.software-detail-page .download-empty p { font-size:13px; line-height:1.7 }
  .software-detail-page .download-empty h3 { font-size:16px }
  .software-detail-page .download-tip { padding:9px; margin-top:12px }
  .software-detail-page .download-tip p { font-size:12px; line-height:1.65 }
  .software-detail-page .download-button { min-height:48px; padding:10px 12px; font-size:14px; white-space:normal }
  .software-detail-page .download-button>span { min-width:0; overflow-wrap:anywhere }
  .software-detail-page .download-button small,.software-detail-page .link-note { font-size:12px; line-height:1.65 }
  .software-detail-page .report-panel select,.software-detail-page .report-panel textarea { font-size:16px }
  .software-detail-page .related-section { margin:22px 0 }
  .software-detail-page .related-section h2 { font-size:20px }

  /* Lists and reading pages share the same scale instead of desktop cards. */
  .library-site .catalog-search { min-width:0; margin-top:10px; padding:4px 5px 4px 11px; gap:9px }
  .library-site .catalog-search input { font-size:16px; min-width:0 }
  .library-site .catalog-search .button { font-size:14px; min-height:36px; padding:7px 12px }
  .library-site .catalog-layout { grid-template-columns:minmax(0,1fr); gap:12px }
  .library-site .catalog-sidebar { display:flex; flex-wrap:wrap; gap:5px 7px; padding:10px; border-radius:10px }
  .library-site .catalog-sidebar .category-link { padding:5px 7px; font-size:13px; line-height:1.7; min-width:0; min-height:32px; margin:0; gap:6px }
  .library-site .catalog-main { min-width:0 }
  .library-site .catalog-main .filter-bar { flex-direction:row; flex-wrap:nowrap; gap:8px; margin-bottom:12px; font-size:12px; padding:8px 10px; align-items:center }
  .library-site .catalog-main .filter-pills { flex:1; min-width:0; flex-wrap:nowrap; gap:5px; overflow-x:auto; scrollbar-width:thin }
  .library-site .filter-pills .pill { font-size:12px; padding:5px 7px; min-height:32px; flex:none; white-space:nowrap }
  .library-site .catalog-main .filter-bar>.small { flex:none; white-space:nowrap; font-size:11px }
  .library-site .software-card.software-entry { padding:13px; column-gap:10px; border-radius:10px }
  .library-site .software-card h3 { font-size:16px; line-height:1.45; margin:0 0 3px }
  .library-site .software-card .entry-image,.library-site .software-card .entry-image .app-icon { width:44px; height:44px; flex-basis:44px }
  .library-site .software-card .entry-version-row { font-size:11px; gap:4px 6px }
  .library-site .software-card .entry-platform,.library-site .software-card .entry-featured { font-size:11px }
  .library-site .software-card .entry-main>p { font-size:13px; line-height:1.65; min-height:0; margin:8px 0 9px }
  .library-site .software-card .entry-meta { font-size:11px; gap:5px 8px }
  .library-site .software-card .entry-meta time { font-size:11px }
  .library-site .software-card .entry-meta .entry-download { font-size:12px; min-height:34px; padding:5px 8px }
  .reading-index .article-card-body { padding:14px }
  .reading-index .article-card h3 { font-size:17px; line-height:1.5; margin:7px 0 8px }
  .reading-index .article-card p { font-size:13px; line-height:1.65; margin-bottom:10px }
  .reading-index .article-card .eyebrow { font-size:11px }
  .reading-index .article-card .text-link { font-size:12px }
  .reading-index .reading-index-tabs { font-size:13px; gap:5px; flex-wrap:wrap }
  .reading-shell { padding-top:0; padding-bottom:24px }
  .reading-main { padding:16px; border-radius:12px }
  .reading-page .article-heading h1 { font-size:22px; line-height:1.45; margin:8px 0 10px }
  .reading-page .article-heading p { font-size:14px; line-height:1.7; margin-bottom:10px }
  .reading-page .article-heading { margin-bottom:16px }
  .reading-sidebar { gap:12px }
  .reading-side-panel { padding:16px }
  .reading-side-panel h2 { font-size:17px; margin-bottom:12px }
  .reading-page .reading-related,.reading-page .reading-comments { margin-top:20px; padding-top:18px }
  .reading-section-title h2 { font-size:19px }
  .reading-cover img { max-height:220px }
  .library-site .article-detail { padding-top:20px; padding-bottom:24px }
  .library-site .article-detail .article-heading { margin:0 0 16px; text-align:left }
  .library-site .article-detail .article-heading h1 { font-size:23px; margin:7px 0 10px }
  .library-site .article-detail .article-prose { padding:16px; border-radius:12px }

  /* Dynamic download states use compact panels, including long error text. */
  .library-site .resolve-shell { padding-top:0; padding-bottom:24px }
  .download-resolve-page .resolve-card { padding:16px; border-radius:12px }
  .download-resolve-page .resolve-heading { gap:11px; align-items:flex-start }
  .download-resolve-page .resolve-heading>div { min-width:0 }
  .download-resolve-page .resolve-heading .app-icon.large { width:44px; height:44px; flex-basis:44px; font-size:19px; border-radius:10px }
  .download-resolve-page .resolve-heading h1 { font-size:21px; margin:2px 0 5px; line-height:1.4 }
  .download-resolve-page .resolve-eyebrow { font-size:10px; line-height:1.4 }
  .download-resolve-page .resolve-heading p,.download-resolve-page .resolve-explainer p,.download-resolve-page .resolve-fallback p { font-size:13px; line-height:1.7 }
  .download-resolve-page .resolve-entry-info { padding:10px 12px; gap:6px 12px; font-size:12px; margin:14px 0 }
  .download-resolve-page .resolve-actions { margin-top:16px; gap:8px }
  .download-resolve-page .resolve-actions .button { min-width:0; width:100%; min-height:42px; font-size:14px; margin:0; white-space:normal }
  .download-resolve-page .resolve-form-note,.download-resolve-page .resolve-safety { font-size:12px; line-height:1.7 }
  .download-resolve-page .resolve-result { margin-top:18px; padding:14px 12px; border-radius:9px }
  .download-resolve-page .resolve-result h2 { font-size:17px; line-height:1.5; margin-bottom:8px }
  .download-resolve-page .resolve-result [role=status] { font-size:13px; line-height:1.7 }
  .download-resolve-page .resolve-candidates { grid-template-columns:minmax(0,1fr); gap:9px }
  .download-resolve-page .resolve-candidate { padding:12px; gap:7px }
  .download-resolve-page .resolve-fallback { margin-top:20px; padding-top:16px }
  .download-resolve-page .resolve-fallback-links { gap:8px; margin-top:10px }
  .library-site .pagination { margin:20px 0; gap:10px; font-size:13px }
  .library-site .error-page { min-height:300px; padding-top:40px; padding-bottom:40px }
  .library-site .error-page h1 { font-size:23px; line-height:1.4 }
  .library-site .error-page p { font-size:14px; line-height:1.7 }
  .library-site .site-footer { padding-top:22px; margin-top:24px }
  .library-site .site-footer p,.library-site .footer-links a { font-size:13px; line-height:1.8 }
  .library-site .footer-bottom { font-size:11px; line-height:1.7 }
}
@media (max-width:420px) {
  .library-site .catalog-sidebar { max-height:108px; overflow-y:auto; overscroll-behavior:contain }
  .software-detail-page .software-heading { padding:14px }
  .software-detail-page .software-heading h1 { font-size:20px }
  .software-detail-page .software-quick-facts { column-gap:8px }
}
