/* 本文件由临时脚本生成，用于替换外链 Google Fonts 为本地字体资源。
 * 字体文件位于 /public/fonts，来源：Google Fonts 开源字体。
 */

/* Righteous - 从 index.html 内联样式迁移（CSP 兼容） */
@font-face {
  font-family: 'Righteous';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/Righteous-Regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/anton-v27-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Archivo Black';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/archivo-black-v23-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/bebas-neue-v16-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('/fonts/inter-v20-latin-300italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/fonts/inter-v20-latin-300.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/inter-v20-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/inter-v20-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/inter-v20-latin-500italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/inter-v20-latin-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/inter-v20-latin-600italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/inter-v20-latin-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/inter-v20-latin-700italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/inter-v20-latin-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/lato-v25-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/lato-v25-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/lato-v25-latin-700italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/lato-v25-latin-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Liu Jian Mao Cao';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/liu-jian-mao-cao-v24-chinese-simplified-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Long Cang';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/long-cang-v21-chinese-simplified-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Ma Shan Zheng';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/ma-shan-zheng-v14-chinese-simplified-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/merriweather-v33-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/merriweather-v33-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/merriweather-v33-latin-700italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/merriweather-v33-latin-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/montserrat-v31-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/montserrat-v31-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/montserrat-v31-latin-500italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/montserrat-v31-latin-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/montserrat-v31-latin-600italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/montserrat-v31-latin-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/montserrat-v31-latin-700italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/montserrat-v31-latin-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/noto-sans-sc-v39-chinese-simplified-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/noto-sans-sc-v39-chinese-simplified-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/noto-sans-sc-v39-chinese-simplified-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('/fonts/noto-sans-sc-v39-chinese-simplified-900.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/noto-serif-sc-v34-chinese-simplified-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/noto-serif-sc-v34-chinese-simplified-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/noto-serif-sc-v34-chinese-simplified-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('/fonts/noto-serif-sc-v34-chinese-simplified-900.woff2') format('woff2');
}

/* Noto Sans TC - 繁体中文 */
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/noto-sans-tc-v38-chinese-traditional-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/noto-sans-tc-v38-chinese-traditional-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/noto-sans-tc-v38-chinese-traditional-700.woff2') format('woff2');
}

/* Noto Sans JP - 日语 */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/noto-sans-jp-v55-japanese-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/noto-sans-jp-v55-japanese-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/noto-sans-jp-v55-japanese-700.woff2') format('woff2');
}

/* Noto Sans KR - 韩语 */
@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/noto-sans-kr-v38-korean-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/noto-sans-kr-v38-korean-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/noto-sans-kr-v38-korean-700.woff2') format('woff2');
}

/* Noto Sans Thai - 泰语 */
@font-face {
  font-family: 'Noto Sans Thai';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/noto-sans-thai-v29-thai-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans Thai';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/noto-sans-thai-v29-thai-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans Thai';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/noto-sans-thai-v29-thai-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Nunito';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/nunito-v32-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/nunito-v32-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Nunito';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/nunito-v32-latin-600italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/nunito-v32-latin-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Nunito';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/nunito-v32-latin-700italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/nunito-v32-latin-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/open-sans-v44-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/open-sans-v44-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/open-sans-v44-latin-600italic.woff2') format('woff2');
}

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

@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/open-sans-v44-latin-700italic.woff2') format('woff2');
}

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

@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/oswald-v57-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/oswald-v57-latin-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/oswald-v57-latin-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/oswald-v57-latin-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/playfair-display-v40-latin-italic.woff2') format('woff2');
}

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

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

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

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

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

@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/poppins-v24-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/poppins-v24-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/poppins-v24-latin-500italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/poppins-v24-latin-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/poppins-v24-latin-600italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/poppins-v24-latin-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/poppins-v24-latin-700italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/poppins-v24-latin-700.woff2') format('woff2');
}

@font-face {
  font-family: 'PT Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/pt-sans-v18-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/pt-sans-v18-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'PT Sans';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/pt-sans-v18-latin-700italic.woff2') format('woff2');
}

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

@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/raleway-v37-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/raleway-v37-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/raleway-v37-latin-600italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/raleway-v37-latin-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/raleway-v37-latin-700italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/raleway-v37-latin-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/roboto-v50-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/roboto-v50-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/roboto-v50-latin-500italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/roboto-v50-latin-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/roboto-v50-latin-700italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/roboto-v50-latin-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/source-sans-3-v19-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/source-sans-3-v19-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/source-sans-3-v19-latin-600italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/source-sans-3-v19-latin-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/source-sans-3-v19-latin-700italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/source-sans-3-v19-latin-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Ubuntu';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/ubuntu-v21-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/ubuntu-v21-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Ubuntu';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/ubuntu-v21-latin-500italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/ubuntu-v21-latin-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Ubuntu';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/ubuntu-v21-latin-700italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/ubuntu-v21-latin-700.woff2') format('woff2');
}

