/* 像素字体（Unifont，8×16 点阵，含中日韩）—— 只在切换后启用 */
@font-face {
  font-family: "Pixel";
  /* 子集化后的 Unifont：只留 GBK 全字表 + 页面用到的字符，4.87 MB → 439 KB */
  src: url("../fonts/unifont.woff2") format("woff2");
  font-display: swap;
  font-weight: normal;
  font-style: normal;
  unicode-range: U+0000-00FF, U+2000-206F, U+3000-303F, U+4E00-9FFF, U+FF00-FFEF;
}

html[data-font="pixel"] {
  --mono: "Pixel", "Unifont", "MS Gothic", "SimSun", monospace;
}

/* 点阵字在高倍屏上不要糊：关掉抗锯齿，保持方块边缘 */
html[data-font="pixel"] body {
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: unset;
  text-rendering: geometricPrecision;
  letter-spacing: .02em;
}

/* 点阵字的字面比普通字窄，标题补一点字距，HUD 小字补一点字号 */
html[data-font="pixel"] .name { letter-spacing: .04em; }
html[data-font="pixel"] .frame__bar,
html[data-font="pixel"] .bar__title,
html[data-font="pixel"] .mem span,
html[data-font="pixel"] .bar__pid,
html[data-font="pixel"] .holo__hd,
html[data-font="pixel"] .holo__ft,
html[data-font="pixel"] .band::before {
  font-size: 11px;
}
html[data-font="pixel"] .sh__list li,
html[data-font="pixel"] .fetch,
html[data-font="pixel"] .cmd { line-height: 1.65; }

/* 顶栏那个字体开关（跟 pet 按钮同款） */
.bar__font {
  appearance: none;
  background: none;
  border: 1px solid transparent;
  padding: 1px 7px;
  margin-left: 6px;
  font: inherit;
  font-size: .82em;
  letter-spacing: .08em;
  color: var(--dim2, #635f57);
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease;
}
.bar__font:hover,
.bar__font:focus-visible {
  color: var(--ink, #1d2029);
  border-color: var(--rule, rgba(29, 32, 41, .22));
  outline: none;
}
html[data-scheme="sw"] .bar__font { color: var(--sw-dim); }
html[data-scheme="sw"] .bar__font:hover { color: var(--sw-cyan); border-color: var(--sw-line); }


/* ══════════════════════════════════════════════════════════════
   Unifont 是 8×16 的点阵字，只有把字号对到它的设计尺寸
   （16px、32px、64px…）才是一比一的方块；原来正文 11–14px
   等于把点阵缩小到 0.7 倍，看起来只是个窄体等宽字，不"像素"。
   ══════════════════════════════════════════════════════════════ */
html[data-font="pixel"] body {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0;
  word-spacing: 0;
  font-kerning: none;
  text-rendering: optimizeSpeed;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: grayscale;
}

/* 正文与列表：全部 16px（1 倍格） */
html[data-font="pixel"] .cmd,
html[data-font="pixel"] .lede,
html[data-font="pixel"] .fetch,
html[data-font="pixel"] .fetch dt,
html[data-font="pixel"] .fetch dd,
html[data-font="pixel"] .fetch__hint,
html[data-font="pixel"] .ls a,
html[data-font="pixel"] .ls span,
html[data-font="pixel"] .hint,
html[data-font="pixel"] .boot .ln,
html[data-font="pixel"] .frame__foot,
html[data-font="pixel"] .mail,
html[data-font="pixel"] .who,
html[data-font="pixel"] .fine {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0;
}

/* 小标签：也给到 16px，才不至于糊成一片；字距收一点免得撑爆 */
html[data-font="pixel"] .frame__bar,
html[data-font="pixel"] .bar__title,
html[data-font="pixel"] .bar__l,
html[data-font="pixel"] .bar__r,
html[data-font="pixel"] .mem span,
html[data-font="pixel"] .bar__pid,
html[data-font="pixel"] .holo__hd,
html[data-font="pixel"] .holo__ft,
html[data-font="pixel"] .chips button,
html[data-font="pixel"] .chip,
html[data-font="pixel"] .btn,
html[data-font="pixel"] .bar__pet,
html[data-font="pixel"] .bar__font,
html[data-font="pixel"] .wish-clear,
html[data-font="pixel"] .pet__say,
html[data-font="pixel"] .sh__list li,
html[data-font="pixel"] .sh__hint,
html[data-font="pixel"] .band::before {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0;
}

/* 顶栏放不下就缩一点，但保持整数倍 */
html[data-font="pixel"] .bar { font-size: 16px; }
html[data-font="pixel"] .frame__bar span:first-child { letter-spacing: 0; }

/* 大标题：72px 不是 16 的整数倍（4.5×），改成 64px 就是整 4 格 */
html[data-font="pixel"] .name {
  font-size: 64px;
  line-height: 1.15;
  letter-spacing: .02em;
}

/* 像素字偏宽，行高略收一点，避免整页被拉太长 */
html[data-font="pixel"] .frame { line-height: 1.55; }


/* 点阵字下，右边缘那串十六进制读数（000 / B34 …）看着像乱码，先藏起来 */
html[data-font="pixel"] .gauge__num { display: none; }


/* 点阵字比等宽字宽，顶栏更挤；窄一点就把次要读数先收掉 */
@media (max-width: 1240px) {
  #tel-step { display: none; }
}
@media (max-width: 1080px) {
  #tel-tok { display: none; }
  html[data-scheme="sw"] .bar__title { display: none; }
}
