:root{
/* ── Families ── */
--font-display:'Archivo','Noto Sans TC',system-ui,sans-serif;
--font-display-cjk:'Noto Sans TC','Archivo',system-ui,sans-serif;
--font-body:'Inter','Noto Sans TC',system-ui,sans-serif;
--font-mono:'JetBrains Mono',ui-monospace,monospace;

/* ── Display: Archivo Expanded Black. Never lighter than 900 in display. ── */
--display-weight:900;
--display-stretch:125%;      /* Archivo Expanded */
--display-tracking:-0.02em;
--display-leading:0.86;
--display-case:uppercase;/* @kind other */

/* ── Latin vs CJK vertical metrics differ — CJK gets its own leading ── */
--display-leading-cjk:1.04;
--body-leading-cjk:1.9;

/* ── Type scale (display) ── */
--type-mega:clamp(64px,13vw,200px);
--type-d1:clamp(48px,8vw,112px);
--type-d2:clamp(36px,5vw,72px);
--type-d3:clamp(28px,3.4vw,48px);
--type-d4:24px;

/* ── Type scale (body, Inter) ── */
--type-lead:20px;
--type-body:16px;
--type-small:14px;
--type-caption:12px;
--body-leading:1.55;
--lead-leading:1.45;

/* ── Technical labels & numerals: JetBrains Mono, wide-tracked, uppercase ── */
--type-label:12px;
--type-label-lg:14px;
--label-tracking:0.16em;
--label-weight:500;

/* ── Semantic aliases ── */
--text-display-family:var(--font-display);
--text-label-family:var(--font-mono);
}
