/* Local font stacks only. Navigation colors remain owned by --nav-* tokens. */
:root {
 --font-zh: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", system-ui, sans-serif;
 --font-en: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
 --font-ui: var(--font-zh);
 --font-body: var(--font-zh);
 --font-heading: var(--font-zh);
 --font-display: var(--font-rounded);
}
:root:lang(en) {
 --font-ui: var(--font-en);
 --font-body: var(--font-en);
 --font-heading: var(--font-en);
 --font-display: var(--font-rounded);
}
body {font-family:var(--font-body);}
button,input,select,textarea,.nav-link {font-family:var(--font-ui);}
.page-heading h1 {font-family:var(--font-heading);}
.hello,.brand {font-family:var(--font-display);}

/* Long bilingual copy keeps its normal font size and gains wrapping space. */
.home-layout-v25 .welcome-card {flex-wrap:wrap;}
.home-layout-v25 .welcome-top {flex:1 1 240px;min-width:0;}
.home-layout-v25 .welcome-top>div {min-width:0;}
.home-layout-v25 .metrics {flex:1 1 420px;min-width:0;}
.dialog-heading h2,.parent-profile>div,.module-row-title>div {min-width:0;}
.dialog-actions,.module-controls {flex-wrap:wrap;}
.action-button,.text-link,.app-dialog button {max-width:100%;white-space:normal;overflow-wrap:anywhere;}
.week-chart small,.schedule-week small,.schedule-week span {max-width:100%;min-width:0;text-align:center;overflow-wrap:normal;}
.avatar-caption {bottom:8px;left:12px;right:12px;border-radius:6px;}
