/* QilyLean 2026-07-29：全站一阶至三阶菜单、标题、正文与说明统一排版层级 v4 */
:root{
  --qily-font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
  --qily-type-nav-1:17px;
  --qily-type-nav-2:16px;
  --qily-type-nav-3:15px;
  --qily-type-h1:clamp(43px,4.25vw,66px);
  --qily-type-h2:clamp(32px,2.9vw,46px);
  --qily-type-h3:clamp(22px,1.55vw,26px);
  --qily-type-h4:19px;
  --qily-type-body:18.5px;
  --qily-type-card:18.5px;
  --qily-type-note:16px;
  --qily-type-small:14.5px;
  --qily-line-body:1.72;
  --qily-line-heading:1.22;
}

html,body,button,input,textarea,select{
  font-family:var(--qily-font-sans)!important;
}
body{font-size:var(--qily-type-body)!important;line-height:var(--qily-line-body)!important}

/* 中文排版：标题允许平衡换行；正文优先铺满可用行宽后自然换行。 */
h1,h2,h3,h4,h5,h6,
.module-hero h1,.hero h1,.daily-hero h1,
.module-heading h2,.section-head h2,.section-heading h2,
.module-card h3,.paper-card h3,.career-full-card h3{
  text-wrap:balance;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  line-break:strict!important;
}
p,li,dd,dt,blockquote,
.module-lead,.lead,.answer-content,
.module-card p,.paper-card p,.career-full-card p,.career-full-card li,
.career-overview span,.career-chain{
  text-wrap:wrap;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  line-break:strict!important;
}

/* 一阶菜单：全站主导航。 */
.qily-site-header.qily-global-header>.qily-global-nav a,
.qily-site-header .site-nav>a,
header.topbar .nav>a,
header.top .nav>a{
  font-family:var(--qily-font-sans)!important;
  font-size:var(--qily-type-nav-1)!important;
  font-weight:850!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}

/* 二阶菜单：首屏子导航、页签、主题切换。 */
.module-subnav>a,
.subnav>a,
.site-subnav>a,
.category-nav>a,
.tabs>a,
.tabs>button,
.topic-controls .topic-control,
.module-action,
.section-nav>a,
.category-nav>a,
.hero .toc>a{
  font-family:var(--qily-font-sans)!important;
  font-size:var(--qily-type-nav-2)!important;
  font-weight:850!important;
  line-height:1.3!important;
}

/* 三阶菜单：正文目录、筛选、卡片操作及标签。 */
.section .toc a,
.table-of-contents a,
.filter-bar button,
.filter-bar a,
.filters button,
.filters a,
.module-actions a,
.card-actions a,
.actions a,
.moment-link,
.moment-back,
.design-link,
.article-links a,
.project-list-action,
.project-card-action,
.travel-year,
.button,
.share-button,
.project-card-brief,
.module-card small,
.paper-card small,
.career-full-card small,
.module-eyebrow,
.eyebrow{
  font-family:var(--qily-font-sans)!important;
  font-size:var(--qily-type-nav-3)!important;
  line-height:1.45!important;
}

/* 一级标题。 */
.module-hero h1,
.hero h1,
.daily-hero h1,
.qily-home-balanced h1,
main>h1,
article>h1{
  font-family:var(--qily-font-sans)!important;
  font-size:var(--qily-type-h1)!important;
  font-weight:950!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}

/* 二级标题：模块标题、文章标题。 */
.module-heading h2,
.module-page .head h2,
.section .head h2,
.section-head h2,
.section-heading h2,
.module-card>h2,
.article>h2,
main section>h2,
article>h2{
  font-family:var(--qily-font-sans)!important;
  font-size:var(--qily-type-h2)!important;
  font-weight:930!important;
  line-height:var(--qily-line-heading)!important;
  letter-spacing:-.012em!important;
}

/* 三级标题：卡片标题、文章分节标题。 */
.module-card h3,
.paper-card h3,
.career-full-card h3,
.project-list-content h3,
.project-story h3,
.project-result-panel h3,
.article h3,
article h3,
section h3{
  font-family:var(--qily-font-sans)!important;
  font-size:var(--qily-type-h3)!important;
  font-weight:900!important;
  line-height:1.32!important;
}

.module-card h4,
.career-full-card h4,
.article h4,
article h4,
section h4{
  font-family:var(--qily-font-sans)!important;
  font-size:var(--qily-type-h4)!important;
  font-weight:880!important;
  line-height:1.4!important;
}

/* 正文、概述和列表统一阅读尺度。 */
.module-page,
.module-card p,
.module-card li,
.paper-card p,
.career-full-card p,
.career-full-card li,
.career-overview span,
.career-chain,
.article p,
.article li,
.project-list-content>p,
.project-story p,
.project-story li,
.project-result-panel p,
.section-head p,
.section-heading p,
.module-page .head p,
.intro,
.lead,
.summary,
.description,
.desc,
.copy,
.prose,
.travel-story-heading p,
.design-feature p,
.moment-directory-card p,
.gallery-group p,
.travel-card span,
article p,
article li,
section p,
section li{
  font-family:var(--qily-font-sans)!important;
  font-size:var(--qily-type-body)!important;
  line-height:var(--qily-line-body)!important;
}

