/*
 * OSAnime Typography System v15
 * Reference: index.php / optimized/home-page-v58.css
 * Goal: one Inter-based type hierarchy across public pages without changing layout geometry.
 */
:root{
  --os-font-sans:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --os-type-display:clamp(32px,3.7vw,48px);
  --os-type-page:clamp(26px,3vw,38px);
  --os-type-page-compact:clamp(22px,2.35vw,30px);
  --os-type-section:16px;
  --os-type-subsection:14px;
  --os-type-body:12px;
  --os-type-body-sm:11px;
  --os-type-meta:10px;
  --os-type-micro:9px;
  --os-leading-tight:1.12;
  --os-leading-title:1.25;
  --os-leading-body:1.55;
}

/* Font family only: safe globally and identical to the index reference. */
body.index-php-page,
body.index-php-page button,
body.index-php-page input,
body.index-php-page select,
body.index-php-page textarea{
  font-family:var(--os-font-sans)!important;
}

/* Keep icon glyph fonts intact. */
body.index-php-page :where(.fa,.fas,.far,.fal,.fab,.fa-solid,.fa-regular,.fa-brands,[class^="fa-"],[class*=" fa-"]){
  font-family:"Font Awesome 6 Free";
}
body.index-php-page :where(.fab,.fa-brands){font-family:"Font Awesome 6 Brands";}

/* Index remains the visual source of truth: no content-size overrides on home. */
body.index-php-page:not(.index-home-page) main{
  font-size:var(--os-type-body);
  line-height:var(--os-leading-body);
}

/* Shared header follows index scale on every internal page. */
body.index-php-page:not(.index-home-page) .topbar.osanime-header .nav,
body.index-php-page:not(.index-home-page) .topbar.osanime-header .site-nav-dropdown>button{
  font-size:12px!important;
}
body.index-php-page:not(.index-home-page) .topbar.osanime-header .search,
body.index-php-page:not(.index-home-page) .topbar.osanime-header .search input,
body.index-php-page:not(.index-home-page) .topbar.osanime-header .top-search input{
  font-size:11px!important;
}
body.index-php-page:not(.index-home-page) .topbar.osanime-header .btn,
body.index-php-page:not(.index-home-page) .topbar.osanime-header .auth-btn{
  font-size:11px!important;
  font-weight:800!important;
}
body.index-php-page:not(.index-home-page) .topbar.osanime-header .user-info b{font-size:10.5px!important;}
body.index-php-page:not(.index-home-page) .topbar.osanime-header .user-info small{font-size:8.5px!important;}
body.index-php-page:not(.index-home-page) .sidebar-nav a{font-size:13px!important;}

/* Reusable page hierarchy. Deliberately excludes quiz/game and full manga reader. */
body.index-php-page:not(.index-home-page):not(.quiz-page):not(.manga-reader-page)
  :where(.page-title,.intro,.search-box-wrap,.category-hero,.anime-directory-hero,.anime-detail-hero,.hitz-hero-text,
         .md11-hero,.mr12-hero,.mi19-hero,.mc13-hero,.mm18-hero,.mr14-hero,.mt17-hero,.me8-hero,.me8-profile,
         .manga-hero,.of-hero,.of-category-hero,.of-thread-hero,.of-compose-hero,.of-mod-hero) h1{
  font-family:var(--os-font-sans)!important;
  font-size:var(--os-type-page)!important;
  line-height:var(--os-leading-tight)!important;
  letter-spacing:-.025em!important;
  font-weight:900!important;
}

body.index-php-page:not(.index-home-page):not(.quiz-page):not(.manga-reader-page)
  :where(.panel-head,.section-head,.anime-directory-section-head,.anime-detail-section-head,.osanime-watch-section-head,
         .hitz-head,.music-search16-head,.md11-head,.mr12-head,.mc13-head,.mr14-head,.mt17-head,.me8-head,
         .manga-section-head,.manga-community-head,.of-section-head,.settings-panel-intro,.settings-preview-head) h2{
  font-family:var(--os-font-sans)!important;
  font-size:var(--os-type-section)!important;
  line-height:var(--os-leading-title)!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
}

