/* Complete original Fangzheng Yaoti GBK coverage, split by Unicode range for efficient delivery. */
@font-face{font-family:"WS Fangzheng Yaoti";src:url("/assets/fonts/fz-yaoti-gbk-full-a.woff?v=yaoti-20261013-1849") format("woff");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+3000-303F,U+3400-7FFF}
@font-face{font-family:"WS Fangzheng Yaoti";src:url("/assets/fonts/fz-yaoti-gbk-full-b.woff?v=yaoti-20261013-1849") format("woff");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+8000-9FFF,U+F900-FAFF,U+FF00-FFEF}
body,body *{font-family:"WS Fangzheng Yaoti","trajan-pro-3","PingFang HK","PingFang TC","Microsoft JhengHei",serif!important;font-synthesis:none}
body input::placeholder,body textarea::placeholder{font-family:"WS Fangzheng Yaoti","trajan-pro-3","PingFang HK","PingFang TC","Microsoft JhengHei",serif!important}

/* Keep Chinese copy readable during font loading and scroll reveals. */
html.ap-js main.ap [lang|="zh"][data-ap-mask]{clip-path:none}
html.ap-js main.ap [lang|="zh"][data-ap-lines]{visibility:visible;line-break:strict;word-break:normal;overflow-wrap:break-word}
html.ap-js main.ap [lang|="zh"][data-ap-lines] .ap-line{display:contents;overflow:visible}
html.ap-js main.ap [lang|="zh"][data-ap-lines] .ap-line-in{display:contents;transform:none;transition:none}