/* Reading typography follows the device's chosen family; math and code keep their own fonts. */
:root{--reading-typeface:"Paperflow Source Sans","Noto Sans CJK SC","PingFang SC","Microsoft YaHei",sans-serif}
:root[data-reader-font=source-serif]{--reading-typeface:"Paperflow Source Serif","Noto Serif CJK SC","Songti SC",serif}
:root[data-reader-font=system]{--reading-typeface:PaperSerif,"Songti SC","STSong",Georgia,serif}
:root[data-reader-font] .prose,
:root[data-reader-font] .prose :is(h1,h2,h3,h4,table),
:root[data-reader-font] .side-original,
:root[data-reader-font] .reader-paper h1,
:root[data-reader-font] .unit-heading{font-family:var(--reading-typeface)}
.reader-font-setting{flex-wrap:wrap;align-items:flex-start}
.reader-font-options{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.reader-font-option{min-height:44px;border:1px solid var(--line);border-radius:9px;background:var(--bg);padding:9px 12px;font-size:12px;color:var(--muted)}
.reader-font-option.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}
.reader-font-option:hover{border-color:var(--accent)}
.theme-mode-note{margin:0;font-size:11px;line-height:1.8;color:var(--muted)}
.theme-swatch{box-shadow:inset 0 0 0 1px #ffffff24}
@media screen{
  .text-section.explanation,.explanation-preview{--font:var(--explanation-font,18px)}
}
.font-preview .explanation-preview-label{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.font-control [data-explanation-font-value]{min-width:42px;flex:none;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:700px){.reader-font-option{padding:9px 10px;font-size:11px}.reader-font-options{gap:7px}}
