/* Senxe — 全站公共层。index.html 与 brief.html 都在自己的样式表之前引它。
   这里只放两页逐字相同的东西：字体声明、共用的颜色与字体栈、盒模型重置。
   凡是两页取值不同的（如 --text：首页 #FFFFFF、简报页 #F1F3EE）都留在各自
   的样式表里覆盖，不要上移到这里。 */

/* ---------- 自托管字体（latin 子集，无外链 CDN）---------- */

/* IBM Plex Mono — self-hosted (latin subset) so the intro decode never swaps fonts mid-animation */
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/ibm-plex-mono-400.woff2") format("woff2");
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/ibm-plex-mono-500.woff2") format("woff2");
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/ibm-plex-mono-600.woff2") format("woff2");
}
/* Fraunces — 正文衬线（可变字，opsz 9–144，自托管 latin 子集） */
@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fraunces-var.woff2") format("woff2");
}
/* Anton — 全站展示字（自托管 latin 子集）。
   what 页那条字带用的也是它，只是以轮廓形式内联（见 tools/make-title-svg.py）；
   标题用活字，两者是同一套字形，页面因此只有一种展示嗓音。
   原来这里还有一款 Syne 800：当初为了拉伸几何把字带换成 Anton，却没回头统一
   标题，站上于是出现两款差异极大的展示字，读起来像两个品牌。已撤 */
@font-face {
  font-family: "Anton";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/anton-latin.woff2") format("woff2");
}
/* Syne 800 — 只给右上导航和 brief.html 的列表标题用，两处共用一份字体文件 */
@font-face {
  font-family: "Syne";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/syne-800.woff2") format("woff2");
}

/* ---------- 共用 token ---------- */
:root {
  --bg: #000000;
  --accent: #C9FA09;
  /* 暂时把正文换成衬线。IBM Plex Mono 的 @font-face 与 --mono 都保留着，
     把下面两行的值对调即可整站还原 */
  --font: "Fraunces", Georgia, "Times New Roman", serif;
  --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
