/* Shared UI typography contract. Load after page styles in both base templates. */
@font-face {
 font-family:"EasyRound";
 src:url("/fonts/EasyRound-FullGB2312-1.1.woff2") format("woff2");
 font-style:normal;
 font-weight:700;
 font-display:swap;
}
:root, html[data-theme="light"], html[data-theme="dark"] {
 --easy-font-ui:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif;
 --easy-reading:var(--easy-font-ui);
 --easy-display:"EasyRound",var(--easy-font-ui);
 --reading-font:var(--easy-font-ui);
 --font-family-primary:var(--easy-font-ui);
 --easy-text-body:16px;
 --easy-text-caption:14px;
 --easy-text-small:12px;
 --easy-text-action:20px;
}
/* No synthetic bold/italic when a device lacks a requested font face. */
*, *::before, *::after { font-synthesis:none; }
body, button, input, textarea, select { font-family:var(--easy-font-ui); }
input::placeholder, textarea::placeholder { font-family:inherit; font-size:inherit; font-weight:400; }
/* Keep the approved Latin wordmark; Chinese UI text uses the shared family. */
.brand span, .easy-admin-brand span { font-family:Georgia,serif; }
/* Display-only roles. Body, form values, hints and small print stay system UI. */
.one-screen h1, .guide-copy h1, .welcome-copy,
.confirm-form .check-item .knowledge-text, .infographic-title, .button.primary,
.easy-admin-dashboard h1, #content h1 {
 font-family:var(--easy-display);
 font-weight:700;
}
.brand small, .optional-panel summary, .compact-auth .auth-tabs a, .button.secondary,
.status-card>p, .research-journey h2 {
 font-family:var(--easy-font-ui);
}