.module-lead,
.hero .lead,
.hero>div>p,
.daily-hero p,
.qily-home-balanced .lead{
  font-family:var(--qily-font-sans)!important;
  font-size:clamp(20.5px,1.4vw,24px)!important;
  line-height:1.68!important;
}

.module-result,
.module-note,
.career-result,
.note,
figcaption,
.caption,
.meta,
.gallery-tip,
.empty,
.moment-count,
.project-meta,
.article-meta,
.module-footer,
.footer{
  font-family:var(--qily-font-sans)!important;
  font-size:var(--qily-type-note)!important;
  line-height:1.64!important;
}

small,
.module-card small,
.paper-card small,
.career-full-card small,
.project-fact small,
.tag,
.tag-row li{
  font-size:var(--qily-type-small)!important;
}

/* 首页职业概述：保持信息密度，但不压成小字。 */
.hero-grid .lead,
.qily-home-balanced .lead{
  font-size:clamp(20px,1.25vw,23px)!important;
  line-height:1.64!important;
}
.tags li,.group-label,.topic-control{font-size:15.5px!important}
.answer{font-size:19px!important;line-height:1.72!important}
.portrait-badge strong{font-size:20px!important}.portrait-badge span{font-size:14px!important}

/* 履历主线：卡片双栏时保证正文不偏小。 */
.career-full-card p,
.career-full-card li,
.career-overview span,
.career-chain{font-size:18px!important;line-height:1.7!important}
.career-full-card h3{font-size:24px!important}
.career-full-card h4{font-size:19px!important}
.career-full-card small{font-size:15px!important}
.career-result{font-size:17px!important;line-height:1.66!important}

/* QilyLean AI：对话正文、状态、按钮和输入区整体提升一档。 */
.chat{font-family:var(--qily-font-sans)!important;font-size:18px!important;line-height:1.68!important}
.messages,.bubble,.answer-content{font-size:18.5px!important;line-height:1.7!important}
.answer-content h2{font-size:25px!important;line-height:1.34!important}
.answer-content h3{font-size:22px!important;line-height:1.38!important}
.answer-content h4{font-size:19px!important;line-height:1.42!important}
.answer-content p,.answer-content li{font-size:18.5px!important;line-height:1.7!important}
.answer-content table{font-size:16px!important}
.status-title{font-size:16.5px!important;line-height:1.34!important}
.status-detail,.meta,.upload-note,.notice{font-size:14.5px!important;line-height:1.58!important}
.quick button,.upload-btn,.send-btn,.clear,.speech-play,.speech-settings summary,.speech-save{font-size:15px!important;line-height:1.34!important}
.composer textarea{font-size:17px!important;line-height:1.52!important}
.attachment-name{font-size:15px!important}.attachment-size{font-size:13px!important}

/* 统一标题与正文的垂直节奏。 */
.module-heading,
.module-page .head,
.section .head,
.section-head,
.section-heading{
  margin-bottom:28px!important;
}
.module-card h2,.module-card h3,.paper-card h3,.career-full-card h3{margin-top:0!important;margin-bottom:12px!important}
.module-card h4,.career-full-card h4{margin-top:18px!important;margin-bottom:7px!important}
.module-card p,.paper-card p,.career-full-card p{margin-top:0!important;margin-bottom:12px!important}

@media(max-width:1100px){
  :root{--qily-type-body:18px;--qily-type-card:18px}
  .career-full-card p,.career-full-card li,.career-overview span,.career-chain{font-size:18px!important}
}

@media(max-width:900px){
  :root{
    --qily-type-nav-1:13.5px;
    --qily-type-nav-2:14.5px;
    --qily-type-nav-3:14px;
    --qily-type-h3:22px;
    --qily-type-body:18px;
    --qily-type-card:17.5px;
  }
}

@media(max-width:620px){
  :root{
    --qily-type-nav-1:12px;
    --qily-type-nav-2:13.5px;
    --qily-type-nav-3:13px;
    --qily-type-h1:clamp(36px,10vw,43px);
    --qily-type-h2:clamp(29px,8vw,36px);
    --qily-type-h3:21px;
    --qily-type-h4:18px;
    --qily-type-body:17.5px;
    --qily-type-card:17px;
    --qily-type-note:15px;
  }
  .messages,.bubble,.answer-content,.answer-content p,.answer-content li{font-size:17px!important}
  .answer-content h2{font-size:22px!important}.answer-content h3{font-size:20px!important}
  .status-detail,.meta,.upload-note,.notice{font-size:13.5px!important}
}
