/* ============================================================
   9sb.net 全站排版统一
   目标：正文 16px；辅助信息 13px；页面标题 24px；
   文章标题 24–30px；小节标题 21/18px。
   只调整字号、行高、字重，不改颜色、圆角、布局。
   ============================================================ */

:root {
    --type-page-title: 24px;
    --type-article-title: clamp(24px, 2.6vw, 30px);
    --type-section: 21px;
    --type-subsection: 18px;
    --type-card-title: 16px;
    --type-body: 16px;
    --type-sm: 14px;
    --type-xs: 13px;
    --type-2xs: 12px;
}

/* MiSans 只加载 400/600 两个真实字重；禁止字重合成。
   700/800 自动落到 600，500 落到 400，避免浏览器画出发糊的假粗体。 */
html {
    font-synthesis: style;
    font-synthesis-weight: none;
}

/* ---------- 基础 ---------- */
body {
    font-size: var(--type-body);
    line-height: 1.75;
}

h1 {
    font-size: var(--type-page-title);
    line-height: 1.35;
}

h2 {
    font-size: var(--type-section);
    line-height: 1.4;
}

h3 {
    font-size: var(--type-subsection);
    line-height: 1.45;
}

h4 {
    font-size: var(--type-body);
    line-height: 1.5;
}

.title_block_title h1 {
    margin: 18px auto;
    font-size: var(--type-page-title);
    line-height: 1.35;
}

/* 页面级标题统一：MiSans、24px、真实 600、行高 1.3。
   文章大标题 .post-title-block h1 只单独放大字号，字重仍沿用这里。 */
.title_block_title h1,
body .guidang-hero-title h1,
body .rank-title-left h1,
body .ztj-links-hero h1,
body .ztj-rss-hero-copy h1,
body .ztj-nz-hero-title strong,
body .ztj-titlebar h1 {
    font-family: var(--font-main);
    font-weight: 600;
    line-height: 1.3;
}

/* ---------- 导航与页脚 ---------- */
.tp-nav {
    font-size: 15px;
    line-height: 1.6;
}

.tp-subnav-link {
    font-size: 13.5px;
    line-height: 1.5;
}

.footer.ink-footer {
    font-size: var(--type-xs);
    line-height: 1.7;
}

/* ---------- 首页 ---------- */
.home-post-title {
    font-size: var(--type-card-title);
    line-height: 1.6;
}

.home-post-date span {
    font-size: var(--type-xs);
    line-height: 1.4;
}

.home-post-comments {
    font-size: var(--type-xs);
    line-height: 1.4;
}

.home-sticky-content h2 {
    font-size: clamp(20px, 3.2vw, 24px);
    line-height: 1.4;
}

.home-sticky-content p {
    font-size: 15px;
    line-height: 1.75;
}

.home-post-card-title {
    font-size: 20px;
    line-height: 1.45;
}

.home-post-card-excerpt {
    font-size: 15px;
    line-height: 1.75;
}

.home-post-card-meta {
    font-size: var(--type-xs);
}

.home-pagination li a {
    font-size: 13.5px;
}

.home-pagination-jump button {
    font-size: 12.5px;
}

/* ---------- 文章 ---------- */
.post-title-block h1 {
    font-size: var(--type-article-title);
    line-height: 1.4;
    letter-spacing: .01em;
}

.post-meta,
.post-meta-item,
.post-meta .post-edit-link {
    font-size: var(--type-xs);
    line-height: 1.5;
}

.tp-post-article {
    font-size: var(--type-body);
    line-height: 1.85;
}

.tp-post-article .post_content p {
    line-height: 1.85;
}

.tp-post-article .post_content h1 {
    font-size: 24px;
    line-height: 1.45;
}

.tp-post-article .post_content h2 {
    font-size: var(--type-section);
    line-height: 1.45;
}

.tp-post-article .post_content h3 {
    font-size: var(--type-subsection);
    line-height: 1.5;
}

.tp-post-article .post_content h4 {
    font-size: 17px;
    line-height: 1.5;
}

.tp-post-article .post_content h5 {
    font-size: 15px;
    line-height: 1.55;
}

.tp-post-article .post_content h6 {
    font-size: var(--type-sm);
    line-height: 1.6;
}