body.index-php-page:not(.index-home-page):not(.quiz-page):not(.manga-reader-page)
  :where(.side-card,.anime-directory-side-card,.anime-detail-side-card,.osanime-watch-side-card,.hitz-side-card,
         .member-side-card,.settings-security-head,.settings-social-privacy-head,.notice-card) h3{
  font-family:var(--os-font-sans)!important;
  font-size:var(--os-type-subsection)!important;
  line-height:1.3!important;
  font-weight:900!important;
}

/* Search: bring result and filter text back to the index card scale. */
body.search-page.search-php-page .search-box-wrap h1{font-size:var(--os-type-page-compact)!important;}
body.search-page.search-php-page .search-box-wrap p{font-size:12px!important;line-height:1.55!important;}
body.search-page.search-php-page .result-info h2{font-size:13px!important;line-height:1.35!important;}
body.search-page.search-php-page .result-info p{font-size:11px!important;line-height:1.5!important;}
body.search-page.search-php-page .result-info .meta span{font-size:10px!important;}
body.search-page.search-php-page .music-search16-head p{font-size:11px!important;line-height:1.5!important;}
body.search-page.search-php-page .music-search16-field,
body.search-page.search-php-page .music-search16-form label{font-size:11px!important;}
body.search-page.search-php-page .music-search16-control :where(input,select){font-size:11px!important;}
body.search-page.search-php-page .side-card h3{font-size:13px!important;}
body.search-page.search-php-page .chips a{font-size:10px!important;}

/* Download/detail: title is important, metadata remains compact like index. */
body.download-page.download-php-page .song-info-detail h1,
body.download-page.download-php-page .music-detail-heading h1{
  font-size:clamp(25px,2.8vw,38px)!important;
  line-height:1.12!important;
}
body.download-page.download-php-page .artist-line :where(b,a){font-size:11px!important;}
body.download-page.download-php-page .download-card h2{font-size:14px!important;}
body.download-page.download-php-page .download-card p,
body.download-page.download-php-page .notice-card p{font-size:10.5px!important;line-height:1.55!important;}
body.download-page.download-php-page .notice-card h3{font-size:13px!important;}
body.download-page.download-php-page .info-grid>div>span{font-size:8.5px!important;}
body.download-page.download-php-page .info-grid>div>em{font-size:10px!important;}

/* Category. */
body.category-page.category-php-page .category-hero h1{font-size:var(--os-type-page)!important;line-height:1.12!important;}
body.category-page.category-php-page .category-hero p{font-size:12px!important;line-height:1.55!important;}

/* Settings: readable but compact, matching index cards rather than browser defaults. */
body.settings-page.settings-php-page .settings-head h1{font-size:var(--os-type-page-compact)!important;line-height:1.15!important;}
body.settings-page.settings-php-page .settings-head p{font-size:12px!important;line-height:1.55!important;}
body.settings-page.settings-php-page .settings-panel-intro h2,
body.settings-page.settings-php-page .settings-preview-head h2{font-size:15px!important;}
body.settings-page.settings-php-page .settings-security-head h3,
body.settings-page.settings-php-page .settings-social-privacy-head h3{font-size:13px!important;}
body.settings-page.settings-php-page .settings-panel-intro p,
body.settings-page.settings-php-page .settings-security-head p{font-size:10.5px!important;line-height:1.55!important;}
body.settings-page.settings-php-page .settings-label{font-size:11px!important;}
body.settings-page.settings-php-page :where(.settings-input,.settings-select,.settings-textarea,.settings-verified-field input,.settings-password-field input){font-size:12px!important;}
body.settings-page.settings-php-page :where(.settings-field-help,.settings-label-row small,.settings-tab-copy small){font-size:9px!important;line-height:1.5!important;}

