/* Catalog-only font projection.
   Generated WOFF2 files live under ../fonts/catalog/ and are intentionally ignored by git.
   Missing glyphs fall through to system families; Catalog never requests the full
   production fonts from this source-only directory.
   'Han Sans Catalog' mirrors the production 'Han Sans' ladder (300/400/700) so
   theme-scoped font-weight ladders resolve identically in and out of the catalog. */
@font-face {
  font-family: 'Han Sans Catalog Light';
  src: url('../fonts/catalog/SourceHanSansCN-Light.catalog.woff2') format('woff2');
  font-style: normal;
  font-weight: 300;
  font-display: block;
}
@font-face {
  font-family: 'Han Sans Catalog';
  src: url('../fonts/catalog/SourceHanSansCN-Light.catalog.woff2') format('woff2');
  font-style: normal;
  font-weight: 300;
  font-display: block;
}
@font-face {
  font-family: 'Han Sans Catalog';
  src: url('../fonts/catalog/SourceHanSansCN-Regular.catalog.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: block;
}
@font-face {
  font-family: 'Han Sans Catalog';
  src: url('../fonts/catalog/SourceHanSansCN-Medium.catalog.woff2') format('woff2');
  font-style: normal;
  font-weight: 500;
  font-display: block;
}
@font-face {
  font-family: 'Han Sans Catalog';
  src: url('../fonts/catalog/SourceHanSansCN-Bold.catalog.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: block;
}
@font-face {
  font-family: 'Han Serif Catalog';
  src: url('../fonts/catalog/SourceHanSerifCN-Medium.catalog.woff2') format('woff2');
  font-style: normal;
  font-weight: 500;
  font-display: block;
}
@font-face {
  font-family: 'Han Serif Catalog';
  src: url('../fonts/catalog/SourceHanSerifCN-Bold.catalog.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: block;
}
@font-face {
  font-family: 'Courier Prime Catalog';
  src: url('../fonts/catalog/CourierPrime-Regular.catalog.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: block;
}
@font-face {
  font-family: 'Courier Prime Catalog';
  src: url('../fonts/catalog/CourierPrime-Bold.catalog.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: block;
}
@font-face {
  font-family: 'LXGW WenKai Catalog';
  src: url('../fonts/catalog/LXGWWenKai-Regular.catalog.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: block;
}
@font-face {
  font-family: 'Oswald Catalog';
  src: url('../fonts/catalog/Oswald-Bold-Latin.catalog.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: block;
}

/* 页面根节点与 Catalog 的实时预览层都可独立 opt in；Catalog 外壳不继承这些字面，
   因而只有打开详情或生成缩略图时才会请求 WOFF2。 */
[data-wise-catalog-fonts='true'] {
  --font-serif-family: 'Han Serif Catalog', 'Songti SC', serif;
  --font-sans-family: 'Han Sans Catalog', 'PingFang SC', sans-serif;
  --font-sans-light-family: 'Han Sans Catalog Light', 'PingFang SC', sans-serif;
  /* Courier Prime 本身没有中文字形；Catalog 子集缺字时直接交给系统等宽字体，
     避免为一个中文页脚再探测并下载完整 Courier 字库。 */
  --font-mono-family: 'Courier Prime Catalog', Menlo, monospace;
  --font-brush-family: 'LXGW WenKai Catalog', 'Xingkai SC', cursive;
  --font-oswald-family: 'Oswald Catalog', 'Han Sans Catalog', 'PingFang SC', sans-serif;
  --serif: var(--font-serif-family);
  --sans: var(--font-sans-family);
  --mono: var(--font-mono-family);
  --brush: var(--font-brush-family);
  --wp-font-serif: var(--serif);
  --wp-font-sans: var(--sans);
  --wp-font-mono: var(--font-mono-family);
  --wp-font-brush: var(--font-brush-family);
  --wp-font-han-sans: var(--font-sans-family);
  --wp-font-han-serif: var(--font-serif-family);
  --wp-font-oswald: var(--font-oswald-family);
}

[data-wise-catalog-fonts='true'][data-typography-mode='mixed'] {
  --serif: var(--font-serif-family);
  --sans: var(--font-sans-light-family);
}

[data-wise-catalog-fonts='true'][data-typography-mode='all-sans'] {
  --serif: var(--font-sans-light-family);
  --sans: var(--font-sans-light-family);
}

[data-wise-catalog-fonts='true'][data-typography-mode='all-serif'] {
  --serif: var(--font-serif-family);
  --sans: var(--font-serif-family);
}
