/* fonts.local.css — fully self-hosted version
   Goal:
   - No runtime dependency on Google Fonts or external Fontsource CSS.
   - Keep the current typography model used by the site:
     DM Sans for body, Playfair Display for display headings,
     Noto Sans SC / Noto Sans TC for Simplified / Traditional Chinese.

   Suggested local structure:
   /assets/css/fonts.local.css
   /assets/fonts/dm-sans-v15-latin-400.woff2
   /assets/fonts/dm-sans-v15-latin-500.woff2
   /assets/fonts/dm-sans-v15-latin-600.woff2
   /assets/fonts/dm-sans-v15-latin-700.woff2
   /assets/fonts/playfair-display-v39-latin-600.woff2
   /assets/fonts/playfair-display-v39-latin-700.woff2
   /assets/fonts/noto-sans-sc-400.woff2
   /assets/fonts/noto-sans-sc-500.woff2
   /assets/fonts/noto-sans-sc-700.woff2
   /assets/fonts/noto-sans-tc-400.woff2
   /assets/fonts/noto-sans-tc-500.woff2
   /assets/fonts/noto-sans-tc-700.woff2

   Notes:
   - The Chinese files above are local filenames you control.
   - They can be full fonts or self-generated subsets, as long as the paths below match.
   - This version avoids @import completely.
*/

/* English body font */
@font-face {
  font-family: 'DM Sans';
  src: url('/assets/fonts/dm-sans-v15-latin-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'DM Sans';
  src: url('/assets/fonts/dm-sans-v15-latin-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'DM Sans';
  src: url('/assets/fonts/dm-sans-v15-latin-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'DM Sans';
  src: url('/assets/fonts/dm-sans-v15-latin-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* English display font */
@font-face {
  font-family: 'Playfair Display';
  src: url('/assets/fonts/playfair-display-v39-latin-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Playfair Display';
  src: url('/assets/fonts/playfair-display-v39-latin-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Simplified Chinese body font
   unicode-range keeps Latin glyphs on DM Sans where possible. */
@font-face {
  font-family: 'Noto Sans SC';
  src: url('/assets/fonts/noto-sans-sc-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range:
    U+3000-303F,
    U+3400-4DBF,
    U+4E00-9FFF,
    U+F900-FAFF,
    U+FF00-FFEF;
}

@font-face {
  font-family: 'Noto Sans SC';
  src: url('/assets/fonts/noto-sans-sc-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range:
    U+3000-303F,
    U+3400-4DBF,
    U+4E00-9FFF,
    U+F900-FAFF,
    U+FF00-FFEF;
}

@font-face {
  font-family: 'Noto Sans SC';
  src: url('/assets/fonts/noto-sans-sc-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range:
    U+3000-303F,
    U+3400-4DBF,
    U+4E00-9FFF,
    U+F900-FAFF,
    U+FF00-FFEF;
}

/* Traditional Chinese body font */
@font-face {
  font-family: 'Noto Sans TC';
  src: url('/assets/fonts/noto-sans-tc-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range:
    U+3000-303F,
    U+3100-312F,
    U+31A0-31BF,
    U+3400-4DBF,
    U+4E00-9FFF,
    U+F900-FAFF,
    U+FF00-FFEF;
}

@font-face {
  font-family: 'Noto Sans TC';
  src: url('/assets/fonts/noto-sans-tc-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range:
    U+3000-303F,
    U+3100-312F,
    U+31A0-31BF,
    U+3400-4DBF,
    U+4E00-9FFF,
    U+F900-FAFF,
    U+FF00-FFEF;
}

@font-face {
  font-family: 'Noto Sans TC';
  src: url('/assets/fonts/noto-sans-tc-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range:
    U+3000-303F,
    U+3100-312F,
    U+31A0-31BF,
    U+3400-4DBF,
    U+4E00-9FFF,
    U+F900-FAFF,
    U+FF00-FFEF;
}

:root {
  --font-body-en: 'DM Sans', sans-serif;
  --font-display-en: 'Playfair Display', serif;
  --font-body-sc: 'Noto Sans SC', 'DM Sans', sans-serif;
  --font-body-tc: 'Noto Sans TC', 'DM Sans', sans-serif;
}