@font-face {
  font-family: 'ZCOOL KuaiLe';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/zcool-kuaile-v20-chinese-simplified-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'ZCOOL QingKe HuangYou';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/zcool-qingke-huangyou-v16-chinese-simplified-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'ZCOOL XiaoWei';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/zcool-xiaowei-v15-chinese-simplified-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Zhi Mang Xing';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/zhi-mang-xing-v19-chinese-simplified-regular.woff2') format('woff2');
}

/* Fira Sans */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/fira-sans-v18-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Fira Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/fira-sans-v18-latin-italic.woff2') format('woff2');
}

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

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

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

/* Karla */
@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/karla-v33-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Karla';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/karla-v33-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/karla-v33-latin-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/karla-v33-latin-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/karla-v33-latin-700.woff2') format('woff2');
}

/* Quicksand */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/quicksand-v34-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/quicksand-v34-latin-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/quicksand-v34-latin-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/quicksand-v34-latin-700.woff2') format('woff2');
}

/* Space Grotesk */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/space-grotesk-v17-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/space-grotesk-v17-latin-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/space-grotesk-v17-latin-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/space-grotesk-v17-latin-700.woff2') format('woff2');
}

/* DM Serif Display */
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/dm-serif-display-v17-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/dm-serif-display-v17-latin-italic.woff2') format('woff2');
}

/* Libre Baskerville */
@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/libre-baskerville-v24-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Libre Baskerville';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/libre-baskerville-v24-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/libre-baskerville-v24-latin-700.woff2') format('woff2');
}

/* DynaPuff */
@font-face {
  font-family: 'DynaPuff';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/dynapuff-v9-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'DynaPuff';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/dynapuff-v9-latin-500.woff2') format('woff2');
}

@font-face {
  font-family: 'DynaPuff';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/dynapuff-v9-latin-600.woff2') format('woff2');
}

@font-face {
  font-family: 'DynaPuff';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/dynapuff-v9-latin-700.woff2') format('woff2');
}

/* Dancing Script */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/dancing-script-v29-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/dancing-script-v29-latin-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/dancing-script-v29-latin-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/dancing-script-v29-latin-700.woff2') format('woff2');
}

/* Shantell Sans */
@font-face {
  font-family: 'Shantell Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/shantell-sans-v13-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Shantell Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/shantell-sans-v13-latin-italic.woff2') format('woff2');
}

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

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

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

/* Short Stack */
@font-face {
  font-family: 'Short Stack';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/short-stack-v16-latin-regular.woff2') format('woff2');
}

/* Permanent Marker */
@font-face {
  font-family: 'Permanent Marker';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/permanent-marker-v16-latin-regular.woff2') format('woff2');
}

/* Playwrite US Modern */
@font-face {
  font-family: 'Playwrite US Modern';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/playwrite-us-modern-v11-latin-regular.woff2') format('woff2');
}

/* Akaya Kanadaka */
@font-face {
  font-family: 'Akaya Kanadaka';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/akaya-kanadaka-v18-latin-regular.woff2') format('woff2');
}

/* Berkshire Swash */
@font-face {
  font-family: 'Berkshire Swash';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/berkshire-swash-v22-latin-regular.woff2') format('woff2');
}

/* Henny Penny */
@font-face {
  font-family: 'Henny Penny';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/henny-penny-v18-latin-regular.woff2') format('woff2');
}

/* Astloch */
@font-face {
  font-family: 'Astloch';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/astloch-v27-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Astloch';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/astloch-v27-latin-700.woff2') format('woff2');
}

/* Rubik Gemstones */
@font-face {
  font-family: 'Rubik Gemstones';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/rubik-gemstones-v1-latin-regular.woff2') format('woff2');
}

/* Kranky */
@font-face {
  font-family: 'Kranky';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/kranky-v29-latin-regular.woff2') format('woff2');
}

/* JetBrains Mono */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/jetbrains-mono-v24-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/jetbrains-mono-v24-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/jetbrains-mono-v24-latin-500.woff2') format('woff2');
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/jetbrains-mono-v24-latin-600.woff2') format('woff2');
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/jetbrains-mono-v24-latin-700.woff2') format('woff2');
}
