/* Shared semantic hierarchy. Identical rules in Chinese and English. */
:root{--weight-page:700;--weight-section:700;--weight-row:600;--weight-body:400;--weight-value:700;--line-row:1.5}
body{font-weight:var(--weight-body)}
h1,.g-hero h1,.cp-heading h1{font-weight:var(--weight-page)}
h2,.g-card h2,.cp-home .buddy-action-group h2{font-weight:var(--weight-section)}
h3,.shop-card h3{font-weight:var(--weight-row);line-height:var(--line-row)}
button,.action-button,.cp-button,.g-row,.g-row strong,.g-row>span,.g-back,.module-controls button,.shop-tabs button,.growth-button{font-weight:var(--weight-row);line-height:var(--line-row)}
.sidebar .nav-link,.sidebar .nav-link[aria-current],#mobile-nav .nav-link,#mobile-nav .nav-link[aria-current]{font-weight:var(--weight-row);line-height:var(--line-row)}
.g-parent-grid .g-row,.g-my-links .g-row,.g-parent-grid .g-row strong,.g-my-links .g-row strong,.g-module-links a,.task-name strong,.growth-badge strong,.buddy-action-title{font-weight:var(--weight-row);line-height:var(--line-row)}
p,small,.g-row small,.shop-card small,.shop-card p,.growth-badge small,.subtitle,.buddy-action-subtitle{font-weight:var(--weight-body);line-height:1.5}
.shop-card .shop-price,.shop-balance,.g-summary-stats strong,.metric strong,.cp-stat strong,.cp-bond strong{font-weight:var(--weight-value)}
