/* Self-hosted fonts (replaces Google Fonts CDN to avoid sending visitor IPs to Google) */

/* Noto Sans TC */
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('./fonts/noto-sans-tc-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('./fonts/noto-sans-tc-chinese-traditional-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url('./fonts/noto-sans-tc-latin-500-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url('./fonts/noto-sans-tc-chinese-traditional-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('./fonts/noto-sans-tc-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('./fonts/noto-sans-tc-chinese-traditional-700-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-display: swap;
  font-weight: 900;
  src: url('./fonts/noto-sans-tc-latin-900-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-display: swap;
  font-weight: 900;
  src: url('./fonts/noto-sans-tc-chinese-traditional-900-normal.woff2') format('woff2');
}

/* IBM Plex Mono (Latin only — used for numeric/mono content) */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('./fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url('./fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('./fonts/ibm-plex-mono-latin-600-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('./fonts/ibm-plex-mono-latin-700-normal.woff2') format('woff2');
}
