/* 自托管字体声明，替代 Google Fonts CDN
 * 文件位置: static/fonts/*.woff2 (来源: @fontsource v5 @ jsdelivr)
 * 引用方: templates/index.html / login.html / report.html
 *
 * 设计要点:
 *  - font-display: swap 先用 fallback 字体渲染,字体到位再替换 (避免 FOIT 白屏)
 *  - src: local() 优先用系统已装的同名字体,省一次下载
 *  - 浏览器按需加载,声明全 weight 不会增加首屏成本 */

/* ---------- Inter (300-900) ---------- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local('Inter Light'), local('Inter-Light'), url('/static/fonts/inter-300.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Inter Regular'), local('Inter-Regular'), url('/static/fonts/inter-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local('Inter Medium'), local('Inter-Medium'), url('/static/fonts/inter-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local('Inter SemiBold'), local('Inter-SemiBold'), url('/static/fonts/inter-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Inter Bold'), local('Inter-Bold'), url('/static/fonts/inter-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: local('Inter ExtraBold'), local('Inter-ExtraBold'), url('/static/fonts/inter-800.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: local('Inter Black'), local('Inter-Black'), url('/static/fonts/inter-900.woff2') format('woff2');
}

/* ---------- JetBrains Mono (400-600) ---------- */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('JetBrains Mono Regular'), local('JetBrainsMono-Regular'), url('/static/fonts/jetbrains-mono-400.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local('JetBrains Mono Medium'), local('JetBrainsMono-Medium'), url('/static/fonts/jetbrains-mono-500.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local('JetBrains Mono SemiBold'), local('JetBrainsMono-SemiBold'), url('/static/fonts/jetbrains-mono-600.woff2') format('woff2');
}

/* ---------- Noto Sans SC (400/500/700) ---------- */
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Noto Sans SC Regular'), local('NotoSansSC-Regular'), url('/static/fonts/noto-sans-sc-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local('Noto Sans SC Medium'), local('NotoSansSC-Medium'), url('/static/fonts/noto-sans-sc-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Noto Sans SC Bold'), local('NotoSansSC-Bold'), url('/static/fonts/noto-sans-sc-700.woff2') format('woff2');
}
