/* ==========================================================================
   胖虎AI 8095 — 字体与图标基础
   --------------------------------------------------------------------------
   正文字体不再依赖 Google Fonts（fonts.googleapis.com 在中国大陆不可达，
   render-blocking 的 <link rel=stylesheet> 会导致首屏长时间白屏）。
   改用系统字体栈：macOS / iOS 取 SF Pro，Windows 取 Segoe UI，
   中文分别落到苹方 / 微软雅黑 —— 与「Apple 毛玻璃」的观感天然一致，
   且零网络请求、零 FOUT。

   图标使用本地官方完整 Material Symbols 字体，不再裁剪连字集合，避免
   运行时空状态、统计卡片或后续新增图标因缺少字形而显示英文名称。字体文件
   约 312KB，不向 Google Fonts 发起运行时请求。字体就位前由 fonts-guard.js 保持占位，避免
   "content_copy" 这样的连字文本直接出现在按钮上。
   ========================================================================== */

@font-face {
  font-family: "Material Symbols Outlined";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("./material-symbols-outlined.woff2?v=20260811-local-symbols-v5-full") format("woff2");
}

:root {
  --font-sans:
    -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro SC", system-ui,
    "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
    "Noto Sans SC", "Helvetica Neue", Arial, sans-serif;
  --font-display:
    -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro SC", system-ui,
    "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
    "Noto Sans SC", "Helvetica Neue", Arial, sans-serif;
  --font-mono:
    ui-monospace, SFMono-Regular, "SF Mono", "JetBrains Mono", Menlo, Consolas,
    "Liberation Mono", monospace;
}

.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  vertical-align: middle;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

/* 图标字体就位之前 / 拿不到时的占位。
   -----------------------------------------------------------------------
   Material Symbols 是连字字体：字体没到位时浏览器会把 "content_copy"
   "arrow_forward" 这些连字名当普通文字画出来，按钮里直接怼一串英文单词。
   所以 <html> 一开始就带 .ms-off（在 <head> 里同步加上，先于首次绘制），
   由 fonts-guard.js 在字体确认可用后移除；拿不到就一直保持占位圆点。
   所有图标按钮都有 aria-label / title，语义不会丢。 */
html.ms-off .material-symbols-outlined {
  font-family: var(--font-sans) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  width: 15px;
  height: 15px;
  min-width: 15px;
  min-height: 15px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  background: none;
  opacity: 0.4;
}

/* styles.css 里有几条 `.console-nav .nav-item .material-symbols-outlined
   { font-size: …px !important }`（第 1560 / 9372 行，属于历史遗留的覆盖层），
   特异度高于上面的通用规则，会让占位失效、连字英文重新露出来。
   这里用同等特异度 + !important 兜住。 */
html.ms-off .console-nav .nav-item .material-symbols-outlined,
html.ms-off .console-sidebar .material-symbols-outlined,
html.ms-off .console-topbar .material-symbols-outlined {
  font-size: 0 !important;
}
