/* 字体与文字层级的唯一来源；首页和 /visual 共用。 */
:root{
  --font-ui:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC","Source Han Sans SC","Heiti SC",sans-serif;
  --font-novel:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC","SimSun",serif;
  --font-vitals:"Heiti SC","SimHei","PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
}
body{font-family:var(--font-ui)}
button,a{font:inherit}

.type-max-title{font-family:var(--font-ui);font-size:clamp(25.5px,3.65vw,47.5px);font-weight:650;line-height:1.2;letter-spacing:-.06em;white-space:nowrap}
.type-section-title{font-family:var(--font-ui);font-size:min(28px,clamp(25.5px,3.65vw,47.5px));font-weight:650;line-height:1.35;letter-spacing:-.035em}
.type-subsection-title{font-family:var(--font-ui);font-size:20px;font-weight:600;line-height:1.45;letter-spacing:-.02em}
.type-lead{font-family:var(--font-ui);font-size:18px;font-weight:400;line-height:1.7;letter-spacing:0}
.type-body{font-family:var(--font-ui);font-size:16px;font-weight:400;line-height:1.7;letter-spacing:0}
.type-quote{font-family:var(--font-ui);font-size:16px;font-weight:400;line-height:1.85;letter-spacing:0}
.type-list{font-family:var(--font-ui);font-size:16px;font-weight:400;line-height:1.7;letter-spacing:0}
.type-link{font-family:var(--font-ui);font-size:16px;font-weight:500;line-height:1.7;letter-spacing:0;text-decoration:underline;text-underline-offset:.18em}
.type-caption{font-family:var(--font-ui);font-size:12px;font-weight:400;line-height:1.55;letter-spacing:0}
.type-label{font-family:var(--font-ui);font-size:12px;font-weight:400;line-height:1.55;letter-spacing:0}
.type-value{font-family:var(--font-ui);font-size:12px;font-weight:560;line-height:1.55;letter-spacing:0}
.type-meta{font-family:var(--font-ui);font-size:11px;font-weight:400;line-height:1.5;letter-spacing:.11em}
.type-overline{font-family:var(--font-ui);font-size:13px;font-weight:650;line-height:1.5;letter-spacing:.02em}
.type-navigation{font-family:var(--font-ui);font-size:18px;font-weight:560;line-height:1.45;letter-spacing:0}
.type-action{font-family:var(--font-ui);font-size:14px;font-weight:600;line-height:1.4;letter-spacing:0}
.type-footnote{font-family:var(--font-ui);font-size:11px;font-weight:400;line-height:1.6;letter-spacing:0}
.type-background-prose{font-family:var(--font-novel);font-size:clamp(17px,2.1vw,27px);font-weight:400;line-height:2.08;letter-spacing:.045em}
.type-background-vitals{font-family:var(--font-vitals);font-size:clamp(10.88px,1.344vw,17.28px);font-weight:400;line-height:1.9;letter-spacing:0}

@media(max-width:640px){
  .type-max-title{font-size:clamp(16px,5vw,31px)}
  .type-section-title{font-size:clamp(16px,4.5vw,22px)}
  .type-subsection-title{font-size:clamp(16px,4vw,20px)}
  .type-lead{font-size:clamp(16px,4.5vw,18px)}
  .type-navigation{font-size:16px}
  .type-background-prose{font-size:17px;line-height:1.95}
  .type-background-vitals{font-size:10.88px}
}