/* Anime directory/detail/watch. Only typography changes; player geometry is untouched. */
body.anime-directory-page .anime-directory-hero h1{font-size:var(--os-type-page)!important;}
body.anime-directory-page .anime-directory-hero p{font-size:12px!important;line-height:1.55!important;}
body.anime-directory-page .anime-directory-item h3{font-size:14px!important;line-height:1.35!important;}
body.anime-directory-page :where(.anime-directory-meta,.anime-directory-subtitle,.anime-directory-kicker){font-size:9.5px!important;}
body.anime-detail-page [data-detail-title]{font-size:clamp(28px,3vw,40px)!important;line-height:1.1!important;}
body.anime-detail-page .anime-detail-alt-title{font-size:11px!important;line-height:1.45!important;}
body.anime-detail-page .anime-detail-section-head h2{font-size:16px!important;}
body.anime-watch-page .osanime-watch-heading h1{font-size:clamp(22px,2.3vw,30px)!important;line-height:1.18!important;}
body.anime-watch-page .osanime-watch-section-head h2{font-size:15px!important;}
body.anime-watch-page .osanime-watch-section-head p{font-size:10px!important;line-height:1.45!important;}

/* Music families. */
body.music-hitz-page .hitz-hero h1{font-size:var(--os-type-page)!important;line-height:1.08!important;}
body.music-hitz-page .hitz-head h2{font-size:16px!important;}
body.music-hitz-page .hitz-side-card h3{font-size:14px!important;}
body.music-hitz-page :where(.hitz-row,.hitz-period,.hitz-meta){font-family:var(--os-font-sans)!important;}
body.music-entities-page :where(.me8-hero,.me8-profile) h1,
body.music-discovery-page .md11-hero h1,
body.music-collection-page .mc13-hero h1,
body.music-mixes-page .mm18-hero h1,
body.music-radio-page .mr14-hero h1,
body.music-taste-page .mt17-hero h1,
body.music-recommendations-page .mr12-hero h1{
  font-size:var(--os-type-page)!important;
  line-height:1.1!important;
}
body :where(.music12-nav a){font-size:12px!important;}

/* Profile/member. */
body.profile-php-page .profile-name-copy h2{font-size:clamp(24px,2.6vw,34px)!important;line-height:1.12!important;}
body.profile-php-page :where(.member-side-card>h3,.profile-post-card h3){font-size:13px!important;line-height:1.35!important;}
body.profile-php-page .member-song-title{font-size:11px!important;}

/* Manga browsing pages: preserve reader mode, normalize library/detail typography. */
body.index-php-page:not(.manga-reader-page) .manga-hero h1,
body.index-php-page:not(.manga-reader-page) .manga-detail-info h1{font-size:clamp(30px,3.5vw,46px)!important;line-height:1.08!important;}
body.index-php-page:not(.manga-reader-page) .manga-section-head h2{font-size:16px!important;}
body.index-php-page:not(.manga-reader-page) .manga-card h2{font-size:13px!important;line-height:1.35!important;}
body.index-php-page:not(.manga-reader-page) :where(.manga-card p,.manga-detail-info p){font-size:11px;line-height:1.55;}

/* Forum: stop ultra-small 6–8px UI text while preserving dense layout. */
body.forum-page .of-hero h1{font-size:clamp(28px,3vw,38px)!important;}
body.forum-page :where(.of-category-hero,.of-thread-hero,.of-compose-hero,.of-mod-hero) h1{font-size:clamp(22px,2.4vw,28px)!important;}
body.forum-page .of-section-head h2{font-size:16px!important;}
body.forum-page :where(.of-category-title h3,.of-thread-title,.of-side-head h3,.of-account-card h3){font-size:11px!important;line-height:1.35!important;}
body.forum-page :where(.of-meta,.of-thread-meta,.of-category-meta,.of-kicker){font-size:9px!important;}

/* Static/support pages share a predictable hierarchy. */
body:is(.about-php-page,.contact-php-page,.privacy-php-page,.tos-php-page,.dmca-php-page,.faq-page,.blog-list-php-page,.blog-view-php-page,.new-update-php-page,.my-files-modern-page,.upload-php-page,.favorite-php-page)
  :where(.page-title,.intro,.blog-list-hero-text,.blog-info) h1{
  font-size:var(--os-type-page)!important;
  line-height:1.12!important;
}
body:is(.about-php-page,.contact-php-page,.privacy-php-page,.tos-php-page,.dmca-php-page,.faq-page,.blog-list-php-page,.blog-view-php-page,.new-update-php-page,.my-files-modern-page,.upload-php-page,.favorite-php-page)
  :where(.panel-head,.blog-list-head,.blog-card) h2{font-size:16px!important;line-height:1.3!important;}

