/* Public typography. Loaded after page styles so dense layouts stay readable. */
body.desktop-live{font-size:16px;line-height:1.65}
.pc-nav a{font-size:15px;padding-left:13px;padding-right:13px}
.header-mobile,.server-breadcrumb{font-size:13px}
.m-search input{font-size:15px}
.m-search select{font-size:14px}
.m-search{min-height:44px}
.section-heading h2,.portal-intro h1,.library-heading h2{font-size:22px}
.portal-section-head h2,.resource-section-head h2{font-size:19px}
.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}
.platform-tabs a,.catalog-page .platform-tabs a,.sort-tabs button,.sort-tabs a,.catalog-page .sort-tabs a,.rank-types a,.rankings-page .rank-types a,.catalog-heading>nav{font-size:14px;min-height:38px}
.genre-strip a,.catalog-page .genre-strip a,.list-toolbar small,.catalog-page .list-toolbar small,.filter-summary,.catalog-page .filter-summary,.catalog-heading>span,.server-pager,.catalog-footnote{font-size:13px}
.server-pager a{font-size:14px;min-width:38px;min-height:38px}
.app-copy h2,.saved-row>a{font-size:16px;line-height:1.55}
.app-meta,.app-desc,.pc-platforms,.saved-row small,.saved-row button,.get-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: retain the ten-column icon strip and the three-column content area. */
.portal-intro-right,.portal-count,.portal-intro nav,.strip-caption>a,.library-heading>span,.library-heading nav,.library-filter-links{font-size:13px}
.strip-caption h2{font-size:16px}
.strip-item strong{font-size:14px;line-height:1.5}
.strip-item small,.game-library-grid .strip-item small,.software-library-grid small{font-size:13px;line-height:1.6;color:#666}
.spotlight-copy strong,.recommend-app-head strong{font-size:16px}
.spotlight-copy small,.spotlight-thumbs strong,.portal-category-links a{font-size:14px}
.portal-category-links a{min-height:38px}
.portal-headline>a{font-size:20px}
.portal-headline>p,.recommend-card>p{font-size:14px;line-height:1.85}
.portal-headline-meta,.recommend-app-head small,.recommend-footer,.recommend-footer a,.score-note{font-size:13px}
.home-tabs button,.next-recommend{font-size:14px;min-height:36px}
.update-entry{grid-template-columns:65px 22px minmax(0,1fr) 40px;gap:8px;min-height:42px}
.update-entry strong{font-size:15px;line-height:1.6}
.update-entry .update-category,.update-entry time{font-size:13px;color:#666}
.update-more,.update-more a{font-size:13px}
.score-entry strong,.software-library-grid strong,.text-entry strong{font-size:14px;line-height:1.55}
.score-entry small,.score-position,.text-entry small{font-size:13px;color:#666}
.score-number{font-size:15px}
.category-board h2{font-size:17px}
.category-board h2 a{font-size:13px}
.text-entry{min-height:36px}

/* Catalog: readable names and metadata without reducing the desktop column count. */
.catalog-heading h1,.rankings-page .rank-top h1{font-size:28px}
.catalog-page .catalog-row{grid-template-columns:46px minmax(0,1fr);gap:11px;min-height:137px;padding-top:15px;padding-bottom:14px}
.catalog-page .catalog-row .app-icon{width:46px;height:46px;border-radius:11px}
.catalog-page .catalog-row h2{font-size:16px;line-height:1.55}
.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:3px 6px}
.catalog-version{flex-wrap:wrap;gap:0 8px}
.catalog-version>span:last-child{white-space:normal;overflow-wrap:anywhere;min-width:0;flex-shrink:1}
.catalog-row-bottom{padding-right:48px;min-height:28px;flex-wrap:wrap;gap:0 8px;white-space:normal}
.catalog-open{font-size:13px;min-height:32px;min-width:44px}
.resource-rank{font-size:13px}
.rankings-page .rank-top p{font-size:14px}
.compact-resource strong{font-size:15px;line-height:1.55}
.compact-resource small,.compact-resource time,.rail-categories a{font-size:13px}

/* Details: comfortable reading, including factual fields and download hints. */
.product-title-copy h1{font-size:28px;line-height:1.45}
.product-title-copy>p,.product-platforms>span,.product-store-rating small,.product-rating-note{font-size:13px}
.product-platforms .product-store-rating{font-size:15px}
.product-download .download-options h2{font-size:15px}
.product-download .primary-download,.product-download .disabled-download{font-size:14px;min-height:46px;line-height:1.6}
.product-download .download-options>p{font-size:13px;line-height:1.8}
.product-facts>div,.product-facts dd{font-size:15px;line-height:1.8}
.product-facts dt,.product-facts small{font-size:13px}
.product-facts dt,.product-facts .fact-wide dt{flex-basis:98px}
.product-toc a{font-size:15px;min-height:48px}
.product-section>p,.rich-content{font-size:16px;line-height:1.9}
.rich-content h2{font-size:22px;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}
.mini-app-grid strong{font-size:14px;line-height:1.5}
.mini-app-grid small{font-size:13px}
@media(max-width:1100px){
 .pc-nav a{padding-left:9px;padding-right:9px}
 .portal-dashboard{gap:18px}
 .portal-dashboard>section,.portal-dashboard>aside{padding-left:18px}
 .update-entry{grid-template-columns:60px 20px minmax(0,1fr) 37px;gap:5px}
 .update-entry .update-category,.update-entry time{font-size:12px}
 .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .product-facts>div{display:block}
 .product-facts dt{margin-bottom:3px}
}
@media(max-width:700px){
 .catalog-page .catalog-row{display:block;min-height:175px}
 .portal-dashboard>section,.portal-dashboard>aside{padding-left:0}
 .product-title-copy h1{font-size:25px}
 .product-toc a{font-size:14px}
}
