/* ========================================================================
   1. 核心字体本地化引入 (Roboto 家族)
   ======================================================================== */
@font-face {
  font-family: 'Roboto Flex';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('./roboto-flex.woff2') format('woff2');
}

@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./roboto-mono.woff2') format('woff2');
}

/* ========================================================================
   2. Material Symbols & Icons 本地化引入
   核心机制：使用 font-display: block 强制隐藏未加载完成的连字英文字母
   ======================================================================== */
@font-face {
  font-family: 'Material Symbols Rounded';
  font-style: normal;
  font-weight: 400;
  /* 强制阻塞期：字体未加载完前，文字保持隐形，绝不显示乱码英文字母 */
  font-display: block; 
  src: url('./material-symbols-rounded.woff2') format('woff2');
}

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('./material-icons.woff2') format('woff2');
}

/* ========================================================================
   3. 图标防抖动 CSS 锁 (终极护盾)
   即便网络极差，也强制锁死图标尺寸，彻底根除 Layout Shift (排版抖动)
   ======================================================================== */
.material-symbols-rounded,
.material-icons {
  font-family: 'Material Symbols Rounded', 'Material Icons', sans-serif;
  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;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  
  /* 🛡️ 核心防抖属性：强行锁死尺寸，切掉多余外溢英文字符 */
  width: 1em;
  height: 1em;
  overflow: hidden;
  vertical-align: middle;
}