.tp-post-article .post_content pre,
.tp-post-article .post_content pre[class*="language-"] {
    font-size: 13px;
    line-height: 1.75;
}

.tp-post-article .post_content th,
.tp-post-article .post_content td {
    font-size: var(--type-sm);
    line-height: 1.7;
}

.tp-post-article .post_content figcaption {
    font-size: var(--type-xs);
    line-height: 1.6;
}

.tp-post-article .post_content .footnotes,
.tp-post-article .post_content .footnotes-list {
    font-size: var(--type-sm);
}

.article-tags a {
    font-size: var(--type-xs);
    line-height: 1.5;
}

.post-near-body strong {
    font-size: 15px;
    line-height: 1.5;
}

.post-near-body small {
    font-size: var(--type-2xs);
    line-height: 1.4;
}

.post-toc-head strong {
    font-size: 14px;
}

.post-toc-link {
    font-size: 13px;
    line-height: 1.5;
}

/* ---------- 归档 ---------- */
body .guidang-hero-title h1 {
    font-size: var(--type-page-title);
    line-height: 1.3;
}

body .guidang-hero-title span {
    font-size: 13.5px;
}

body .guidang-intro {
    font-size: 15px;
    line-height: 1.8;
}

body .guidang-tags-title {
    font-size: var(--type-section);
    line-height: 1.4;
}

body .guidang-group-title {
    font-size: var(--type-subsection);
    line-height: 1.4;
}

body .guidang-link {
    font-size: 15px;
    line-height: 1.7;
}

body .guidang-date {
    font-size: 14px;
    line-height: 1.4;
}

/* ---------- 留言 ---------- */
body .rank-title-left h1 {
    font-size: var(--type-page-title);
    line-height: 1.3;
}

body .rank-title-sub {
    font-size: 13.5px;
    line-height: 1.5;
}

body .rank-intro {
    font-size: 15px;
    line-height: 1.8;
}

body .rank-list-text {
    font-size: var(--type-sm);
    line-height: 1.65;
}

body .rank-top-quote-text {
    font-size: var(--type-sm);
    line-height: 1.65;
}

body .rank-list-name,
body .rank-list-count {
    font-size: 15px;
    line-height: 1.4;
}

body .rank-stat-text span {
    font-size: var(--type-xs);
}

/* ---------- 友链 ---------- */
body .ztj-links-hero h1 {
    font-size: var(--type-page-title);
    font-weight: 600;
    line-height: 1.3;
}

body .ztj-links-hero p {
    font-size: var(--type-sm);
    line-height: 1.6;
}

body .ztj-links-intro {
    font-size: 15px;
    line-height: 1.8;
}

body .ztj-links-apply-title,
body .ztj-links-sort-title {
    font-size: var(--type-section);
    line-height: 1.4;
}

body .ztj-link-name {
    font-size: var(--type-card-title);
    font-weight: 400;
    line-height: 1.35;
}

body .ztj-link-url {
    font-size: 12.5px;
    line-height: 1.3;
}

body .ztj-links-rule-text strong {
    font-size: 15px;
    line-height: 1.5;
}

body .ztj-links-rule-text span,
body .ztj-links-site-row dt,
body .ztj-links-site-row dd {
    font-size: var(--type-xs);
    line-height: 1.6;
}

body .ztj-links-sort-count {
    font-size: var(--type-2xs);
}

/* ---------- 博友动态 ---------- */
body .ztj-rss-hero-copy h1 {
    font-size: var(--type-page-title);
    line-height: 1.3;
}

body .ztj-rss-hero-copy p {
    font-size: 13.5px;
    line-height: 1.6;
}

body .ztj-rss-intro {
    font-size: var(--type-sm);
    line-height: 1.8;
}

body .ztj-rss-title {
    font-size: var(--type-card-title);
    line-height: 1.5;
}

body .ztj-rss-desc {
    font-size: var(--type-sm);
    line-height: 1.7;
}

body .ztj-rss-site {
    font-size: var(--type-xs);
}

body .ztj-rss-date {
    font-size: 12.5px;
}

body .ztj-rss-day-badge {
    font-size: var(--type-2xs);
}

/* ---------- 服务器状态 ---------- */
body .ztj-nz-hero-title strong {
    font-size: var(--type-page-title);
    line-height: 1.3;
}

