2026-09-03 10:57:17 +08:00
/* Self-hosted fonts (served locally — no external dependency).
TeX Gyre Heros (GUST Font License, free for commercial use) —
Helvetica-style latin face. CJK text falls through to system fonts
via the fallback stack in style.css tokens.
Note: only 400/700 real weights exist; 500 maps to 400, 600/800/900 map to 700. */
2026-08-27 11:54:26 +08:00
2026-09-03 10:57:17 +08:00
/* TeX Gyre Heros — regular family (active: wired to --font-display / --font-body) */
@ font-face { font-family : 'TeX Gyre Heros' ; font-style : normal ; font-weight : 400 ; font-display : swap ; src : url (../ font / texgyreheros-regular . otf ) format ( 'opentype' ); }
@ font-face { font-family : 'TeX Gyre Heros' ; font-style : normal ; font-weight : 700 ; font-display : swap ; src : url (../ font / texgyreheros-bold . otf ) format ( 'opentype' ); }
@ font-face { font-family : 'TeX Gyre Heros' ; font-style : italic ; font-weight : 400 ; font-display : swap ; src : url (../ font / texgyreheros-italic . otf ) format ( 'opentype' ); }
@ font-face { font-family : 'TeX Gyre Heros' ; font-style : italic ; font-weight : 700 ; font-display : swap ; src : url (../ font / texgyreheros-bolditalic . otf ) format ( 'opentype' ); }
2026-08-27 11:54:26 +08:00
2026-09-03 10:57:17 +08:00
/* TeX Gyre Heros Cn — condensed (registered for future use, e.g. heavy display titles; not referenced by tokens yet, so browsers never download it) */
@ font-face { font-family : 'TeX Gyre Heros Cn' ; font-style : normal ; font-weight : 400 ; font-display : swap ; src : url (../ font / texgyreheroscn-regular . otf ) format ( 'opentype' ); }
@ font-face { font-family : 'TeX Gyre Heros Cn' ; font-style : normal ; font-weight : 700 ; font-display : swap ; src : url (../ font / texgyreheroscn-bold . otf ) format ( 'opentype' ); }
@ font-face { font-family : 'TeX Gyre Heros Cn' ; font-style : italic ; font-weight : 400 ; font-display : swap ; src : url (../ font / texgyreheroscn-italic . otf ) format ( 'opentype' ); }
@ font-face { font-family : 'TeX Gyre Heros Cn' ; font-style : italic ; font-weight : 700 ; font-display : swap ; src : url (../ font / texgyreheroscn-bolditalic . otf ) format ( 'opentype' ); }