/* In-browser dropdown PREVIEW faces only (Regular weight). Open-source woff2 in assets/fonts/,
   fetched by scripts/fetch-fonts.sh. font-display:swap + lazy: a face only downloads when a
   dropdown row using it is rendered (i.e. when the font picker opens). PDF embedding uses the
   full TTFs in backend/fonts/ — see backend/fonts/NOTICE.md. No proprietary fonts here. */
@font-face{font-family:'pf-arimo';src:url('/assets/fonts/arimo.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-caladea';src:url('/assets/fonts/caladea.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
/* Caladea (Cambria substitute) BOLD/ITALIC — same no-system-font case as Carlito (see below). */
@font-face{font-family:'pf-caladea';src:url('/assets/fonts/caladea-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-caladea';src:url('/assets/fonts/caladea-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'pf-caladea';src:url('/assets/fonts/caladea-bolditalic.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap;}
@font-face{font-family:'pf-carlito';src:url('/assets/fonts/carlito.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
/* Carlito BOLD/ITALIC faces — the editable box maps Calibri-Bold to `pf-carlito` weight 700; without a real
   bold face a no-Calibri platform (macOS/Linux) rendered a heading as LIGHT synthetic bold instead of bold,
   so the editor didn't match the (bold) save. Real faces so weight 700 / italic display truly bold. */
@font-face{font-family:'pf-carlito';src:url('/assets/fonts/carlito-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-carlito';src:url('/assets/fonts/carlito-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'pf-carlito';src:url('/assets/fonts/carlito-bolditalic.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap;}
@font-face{font-family:'pf-comic-neue';src:url('/assets/fonts/comic-neue.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-cousine';src:url('/assets/fonts/cousine.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-eb-garamond';src:url('/assets/fonts/eb-garamond.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-fira-code';src:url('/assets/fonts/fira-code.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-gelasio';src:url('/assets/fonts/gelasio.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-ibm-plex-mono';src:url('/assets/fonts/ibm-plex-mono.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-inter';src:url('/assets/fonts/inter.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-jetbrains-mono';src:url('/assets/fonts/jetbrains-mono.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-lato';src:url('/assets/fonts/lato.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-libre-baskerville';src:url('/assets/fonts/libre-baskerville.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-merriweather';src:url('/assets/fonts/merriweather.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-montserrat';src:url('/assets/fonts/montserrat.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-noto-serif';src:url('/assets/fonts/noto-serif.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-nunito';src:url('/assets/fonts/nunito.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-open-sans';src:url('/assets/fonts/open-sans.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-pacifico';src:url('/assets/fonts/pacifico.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-playfair-display';src:url('/assets/fonts/playfair-display.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-poppins';src:url('/assets/fonts/poppins.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-pt-sans';src:url('/assets/fonts/pt-sans.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-roboto';src:url('/assets/fonts/roboto.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-source-code-pro';src:url('/assets/fonts/source-code-pro.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-source-sans-3';src:url('/assets/fonts/source-sans-3.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-tinos';src:url('/assets/fonts/tinos.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-ubuntu';src:url('/assets/fonts/ubuntu.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}

/* ── Noto faces for non-Latin scripts (Phase 1 multi-language editing) ────────────────────────────
   Each editable line whose text is a non-Latin script gets the matching family (see util/script.js →
   fontStackForScript); the browser LAZY-FETCHES the woff2 only when a box actually uses it, so an
   English session downloads none of these. font-display:swap shows a system fallback until it lands. */
@font-face{font-family:'pf-noto-devanagari';src:url('/assets/fonts/noto-devanagari.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-noto-bengali';src:url('/assets/fonts/noto-bengali.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-noto-gujarati';src:url('/assets/fonts/noto-gujarati.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-noto-gurmukhi';src:url('/assets/fonts/noto-gurmukhi.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-noto-tamil';src:url('/assets/fonts/noto-tamil.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-noto-telugu';src:url('/assets/fonts/noto-telugu.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-noto-kannada';src:url('/assets/fonts/noto-kannada.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-noto-malayalam';src:url('/assets/fonts/noto-malayalam.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-noto-oriya';src:url('/assets/fonts/noto-oriya.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-noto-arabic';src:url('/assets/fonts/noto-arabic.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-noto-hebrew';src:url('/assets/fonts/noto-hebrew.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-noto-thai';src:url('/assets/fonts/noto-thai.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'pf-noto-cjk';src:url('/assets/fonts/noto-cjk.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