@media (max-width:780px){
  :root{
    --os-type-page:clamp(22px,7vw,28px);
    --os-type-page-compact:clamp(20px,6.2vw,25px);
    --os-type-section:14px;
    --os-type-subsection:12px;
    --os-type-body:11px;
    --os-type-body-sm:10px;
    --os-type-meta:9px;
    --os-type-micro:8.5px;
  }
  body.index-php-page:not(.index-home-page) .topbar.osanime-header .nav,
  body.index-php-page:not(.index-home-page) .topbar.osanime-header .site-nav-dropdown>button{font-size:11px!important;}
  body.index-php-page:not(.index-home-page) .sidebar-nav a{font-size:12px!important;}

  body.search-page.search-php-page .result-info h2{font-size:12px!important;}
  body.search-page.search-php-page .result-info p{font-size:10px!important;}
  body.search-page.search-php-page .result-info .meta span{font-size:9px!important;}

  body.download-page.download-php-page .song-info-detail h1,
  body.download-page.download-php-page .music-detail-heading h1{font-size:clamp(20px,6vw,25px)!important;}
  body.download-page.download-php-page .download-card h2{font-size:13px!important;}
  body.download-page.download-php-page .download-card p,
  body.download-page.download-php-page .notice-card p{font-size:9.5px!important;}

  body.settings-page.settings-php-page .settings-head p{font-size:10.5px!important;}
  body.settings-page.settings-php-page .settings-panel-intro h2,
  body.settings-page.settings-php-page .settings-preview-head h2{font-size:13px!important;}
  body.settings-page.settings-php-page .settings-security-head h3,
  body.settings-page.settings-php-page .settings-social-privacy-head h3{font-size:12px!important;}
  body.settings-page.settings-php-page .settings-label{font-size:10px!important;}
  body.settings-page.settings-php-page :where(.settings-input,.settings-select,.settings-textarea,.settings-verified-field input,.settings-password-field input){font-size:11px!important;}

  body.anime-directory-page .anime-directory-item h3{font-size:12px!important;}
  body.anime-detail-page [data-detail-title]{font-size:clamp(23px,7vw,30px)!important;}
  body.anime-watch-page .osanime-watch-heading h1{font-size:clamp(19px,5.8vw,24px)!important;}
  body.anime-watch-page .osanime-watch-section-head h2{font-size:13px!important;}

  body.music-hitz-page .hitz-head h2{font-size:14px!important;}
  body.music-hitz-page .hitz-side-card h3{font-size:12px!important;}
  body :where(.music12-nav a){font-size:11px!important;}

  body.profile-php-page .profile-name-copy h2{font-size:clamp(20px,6vw,26px)!important;}
  body.index-php-page:not(.manga-reader-page) .manga-hero h1,
  body.index-php-page:not(.manga-reader-page) .manga-detail-info h1{font-size:clamp(25px,8vw,34px)!important;}
  body.forum-page .of-hero h1{font-size:clamp(23px,7vw,29px)!important;}
  body.forum-page :where(.of-category-hero,.of-thread-hero,.of-compose-hero,.of-mod-hero) h1{font-size:clamp(19px,6vw,24px)!important;}
}

@media (max-width:430px){
  body.download-page.download-php-page .song-info-detail h1,
  body.download-page.download-php-page .music-detail-heading h1{font-size:20px!important;}
  body.search-page.search-php-page .search-box-wrap h1{font-size:22px!important;}
  body.category-page.category-php-page .category-hero h1{font-size:23px!important;}
  body.anime-directory-page .anime-directory-hero h1{font-size:24px!important;}
  body.music-hitz-page .hitz-hero h1{font-size:26px!important;}
}