body .ztj-nz-hero-title span {
    font-size: var(--type-sm);
}

body .ztj-nz-stat span {
    font-size: var(--type-xs);
}

body .ztj-nz-name {
    font-size: 14px;
}

body .ztj-nz-bar-val {
    font-size: var(--type-xs);
}

body .ztj-nz-bar-label,
body .ztj-nz-card-foot,
body .ztj-nz-lhead,
body .ztj-nz-lc-sys,
body .ztj-nz-lc-net,
body .ztj-nz-lc-load,
body .ztj-nz-lc-up {
    font-size: 12.5px;
    line-height: 1.5;
}

body .ztj-nz-updated {
    font-size: 12.5px;
}

body .ztj-nz-pill {
    font-size: var(--type-2xs);
}

/* ---------- 关于 ---------- */
body .ztj-titlebar h1 {
    font-size: var(--type-page-title);
    line-height: 1.3;
}

body .ztj-titlebar p {
    font-size: 13.5px;
    line-height: 1.5;
}

body .ztj-profile-content h2 {
    font-size: 28px;
    line-height: 1.3;
}

body .ztj-profile-content p,
body .ztj-story p,
body .ztj-about-site p {
    font-size: var(--type-body);
    line-height: 1.85;
}

body .ztj-section-head h2 {
    font-size: var(--type-section);
    line-height: 1.4;
}

body .ztj-section-head span {
    font-size: var(--type-xs);
    line-height: 1.6;
}

body .ztj-milestone-item {
    font-size: var(--type-sm);
    line-height: 1.6;
}

body .ztj-ten-quote {
    font-size: 15px;
    line-height: 1.8;
}

body .ztj-contact-text strong {
    font-size: 15px;
}

body .ztj-contact-text span {
    font-size: var(--type-xs);
}

body .ztj-float-tag {
    font-size: 12.5px;
}

body .ztj-stat-text span,
body .ztj-stat-text em {
    font-size: 12.5px;
}

/* ---------- 评论 ---------- */
#comments .tp-comment-text {
    font-size: var(--type-body);
    line-height: 1.75;
}

#comments .tp-comment-children .tp-comment-text {
    font-size: 15px;
    line-height: 1.75;
}

#comments .tp-comment-author,
#comments .tp-comment-author a {
    font-size: 15px;
}

#comments .tp-comment-meta {
    font-size: var(--type-xs);
    line-height: 1.5;
}

#comments .tp-comment-level,
#comments .commentapprove,
#comments .tp-heart-badge {
    font-size: var(--type-2xs);
}

#comments .cat_comment_respond_form input,
#comments .cat_comment_respond_form textarea {
    font-size: 15px;
    line-height: 1.7;
}

/* 481–768px 双栏置顶卡：徽标移到封面图上方，避免压住标题 */
@media (min-width: 481px) and (max-width: 768px) {
    .home-sticky-badge {
        top: 12px;
        right: auto;
        left: 12px;
    }
}

@media (max-width: 768px) {
    input,
    textarea,
    select {
        font-size: 16px;
    }

    #comments .cat_comment_respond_form input,
    #comments .cat_comment_respond_form textarea {
        font-size: 16px;
    }

    .title_block_title.post-title-block h1 {
        font-size: 24px;
    }

    .title_block_title h1 {
        font-size: 22px;
    }

    body .guidang-hero-title h1,
    body .rank-title-left h1,
    body .ztj-links-hero h1,
    body .ztj-rss-hero-copy h1,
    body .ztj-nz-hero-title strong,
    body .ztj-titlebar h1 {
        font-size: 22px;
    }

    .home-post-title {
        font-size: var(--type-card-title);
    }

    .home-sticky-content h2 {
        font-size: 20px;
    }

    .home-post-card-title {
        font-size: 18px;
    }

    .tp-post-article {
        font-size: var(--type-body);
    }

    .tp-post-article .post_content h2 {
        font-size: 20px;
    }

    .tp-post-article .post_content h3 {
        font-size: var(--type-subsection);
    }

    body .ztj-profile-content p,
    body .ztj-story p,
    body .ztj-about-site p {
        font-size: var(--type-body);
    }
}
