/* Mobile type scale remains readable on narrow screens; page styles load first. */
body.mobile-live{font-size:16px;line-height:1.65}
.m-search input{font-size:16px}
.m-search select{font-size:14px}
.m-search{min-height:44px}
.category-button{font-size:14px;min-height:44px}
.bottom-nav a{font-size:12px;line-height:1.4;min-height:54px}
.bottom-nav .icon{width:22px;height:22px}
.section-heading h2,.portal-intro h1,.portal-section-head h2,.resource-section-head h2{font-size:20px;line-height:1.5}
.section-heading>a,.section-heading small,.portal-section-head>a,.portal-section-head>span,.resource-section-head>a,.resource-section-head>span,.resource-section-head>time{font-size:13px;line-height:1.6}
.platform-tabs a,.catalog-page .platform-tabs a,.sort-tabs a,.catalog-page .sort-tabs a,.sort-tabs button,.rank-types a,.rankings-page .rank-types a{font-size:14px;min-height:44px}
.rankings-page .rank-top h1{font-size:24px}
.rankings-page .rank-top p{font-size:13px;line-height:1.8}
.genre-strip a,.catalog-page .genre-strip a{font-size:14px;min-height:40px}
.list-toolbar small,.catalog-page .list-toolbar small,.filter-summary,.catalog-page .filter-summary,.server-breadcrumb{font-size:13px}
.server-pager,.server-pager a{font-size:14px}
.server-pager a{min-width:40px;min-height:40px}
.app-copy h2,.saved-row>a{font-size:16px;line-height:1.55}
.app-meta,.app-desc,.pc-platforms,.get-button,.saved-row small,.saved-row button,.sheet-categories a,.sheet-close{font-size:13px}
.empty-state p,.empty-state a,.portal-empty{font-size:14px}
.m-footer,.m-footer.site-footer,.site-footer .footer-links{font-size:13px;line-height:1.9}

/* Homepage: compact icon grids, larger list text and touch controls. */
.portal-intro>span{font-size:13px}
.mobile-platforms a{font-size:14px;min-height:40px}
.strip-item strong,.score-entry strong{font-size:14px;line-height:1.5;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:42px}
.mobile-spotlight-copy strong{font-size:17px;line-height:1.55}
.mobile-spotlight-copy small,.mobile-spotlight-copy>span{font-size:13px}
.home-tabs button,.next-recommend{font-size:14px;min-height:40px}
.update-entry{grid-template-columns:57px 22px minmax(0,1fr) 35px;gap:7px;min-height:49px}
.update-entry strong{font-size:16px;line-height:1.55}
.update-entry .update-category,.update-entry time{font-size:12px;color:#666}
.update-more,.update-more a{font-size:13px}
.recommend-app-head strong{font-size:16px}
.recommend-app-head small,.recommend-footer,.recommend-footer a,.score-note{font-size:13px}
.recommend-card>p{font-size:15px;line-height:1.85;min-height:56px}
.software-library-grid strong{font-size:15px;line-height:1.5}
.software-library-grid small{font-size:13px;color:#666}
.score-number{font-size:15px}
.mobile-category-group h3{font-size:14px;width:28px;flex-basis:28px}
.mobile-category-group nav a{font-size:13px;min-height:42px}

/* Catalog: keep a single dense list, allow longer titles and metadata to wrap. */
.catalog-page .catalog-row,.rank-catalog-entry .catalog-row{grid-template-columns:46px minmax(0,1fr) 48px;gap:10px;min-height:112px;padding:12px 0}
.catalog-page .catalog-row .app-icon{width:46px;height:46px;border-radius:11px}
.catalog-page .catalog-row h2,.rank-catalog-entry .catalog-row h2{font-size:16px;line-height:1.5;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:none}
.catalog-meta,.catalog-version,.catalog-row-bottom,.catalog-rating{font-size:13px;line-height:1.6}
.catalog-meta{flex-wrap:wrap;white-space:normal;gap:2px 5px}
.catalog-version{flex-wrap:wrap;gap:0 7px}
.catalog-version>span:last-child{white-space:normal;overflow-wrap:anywhere;min-width:0;flex-shrink:1}
.catalog-row-bottom{flex-wrap:wrap;gap:0 10px;white-space:normal}
.catalog-open{font-size:14px;min-height:44px;min-width:48px}
.resource-rank{font-size:13px}
.mini-app-grid strong{font-size:14px;line-height:1.5}
.mini-app-grid small{font-size:13px}

/* Details: 16px body text and clear package/version information. */
.product-title-copy h1{font-size:25px;line-height:1.45}
.product-title-copy>p,.product-platforms>span,.product-store-rating small,.product-rating-note{font-size:13px;line-height:1.6}
.product-platforms .product-store-rating{font-size:15px}
.product-platforms{flex-wrap:wrap}
.product-download .download-options h2{font-size:15px}
.product-download .primary-download,.product-download .disabled-download{font-size:15px;min-height:48px;line-height:1.6}
.product-download .download-options>p{font-size:13px;line-height:1.8}
.product-facts>div{display:block}
.product-facts dt,.product-facts small{font-size:13px}
.product-facts dd,.product-facts .fact-wide dd{font-size:15px;line-height:1.8}
.product-facts .fact-wide{display:block}
.product-facts .fact-wide dt{font-size:13px;margin-bottom:4px}
.product-toc a{font-size:14px;min-height:48px}
.product-section>p,.rich-content{font-size:16px;line-height:1.9}
.rich-content h2{font-size:21px;line-height:1.5}
.rich-content h3,.product-section h3{font-size:19px;line-height:1.6}
.rich-content h4{font-size:17px}
.product-version-line,.product-version-line strong{font-size:14px;line-height:1.8}
.product-version-line span,.product-source,.product-source>span,.product-source>p{font-size:13px;line-height:1.85}
.resource-section-head{flex-wrap:wrap;gap:5px 12px}
@media(max-width:360px){
 .update-entry{grid-template-columns:52px 20px minmax(0,1fr) 33px;gap:5px}
 .update-entry .update-category,.update-entry time{font-size:12px}
 .catalog-page .catalog-row,.rank-catalog-entry .catalog-row{grid-template-columns:42px minmax(0,1fr) 46px;gap:8px}
 .catalog-page .catalog-row .app-icon{width:42px;height:42px}
 .catalog-open{min-width:46px}
 .mobile-category-group{align-items:flex-start}
 .mobile-category-group nav{grid-template-columns:repeat(3,minmax(0,1fr))}
 .product-title-copy h1{font-size:23px}
 .product-toc a{font-size:13px}
}
