
/* ==== css/tokens.css?v=2026110814 ==== */
/**
 * MoonFog - Design Tokens & Themes
 */

/* ============================================
   自定义字体 - 思源宋体（Source Han Serif SC / Noto Serif SC）
   400 / 500 / 600 / 700，对应设置里的标题粗细滑块

   @font-face 在 css/font-slices.css（由 scripts/build-font-slices.py 生成）：
   整份字体按 unicode-range 切成几片，字形一个没删，只是浏览器只会下载
   当前页面真正用到的那些片。以前首屏要吞 1.5MB，现在约 240KB。
   源文件 fonts/SourceHanSerifSC-*.woff2 是全量版，改文案后重跑脚本即可。
   ============================================ */

/* ============================================
   设计 Tokens
   ============================================ */
:root {
  --bg-warm: #F5F0E8;
  --bg-warm-alt: #EDE8E0;
  --card-bg: #FFFFFF;
  --text-primary: #1A1A1A;
  --text-secondary: #6B6B6B;
  --text-tertiary: #9A9A9A;
  --accent: #0078D4;
  --accent-hover: #106EBE;
  --accent-glow: rgba(0, 120, 212, 0.1);
  --border: rgba(0, 0, 0, 0.08);
  --border-strong: rgba(0, 0, 0, 0.15);
  --shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  --shadow-hover: 0 8px 30px rgba(0, 0, 0, 0.1);
  --search-blur: 20px;
  --panel-blur: 10px;
  --chrome-blur: 14px;
  /* 图片背景控件毛玻璃：全站统一（百分比可直接喂给 color-mix） */
  --glass-saturate: 1.35;
  --glass-fill: 42%;
  --glass-fill-hover: 52%;
  --glass-border: 28%;
  --glass-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
  /* Surface tokens: 抽象上下文，组件无需关心是否图片背景
     ThemeManager 根据 imageBg / grainActive 动态设置 */
  --surface-text-primary: var(--text-primary);
  --surface-text-secondary: var(--text-secondary);
  --surface-text-muted: var(--text-tertiary);
  --surface-bg: var(--bg-warm);
  --surface-bg-hover: var(--bg-warm-alt);
  --surface-border: var(--border);
  --surface-chip: transparent;
  --font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-display: 'SourceHanSerif', 'Noto Serif SC', 'Source Han Serif SC', serif;
  --font-display-system: var(--font);
  /* 各区域字体 / 粗细（可在设置中分别覆盖） */
  --font-greeting: var(--font-display);
  --weight-greeting: 700;
  --font-greeting-sub: var(--font);
  --weight-greeting-sub: 400;
  --font-search: var(--font);
  --weight-search: 400;
  --font-shortcuts: var(--font);
  --weight-shortcuts: 450;
  --radius: 16px;
  --radius-sm: 12px;
  --radius-xs: 8px;
  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 48px;
  /* 全站动效：稍更「弹而顺」的曲线，接近原先流畅感 */
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  /* 带回弹：控制点 y 超过 1，动画会冲过目标值再收回（分段控件的宽度/圆角用） */
  --ease-back: cubic-bezier(0.3, 2.7, 0.45, 1);
  /* 原 linear() 弹簧曲线过冲到 1.167 再回落到 0.839，配 flex-grow 宽度动画
     会连抖三下（用户反馈「Q弹成啥了」）。改成无回弹的减速曲线：
     起手快、收尾稳，到位即止 */
  --ease-spring: cubic-bezier(0.22, 1, 0.36, 1);
  /* 圆角成形专用：起步比 --ease 更陡（x=0.15 时已经走完八成），
     方形块点下去要「立刻看得出在圆」，不能跟宽度一起慢慢磨 */
  --ease-cap: cubic-bezier(0.08, 0.92, 0.18, 1);
  /* 按下多久（秒）才进入按压态：短于这个时长的点击完全不出按压形态。
     调这里就能全局试值，比如 0.5s / 0.8s */
  --press-delay: 0.35s;
  /* 分段控件 / tab 的动效整体倍率：1 为基准，<1 更快，>1 更慢。
     所有相关时长都写成 calc(基准时长 * var(--motion-scale)) */
  --motion-scale: 1;
}

/* ============================================
   色调（light 变体）
   ============================================ */
[data-tone="sand"][data-mode="light"] {
  --bg-warm: #F5F0E8;
  --bg-warm-alt: #EDE8E0;
  --card-bg: #FFFFFF;
  --text-primary: #1A1A1A;
  --text-secondary: #6B6B6B;
  --text-tertiary: #9A9A9A;
  --border: rgba(0, 0, 0, 0.08);
  --border-strong: rgba(0, 0, 0, 0.15);
  --shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  --shadow-hover: 0 8px 30px rgba(0, 0, 0, 0.1);
  --accent: #A87A20;
  --accent-hover: #96691A;
  --accent-glow: rgba(168, 122, 32, 0.18);
}

[data-tone="cream"][data-mode="light"] {
  --bg-warm: #FDF6EC;
  --bg-warm-alt: #F5ECD8;
  --card-bg: #FFFEFA;
  --text-primary: #2C1810;
  --text-secondary: #7A6555;
  --text-tertiary: #A89888;
  --border: rgba(80, 50, 20, 0.08);
  --border-strong: rgba(80, 50, 20, 0.15);
  --shadow: 0 4px 20px rgba(80, 50, 20, 0.06);
  --shadow-hover: 0 8px 30px rgba(80, 50, 20, 0.1);
  --accent: #A87A20;
  --accent-hover: #96691A;
  --accent-glow: rgba(168,122,32, 0.18);
}

[data-tone="rose"][data-mode="light"] {
  --bg-warm: #F8EDE8;
  --bg-warm-alt: #F0E0D8;
  --card-bg: #FFFCFB;
  --text-primary: #2D1B18;
  --text-secondary: #7A5550;
  --text-tertiary: #A88882;
  --border: rgba(100, 50, 40, 0.08);
  --border-strong: rgba(100, 50, 40, 0.15);
  --shadow: 0 4px 20px rgba(100, 50, 40, 0.06);
  --shadow-hover: 0 8px 30px rgba(100, 50, 40, 0.1);
  --accent: #C05A44;
  --accent-hover: #A94C38;
  --accent-glow: rgba(192,90,68, 0.18);
}

[data-tone="sage"][data-mode="light"] {
  --bg-warm: #ECEEE5;
  --bg-warm-alt: #E0E3D5;
  --card-bg: #FAFBF8;
  --text-primary: #1E2018;
  --text-secondary: #5D6050;
  --text-tertiary: #8B8E80;
  --border: rgba(50, 60, 30, 0.08);
  --border-strong: rgba(50, 60, 30, 0.15);
  --shadow: 0 4px 20px rgba(50, 60, 30, 0.06);
  --shadow-hover: 0 8px 30px rgba(50, 60, 30, 0.1);
  --accent: #5C9440;
  --accent-hover: #4E8236;
  --accent-glow: rgba(92,148,64, 0.18);
}

[data-tone="sky"][data-mode="light"] {
  --bg-warm: #E8F0F5;
  --bg-warm-alt: #D8E4ED;
  --card-bg: #FAFCFE;
  --text-primary: #15202B;
  --text-secondary: #4A6275;
  --text-tertiary: #8098A8;
  --border: rgba(20, 50, 80, 0.08);
  --border-strong: rgba(20, 50, 80, 0.15);
  --shadow: 0 4px 20px rgba(20, 50, 80, 0.06);
  --shadow-hover: 0 8px 30px rgba(20, 50, 80, 0.1);
  --accent: #2A7FD4;
  --accent-hover: #1F6DBA;
  --accent-glow: rgba(42,127,212, 0.18);
}

[data-tone="lavender"][data-mode="light"] {
  --bg-warm: #EDE8F0;
  --bg-warm-alt: #E0D8E6;
  --card-bg: #FCFAFD;
  --text-primary: #1E1828;
  --text-secondary: #5E5470;
  --text-tertiary: #8C82A0;
  --border: rgba(50, 30, 70, 0.08);
  --border-strong: rgba(50, 30, 70, 0.15);
  --shadow: 0 4px 20px rgba(50, 30, 70, 0.06);
  --shadow-hover: 0 8px 30px rgba(50, 30, 70, 0.1);
  --accent: #7F5FBE;
  --accent-hover: #6E4FAB;
  --accent-glow: rgba(127,95,190, 0.18);
}

[data-tone="slate"][data-mode="light"] {
  --bg-warm: #E8E9EC;
  --bg-warm-alt: #DCDEE3;
  --card-bg: #F8F9FA;
  --text-primary: #1A1C20;
  --text-secondary: #555960;
  --text-tertiary: #8A8E95;
  --border: rgba(30, 30, 40, 0.1);
  --border-strong: rgba(30, 30, 40, 0.18);
  --shadow: 0 4px 20px rgba(30, 30, 40, 0.08);
  --shadow-hover: 0 8px 30px rgba(30, 30, 40, 0.12);
  --accent: #5A7F99;
  --accent-hover: #4C6E86;
  --accent-glow: rgba(90,127,153, 0.18);
}

/* ============================================
   色调（dark 变体）
   ============================================ */
[data-mode="dark"] {
  --border: rgba(255, 255, 255, 0.14);
  --border-strong: rgba(255, 255, 255, 0.22);
  --shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  --shadow-hover: 0 8px 30px rgba(0, 0, 0, 0.45);
}

[data-tone="sand"][data-mode="dark"] {
  --bg-warm: #1E1C18;
  --bg-warm-alt: #2A2720;
  --card-bg: #332F28;
  --text-primary: #E5DFD0;
  --text-secondary: #9A9485;
  --text-tertiary: #6A6558;
  --accent: #D4A855;
  --accent-hover: #C49A45;
  --accent-glow: rgba(212, 168, 85, 0.15);
}

[data-tone="cream"][data-mode="dark"] {
  --bg-warm: #1E1A14;
  --bg-warm-alt: #2A2418;
  --card-bg: #332C1E;
  --text-primary: #E8DCC8;
  --text-secondary: #9A8A70;
  --text-tertiary: #6A6048;
  --accent: #D4A855;
  --accent-hover: #C49A45;
  --accent-glow: rgba(212, 168, 85, 0.15);
}

[data-tone="rose"][data-mode="dark"] {
  --bg-warm: #1E1818;
  --bg-warm-alt: #2A2020;
  --card-bg: #332828;
  --text-primary: #E8D8D0;
  --text-secondary: #9A7A72;
  --text-tertiary: #6A5550;
  --accent: #D4725E;
  --accent-hover: #C46050;
  --accent-glow: rgba(212, 114, 94, 0.15);
}

[data-tone="sage"][data-mode="dark"] {
  --bg-warm: #181C16;
  --bg-warm-alt: #222820;
  --card-bg: #2A3228;
  --text-primary: #D8E0D0;
  --text-secondary: #889878;
  --text-tertiary: #5E6A50;
  --accent: #7AB85E;
  --accent-hover: #6AA84E;
  --accent-glow: rgba(122, 184, 94, 0.15);
}

[data-tone="sky"][data-mode="dark"] {
  --bg-warm: #161B20;
  --bg-warm-alt: #20282E;
  --card-bg: #283238;
  --text-primary: #D0DAE5;
  --text-secondary: #7898B0;
  --text-tertiary: #506878;
  --accent: #4EA4F0;
  --accent-hover: #3A90D8;
  --accent-glow: rgba(78, 164, 240, 0.15);
}

[data-tone="lavender"][data-mode="dark"] {
  --bg-warm: #1A1620;
  --bg-warm-alt: #241E2A;
  --card-bg: #2C2833;
  --text-primary: #DAD0E5;
  --text-secondary: #8A7CA0;
  --text-tertiary: #5E5570;
  --accent: #A080D0;
  --accent-hover: #8E6EC0;
  --accent-glow: rgba(160, 128, 208, 0.15);
}

[data-tone="slate"][data-mode="dark"] {
  --bg-warm: #1A1B1E;
  --bg-warm-alt: #24262A;
  --card-bg: #2A2C30;
  --text-primary: #E0E0E0;
  --text-secondary: #9A9A9A;
  --text-tertiary: #6A6A6A;
  --accent: #8AB0C8;
  --accent-hover: #7A9EB8;
  --accent-glow: rgba(138, 176, 200, 0.15);
}


/* ==== css/base.css?v=2026110814 ==== */
/**
 * MoonFog - Base Layout
 */

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

/* MingCute 图标统一继承颜色 */
[class^="mgc_"]::before,
[class*=" mgc_"]::before {
  color: inherit !important;
}

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  /* 根背景必须是实色：壁纸模式下 --bg-warm 带 0.9 的透明度，
     直接拿去做根背景的话，壁纸层差一条缝就会透出浏览器白底。
     --bg-root 由 theme-manager 在图片模式下压成实色 */
  background-color: var(--bg-root, var(--bg-warm));
  color-scheme: light;
  touch-action: manipulation;
}

html[data-mode="dark"] {
  color-scheme: dark;
}

body {
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.5;
  color: var(--text-primary);
  background: var(--bg-warm);
  min-height: 100vh;
  min-height: 100dvh;
  overflow: hidden;
  padding:
    env(safe-area-inset-top, 0)
    env(safe-area-inset-right, 0)
    env(safe-area-inset-bottom, 0)
    env(safe-area-inset-left, 0);
  -webkit-tap-highlight-color: transparent;
}

/*
 * 明暗 / 色调切换：只用「面」来交代，文字和线条瞬时换色
 * 由 html.theme-animating 短暂开启，避免拖拽/首屏也动画
 *
 * 以前是给几十个选择器（外加 .settings-panel * 全通配）挂
 * background / color / border-color / box-shadow / opacity / filter 过渡：
 * 切一次色要在 360ms 里逐帧重绘上百个元素，实测帧间隔从 8ms 涨到 12ms、
 * 中间还冒出 50ms 的长帧——分段控件的挤占动画就是被这个拖成「卡」的。
 * 现在只过渡大块背景，其余一律瞬时，正好也是「文字直接切换」的要求。
 */
html.theme-animating * {
  transition: none !important;
}

html.theme-animating,
html.theme-animating body,
html.theme-animating .settings-panel,
html.theme-animating .settings-card,
html.theme-animating .page-bg-overlay,
html.theme-animating .bing-credit {
  transition: background-color 0.36s var(--ease) !important;
}

/* 分段控件和顶部 tab 的挤占动画必须活下来：
   点「深色」的那一刻 theme-animating 刚好加上，被一起砍掉的话
   宽度和圆角会直接跳到位，看着就是卡。
   两者节奏不同：三段控件要「一开始就圆」（0.1s 陡曲线），
   顶部 tab 要「边撑开边成胶囊」（跟宽度同长同曲线） */
html.theme-animating .mode-segment-btn {
  transition:
    flex-grow 0.26s var(--ease),
    border-radius 0.1s var(--ease-cap) !important;
}

html.theme-animating .wp-subnav-btn {
  transition:
    flex-grow 0.26s var(--ease),
    border-radius 0.26s var(--ease) !important;
}

/* 只有图标保留过渡（淡入 + 飞出）；文字一律瞬时换位，不进这条豁免 */
html.theme-animating .mode-segment-icon {
  transition:
    opacity 0.12s var(--ease),
    transform 0.12s var(--ease) !important;
}

html.theme-animating .wp-subnav-icon {
  transition:
    opacity 0.18s var(--ease),
    transform 0.26s var(--ease) !important;
}

/* 明暗切换时禁止改动定位相关属性，保证控件“原地”变色 */
html.theme-animating .content,
html.theme-animating .greeting-section,
html.theme-animating .search-section,
html.theme-animating .shortcuts-section,
html.theme-animating .settings-wrapper {
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html.theme-animating,
  html.theme-animating body,
  html.theme-animating .greeting-title,
  html.theme-animating .greeting-sub,
  html.theme-animating .search-box,
  html.theme-animating .search-input,
  html.theme-animating .search-btn,
  html.theme-animating .shortcut-btn,
  html.theme-animating .shortcut-folder-trigger,
  html.theme-animating .settings-btn,
  html.theme-animating .settings-panel,
  html.theme-animating .page-bg-overlay {
    transition: none !important;
  }
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* 页面进入：上浮 + 淡入
 * 毛玻璃元素：动画必须加在「带 backdrop-filter 的节点自己」上，
 * 不能加在祖先（祖先 transform 会切断毛玻璃采样）。
 */
@keyframes page-enter {
  from {
    opacity: 0;
    transform: translate3d(0, 18px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes page-enter-soft {
  from {
    opacity: 0;
    transform: translate3d(0, 10px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* 整页壁纸首屏：从「已放大」收到正常（图一开始就在放大态，不先闪正常再动画） */
@keyframes bg-enter {
  from {
    opacity: 1;
    transform: scale(calc(var(--bg-scale, 1.04) * 1.07));
  }
  to {
    opacity: 1;
    transform: scale(var(--bg-scale, 1.04));
  }
}

/* 无缓存首帧：才用淡入 + 缩放 */
@keyframes bg-enter-fade {
  from {
    opacity: 0;
    transform: scale(calc(var(--bg-scale, 1.04) * 1.07));
  }
  to {
    opacity: 1;
    transform: scale(var(--bg-scale, 1.04));
  }
}

@keyframes quote-shimmer {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}

@keyframes quote-skeleton-out {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -6px, 0);
  }
}

@keyframes quote-text-in {
  from {
    opacity: 0;
    transform: translate3d(0, 10px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.content {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: var(--space-xl);
  gap: var(--space-lg);
  max-width: 720px;
  margin: 0 auto;
  position: relative;
  left: 0;
  top: 0;
  /* 不用 transform 让位：transform 会切断搜索框/标签的 backdrop-filter */
  /*
   * top 用 ease-out 而非 ease-in-out：后者前 1/3 几乎不动，页面会像“迟疑一下才动”，
   * 无论时长多短都显得比面板慢半拍；ease-out 起步即动，观感与面板同帧开始。
   * 0.22s 让位移有完整减速过程，比 0.12s 的硬弹流畅。
   */
  transition: left 0.3s var(--ease), top 0.22s cubic-bezier(0.25, 1, 0.5, 1);
}

/* 文件夹展开时：用负 top 整体上移内容，可以突破视口顶部（问候区也能推出屏幕） */
body.folder-open .content {
  top: calc(var(--folder-shift, 0px) * -1);
}

/*
 * 快捷标签展开时：内容上移让位，搜索框随之上移，
 * 露出折叠在两行之外的完整快捷标签
 */
body.shortcuts-expanded .content {
  top: -28px;
}

/*
 * 两种让位叠加：行展开的 -28px 基线 + 文件夹面板的让位。
 * 上面两条同优先级，后者会把前者的 top 直接覆盖掉（--folder-shift 因此失效，
 * 行展开状态下打开文件夹面板会被顶出视口），这里用更具体的选择器把两者相加。
 */
body.folder-open.shortcuts-expanded .content {
  top: calc(-28px - var(--folder-shift, 0px));
}

/*
 * 跟随模式：子文件夹展开/收回时面板高度在做 0.3s 过渡，
 * 若 top 也用自己的过渡去追一个每帧变化的目标会永远慢半拍。
 * 该窗口内关掉过渡，让 JS 逐帧直驱，上移量与面板同帧同步。
 */
body.folder-open.folder-following .content {
  transition: none;
}

/*
 * 设置面板打开时略向左让位；仅在宽屏启用，避免中窄屏裁切标题/搜索框
 * 用 relative + left，避免 transform 破坏毛玻璃
 */
@media (min-width: 1200px) {
  body.settings-open .content {
    left: -160px;
  }
}

@media (min-width: 980px) and (max-width: 1199px) {
  body.settings-open .content {
    left: -72px;
  }
}

/*
 * 文案/主题先就绪，透明等待；boot-ready 后整段流畅进场
 * 注意：若 JS 挂掉未加 boot-ready，2s 后强制显示，避免整页空白「打不开」
 */
/* 首屏未就绪：整块先藏；boot-ready 后立刻进场（不再等整段 JS）
 * failsafe：若 JS 挂掉，约 0.6s 后强制显示，避免整页空白 */
html:not(.boot-ready) .content > .greeting-section,
html:not(.boot-ready) .content > .search-section,
html:not(.boot-ready) .content > .shortcuts-section,
html:not(.boot-ready) .bing-credit,
html:not(.boot-ready) .settings-wrapper {
  opacity: 0;
  animation: boot-failsafe-show 0.01s linear 0.6s forwards;
}

/* boot-ready 后父级立刻可见，由子项播上浮（避免父级 opacity 动画把子项卡死） */
html.boot-ready .content > .search-section,
html.boot-ready .content > .shortcuts-section {
  opacity: 1;
  animation: none;
}

@keyframes boot-failsafe-show {
  to { opacity: 1; }
}

.greeting-section {
  text-align: left;
  width: 100%;
  max-width: 100%;
  transform: none;
  /* 文件夹展开时：透明度降低并失焦，不隐藏 */
  transition:
    opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
    filter 0.22s cubic-bezier(0.25, 1, 0.5, 1);
}

/* 文件夹展开时：所有非文件夹内容透明度 80%（opacity 0.2），仍可见但不抢眼
   注意：展开开关 #shortcutsExpand 是 .shortcuts-section 的直接子元素、位于 .shortcuts-row 之外，
   必须单独列出，否则文件夹展开时它不会跟随失焦 */
body.folder-open .greeting-section,
body.folder-open .search-section,
body.folder-open .bing-credit,
body.folder-open .settings-wrapper,
body.folder-open .shortcuts-row > .shortcut-drag-wrapper > .shortcut-btn:not(.shortcut-folder-trigger),
body.folder-open .shortcuts-row > .shortcut-drag-wrapper > .shortcut-folder:not(.open) .shortcut-folder-trigger,
body.folder-open .shortcuts-section > .shortcuts-expand {
  opacity: 0.2 !important;
  /* 与上移同为 ease-out 0.22s，起步即变，不比面板慢半拍 */
  transition:
    opacity 0.22s cubic-bezier(0.25, 1, 0.5, 1),
    filter 0.22s cubic-bezier(0.25, 1, 0.5, 1);
}

/* 打开文件夹时问候区/搜索框/必应来源/设置按钮一并失焦退后 */
body.folder-open .greeting-section,
body.folder-open .search-section,
body.folder-open .bing-credit,
body.folder-open .settings-wrapper {
  filter: blur(2px);
}

/* 文件夹一展开，页面上的其他标签就失焦退后（打开中的胶囊走下方锚点豁免，not(.open) 排除关闭中的文件夹 trigger）
   展开开关同样在 .shortcuts-row 之外，需单独列出 */
body.folder-open .shortcuts-row > .shortcut-drag-wrapper > .shortcut-btn:not(.shortcut-folder-trigger),
body.folder-open .shortcuts-row > .shortcut-drag-wrapper > .shortcut-folder:not(.open) .shortcut-folder-trigger,
body.folder-open .shortcuts-section > .shortcuts-expand {
  filter: blur(1.5px);
}

/* 打开中的文件夹胶囊是当前锚点：任何失焦/淡化规则都不作用于它 */
.shortcut-folder.open > .shortcut-folder-trigger {
  filter: none !important;
  opacity: 1 !important;
}

/* 一言：占满内容区宽度，减少左右大片空 */
.greeting-section[data-mode="quote"],
.greeting-section[data-mode="custom"] {
  max-width: min(100%, 40rem);
}

/* 文案与壁纸同一时刻开跑（无 delay） */
html.boot-ready .greeting-section {
  animation: page-enter 0.72s cubic-bezier(0.16, 1, 0.3, 1) backwards;
}

/*
 * 壁纸首屏与文案同步：
 * - boot-ready 前：已放大、可见（缓存图直接铺上）
 * - boot-ready 瞬间：与 greeting 同一帧开始缩小（不靠 is-entering 二次排队）
 */
html.boot-has-image:not(.boot-ready) .page-bg-image.is-active {
  opacity: 1;
  transform: scale(calc(var(--bg-scale, 1.04) * 1.07));
  transition: none;
}

/* 与 .greeting-section 同用 boot-ready 触发，零额外 delay */
html.boot-ready.boot-has-image:not(.bg-entered) .page-bg-image.is-active {
  animation: bg-enter 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
}

html.boot-ready.boot-has-image:not(.bg-entered):not(.boot-bg-decoded) .page-bg-image.is-active {
  animation-name: bg-enter-fade;
}

html.boot-ready.bg-entered .page-bg-image.is-active {
  animation: none;
  opacity: 1;
  transform: scale(var(--bg-scale, 1.04));
}

.greeting-title {
  font-family: var(--font-display);
  /* 恢复原默认字号；--size-greeting 为 0.7–1.4 缩放 */
  font-size: calc(clamp(1.75rem, 4vw, 2.25rem) * var(--size-greeting, 1));
  font-weight: var(--boot-greeting-weight, 700);
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin: 0;
  min-height: 1.25em;
  width: 100%;
  max-width: 100%;
  text-wrap: pretty;
}

.greeting-title:empty {
  visibility: hidden;
}

/* 时钟模式：更像大号时间；强制单行，避免 text-wrap:balance 拆成两行 */
.greeting-title.is-clock {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  font-size: calc(clamp(2.25rem, 6vw, 3.25rem) * var(--size-greeting, 1));
  font-feature-settings: "tnum" 1;
  white-space: nowrap;
  text-wrap: nowrap;
  overflow: visible;
}

/* 一言 / 自定义：稍小一点，方便长句换行；字重仍跟随标题粗细滑块 */
.greeting-title.is-quote,
.greeting-title.is-custom {
  font-size: calc(clamp(1.4rem, 3.4vw, 1.95rem) * var(--size-greeting, 1));
  font-weight: var(--boot-greeting-weight, 600);
  line-height: 1.5;
  letter-spacing: 0.01em;
  border-radius: 8px;
  /* 不用 balance：短句会被挤在中间，左右显得空 */
  text-wrap: pretty;
  text-align: left;
}

.greeting-title.is-quote {
  cursor: pointer;
  user-select: none;
  transition: opacity 0.28s var(--ease), transform 0.22s var(--ease);
}

.greeting-title.is-custom-placeholder {
  color: var(--text-tertiary);
  font-weight: 500;
}

.greeting-title.is-quote:hover {
  opacity: 0.88;
}

.greeting-title.is-quote:active {
  transform: scale(0.992);
}

/* 模式切换 / 换句：先淡出 */
.greeting-title.is-switching,
.greeting-sub.is-switching {
  opacity: 0.35;
  pointer-events: none;
  transition: opacity 0.18s var(--ease);
}

/* 每日一言加载：文气轮换文案 + 轻呼吸（不用透明裁剪字，避免图片背景看不见） */
.greeting-title.is-quote-loading {
  cursor: default;
  pointer-events: none;
  min-height: 1.4em;
  letter-spacing: 0.03em;
  font-weight: 500;
  opacity: 0.82;
  color: var(--img-text, var(--text-primary)) !important;
  -webkit-text-fill-color: currentColor;
  background: none !important;
  background-image: none !important;
  animation: quote-seeking-breathe 2.6s ease-in-out infinite;
}

.greeting-title.is-quote-loading.is-quote-seeking-swap {
  animation:
    quote-seeking-breathe 2.6s ease-in-out infinite,
    quote-seeking-fade 0.5s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.greeting-title.is-quote-error {
  cursor: pointer;
  opacity: 0.78;
  font-size: calc(1.15rem * var(--size-greeting, 1));
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.45;
}

.greeting-title.is-quote-error:hover {
  opacity: 0.95;
}

.greeting-title.is-quote-loading:hover,
.greeting-title.is-quote-loading:active {
  transform: none;
}

@keyframes quote-seeking-breathe {
  0%,
  100% {
    opacity: 0.55;
  }
  50% {
    opacity: 0.92;
  }
}

@keyframes quote-seeking-fade {
  from {
    opacity: 0.28;
    transform: translate3d(0, 4px, 0);
  }
  to {
    opacity: 0.85;
    transform: translate3d(0, 0, 0);
  }
}

/* 骨架 → 正文 / 换句 / 模式切换：淡入上浮 */
.greeting-title.is-quote-reveal,
.greeting-title.is-greeting-reveal {
  animation: quote-text-in 0.48s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.greeting-sub.is-quote-reveal,
.greeting-sub.is-greeting-reveal {
  animation: quote-text-in 0.48s cubic-bezier(0.16, 1, 0.3, 1) 0.06s both;
}

.quote-skeleton {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.55rem;
  width: min(100%, 28rem);
  padding: 0.15rem 0;
}

.quote-skeleton.is-leaving {
  animation: quote-skeleton-out 0.3s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.quote-skeleton-line {
  display: block;
  height: 0.92em;
  width: 92%;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--text-primary) 10%, transparent) 0%,
    color-mix(in srgb, var(--text-primary) 18%, transparent) 45%,
    color-mix(in srgb, var(--text-primary) 10%, transparent) 100%
  );
  background-size: 200% 100%;
  animation: quote-shimmer 1.15s ease-in-out infinite;
}

.quote-skeleton-line.short {
  width: 58%;
  height: 0.72em;
  opacity: 0.85;
  animation-delay: 0.12s;
}

.greeting-section[data-mode="quote"] .greeting-sub {
  opacity: 0.88;
  cursor: pointer;
  user-select: none;
  /* 主标题 ↔ 来源小标题 */
  margin-top: 0.5rem;
}
.greeting-section[data-mode="quote"] .greeting-sub:not(:empty)::before {
  content: "— ";
}

.greeting-section[data-mode="quote"] .greeting-sub:hover {
  opacity: 1;
}

.greeting-sub {
  margin: 0.45rem 0 0;
  font-family: var(--font-greeting-sub, var(--font));
  font-size: calc(0.95rem * var(--size-greeting-sub, 1));
  font-weight: var(--weight-greeting-sub, 400);
  color: var(--text-secondary);
  letter-spacing: 0.02em;
  line-height: 1.45;
  transition: opacity 0.28s var(--ease);
}

.greeting-section[data-mode="clock"] .greeting-sub {
  margin-top: 0.4rem;
  font-variant-numeric: tabular-nums;
}

/* 一言区与下方搜索框的整体呼吸感 */
.greeting-section[data-mode="quote"] {
  margin-bottom: 0.15rem;
}

.search-section {
  position: relative;
  z-index: 30;
  width: 100%;
  /* 父级永不 transform，避免切断子级毛玻璃 */
  transform: none;
  opacity: 1;
  transition:
    opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
    filter 0.22s cubic-bezier(0.25, 1, 0.5, 1);
}

/* 进场动画打在搜索框自身：动画中也能实时 backdrop-filter
 * fill-mode 用 backwards：forwards/both 会残留 transform:translate3d(0,0,0) */
html.boot-ready .search-section .search-box {
  animation: page-enter 0.82s cubic-bezier(0.16, 1, 0.3, 1) 0.1s backwards;
}

.shortcuts-section {
  width: 100%;
  transform: none;
  opacity: 1;
}

/* 快捷标签自身上浮；父级不动 */
html.boot-ready .shortcuts-section .shortcut-btn,
html.boot-ready .shortcuts-section .shortcut-folder-trigger {
  animation: page-enter 0.86s cubic-bezier(0.16, 1, 0.3, 1) 0.18s backwards;
}

/* 快捷标签子元素（图标+文字）延迟进入，形成分层效果 */
html.boot-ready .shortcuts-section .shortcut-btn .shortcut-icon,
html.boot-ready .shortcuts-section .shortcut-folder-trigger .shortcut-icon {
  animation: page-enter-soft 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.06s backwards;
}
html.boot-ready .shortcuts-section .shortcut-btn .shortcut-label,
html.boot-ready .shortcuts-section .shortcut-folder-trigger .shortcut-label {
  animation: page-enter-soft 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.12s backwards;
}

/* Bing 来源柔和淡入 */
html.boot-ready .bing-credit {
  animation: page-enter-soft 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.28s backwards;
}

/* 设置入口不播进场动画，始终立刻可见 */
html.boot-ready .settings-wrapper {
  opacity: 1;
  animation: none;
}

/* 进场结束后清 animation，避免残留 */
html.boot-ready .greeting-section.boot-entered {
  animation: none !important;
  opacity: 1;
  transform: none;
}

html.boot-ready .search-section.boot-entered .search-box,
html.boot-ready .shortcuts-section.boot-entered .shortcut-btn,
html.boot-ready .shortcuts-section.boot-entered .shortcut-folder-trigger,
html.boot-ready .bing-credit.boot-entered {
  animation: none !important;
  opacity: 1;
  transform: none;
}

/* 父级进场后保持可见（不再挂 section 级动画） */
html.boot-ready .search-section.boot-entered,
html.boot-ready .shortcuts-section.boot-entered {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  html:not(.boot-ready) .content > .greeting-section,
  html:not(.boot-ready) .content > .search-section,
  html:not(.boot-ready) .content > .shortcuts-section,
  html:not(.boot-ready) .bing-credit,
  html:not(.boot-ready) .settings-wrapper {
    opacity: 1;
  }

  html.boot-ready .greeting-section,
  html.boot-ready .search-section,
  html.boot-ready .shortcuts-section,
  html.boot-ready .search-section .search-box,
  html.boot-ready .shortcuts-section .shortcut-btn,
  html.boot-ready .shortcuts-section .shortcut-folder-trigger,
  html.boot-ready .bing-credit,
  html.boot-ready .settings-wrapper {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .quote-skeleton-line,
  .quote-skeleton.is-leaving,
  .greeting-title.is-quote-loading,
  .greeting-title.is-quote-seeking-swap,
  .greeting-title.is-quote-reveal,
  .greeting-title.is-greeting-reveal,
  .greeting-sub.is-quote-reveal,
  .greeting-sub.is-greeting-reveal,
  .content,
  .settings-panel,
  .modal-overlay,
  .modal-box,
  .context-menu,
  .page-bg-image,
  .page-bg-overlay {
    animation: none !important;
    transition: none !important;
  }

  html.boot-ready.boot-has-image .page-bg-image.is-active {
    animation: none !important;
  }
}

/* ============================================
   页面背景层（图片取色 + 可调模糊）
   ============================================ */
:root {
  --bg-blur: 20px;
  --bg-scale: 1.04;
}

.page-bg {
  position: fixed;
  inset: 0;
  /* 地址栏/工具栏伸缩时 fixed 的 inset:0 会慢半拍，底部偶尔露一条根背景，
     看着就是「壁纸空了一段」。lvh 是地址栏收起后的最大视口高度，
     按它铺满只会多不会少，多出的那截在屏幕外看不见。
     不支持 lvh 的浏览器会忽略这条，退回 inset:0 */
  height: 100lvh;
  /* 软键盘按 resizes-content 弹起时布局视口被压矮，100lvh 也跟着缩，
     background-size / object-fit 的 cover 于是重新裁一遍 —— 看到的就是
     「一敲键盘壁纸自己也在缩放位移」。--bg-lock-h 是 js/keyboard-inset.js
     记下的「没有键盘时」的高度（只增不减），取两者更大值：
     视口怎么缩，壁纸都不动 */
  height: max(100lvh, var(--bg-lock-h, 0px));
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.page-bg-grain {
   position: absolute;
   inset: 0;
   z-index: 0;
   opacity: 0;
   pointer-events: none;
   background: #f6f1ea;
   transition: opacity 0.4s var(--ease);
}

/* 流光背景：grain-ready 后才显示（canvas 渲染完毕），延迟 0.5s 淡入 */
.page-bg-grain.grain-ready {
   opacity: 1;
   transition: opacity 1s var(--ease) 0.5s;
}

html[data-mode="dark"] .page-bg-grain {
   background: #17140f;
}
.page-bg.has-grain .page-bg-overlay {
  position: absolute;
  inset: 0;
  background: transparent;
  pointer-events: none;
  z-index: 2;
}

.page-bg-grain canvas {
  display: block;
  width: 100%;
  height: 100%;
}

.page-bg-stack {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 1;
}

.page-bg-image {
  position: absolute;
  inset: -2%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0;
  transform: scale(calc(var(--bg-scale, 1.04) * 1.03));
  filter: blur(var(--bg-blur, 20px));
  /* 换图只淡透明度：避免 blur+transform 同层动画卡顿 */
  transition: opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 0;
}

/* 仅 is-active 控制可见；is-ready 只表示已解码，便于旧层淡出 */
.page-bg-image.is-active {
  opacity: 1;
  z-index: 1;
  transform: scale(var(--bg-scale, 1.04));
}

/* 仅首屏未就绪时关掉过渡；换图后靠 .bg-swap-ready 恢复 */
html.boot-has-image:not(.boot-ready):not(.bg-swap-ready) .page-bg-image,
html.boot-has-image.boot-bg-decoded:not(.boot-ready):not(.bg-swap-ready) .page-bg-image.is-active {
  transition: none;
}

html.boot-has-image.boot-bg-decoded .page-bg-image.is-active,
html.bg-swap-ready .page-bg-image.is-active {
  opacity: 1;
}

/* 换图：只过渡 opacity（盖过 boot 内联） */
html.bg-swap-ready .page-bg-image {
  transition: opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

/* 首屏缩放结束后不再保留 will-change，减轻显存占用 */
html.boot-ready.boot-has-image:not(.bg-entered) .page-bg-image.is-active {
  will-change: transform;
}

html.bg-entered .page-bg-image,
html.perf-balanced .page-bg-image,
html.low-perf .page-bg-image {
  will-change: auto;
}

html.low-perf .page-bg-image,
html.low-perf.bg-swap-ready .page-bg-image,
html.perf-low .page-bg-image {
  filter: none !important;
  transition: none !important;
  animation: none !important;
  transform: none !important;
}

/* 遮罩：用户可调黑/白中性雾（--bg-neutral-wash）；中间 0 = 无色纯模糊 */
.page-bg-overlay {
  position: absolute;
  inset: 0;
  background: transparent;
  transition: background 0.4s ease;
  pointer-events: none;
  z-index: 2;
}

.page-bg.has-image .page-bg-overlay {
  background: var(--bg-neutral-wash, var(--img-wash, transparent));
}

/*
 * 图片背景：只替换颜色 token
 * 不新增渐变、毛玻璃、圆角胶囊等样式重构
 */
/*
 * 图片背景问候：只要字色（更实、约 92%），无阴影、无后底板
 * 可读性靠全屏压暗/提亮（--bg-neutral-wash）
 */
body.has-image-bg .greeting-title,
html.boot-has-image .greeting-title {
  color: var(--img-text, var(--text-primary));
  text-shadow: none;
  background: none;
  border: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  filter: none;
  padding: 0;
  margin: 0;
  -webkit-font-smoothing: antialiased;
}

body.has-image-bg .greeting-sub,
html.boot-has-image .greeting-sub {
  color: var(--img-text-secondary, var(--text-secondary));
  text-shadow: none;
  background: none;
  border: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  filter: none;
  padding: 0;
  /* 保留与主标题间距，勿清零 margin-top */
}

body.has-image-bg .greeting-section,
html.boot-has-image .greeting-section {
  background: none;
  border: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  padding: 0;
}

/*
 * 流光模式问候：白色文字
 */
body.has-grain-ui .greeting-title,
html.boot-has-grain .greeting-title {
  color: var(--img-text, #1A1814) !important;
  -webkit-text-fill-color: currentColor;
  text-shadow: none;
  background: none;
  border: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  filter: none;
}
body.has-grain-ui .greeting-sub,
html.boot-has-grain .greeting-sub {
  color: var(--img-text, #1A1814) !important;
  -webkit-text-fill-color: currentColor;
  text-shadow: none;
  background: none;
  border: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  filter: none;
}

/*
 * 图片背景控件毛玻璃：搜索框 / 快捷标签 / 展开菜单
 * fill + blur + saturate + 轻边框 + 统一阴影
 */
body.has-image-bg .search-box,
html.boot-has-image .search-box,
body.has-image-bg .search-suggest,
html.boot-has-image .search-suggest,
body.has-image-bg .shortcut-btn,
body.has-image-bg .shortcut-folder-trigger {
  background: color-mix(
    in srgb,
    var(--img-surface, var(--card-bg)) var(--glass-fill, 42%),
    transparent
  );
  border-color: color-mix(
    in srgb,
    var(--img-chrome-text, #fff) var(--glass-border, 28%),
    transparent
  );
  box-shadow: var(--glass-shadow, 0 8px 24px rgba(0, 0, 0, 0.16));
  text-shadow: none;
  backdrop-filter: blur(var(--search-blur, 16px)) saturate(var(--glass-saturate, 1.35));
  -webkit-backdrop-filter: blur(var(--search-blur, 16px)) saturate(var(--glass-saturate, 1.35));
}

body.has-image-bg.img-scene-dark .search-box,
body.has-image-bg.img-scene-dark .search-suggest,
body.has-image-bg.img-scene-dark .shortcut-btn,
body.has-image-bg.img-scene-dark .shortcut-folder-trigger,
body.has-image-bg.img-scene-dark .shortcut-expanded,
body.has-image-bg.img-scene-dark .settings-btn {
  --glass-fill: 78%;
  --glass-fill-hover: 88%;
  --glass-border: 22%;
}

body.has-image-bg.img-scene-light .search-box,
body.has-image-bg.img-scene-light .search-suggest,
body.has-image-bg.img-scene-light .shortcut-btn,
body.has-image-bg.img-scene-light .shortcut-folder-trigger,
body.has-image-bg.img-scene-light .shortcut-expanded,
body.has-image-bg.img-scene-light .settings-btn {
  --glass-fill: 78%;
  --glass-fill-hover: 88%;
  --glass-border: 20%;
}

body.has-image-bg .search-box:focus-within,
body.has-image-bg .shortcut-btn:hover,
body.has-image-bg .shortcut-folder-trigger:hover,
body.has-image-bg .shortcut-folder.open .shortcut-folder-trigger {
  background: color-mix(
    in srgb,
    var(--img-surface-hover, var(--img-surface, var(--card-bg))) var(--glass-fill-hover, 52%),
    transparent
  );
  border-color: color-mix(
    in srgb,
    var(--img-chrome-text, #fff) var(--glass-border-hover, 34%),
    transparent
  );
}

body.has-image-bg .search-input,
html.boot-has-image .search-input {
  color: var(--img-chrome-text, var(--img-text, var(--text-primary)));
}

body.has-image-bg .search-input::placeholder,
html.boot-has-image .search-input::placeholder {
  color: rgba(255,255,255,0.7);
}

body.has-image-bg .search-btn,
html.boot-has-image .search-btn,
body.has-image-bg .search-clear-btn,
html.boot-has-image .search-clear-btn {
  color: var(--img-chrome-text-secondary, var(--img-text-secondary, var(--text-secondary)));
}

body.has-image-bg .search-btn:hover,
html.boot-has-image .search-btn:hover,
body.has-image-bg .search-clear-btn:hover,
html.boot-has-image .search-clear-btn:hover {
  color: var(--img-chrome-text, var(--img-text, var(--text-primary)));
}

body.has-image-bg .shortcut-btn,
body.has-image-bg .shortcut-folder-trigger {
  color: var(--img-chrome-text, var(--img-text, var(--text-primary)));
}

body.has-image-bg .shortcut-btn:hover,
body.has-image-bg .shortcut-folder-trigger:hover,
body.has-image-bg .shortcut-folder.open .shortcut-folder-trigger {
  color: var(--img-chrome-text, var(--img-text, var(--text-primary)));
}

body.has-image-bg .shortcut-btn .shortcut-label,
body.has-image-bg .shortcut-folder-trigger .shortcut-label,
body.has-image-bg .shortcut-btn .shortcut-icon,
body.has-image-bg .shortcut-folder-trigger .shortcut-icon,
body.has-image-bg .shortcut-btn .shortcut-fallback-icon,
body.has-image-bg .shortcut-folder-trigger .shortcut-fallback-icon {
  color: currentColor;
}

/* 设置按钮默认隐藏；悬停样式在 panel.css，避免图片模式强制常显 */

body.has-image-bg .shortcut-expanded,
body.has-image-bg .search-suggest {
  color: var(--img-chrome-text, var(--img-text, var(--text-primary)));
}

body.has-image-bg .shortcut-expanded-item {
  color: var(--img-chrome-text, var(--img-text, var(--text-primary)));
}

/* 图片背景模式：空文件夹卡片改用图片取色的文字/底色，避免灰阶在照片上糊成一片 */
body.has-image-bg .shortcut-expanded-empty p,
body.has-image-bg .shortcut-expanded-empty-icon,
body.has-image-bg .shortcut-expanded-add {
  color: var(--img-chrome-text-secondary, var(--img-text-secondary, var(--text-secondary)));
}

body.has-image-bg .shortcut-expanded-empty-icon {
  background: color-mix(in srgb, #fff 10%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 15%, transparent);
}

body.has-image-bg .shortcut-expanded-add {
  background: color-mix(in srgb, #fff 10%, transparent);
}

body.has-image-bg .shortcut-expanded-add:hover {
  background: color-mix(in srgb, #fff 18%, transparent);
  color: var(--img-chrome-text, var(--img-text, var(--text-primary)));
}

.content {
  position: relative;
  z-index: 1;
}

.settings-wrapper {
  z-index: 250;
}

/* 左下角必应署名 + 悬浮/点击弹出沉浸卡片 */
.bing-credit-wrap {
  position: fixed;
  left: 12px;
  bottom: 10px;
  z-index: 60;
  max-width: min(72vw, 340px);
}

.bing-credit-wrap[hidden] {
  display: none !important;
}

.bing-credit {
  display: inline-flex;
  max-width: min(56vw, 320px);
  margin: 0;
  padding: 6px 8px;
  border: none;
  border-radius: 10px;
  background: transparent;
  font: inherit;
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
  opacity: 0;
  transform: translateY(2px);
  transition:
    opacity 0.22s var(--ease),
    color 0.15s var(--ease),
    transform 0.22s var(--ease),
    background 0.15s var(--ease);
}

body.has-image-bg .bing-credit {
  color: var(--img-credit-text, var(--img-text-secondary, var(--text-secondary)));
}

.bing-credit-wrap:hover .bing-credit,
.bing-credit-wrap:focus-within .bing-credit,
.bing-credit-wrap.is-open .bing-credit,
.bing-credit:hover,
.bing-credit:focus-visible {
  opacity: 1;
  transform: translateY(0);
  color: var(--text-primary);
  outline: none;
}

body.has-image-bg .bing-credit-wrap:hover .bing-credit,
body.has-image-bg .bing-credit-wrap:focus-within .bing-credit,
body.has-image-bg .bing-credit-wrap.is-open .bing-credit,
body.has-image-bg .bing-credit:hover,
body.has-image-bg .bing-credit:focus-visible {
  color: var(--img-text, var(--text-primary));
}

.bing-credit-text {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bing-credit-pop {
  position: absolute;
  left: 0;
  /* 紧贴署名文字上方；用伪元素桥接 1~2px 缝，不制造大空白 */
  bottom: calc(100% + 4px);
  width: min(70vw, 300px);
  border-radius: 14px;
  overflow: visible;
  background: transparent;
  box-shadow: none;
  opacity: 0;
  transform: translateY(6px) scale(0.98);
  pointer-events: none;
  transition:
    opacity 0.2s var(--ease),
    transform 0.22s cubic-bezier(0.22, 1, 0.36, 1);
  transform-origin: left bottom;
  z-index: 2;
}

/* 透明热区桥：不占视觉高度，只负责接住鼠标 */
.bing-credit-pop::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 10px;
}

.bing-credit-pop .bg-bing-card--popup,
.bing-credit-pop .bg-bing-card {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  box-shadow:
    0 12px 36px rgba(0, 0, 0, 0.28),
    0 0 0 1px color-mix(in srgb, var(--border) 80%, transparent);
}

/* 仅点击固定打开时显示关闭按钮 */
.bing-credit-close {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 5;
  width: 28px;
  height: 28px;
  display: none;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 999px;
  padding: 0;
  background: rgba(0, 0, 0, 0.42);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(calc(var(--chrome-blur, 14px) * 0.6));
  -webkit-backdrop-filter: blur(calc(var(--chrome-blur, 14px) * 0.6));
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.18);
  transition: background 0.15s var(--ease), transform 0.15s var(--ease);
}

.bing-credit-close:hover,
.bing-credit-close:focus-visible {
  background: rgba(0, 0, 0, 0.58);
  outline: none;
}

.bing-credit-close:active {
  transform: scale(0.96);
}

.bing-credit-close .mgc_close_line {
  font-size: 15px;
  line-height: 1;
}

.bing-credit-wrap.is-open .bing-credit-close {
  display: inline-flex;
}

.bing-credit-close[hidden] {
  display: none !important;
}

.bing-credit-wrap.is-open .bing-credit-close:not([hidden]) {
  display: inline-flex;
}

.bing-credit-pop[hidden] {
  display: none !important;
}

.bing-credit-wrap.is-open .bing-credit-pop,
.bing-credit-wrap:hover .bing-credit-pop,
.bing-credit-wrap:focus-within .bing-credit-pop {
  display: block !important;
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

/* 小宽度：隐藏破折号（viewport < 816px 时 content 被压缩，搜索框变小）
   问候区一律左对齐，居中样式已移除，避免和 mobile.css 互相覆盖 */
@media (max-width: 816px) {
  .greeting-section[data-mode="quote"] .greeting-sub:not(:empty)::before {
    content: none;
  }
}

/* 触屏：不靠 hover 常显弹层，只靠 is-open */
@media (hover: none) {
  .bing-credit {
    opacity: 0.78;
    transform: none;
  }

  .bing-credit-wrap:hover .bing-credit-pop,
  .bing-credit-wrap:focus-within .bing-credit-pop {
    display: none !important;
    opacity: 0;
    pointer-events: none;
  }

  .bing-credit-wrap.is-open .bing-credit-pop {
    display: block !important;
    opacity: 1;
    pointer-events: auto;
  }
}

/* 弹层复用设置里的沉浸卡，尺寸克制 */
.bing-credit-pop {
  width: min(70vw, 300px);
}

/* 单层预览：无双层交叉时也要可见（不依赖 is-active） */
.bing-credit-pop .bg-bing-preview:not([hidden]) {
  opacity: 1;
  transform: scale(1.02);
  z-index: 1;
}

.bing-credit-pop .bg-bing-card--popup .bg-bing-hero,
.bg-bing-card--popup.bg-bing-card--immersive .bg-bing-hero {
  min-height: 160px;
  aspect-ratio: 16 / 10;
  border-radius: 14px;
}

.bing-credit-pop .bg-bing-overlay {
  padding: 14px 12px 12px;
  gap: 3px;
}

.bing-credit-pop .bg-bing-source {
  font-size: 0.6875rem;
}

.bing-credit-pop .bg-bing-source-icon {
  width: 14px;
  height: 14px;
}

.bing-credit-pop .bg-bing-title {
  font-size: 0.88rem;
  line-height: 1.3;
  -webkit-line-clamp: 2;
}

.bing-credit-pop .bg-bing-copyright {
  font-size: 0.72rem;
  line-height: 1.4;
  -webkit-line-clamp: 2;
}

.bing-credit-pop .bg-bing-link {
  margin-top: 8px;
  padding: 5px 10px;
  font-size: 0.72rem;
}

.bing-credit-pop .bg-bing-link .mgc_arrow_right_line {
  font-size: 14px;
}


/* ==== css/shortcuts.css?v=2026110814 ==== */
/**
 * MoonFog - Shortcuts & Context Menu
 */

/* 单色图标反色：深色模式 & 图片背景深色 UI */
[data-mode="dark"] .icon-mono,
body.has-image-bg.img-ui-dark .icon-mono {
  filter: invert(1);
  opacity: 0.95;
}

/* ============================================
   右键菜单
   ============================================ */
.context-menu {
  position: fixed;
  z-index: 400;
  min-width: 168px;
  max-width: min(240px, calc(100vw - 16px));
  background: color-mix(in srgb, var(--card-bg) 92%, transparent);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: var(--shadow-hover);
  padding: 4px;
  opacity: 0;
  visibility: hidden;
  transform: scale(0.96);
  transform-origin: top left;
  transition: opacity 0.12s var(--ease), visibility 0.12s, transform 0.12s var(--ease);
  backdrop-filter: blur(var(--chrome-blur, 14px)) saturate(var(--glass-saturate, 1.12));
  -webkit-backdrop-filter: blur(var(--chrome-blur, 14px)) saturate(var(--glass-saturate, 1.12));
}

.context-menu.active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

.context-menu[hidden] {
  display: none !important;
}

.context-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 32px;
  padding: 6px 10px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--text-primary);
  font-family: var(--font);
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.12s var(--ease), color 0.12s var(--ease);
  text-align: left;
}

.context-menu-item span {
  font-size: 14px;
  line-height: 1;
}

.context-menu-item:hover,
.context-menu-item:focus-visible {
  background: var(--settings-row-hover, var(--bg-warm-alt));
  outline: none;
}

.context-menu-item:focus-visible {
  outline: 2px solid var(--accent, #4a90e2);
  outline-offset: -2px;
}

.context-menu-item-danger {
  color: #d44;
}

.context-menu-item-danger:hover,
.context-menu-item-danger:focus-visible {
  background: rgba(221, 68, 68, 0.08);
  color: #d44;
}

.context-menu-sep {
  height: 1px;
  background: var(--settings-divider, var(--border));
  margin: 4px 6px;
}

/* ============================================
   快捷导航（主页）
   ============================================ */
.shortcuts-section {
  width: 100%;
}

.shortcuts-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  justify-content: flex-start;
}

/* ============================================
   快捷标签折叠：默认最多两行，展开开关解除
   ============================================ */
/* 两行高度：标签 32px × 2 + 行距 6px = 70px */
.shortcuts-row {
  transition: max-height 0.32s var(--ease);
}

/* 折叠不再用 overflow 裁剪（裁剪会切掉展开中的文件夹面板）：
   行仍限高两行以稳定布局，超出的标签改为原位淡出（.is-folded），
   面板、子菜单等绝对定位内容永远不被裁剪 */
.shortcuts-row.is-collapsed {
  max-height: 70px;
  overflow: visible;
}

/* 折叠时超出的标签：淡出并移出交互/Tab 序（wrapper 为 display:contents，作用于内部胶囊） */
.shortcuts-row .shortcut-drag-wrapper > .shortcut-btn,
.shortcuts-row .shortcut-drag-wrapper > .shortcut-folder,
.shortcuts-row > .shortcuts-expand {
  transition:
    background 0.18s var(--ease),
    color 0.18s var(--ease),
    filter 0.18s var(--ease),
    opacity 0.24s var(--ease),
    visibility 0s;
}

/*
 * 折叠淡出必须压过两处把胶囊 opacity 钉成 1 的规则：
 * base.css 的 `html.boot-ready .shortcuts-section.boot-entered .shortcut-btn`（进场收尾）
 * 与 panel.css 低配模式的同类规则——它们的特异性都高于原来的 3 类选择器，
 * opacity 被钉死 1 之后折叠只能靠 visibility 硬切，展开/收起都没有淡入淡出。
 * 所以这里带上 html.boot-ready 前缀 + !important，任何模式、任何页面状态下都归折叠管。
 */
html.boot-ready .shortcuts-section .shortcuts-row .shortcut-drag-wrapper.is-folded > .shortcut-btn,
html.boot-ready .shortcuts-section .shortcuts-row .shortcut-drag-wrapper.is-folded > .shortcut-folder,
html.boot-ready .shortcuts-section .shortcuts-row > .shortcuts-expand.is-folded {
  opacity: 0 !important;
  visibility: hidden;
  pointer-events: none;
  transition:
    background 0.18s var(--ease),
    color 0.18s var(--ease),
    filter 0.18s var(--ease),
    opacity 0.24s var(--ease),
    visibility 0s linear 0.24s;
}

/* 非动画落位（初始化/重渲染）：跳过淡入淡出，直接到终态 */
.shortcuts-row.is-instant .shortcut-drag-wrapper > .shortcut-btn,
.shortcuts-row.is-instant .shortcut-drag-wrapper > .shortcut-folder,
.shortcuts-row.is-instant > .shortcuts-expand {
  transition: none !important;
}

/*
 * 展开开关：行内最后一个"特殊标签"，胶囊外观走共享规则（.shortcut-btn 列表），
 * 间距由 .shortcuts-row 的 flex gap 控制，这里只负责角标与箭头
 */
.shortcuts-expand-count {
  min-width: 16px;
  height: 16px;
  padding: 0 5px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1;
  color: var(--text-secondary);
  background: color-mix(in srgb, currentColor 14%, transparent);
  font-variant-numeric: tabular-nums;
}

.shortcuts-expand .mgc_arrow_down_line {
  font-size: 14px;
  line-height: 1;
  transition: transform 0.32s var(--ease);
}

/* 展开按钮单独一行，下置间隔 */
.shortcuts-expand {
  margin-top: 6px;
}

/*
 * 上面统一胶囊规则里的 display: inline-flex 会覆盖浏览器对 [hidden] 的默认
 * display: none，导致「没有需要折叠的内容」时按钮仍然可见。这里显式兜底。
 */
.shortcuts-expand[hidden] {
  display: none;
}

/* 隐藏箭头 */
.shortcuts-expand .mgc_arrow_down_line {
  display: none;
}

.shortcuts-expand.is-expanded .mgc_arrow_down_line {
  transform: rotate(180deg);
}

/*
 * 统一标签：链接 / 文件夹触发器 / 展开项 同一套胶囊
 */
.shortcut-btn,
.shortcut-folder-trigger,
.shortcuts-expand {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 8px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--card-bg) 78%, transparent);
  backdrop-filter: blur(var(--chrome-blur, 14px)) saturate(var(--glass-saturate, 1.12));
  -webkit-backdrop-filter: blur(var(--chrome-blur, 14px)) saturate(var(--glass-saturate, 1.12));
  color: var(--text-primary);
  text-decoration: none;
  cursor: pointer;
  font-family: var(--font-shortcuts, var(--font));
  box-sizing: border-box;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  transition:
    background 0.18s var(--ease),
    color 0.18s var(--ease),
    filter 0.18s var(--ease);
}

.shortcut-btn:focus-visible,
.shortcut-folder-trigger:focus-visible,
.shortcuts-expand:focus-visible {
  outline: 2px solid var(--accent, #4a90e2);
  outline-offset: 2px;
}

.shortcut-btn:hover,
.shortcut-folder-trigger:hover,
.shortcuts-expand:hover,
.shortcut-folder.open .shortcut-folder-trigger {
  border-color: var(--border);
  background: color-mix(in srgb, var(--bg-warm-alt) 88%, var(--card-bg));
  color: var(--text-primary);
}

.shortcut-btn:active,
.shortcut-folder-trigger:active,
.shortcuts-expand:active {
  transform: none;
}

/* 主页空状态占位标签：虚线胶囊提示可添加 */
.shortcut-btn-add {
  border-style: dashed;
}

.shortcut-add-icon .mgc_add_line {
  font-size: 13px;
  line-height: 1;
}

[data-mode="dark"] .shortcut-btn,
[data-mode="dark"] .shortcut-folder-trigger,
[data-mode="dark"] .shortcuts-expand {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.14);
  color: var(--text-primary);
}

[data-mode="dark"] .shortcut-btn:hover,
[data-mode="dark"] .shortcut-folder-trigger:hover,
[data-mode="dark"] .shortcuts-expand:hover,
[data-mode="dark"] .shortcut-folder.open .shortcut-folder-trigger {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.14);
}

/* 图片模式：背景/边框/模糊由 base.css 统一毛玻璃配方负责，这里只锁字色 */
html[data-mode] body.has-image-bg .shortcut-btn,
html[data-mode] body.has-image-bg .shortcut-folder-trigger,
html[data-mode] body.has-image-bg .shortcuts-expand,
body.has-image-bg .shortcut-btn,
body.has-image-bg .shortcut-folder-trigger,
body.has-image-bg .shortcuts-expand {
  color: var(--img-chrome-text, var(--img-text, var(--text-primary))) !important;
  text-shadow: none !important;
}

html[data-mode] body.has-image-bg .shortcut-btn:hover,
html[data-mode] body.has-image-bg .shortcut-folder-trigger:hover,
html[data-mode] body.has-image-bg .shortcuts-expand:hover,
html[data-mode] body.has-image-bg .shortcut-folder.open .shortcut-folder-trigger,
body.has-image-bg .shortcut-btn:hover,
body.has-image-bg .shortcut-folder-trigger:hover,
body.has-image-bg .shortcuts-expand:hover,
body.has-image-bg .shortcut-folder.open .shortcut-folder-trigger {
  color: var(--img-chrome-text, var(--img-text, var(--text-primary))) !important;
}

/* 图片模式：展开面板和子面板去掉阴影，与主标签一致 */
body.has-image-bg .shortcut-expanded,
body.has-image-bg .shortcut-expanded-subfolder-children,
body.has-image-bg .shortcut-folder.open .shortcut-folder-trigger {
  box-shadow: none !important;
}

/* 图片模式：面板内标签不再叠玻璃阴影（面板自身已有阴影，标签阴影会糊在面板上）。
   选择器需盖过注入样式的 html body.has-image-bg .shortcut-btn 与 low-perf 版本；
   子面板在独立 portal（.subfolder-portal）内，需并列选择 */
html body.has-image-bg .shortcut-folder .shortcut-expanded .shortcut-btn,
html body.has-image-bg .shortcut-folder .subfolder-portal .shortcut-btn {
  box-shadow: none !important;
}

.shortcut-btn .shortcut-icon,
.shortcut-btn .shortcut-label,
.shortcut-folder-trigger .shortcut-icon,
.shortcut-folder-trigger .shortcut-label {
  flex-shrink: 0;
  transform: none;
}

.shortcut-icon {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.5625rem;
  font-weight: 600;
  color: currentColor;
  opacity: 0.82;
  background: transparent;
  overflow: hidden;
}

/* 非圆角图标：去掉圆形裁切，保持原图完整显示 */
.shortcut-icon.is-no-rounded {
  border-radius: 2px;
  overflow: visible;
}

.shortcut-folder-icon {
  border-radius: 5px;
  opacity: 0.9;
}

.shortcut-folder-icon .mgc_folder_2_line,
.shortcut-folder-icon .mgc_folder_line {
  font-size: 13px;
  line-height: 1;
}

.shortcut-icon-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  opacity: 1;
}

/* 非圆角图标的 img：去掉圆角 */
.shortcut-icon-img.icon-no-rounded {
  border-radius: 2px;
  object-fit: contain;
}



.shortcut-fallback-icon {
  width: 14px;
  height: 14px;
  display: block;
  color: currentColor;
  opacity: 0.8;
}

.shortcut-btn:hover .shortcut-icon,
.shortcut-folder.open .shortcut-folder-trigger .shortcut-icon {
  opacity: 0.95;
}

.shortcut-label {
  font-family: var(--font-shortcuts, var(--font));
  font-size: 0.8125rem;
  font-weight: var(--weight-shortcuts, 450);
  color: currentColor;
  white-space: nowrap;
  line-height: 1;
  max-width: 10rem;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.18s var(--ease), opacity 0.18s var(--ease);
  opacity: 0.94;
}

.shortcut-btn:hover .shortcut-label,
.shortcut-folder.open .shortcut-folder-trigger .shortcut-label,
.shortcut-expanded-subfolder.open > .shortcut-expanded-subfolder-trigger .shortcut-label {
  opacity: 1;
}

.shortcut-folder-count {
  min-width: 16px;
  height: 16px;
  padding: 0 5px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1;
  color: var(--text-secondary);
  background: color-mix(in srgb, var(--text-primary) 8%, transparent);
  /* 可插值上限（收起动画需要从数值过渡到 0），容纳 4 位数字 */
  max-width: 4rem;
  /* 出场（文件夹收起、角标回来）：ease-out 弹回 */
  transition:
    opacity 0.18s cubic-bezier(0.25, 1, 0.5, 1),
    transform 0.18s cubic-bezier(0.25, 1, 0.5, 1),
    min-width 0.18s cubic-bezier(0.25, 1, 0.5, 1),
    max-width 0.18s cubic-bezier(0.25, 1, 0.5, 1),
    padding 0.18s cubic-bezier(0.25, 1, 0.5, 1),
    margin-left 0.18s cubic-bezier(0.25, 1, 0.5, 1);
}

.shortcut-folder-count[hidden] {
  display: none !important;
}

/* 展开：角标淡出+向右端缩小+占位收拢（不再是瞬时 display:none）。
   选择器用 > 限定「自己的胶囊」——主面板里子胶囊的 count 保持显示 */
.shortcut-folder.open > .shortcut-folder-trigger .shortcut-folder-count,
.shortcut-expanded-subfolder.open > .shortcut-expanded-subfolder-trigger .shortcut-folder-count {
  opacity: 0;
  transform: scale(0.3);
  transform-origin: right center;
  min-width: 0;
  max-width: 0;
  padding: 0;
  /* 抵消与 label 之间收拢后残留的 6px gap */
  margin-left: -6px;
  /* 进场（展开、角标没入）：ease-in 加速收 */
  transition:
    opacity 0.15s cubic-bezier(0.4, 0, 1, 1),
    transform 0.15s cubic-bezier(0.4, 0, 1, 1),
    min-width 0.15s cubic-bezier(0.4, 0, 1, 1),
    max-width 0.15s cubic-bezier(0.4, 0, 1, 1),
    padding 0.15s cubic-bezier(0.4, 0, 1, 1),
    margin-left 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.shortcut-drag-wrapper {
  display: contents;
}

.shortcut-drag-wrapper.dragging {
  opacity: 0.35;
}

.shortcut-drag-wrapper.drag-over > .shortcut-btn,
.shortcut-drag-wrapper.drag-over > .shortcut-folder > .shortcut-folder-trigger {
  box-shadow: inset 2px 0 0 var(--text-primary);
}

.shortcut-folder {
  position: relative;
  display: inline-flex;
  vertical-align: top;
}

.shortcut-folder-trigger {
  cursor: pointer;
}

.shortcut-folder.open .shortcut-folder-trigger {
  box-shadow: none;
  backdrop-filter: blur(var(--chrome-blur, 14px)) saturate(var(--glass-saturate, 1.12));
  -webkit-backdrop-filter: blur(var(--chrome-blur, 14px)) saturate(var(--glass-saturate, 1.12));
}

/* 展开面板：使用绝对定位弹出，不影响主行布局 */
.shortcut-expanded {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  /* 默认锚点在自身左上角，点击展开前 JS 会换成触发器胶囊中心 */
  transform: scale(0.6);
  transform-origin: top left;
  min-width: 168px;
  max-width: min(72vw, 360px);
  /* 封顶：body 不可滚动，面板自身限制高度 + 内部滚动，内容再多也不会被裁 */
  max-height: min(70vh, calc(100vh - 200px));
  overflow-y: auto;
  background: color-mix(in srgb, var(--card-bg) 92%, transparent);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: var(--shadow-hover);
  padding: 8px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  /* 收起：加速缩回胶囊（visibility 延迟与 transform 同时长） */
  transition:
    opacity 0.18s cubic-bezier(0.4, 0, 1, 1),
    visibility 0s linear 0.18s,
    transform 0.18s cubic-bezier(0.4, 0, 1, 1),
    filter 0.18s cubic-bezier(0.4, 0, 1, 1);
  z-index: 120;
  backdrop-filter: blur(var(--chrome-blur, 14px)) saturate(var(--glass-saturate, 1.12));
  -webkit-backdrop-filter: blur(var(--chrome-blur, 14px)) saturate(var(--glass-saturate, 1.12));
  /* 原生滚动条彻底隐藏（含 Firefox）：文件夹面板改用自绘覆盖条 .folder-scrollbar。
     注意不能再设 scrollbar-width: thin / scrollbar-color——Chrome 121+ 一旦指定标准属性
     就会忽略 ::-webkit-scrollbar，二者同时写等于把自定义样式作废 */
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/*
 * 文件夹面板滚动条：自绘覆盖式（JS 驱动，见 js/shortcuts.js 的 folderScrollbar 系列）
 * - 原生条已隐藏，条不占布局宽度，内容不会被顶开
 * - 覆盖条挂在面板的兄弟层（.shortcut-folder / .subfolder-portal），不进滚动内容，
 *   所以滚动时轨道本身不随内容位移，也不需要逐帧回补偿
 * - 内容没溢出时 JS 给面板加 .is-no-scroll：彻底禁用滚动，条也不存在
 */
.shortcut-expanded::-webkit-scrollbar,
.shortcut-expanded-subfolder-children::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.shortcut-expanded.is-no-scroll,
.shortcut-expanded-subfolder-children.is-no-scroll {
  overflow-y: hidden;
}

.folder-scrollbar {
  position: absolute;
  width: 8px;
  z-index: 122;
  opacity: 0;
  /* 不可见时不吃点击：面板标签不因为 invisible 的条而点不到 */
  pointer-events: none;
  transition: opacity 0.18s var(--ease);
}

.folder-scrollbar.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.folder-scrollbar-track {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--text-primary) 5%, transparent);
  cursor: default;
}

.folder-scrollbar-thumb {
  position: absolute;
  left: 1px;
  right: 1px;
  top: 0;
  min-height: 24px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--text-primary) 24%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--text-primary) 8%, transparent);
  cursor: default;
  transition: background 0.15s var(--ease);
}

.folder-scrollbar-thumb:hover,
.folder-scrollbar.is-dragging .folder-scrollbar-thumb {
  background: color-mix(in srgb, var(--text-primary) 38%, transparent);
}

/* 失焦档（打开了更深的子面板）= 失活：主面板/上层子面板的条跟着一起淡出 */
.shortcut-expanded.dim-1 + .folder-scrollbar,
.shortcut-expanded.dim-2 + .folder-scrollbar,
.shortcut-expanded-subfolder-children.dim-1 + .folder-scrollbar,
.shortcut-expanded-subfolder-children.dim-2 + .folder-scrollbar {
  opacity: 0 !important;
  pointer-events: none !important;
}

[data-mode="dark"] .folder-scrollbar-thumb {
  background: color-mix(in srgb, #fff 24%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 10%, transparent);
}

[data-mode="dark"] .folder-scrollbar-thumb:hover,
[data-mode="dark"] .folder-scrollbar.is-dragging .folder-scrollbar-thumb {
  background: color-mix(in srgb, #fff 38%, transparent);
}

body.has-image-bg .folder-scrollbar-thumb {
  background: color-mix(in srgb, var(--img-chrome-text, var(--img-text, var(--text-primary))) 26%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--img-chrome-text, var(--img-text, var(--text-primary))) 10%, transparent);
}

body.has-image-bg .folder-scrollbar-thumb:hover,
body.has-image-bg .folder-scrollbar.is-dragging .folder-scrollbar-thumb {
  background: color-mix(in srgb, var(--img-chrome-text, var(--img-text, var(--text-primary))) 40%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  .folder-scrollbar,
  .folder-scrollbar-thumb {
    transition: none;
  }
}

.shortcut-folder.open .shortcut-expanded {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: scale(1);
  /* 展开：从胶囊里弹出，起步即动后减速落位 */
  transition:
    opacity 0.18s cubic-bezier(0.25, 1, 0.5, 1) 0s,
    visibility 0s 0s,
    transform 0.22s cubic-bezier(0.25, 1, 0.5, 1) 0s,
    filter 0.18s cubic-bezier(0.25, 1, 0.5, 1) 0s;
}

/* 层级聚焦：子面板展开时祖先面板逐层失焦（最近一层 1.3px，更上 2.6px，最深层清晰）。
   糊在面板子项而非面板容器：filter 作用于整个子树，容器级 blur 会连带糊掉
   打开中的子文件夹胶囊（锚点必须始终清晰，后代 filter:none 无法从祖先 filter 逃逸）。
   模糊即失活：失焦项 pointer-events:none（不可点/不可右键，<a> 不跳转），
   点击落到面板本身 → collapseDimmedChain 收起更深一层，面板自身保持展开 */
.shortcut-folder.open .shortcut-expanded.dim-1 > .shortcut-btn,
.shortcut-folder.open .shortcut-expanded.dim-1 > .shortcut-expanded-subfolder:not(.open),
.shortcut-expanded-subfolder-children.open.dim-1 > .shortcut-btn,
.shortcut-expanded-subfolder-children.open.dim-1 > .shortcut-expanded-subfolder:not(.open) {
  filter: blur(1.3px);
  pointer-events: none;
}

.shortcut-folder.open .shortcut-expanded.dim-2 > .shortcut-btn,
.shortcut-folder.open .shortcut-expanded.dim-2 > .shortcut-expanded-subfolder:not(.open),
.shortcut-expanded-subfolder-children.open.dim-2 > .shortcut-btn,
.shortcut-expanded-subfolder-children.open.dim-2 > .shortcut-expanded-subfolder:not(.open) {
  filter: blur(2.6px);
  pointer-events: none;
}

/* 热区桥：防止鼠标移动时丢失弹窗 */
.shortcut-expanded::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -10px;
  height: 10px;
}

/* 向上展开（设置项 up，或放不下整页让位到极限仍不够时由 JS 翻上来打类）：
   面板挂在胶囊上方，热区桥改到面板下沿（胶囊与面板之间的缝隙在下方） */
.shortcut-expanded.is-up {
  top: auto;
  bottom: calc(100% + 8px);
}

.shortcut-expanded.is-up::before {
  top: auto;
  bottom: -10px;
}

/* 空文件夹：方正的矩形卡片（主面板 / 子面板共用同一套尺寸）
   只放「图标 + 状态字 + 实底按钮」，没有说明文字、没有虚线；
   固定内容不需要滚动，直接 overflow:hidden（也顺手裁掉 .is-up 时挂在面板下沿的 ::before 热区桥） */
.shortcut-expanded.is-empty,
.shortcut-expanded-subfolder-children.is-empty {
  min-width: 188px;
  max-width: 216px;
  min-height: 168px;
  padding: 14px;
  border-radius: 12px;
  overflow: hidden;
}

.shortcut-expanded-item {
  text-decoration: none;
}

.shortcut-expanded .shortcut-btn,
.subfolder-portal .shortcut-btn {
  max-width: 100%;
  /* flex item 默认 min-width:auto（=文字最小宽）会压过 max-width 溢出面板被硬裁 */
  min-width: 0;
}

.shortcut-expanded .shortcut-label {
  /* 主面板标题维持原来的 10rem 上限 */
  min-width: 0;
}

.subfolder-portal .shortcut-label {
  flex-shrink: 1;
  max-width: 26rem;
  min-width: 0;
}

/* 文件夹弹窗内标签：取消 hover 拉伸效果 */
.shortcut-expanded .shortcut-btn:hover,
.shortcut-expanded .shortcut-folder-trigger:hover,
.subfolder-portal .shortcut-btn:hover,
.subfolder-portal .shortcut-folder-trigger:hover {
  padding-left: 8px;
  padding-right: 8px;
}

/* 空文件夹占位：方正卡片里的「图标 + 状态字 + 实底按钮」，纵向撑满后居中 */
.shortcut-expanded-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 140px;
  text-align: center;
}

.shortcut-expanded-empty-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--text-primary) 6%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--text-primary) 8%, transparent);
  color: var(--text-tertiary);
  font-size: 22px;
  line-height: 1;
}

.shortcut-expanded-empty p {
  max-width: 100%;
  margin: 0;
  line-height: 1.3;
  white-space: normal;
}

.shortcut-expanded-empty-title {
  color: var(--text-secondary);
  font-size: 0.8125rem;
  font-weight: 500;
}

/* 添加按钮：实底矩形（无虚线、无边框），hover 提亮（focus / reduced-motion 见文件尾部同名选择器） */
.shortcut-expanded-add {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-height: 36px;
  padding: 8px 12px;
  border: 0;
  border-radius: 8px;
  background: color-mix(in srgb, var(--text-primary) 7%, transparent);
  color: var(--text-secondary);
  font-family: var(--font);
  font-size: 0.75rem;
  line-height: 1;
  cursor: pointer;
  transition:
    color 0.2s var(--ease),
    background 0.2s var(--ease);
}

.shortcut-expanded-add .mgc_add_line {
  font-size: 0.8125rem;
  line-height: 1;
}

.shortcut-expanded-add:hover {
  background: color-mix(in srgb, var(--text-primary) 12%, transparent);
  color: var(--text-primary);
}

/* 多级子文件夹：面板内的行内标签，与图标标签同一行排列 */
.shortcut-expanded-subfolder {
  display: inline-flex;
  flex-direction: column;
  /* trigger 保持固有宽度，不被展开面板拉伸 */
  align-items: flex-start;
  vertical-align: top;
  position: relative;
  box-sizing: border-box;
  /* 层级失焦落在子项上：档位切换随面板开合平滑进出 */
  transition: filter 0.18s var(--ease);
}

/* 展开状态：trigger 保持胶囊并像主页一样常驻 hover 底色 */
.shortcut-expanded-subfolder.open > .shortcut-expanded-subfolder-trigger {
  background: color-mix(in srgb, var(--bg-warm-alt) 88%, var(--card-bg));
  box-shadow: none;
}

.shortcut-expanded-subfolder-trigger {
  cursor: pointer;
  max-width: 100%;
}

/* 子面板 portal：挂在 .shortcut-folder 直下、主面板之外——面板不包裹在主面板里，
   不受其 overflow/滚动/缩放约束；0 尺寸不挡点击，z-index 盖过主面板（120） */
.subfolder-portal {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  z-index: 121;
}

/* 子面板：独立弹层，定位/限宽/翻转由 JS 在点击时按 folder 坐标系计算 */
.shortcut-expanded-subfolder-children {
  position: absolute;
  box-sizing: border-box;
  /* 宽度由内部最长胶囊决定，不设 168 下限，避免短标题被撑到和主面板一样宽 */
  min-width: 0;
  max-width: min(72vw, 480px);
  /* 封顶 + 内部滚动，与主页面板一致 */
  max-height: min(70vh, calc(100vh - 200px));
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: color-mix(in srgb, var(--card-bg) 92%, transparent);
  box-shadow: var(--shadow);
  backdrop-filter: blur(var(--chrome-blur, 14px)) saturate(var(--glass-saturate, 1.12));
  -webkit-backdrop-filter: blur(var(--chrome-blur, 14px)) saturate(var(--glass-saturate, 1.12));
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  /* 默认锚点在自身左上角，点击展开前 JS 换成胶囊中心 */
  transform: scale(0.6);
  transform-origin: top left;
  /* 收起：与打开对称的 0.22s，沿同一锚点收回胶囊（visibility 延迟与 transform 同时长） */
  transition:
    opacity 0.22s cubic-bezier(0.4, 0, 1, 1),
    visibility 0s linear 0.22s,
    transform 0.22s cubic-bezier(0.4, 0, 1, 1),
    filter 0.22s cubic-bezier(0.4, 0, 1, 1);
  /* 与主面板同一套：原生条隐藏，改用自绘覆盖条 .folder-scrollbar */
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* 展开：从胶囊里弹出，起步即动后减速落位（与主页面板同参数） */
.shortcut-expanded-subfolder-children.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: scale(1);
  transition:
    opacity 0.18s cubic-bezier(0.25, 1, 0.5, 1) 0s,
    visibility 0s 0s,
    transform 0.22s cubic-bezier(0.25, 1, 0.5, 1) 0s,
    filter 0.18s cubic-bezier(0.25, 1, 0.5, 1) 0s;
}

/* 层级聚焦：子项级 blur 档位已与主面板统一到 .shortcut-expanded.dim-* 规则处（锚点豁免） */

/* 空子文件夹的尺寸与主面板空卡片统一，规则在 .shortcut-expanded.is-empty 处（同一套卡片） */

/* 子文件夹与普通链接之间的分隔线已移除（内联模式下不需要） */

/* settings list - folder */
.shortcut-list-folder-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 10px;
  transition: background 0.15s var(--ease);
}

.shortcut-list-folder-header:hover {
  background: var(--settings-row-hover, var(--bg-warm-alt));
}

.shortcut-list-folder-header .shortcut-list-name {
  font-weight: 600;
}

.shortcut-list-child {
  padding-left: 36px !important;
}

/* 多级子文件夹：设置列表中的递归缩进 */
.shortcut-list-subfolder-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  padding-left: var(--sc-list-indent, 36px);
  border-radius: 10px;
  transition: background 0.15s var(--ease);
}

.shortcut-list-subfolder-header:hover {
  background: var(--settings-row-hover, var(--bg-warm-alt));
}

.shortcut-list-subfolder-header .shortcut-list-name {
  font-weight: 600;
  font-size: 0.8125rem;
}

.shortcut-list-subfolder-header .shortcut-list-favicon {
  width: 20px;
  height: 20px;
  font-size: 12px;
}

.shortcut-list-subfolder-add {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  padding-left: var(--sc-list-indent, 36px);
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--text-tertiary);
  font-family: var(--font);
  font-size: 0.75rem;
  cursor: pointer;
  transition: background 0.15s var(--ease), color 0.15s var(--ease);
  width: 100%;
  text-align: left;
}

.shortcut-list-subfolder-add:hover {
  background: var(--bg-warm-alt);
  color: var(--text-secondary);
}

.shortcut-list-add-child {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px 6px 36px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--text-tertiary);
  font-family: var(--font);
  font-size: 0.8125rem;
  cursor: pointer;
  transition: background 0.15s var(--ease), color 0.15s var(--ease);
  width: 100%;
  text-align: left;
}

.shortcut-list-add-child:hover {
  background: var(--bg-warm-alt);
  color: var(--text-secondary);
}

.shortcut-hint {
  font-size: 0.75rem;
  color: var(--text-tertiary);
  margin-top: 4px;
}

/* ============================================
   快捷导航（设置列表）
   ============================================ */
.shortcut-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.shortcut-list-item {
  display: flex;
  align-items: center;
  gap: 10px;
  /* 与其它列表行同一档密度 */
  min-height: 44px;
  padding: 9px 10px;
  border-radius: 8px;
  transition: background 0.15s var(--ease);
}

.shortcut-list-item:hover {
  background: var(--settings-row-hover, var(--bg-warm-alt));
}

.shortcut-list-favicon {
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--text-secondary);
  flex-shrink: 0;
  background: var(--bg-warm);
  overflow: hidden;
}

.shortcut-list-folder-favicon {
  background: transparent;
  border-color: transparent;
}

.shortcut-list-icon-inner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.shortcut-list-fallback {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--text-secondary);
  line-height: 1;
}

.shortcut-list-icon-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 5px;
  display: block;
}

.shortcut-list-icon-img.icon-no-rounded {
  border-radius: 2px;
  object-fit: contain;
  padding: 1px;
  box-sizing: border-box;
}

.shortcut-list-icon-img.icon-mono {
  /* 深色模式下：反色（与主页面图标保持一致） */
}

.shortcut-list-name {
  flex: 1;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.shortcut-list-url {
  font-size: 0.75rem;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  /* 100px 只能放下半个域名，放宽后常见域名能完整显示 */
  max-width: 150px;
  flex: 0 1 auto;
  min-width: 0;
}

.shortcut-list-edit,
.shortcut-list-delete {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--text-tertiary);
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.15s var(--ease), color 0.15s var(--ease), background 0.15s var(--ease);
  flex-shrink: 0;
  font-size: 12px;
}

.shortcut-list-item:hover .shortcut-list-edit,
.shortcut-list-item:hover .shortcut-list-delete,
.shortcut-list-folder-header:hover .shortcut-list-edit,
.shortcut-list-folder-header:hover .shortcut-list-delete,
.shortcut-list-item:focus-within .shortcut-list-edit,
.shortcut-list-item:focus-within .shortcut-list-delete,
.shortcut-list-folder-header:focus-within .shortcut-list-edit,
.shortcut-list-folder-header:focus-within .shortcut-list-delete,
.shortcut-list-edit:focus-visible,
.shortcut-list-delete:focus-visible {
  opacity: 1;
}

.shortcut-list-edit:hover,
.shortcut-list-delete:hover {
  color: var(--text-primary);
  background: var(--bg-warm-alt);
}

.search-box {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  /* 纯色背景：实底卡片。毛玻璃只在图片背景有意义（见 body.has-image-bg） */
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: var(--space-sm) var(--space-sm) var(--space-sm) var(--space-md);
  box-shadow: var(--shadow);
  transition: box-shadow 0.2s var(--ease), background 0.2s var(--ease), border-color 0.2s var(--ease);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.search-box:focus-within {
  box-shadow: var(--shadow-hover), 0 0 0 3px var(--accent-glow);
}

.search-input {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  font-family: var(--font);
  font-size: 1rem;
  color: var(--text-primary);
  height: 44px;
  /* hide native search clear so custom mgc icon can match the rest of UI */
  -webkit-appearance: none;
  appearance: none;
}

.search-input::-webkit-search-decoration,
.search-input::-webkit-search-cancel-button,
.search-input::-webkit-search-results-button,
.search-input::-webkit-search-results-decoration {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

.search-input::placeholder {
  color: var(--text-tertiary);
}

.search-clear-btn {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-tertiary);
  cursor: pointer;
  flex-shrink: 0;
  font-size: 16px;
  line-height: 1;
  transition: color 0.15s var(--ease), background 0.15s var(--ease), opacity 0.15s var(--ease);
}

.search-clear-btn[hidden] {
  display: none !important;
}

.search-clear-btn:hover {
  color: var(--text-primary);
  background: var(--bg-warm-alt, color-mix(in srgb, var(--text-primary) 6%, transparent));
}

.search-clear-btn > [class^="mgc_"],
.search-clear-btn > [class*=" mgc_"] {
  display: block;
  line-height: 1;
}

.search-btn {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-primary);
  cursor: pointer;
  flex-shrink: 0;
  font-size: 18px;
}

.search-btn:hover {
  opacity: 0.6;
}

/* 搜索建议：与搜索框同宽，开合曲线与文件夹面板一致 */
.search-suggest {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-height: min(50vh, 360px);
  overflow-x: hidden;
  overflow-y: auto;
  background: color-mix(in srgb, var(--card-bg) 92%, transparent);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: var(--shadow-hover);
  backdrop-filter: blur(var(--search-blur, 16px)) saturate(var(--glass-saturate, 1.35));
  -webkit-backdrop-filter: blur(var(--search-blur, 16px)) saturate(var(--glass-saturate, 1.35));
  z-index: 40;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: scale(0.96);
  transform-origin: top center;
  transition:
    opacity 0.18s cubic-bezier(0.4, 0, 1, 1),
    visibility 0s linear 0.18s,
    transform 0.18s cubic-bezier(0.4, 0, 1, 1);
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--text-primary) 20%, transparent) transparent;
}

.search-suggest.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: scale(1);
  transition:
    opacity 0.18s cubic-bezier(0.25, 1, 0.5, 1) 0s,
    visibility 0s 0s,
    transform 0.22s cubic-bezier(0.25, 1, 0.5, 1) 0s;
}

.search-suggest[hidden] {
  display: none !important;
}

.search-suggest::-webkit-scrollbar {
  width: 6px;
}

.search-suggest::-webkit-scrollbar-track {
  background: transparent;
}

.search-suggest::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--text-primary) 18%, transparent);
  border-radius: 3px;
}

.search-suggest-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 36px;
  padding: 6px 10px;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: var(--text-primary);
  font-family: var(--font-search, var(--font));
  font-weight: var(--weight-search, 400);
  font-size: calc(0.9375rem * var(--size-search, 1));
  text-align: left;
  cursor: pointer;
  transition: background 0.15s var(--ease), color 0.15s var(--ease);
}

.search-suggest-item.is-active,
.search-suggest-item:hover {
  background: var(--settings-row-hover, var(--bg-warm-alt));
}

.search-suggest-item:focus-visible {
  outline: 2px solid var(--accent, #4a90e2);
  outline-offset: -2px;
}

.search-suggest-icon {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  object-fit: cover;
  flex-shrink: 0;
}

.search-suggest-copy {
  min-width: 0;
  flex: 1;
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.search-suggest-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.search-suggest-desc {
  flex-shrink: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-tertiary);
  font-size: 0.75rem;
}

body.has-image-bg .search-suggest-item,
html.boot-has-image .search-suggest-item {
  color: var(--img-chrome-text, var(--img-text, var(--text-primary)));
}

body.has-image-bg .search-suggest-desc,
html.boot-has-image .search-suggest-desc {
  color: var(--img-chrome-text-muted, var(--img-text-muted, var(--text-tertiary)));
}

body.has-image-bg .search-suggest-item.is-active,
body.has-image-bg .search-suggest-item:hover,
html.boot-has-image .search-suggest-item.is-active,
html.boot-has-image .search-suggest-item:hover {
  background: color-mix(in srgb, var(--img-chrome-text, #fff) 12%, transparent);
  color: var(--img-chrome-text, var(--img-text, var(--text-primary)));
}

.search-btn:focus-visible,
.search-clear-btn:focus-visible,
.shortcut-expanded-add:focus-visible,
.shortcut-list-edit:focus-visible,
.shortcut-list-delete:focus-visible,
.shortcut-list-add-child:focus-visible,
.shortcut-list-subfolder-add:focus-visible {
  outline: 2px solid var(--accent, #4a90e2);
  outline-offset: 2px;
}

/* ============================================
   Reduced Motion
   ============================================ */
@media (prefers-reduced-motion: reduce) {
  .shortcut-btn,
  .shortcut-folder-trigger,
  .shortcut-folder-count,
  .context-menu,
  .context-menu-item,
  .shortcut-expanded,
  .shortcut-expanded-subfolder,
  .shortcut-expanded-subfolder-children,
  .shortcut-expanded-add,
  .shortcut-list-item,
  .shortcut-list-folder-header,
  .shortcut-list-subfolder-header,
  .shortcut-list-edit,
  .shortcut-list-delete,
  .search-box,
  .search-suggest,
  .search-suggest-item {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}


/* ==== css/settings/panel.css?v=2026110814 ==== */
/**
 * MoonFog - Settings Panel Shell
 * Compact HyperOS-like grouped list
 */

/* ============================================
   设置按钮
   ============================================ */

.settings-wrapper {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 100;
  padding: 14px 16px 16px 14px;
  /* 扩大右下角热区，按钮隐藏时仍可 hover 唤出 */
  min-width: 72px;
  min-height: 72px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  transition: opacity 0.18s ease, transform 0.22s var(--ease);
}

.settings-btn-icon {
  font-size: 18px;
  line-height: 1;
  display: block;
  pointer-events: none;
}

.settings-btn {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: 50%;
  background: var(--card-bg);
  color: var(--text-primary);
  cursor: pointer;
  opacity: 1;
  pointer-events: auto;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  transition:
    opacity 0.18s ease,
    background 0.18s ease,
    color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
  font-size: 18px;
}

/* 关闭常显后：默认隐藏，悬停右下角 / 聚焦 / 面板打开时再出现 */
html.settings-btn-hover .settings-btn {
  opacity: 0;
  pointer-events: none;
  border-color: transparent;
}

html.settings-btn-hover .settings-wrapper:hover .settings-btn,
html.settings-btn-hover .settings-btn:focus-visible {
  opacity: 1;
  pointer-events: auto;
  border-color: var(--border);
}

/* 面板打开时把入口收掉：它压在面板与毛玻璃之上，会透出一颗浮着的按钮 */
body.settings-open .settings-wrapper {
  opacity: 0;
  pointer-events: none;
}

body.has-image-bg .settings-btn {
  background: color-mix(
    in srgb,
    var(--img-surface, var(--card-bg)) var(--glass-fill, 42%),
    transparent
  );
  color: var(--img-chrome-text, var(--img-text, var(--text-primary)));
  border-color: color-mix(
    in srgb,
    var(--img-chrome-text, #fff) var(--glass-border, 28%),
    transparent
  );
  backdrop-filter: blur(var(--search-blur, 16px)) saturate(var(--glass-saturate, 1.35));
  -webkit-backdrop-filter: blur(var(--search-blur, 16px)) saturate(var(--glass-saturate, 1.35));
  box-shadow: var(--glass-shadow, 0 8px 24px rgba(0, 0, 0, 0.16));
}

body.has-image-bg .settings-wrapper:hover .settings-btn,
body.has-image-bg .settings-btn:focus-visible,
body.has-image-bg.settings-open .settings-btn {
  background: color-mix(
    in srgb,
    var(--img-surface-hover, var(--img-surface, var(--card-bg))) var(--glass-fill-hover, 52%),
    transparent
  );
  border-color: color-mix(
    in srgb,
    var(--img-chrome-text, #fff) var(--glass-border-hover, 34%),
    transparent
  );
}

/* 触屏没有 hover：关闭常显时仍留一点可见，避免找不到设置 */
@media (hover: none) {
  html.settings-btn-hover .settings-btn {
    opacity: 0.72;
    pointer-events: auto;
  }

  html.settings-btn-hover body.settings-open .settings-btn,
  html.settings-btn-hover .settings-btn:focus-visible {
    opacity: 1;
  }
}

/* ============================================
   设置面板外壳
   ============================================ */

.settings-panel {
  position: fixed;
  top: 14px;
  right: 14px;
  bottom: 14px;
  width: min(312px, calc(100vw - 24px));
  /* 面板底：偏实，避免文字压在过透背景上难读 */
  background: color-mix(in srgb, var(--bg-warm) 96%, transparent);
  border: 1px solid var(--border);
  border-radius: 16px;
  z-index: 200;
  /* 面板本体：从右侧滑入 / 原路滑出；ease 对称，进出手感一致 */
  transform: translateX(calc(100% + 24px));
  transition:
    transform 0.32s cubic-bezier(0.4, 0, 0.2, 1),
    background-color 0.28s var(--ease),
    border-color 0.28s var(--ease),
    box-shadow 0.28s var(--ease),
    color 0.28s var(--ease);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow:
    0 1px 0 color-mix(in srgb, var(--card-bg) 70%, transparent) inset,
    0 14px 36px color-mix(in srgb, var(--text-primary) 12%, transparent);
  will-change: transform;
  /* 面板始终用主题色，不跟壁纸 surface tokens */
  /* 分隔线用暖灰：透明黑压在米色底上会发冷，和暖调冲突 */
  --settings-divider: color-mix(in srgb, var(--text-primary) 10%, var(--bg-warm));
  --settings-row-hover: color-mix(in srgb, var(--text-primary) 5%, transparent);
  --settings-row-active: color-mix(in srgb, var(--text-primary) 8%, transparent);
  /* 标题栏高度：面板外壳与滚动层共用（滚动内容从标题栏下方穿过） */
  --settings-nav-h: 56px;
  /* 标题栏模糊层参数（用户调参回填） */
  --settings-header-blur: 15px;
  --settings-header-blur-sat: 1;
  --settings-header-tint: 30%;
  --settings-header-solid: 20%;
  --settings-header-fade: 90%;
  --settings-header-layer-h: 1.5;
  /* 标题栏控件胶囊（返回键 + 名称、关闭键）：叠在模糊层上，保证文字可读 */
  --settings-header-chip-tint: 58%;
  --settings-header-chip-blur: 14px;
  color: var(--text-primary);
  -webkit-font-smoothing: antialiased;
  backdrop-filter: blur(var(--panel-blur, 10px)) saturate(var(--glass-saturate, 1.2));
  -webkit-backdrop-filter: blur(var(--panel-blur, 10px)) saturate(var(--glass-saturate, 1.2));
}

/*
 * 设置面板跟随 html[data-tone]/[data-mode] 的主题变量。
 * 不额外改写主色，避免与主页脱节；也不跟壁纸 img-ui-dark。
 */
html[data-mode="dark"] .settings-panel {
  box-shadow:
    0 1px 0 color-mix(in srgb, var(--card-bg) 35%, transparent) inset,
    0 16px 40px rgba(0, 0, 0, 0.42);
}

/*
 * 图片/流光背景：面板内部用主题色，不跟壁纸
 */
body.has-image-bg .settings-panel,
body.has-grain-bg .settings-panel {
  color: var(--text-primary);
}

.settings-panel.active {
  transform: translateX(0);
}

/*
 * Header
 * 一级：  (设置)                         (关闭)  —— 无返回
 * 二级：  (返回) (设置)                   (关闭)  —— 返回带动画出
 * 返回 / 关闭：同一套尺寸，严格 1:1
 *
 * 标题栏浮在滚动内容之上：内容可以滚动到标题栏后面，
 * 由 ::before 提供一层「背景模糊 + 渐隐」，标题栏本体叠在模糊层上。
 */
.settings-header {
  --settings-nav-btn: 32px;
  --settings-nav-icon: 18px;
  --settings-nav-pad-x: 14px;
  --settings-nav-pad-y: 12px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 0;
  flex-shrink: 0;
}

/* 模糊层：只负责 backdrop blur 与底部渐隐，不拦截交互 */
.settings-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: calc(var(--settings-nav-h) * var(--settings-header-layer-h, 1));
  z-index: 0;
  pointer-events: none;
  background: color-mix(in srgb, var(--bg-warm) var(--settings-header-tint, 88%), transparent);
  -webkit-backdrop-filter: blur(var(--settings-header-blur, 16px)) saturate(var(--settings-header-blur-sat, 1.35));
  backdrop-filter: blur(var(--settings-header-blur, 16px)) saturate(var(--settings-header-blur-sat, 1.35));
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 var(--settings-header-solid, 62%), transparent var(--settings-header-fade, 100%));
  mask-image: linear-gradient(to bottom, #000 0%, #000 var(--settings-header-solid, 62%), transparent var(--settings-header-fade, 100%));
}

/* —— 上：导航栏（固定高度；上下左右边距一致） —— */
.settings-header-bar {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--settings-nav-btn);
  align-items: center;
  height: var(--settings-nav-h);
  min-height: var(--settings-nav-h);
  max-height: var(--settings-nav-h);
  padding: var(--settings-nav-pad-y) var(--settings-nav-pad-x);
  box-sizing: border-box;
}

.settings-header-leading {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  /* 用户反馈：返回键与标题间距偏大，收紧为 2px */
  gap: 2px;
  min-width: 0;
  max-width: calc(100% - var(--settings-nav-btn) - 10px);
  height: calc(var(--settings-nav-btn) + 4px);
  box-sizing: border-box;
  padding: 0 12px 0 6px;
  border-radius: 12px;
  border: 1px solid transparent;
  background: transparent;
  box-shadow: none;
  grid-column: 1;
  justify-self: start;
  /* 用户反馈：与内部元素对齐差 1px，整体左移 1px */
  margin-left: -1px;
  transition: background 0.16s var(--ease), border-color 0.16s var(--ease), box-shadow 0.16s var(--ease);
}

/* 只有内容滚到标题栏后面（真正用上模糊）时，才给控件加胶囊底；否则隐藏 */
.settings-panel.is-content-scrolled .settings-header-leading {
  border-color: color-mix(in srgb, var(--text-primary) 8%, transparent);
  background: color-mix(in srgb, var(--bg-warm) var(--settings-header-chip-tint, 58%), transparent);
  -webkit-backdrop-filter: blur(var(--settings-header-chip-blur, 14px)) saturate(1.1);
  backdrop-filter: blur(var(--settings-header-chip-blur, 14px)) saturate(1.1);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--text-primary) 6%, transparent);
}

.close-btn {
  grid-column: 2;
  justify-self: end;
}

/* (关闭) 固定方钮 */
.settings-header-bar .close-btn {
  width: var(--settings-nav-btn);
  height: var(--settings-nav-btn);
  min-width: var(--settings-nav-btn);
  min-height: var(--settings-nav-btn);
  max-width: var(--settings-nav-btn);
  max-height: var(--settings-nav-btn);
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  box-shadow: none;
  color: var(--text-secondary);
  cursor: pointer;
  transition: background 0.18s var(--ease), border-color 0.18s var(--ease), box-shadow 0.18s var(--ease), color 0.18s var(--ease);
  flex: 0 0 var(--settings-nav-btn);
  padding: 0;
  margin: 0;
  /* 用户反馈：与内部元素对齐差 1px，整体右移 1px */
  margin-right: -1px;
  line-height: 1;
  font-size: var(--settings-nav-icon);
}

/* 关闭键同样只在内容穿到标题栏后出现胶囊底 */
.settings-panel.is-content-scrolled .settings-header-bar .close-btn {
  border-color: color-mix(in srgb, var(--text-primary) 8%, transparent);
  background: color-mix(in srgb, var(--bg-warm) var(--settings-header-chip-tint, 58%), transparent);
  -webkit-backdrop-filter: blur(var(--settings-header-chip-blur, 14px)) saturate(1.1);
  backdrop-filter: blur(var(--settings-header-chip-blur, 14px)) saturate(1.1);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--text-primary) 6%, transparent);
}

/*
 * (返回) 进出同一套 transition（与退出镜像）
 * 默认收起；.is-shown 展开
 */
.settings-header-bar .settings-back-icon-btn {
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  /* 用户反馈：返回键的 hover 框与胶囊内缘未对齐，整体左移 3px（逐次 1px 微调） */
  position: relative;
  left: -3px;
  height: var(--settings-nav-btn);
  max-height: var(--settings-nav-btn);
  min-height: var(--settings-nav-btn);
  width: 0;
  min-width: 0;
  max-width: 0;
  flex: 0 0 auto;
  padding: 0;
  margin: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transform: translateX(-8px) scale(0.9);
  line-height: 1;
  font-size: var(--settings-nav-icon);
  transition:
    opacity 0.24s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.24s cubic-bezier(0.4, 0, 0.2, 1),
    width 0.24s cubic-bezier(0.4, 0, 0.2, 1),
    min-width 0.24s cubic-bezier(0.4, 0, 0.2, 1),
    max-width 0.24s cubic-bezier(0.4, 0, 0.2, 1),
    background 0.18s var(--ease),
    color 0.18s var(--ease);
}

.settings-header-bar .settings-back-icon-btn.is-shown {
  width: var(--settings-nav-btn);
  min-width: var(--settings-nav-btn);
  max-width: var(--settings-nav-btn);
  aspect-ratio: 1 / 1;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0) scale(1);
}

.settings-header-bar .settings-back-icon-btn > [class^="mgc_"],
.settings-header-bar .settings-back-icon-btn > [class*=" mgc_"],
.settings-header-bar .close-btn > [class^="mgc_"],
.settings-header-bar .close-btn > [class*=" mgc_"] {
  display: block;
  width: 1em;
  height: 1em;
  font-size: var(--settings-nav-icon);
  line-height: 1;
  text-align: center;
  flex-shrink: 0;
}

/* 导航栏「设置」：与 32px 图标光学对齐（中文基线略偏上，下移 1px） */
.settings-nav-label {
  display: inline-flex;
  align-items: center;
  max-width: 140px;
  height: var(--settings-nav-btn);
  min-width: 0;
  padding: 0 2px;
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-primary);
  line-height: var(--settings-nav-btn);
  letter-spacing: 0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
  user-select: none;
  /* 0 太高、2px 太低，1px 对齐返回/关闭图标中心 */
  transform: translateY(1px);
}

.settings-header-bar .settings-back-icon-btn:hover,
.settings-header-bar .close-btn:hover {
  /* 用户要求：关闭键与返回键使用同一套触碰（hover）样式 */
  background: var(--settings-row-hover);
  color: var(--text-primary);
}

.settings-header-bar .settings-back-icon-btn:active,
.settings-header-bar .close-btn:active {
  background: var(--settings-row-active);
}

@media (prefers-reduced-motion: reduce) {
  .settings-header-bar .settings-back-icon-btn {
    transition: none !important;
  }
}

/* Body：承载一级/二级滑动层 */
.settings-body {
  position: relative;
  padding: 0;
  display: block;
  overflow: hidden;
  flex: 1;
  min-height: 0;
}

/*
 * 设置二级导航：叠层右滑（玻璃面板）
 * - 一级 root 垫底；二级 page 从右滑入 / 原路滑回
 * - 二级背景必须透明：透出面板毛玻璃，绝不用纯色底
 * - 进入时一级淡出，返回时一级淡回，避免叠字
 * - 返回动画中保持二级内容可见，结束后再 hidden
 */
.settings-view {
  position: absolute;
  inset: 0;
  min-width: 0;
  width: 100%;
  height: 100%;
  /* 顶部预留标题栏高度：内容从标题栏下方开始，滚动时可穿到标题栏后面 */
  padding: calc(var(--settings-nav-h) + 6px) 12px 16px;
  overflow-x: hidden;
  overflow-y: auto;
  box-sizing: border-box;
  background: transparent;
  /* hide native bar; custom overlay bar is used instead */
  scrollbar-width: none;
  -ms-overflow-style: none;
  transition:
    transform 0.32s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.32s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform, opacity;
  -webkit-overflow-scrolling: touch;
}

.settings-view::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

/* overlay custom scrollbar (does not push content) */
.mf-scrollbar {
  position: absolute;
  top: 8px;
  right: 4px;
  bottom: 8px;
  width: 8px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.18s var(--ease);
  z-index: 5;
}

.mf-scrollbar.is-visible,
.mf-scrollbar.is-active,
.mf-scrollbar.is-hover,
.mf-scrollbar:hover {
  opacity: 1;
}

.mf-scrollbar-track {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: transparent;
  pointer-events: auto;
}

.mf-scrollbar-thumb {
  position: absolute;
  left: 1px;
  right: 1px;
  top: 0;
  min-height: 28px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--text-primary) 22%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--text-primary) 8%, transparent);
  pointer-events: auto;
  cursor: default;
  transition: background 0.15s var(--ease);
}

.mf-scrollbar-thumb:hover,
.mf-scrollbar.is-dragging .mf-scrollbar-thumb {
  background: color-mix(in srgb, var(--text-primary) 34%, transparent);
}

html[data-mode="dark"] .mf-scrollbar-thumb {
  background: color-mix(in srgb, #fff 22%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 10%, transparent);
}

html[data-mode="dark"] .mf-scrollbar-thumb:hover,
html[data-mode="dark"] .mf-scrollbar.is-dragging .mf-scrollbar-thumb {
  background: color-mix(in srgb, #fff 34%, transparent);
}

body.has-image-bg .mf-scrollbar-thumb {
  background: color-mix(in srgb, var(--img-chrome-text, var(--img-text, var(--text-primary))) 24%, transparent);
}

body.has-image-bg .mf-scrollbar-thumb:hover,
body.has-image-bg .mf-scrollbar.is-dragging .mf-scrollbar-thumb {
  background: color-mix(in srgb, var(--img-chrome-text, var(--img-text, var(--text-primary))) 36%, transparent);
}

@media (hover: none) {
  .mf-scrollbar {
    opacity: 0.55;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mf-scrollbar {
    transition: none;
  }
}

.settings-view[hidden] {
  display: none !important;
}

/* 动画中二级层必须可绘制，才能完成右滑 */
.settings-panel.settings-animating .settings-view[hidden] {
  display: block !important;
}

.settings-panel.settings-no-anim .settings-view {
  transition: none !important;
}

/* 一级：垫底层；进入二级时向左轻移+淡出，返回时从左滑回（与页间返回滑动同款，方向感一致）。
 * 层本身透明——毛玻璃只在 .settings-panel 本体一层，避免多层白底叠加。 */
.settings-view-root {
  transform: translate3d(0, 0, 0);
  opacity: 1;
  z-index: 1;
  pointer-events: auto;
}

.settings-panel[data-view="page"] .settings-view-root,
.settings-panel[data-view="sub"] .settings-view-root {
  transform: translate3d(-30%, 0, 0);
  opacity: 0;
  pointer-events: none;
}

/* 二级：透明背景（透出面板毛玻璃）；从右侧滑入 / 滑出 */
.settings-view-page {
  transform: translate3d(100%, 0, 0);
  opacity: 1;
  z-index: 2;
  pointer-events: none;
}

.settings-panel[data-view="page"] .settings-view-page {
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
}

/* 三级：与二级同款层；在二级之上再滑一层（同样透明，透出面板毛玻璃） */
.settings-view-sub {
  transform: translate3d(100%, 0, 0);
  opacity: 1;
  z-index: 3;
  pointer-events: none;
}

.settings-panel[data-view="sub"] .settings-view-sub {
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
}

/* 二级在三级之下：返回时从左滑入（与一级返回同款），进入三级时向左轻移淡出 */
.settings-panel[data-view="sub"] .settings-view-page {
  transform: translate3d(-30%, 0, 0);
  opacity: 0;
  pointer-events: none;
}

/* 页间滑动动画由 WAAPI (js/settings.js runSettingsPageSwap) 接管：
 * 前进 = 新页 +30%→0 滑入、旧页 0→-30% 滑出；返回相反。
 * JS 动画结束即还原内联样式，无需 CSS keyframes / 残留类。 */

.settings-view-root,
.settings-view-sub,
.settings-page {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.settings-page[hidden] {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .settings-view {
    transition: none;
  }
}

/* 页面提示 / 分组标题 */
.settings-page-hint,
.type-roles-intro {
  margin: 0 2px;
  padding: 0 2px;
  font-size: 0.72rem;
  line-height: 1.4;
  color: var(--text-tertiary);
}

.settings-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  min-width: 0;
}

.settings-group-title,
.settings-section-title {
  margin: 0;
  padding: 0 8px;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--text-secondary);
  line-height: 1.3;
}

.settings-section-title[hidden] {
  display: none !important;
}

/* 卡片容器：圆角实色底（跟主题色板，不受壁纸半透明 --card-bg 影响），内部列表无边框 */
.settings-card {
  margin: 0;
  padding: 2px;
  border: none;
  border-radius: 12px;
  background: var(--card-bg-solid, var(--card-bg));
  box-shadow: none;
  overflow: hidden;
  min-width: 0;
}

/* 一级分类导航：每个菜单一张独立卡片，选项之间留空；
   相邻选项相接的角用小圆角，最下面一张（下面没有选项）用正常圆角 */
.settings-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  min-width: 0;
}

.settings-nav-item {
  position: relative;
  display: grid;
  grid-template-columns: 32px 1fr;
  align-items: center;
  column-gap: 12px;
  width: 100%;
  min-height: 54px;
  padding: 12px 10px;
  border: none;
  /* 相邻选项之间用小圆角；下面没有选项的最后一张，底部用正常圆角 */
  border-radius: 4px;
  background: var(--card-bg-solid, var(--card-bg));
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition:
    background 0.15s var(--ease),
    border-radius 0.15s var(--ease);
}

.settings-nav-item:first-child {
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}

.settings-nav-item:last-child {
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

.settings-nav-item + .settings-nav-item::before {
  display: none;
}

.settings-nav-item:hover {
  background: color-mix(in srgb, var(--text-primary) 5%, var(--card-bg-solid, var(--card-bg)));
}

/* 按下时整卡变成与外侧一致的大圆角，松开 / 移开恢复（:active 对鼠标和触屏都生效） */
.settings-nav-item:active {
  background: color-mix(in srgb, var(--text-primary) 8%, var(--card-bg-solid, var(--card-bg)));
  border-radius: 12px;
}

/* MingCute 线标：始终用主题色 */
.settings-nav-icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--bg-warm);
  color: var(--text-secondary);
  font-size: 18px;
  flex-shrink: 0;
}

.settings-nav-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  min-width: 0;
}

.settings-nav-title {
  font-size: 0.8125rem;
  font-weight: 550;
  color: var(--text-primary);
  line-height: 1.3;
}

.settings-nav-desc {
  font-size: 0.6875rem;
  color: var(--text-secondary);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 二级页头卡片：图标 / 标题 / 简介各自占一行，全部居左 */
.settings-page-head {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  margin: 0;
  padding: 14px 12px;
  border: none;
  border-radius: 12px;
  background: var(--card-bg);
  box-shadow: none;
  overflow: hidden;
  min-width: 0;
}

.settings-page-head .settings-nav-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  font-size: 24px;
  flex-shrink: 0;
}

.settings-page-head-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  text-align: left;
}

.settings-page-head-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.settings-page-head-desc {
  font-size: 0.75rem;
  color: var(--text-secondary, var(--text-tertiary));
  line-height: 1.55;
}

/* 二级卡片内设置块 */
.settings-card > .setting-item {
  margin: 0;
  padding: 10px 10px;
  border: none;
  border-radius: 0;
  background: transparent;
  box-sizing: border-box;
}

.settings-card > .setting-item + .setting-item {
  border-top: 1px solid var(--settings-divider);
}

/* 前一项隐藏时，去掉后一项顶部分割线，避免空缝
 * 背景条件字段（bg-extra-field）走折叠动画，分割线由 controls.css 单独接管 */
.settings-card > .setting-item[hidden]:not(.bg-extra-field) + .setting-item {
  border-top: none;
}

.settings-card > .setting-item--flush {
  /* 左右跟普通行一致（卡片 2px + 10px = 内容缩进 12px），上下保持紧凑 */
  padding: 4px 10px 6px;
}

/* 兼容旧类名 */
.settings-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 10px;
  border: none;
  border-radius: 12px;
  background: var(--card-bg);
  min-width: 0;
}

/* 二级页内：标签与控件间距更紧凑 */
.settings-page .setting-item label,
.settings-page .setting-item .setting-label,
.settings-card .setting-item label,
.settings-card .setting-item .setting-label {
  margin-bottom: 8px;
}

/* 可交互行 */
.interactive-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: none;
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  text-align: left;
  width: 100%;
  transition: background 0.15s var(--ease);
}

.interactive-row:hover {
  background: var(--settings-row-hover);
}

/* Input */
.setting-item input[type="text"] {
  width: 100%;
  height: 34px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-family: var(--font);
  font-size: 0.8125rem;
  color: var(--text-primary);
  outline: none;
  background: var(--bg-warm);
  transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease), background 0.2s var(--ease);
}

.setting-item input[type="text"]:focus {
  border-color: var(--border-strong);
  box-shadow: 0 0 0 2px var(--accent-glow);
  background: color-mix(in srgb, var(--card-bg) 70%, var(--bg-warm));
}

.setting-item input[type="text"]::placeholder {
  color: var(--text-tertiary);
}

/* Helper Text */
.setting-tip {
  font-size: 0.72rem;
  color: var(--text-secondary);
  margin-top: 6px;
  line-height: 1.4;
}

.settings-page .setting-item > .setting-tip:last-child,
.settings-card .setting-item > .setting-tip:last-child {
  margin-bottom: 0;
}

/* 选中勾号：跟主题字色 */
.check-icon {
  width: 14px;
  height: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* 选中标记与分段控件同色，不再用墨黑当第二强调色 */
  color: var(--accent);
  opacity: 0;
  transform: scale(0.5);
  transition: opacity 0.2s var(--ease), transform 0.2s var(--ease);
  flex-shrink: 0;
  margin-left: auto;
  font-size: 14px;
}

.interactive-row.active .check-icon,
.engine-item.active .check-icon,
.font-item.active .check-icon,
.bg-mode-item.active .check-icon {
  opacity: 1;
  transform: scale(1);
}

/*
 * 性能三档：
 * - full（默认）：全部效果
 * - balanced（html.perf-balanced）：关进场/换图动画，保留轻毛玻璃
 * - low（html.low-perf / perf-low）：关毛玻璃、壁纸模糊、全部动画
 */

/* —— 均衡：只关动画，保留模糊 —— */
html.perf-balanced .page-bg-image,
html.perf-balanced.bg-swap-ready .page-bg-image {
  transition: none !important;
  animation: none !important;
}

html.perf-balanced .page-bg-image:not(.is-active) {
  display: none !important;
}

html.perf-balanced .bg-bing-preview {
  transition: none !important;
  transform: none !important;
}

html.perf-balanced .bg-bing-preview:not(.is-active) {
  display: none !important;
}

html.perf-balanced .bg-bing-preview.is-active {
  opacity: 1 !important;
}

html.perf-balanced .greeting-section,
html.perf-balanced .search-section .search-box,
html.perf-balanced .shortcuts-section .shortcut-btn,
html.perf-balanced .shortcuts-section .shortcut-folder-trigger,
html.perf-balanced .bing-credit,
html.perf-balanced.boot-ready.boot-has-image .page-bg-image.is-active,
html.perf-balanced .greeting-title.is-quote-loading,
html.perf-balanced .greeting-title.is-quote-seeking-swap,
html.perf-balanced .greeting-title.is-quote-reveal,
html.perf-balanced .greeting-title.is-greeting-reveal {
  animation: none !important;
}

html.perf-balanced:not(.boot-ready) .content > .greeting-section,
html.perf-balanced:not(.boot-ready) .content > .search-section,
html.perf-balanced:not(.boot-ready) .content > .shortcuts-section,
html.perf-balanced:not(.boot-ready) .bing-credit,
html.perf-balanced:not(.boot-ready) .settings-wrapper {
  opacity: 1 !important;
  animation: none !important;
}

/* —— 极致：关毛玻璃 + 动画 + 壁纸 blur —— */
html.low-perf .settings-panel,
html.low-perf .search-box,
html.low-perf .search-suggest,
html.low-perf .search-section .search-box,
html.low-perf .search-section .search-suggest,
html.low-perf body.has-image-bg .search-box,
html.low-perf.boot-has-image .search-box,
html.low-perf .shortcut-btn,
html.low-perf .shortcut-folder-trigger,
html.low-perf .shortcuts-expand,
html.low-perf .shortcut-expanded,
html.low-perf .context-menu,
html.low-perf .modal-overlay,
html.low-perf .modal-box,
html.low-perf .bing-credit,
html.low-perf .bing-credit-close,
html.low-perf .bg-bing-link,
html.low-perf .bg-bing-shuffle,
html.low-perf .settings-btn,
html.perf-low .settings-panel,
html.perf-low .search-box,
html.perf-low .search-suggest,
html.perf-low body.has-image-bg .search-box,
html.perf-low body.has-image-bg .search-suggest,
html.perf-low .shortcut-btn,
html.perf-low .shortcut-folder-trigger,
html.perf-low .shortcuts-expand,
html.perf-low .settings-btn {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* 低性能模式：标题栏模糊层退化为纯渐变遮罩，仍保证内容穿到标题栏后不糊字 */
html.low-perf .settings-header::before,
html.perf-low .settings-header::before {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: linear-gradient(to bottom,
    color-mix(in srgb, var(--bg-warm) var(--settings-header-tint, 62%), transparent) 0%,
    color-mix(in srgb, var(--bg-warm) var(--settings-header-tint, 62%), transparent) var(--settings-header-solid, 62%),
    transparent var(--settings-header-fade, 100%));
  -webkit-mask-image: none;
  mask-image: none;
}

/* 低性能模式：标题栏控件胶囊也去掉实时模糊，用更实的半透明底色保证可读 */
html.low-perf .settings-panel.is-content-scrolled .settings-header-leading,
html.perf-low .settings-panel.is-content-scrolled .settings-header-leading,
html.low-perf .settings-panel.is-content-scrolled .settings-header-bar .close-btn,
html.perf-low .settings-panel.is-content-scrolled .settings-header-bar .close-btn {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background: color-mix(in srgb, var(--bg-warm) 82%, transparent);
}

/* —— 极致：内容模糊全撤，层级改由透明度表达（folder-open 组自带 0.2 淡化兜底） —— */
html.low-perf body.folder-open .greeting-section,
html.low-perf body.folder-open .search-section,
html.low-perf body.folder-open .bing-credit,
html.low-perf body.folder-open .settings-wrapper,
html.low-perf body.folder-open .shortcuts-row > .shortcut-drag-wrapper > .shortcut-btn,
html.low-perf body.folder-open .shortcuts-row > .shortcut-drag-wrapper > .shortcut-folder .shortcut-folder-trigger,
html.low-perf body.folder-open .shortcuts-section > .shortcuts-expand,
html.perf-low body.folder-open .greeting-section,
html.perf-low body.folder-open .search-section,
html.perf-low body.folder-open .bing-credit,
html.perf-low body.folder-open .settings-wrapper,
html.perf-low body.folder-open .shortcuts-row > .shortcut-drag-wrapper > .shortcut-btn,
html.perf-low body.folder-open .shortcuts-row > .shortcut-drag-wrapper > .shortcut-folder .shortcut-folder-trigger,
html.perf-low body.folder-open .shortcuts-section > .shortcuts-expand {
  filter: none !important;
}

/* —— 极致：子面板层级失焦（dim）改用透明度替代 blur —— */
html.low-perf .shortcut-folder.open .shortcut-expanded.dim-1 > .shortcut-btn,
html.low-perf .shortcut-folder.open .shortcut-expanded.dim-1 > .shortcut-expanded-subfolder:not(.open),
html.low-perf .shortcut-expanded-subfolder-children.open.dim-1 > .shortcut-btn,
html.low-perf .shortcut-expanded-subfolder-children.open.dim-1 > .shortcut-expanded-subfolder:not(.open),
html.perf-low .shortcut-folder.open .shortcut-expanded.dim-1 > .shortcut-btn,
html.perf-low .shortcut-folder.open .shortcut-expanded.dim-1 > .shortcut-expanded-subfolder:not(.open),
html.perf-low .shortcut-expanded-subfolder-children.open.dim-1 > .shortcut-btn,
html.perf-low .shortcut-expanded-subfolder-children.open.dim-1 > .shortcut-expanded-subfolder:not(.open) {
  filter: none !important;
  opacity: 0.55;
}

html.low-perf .shortcut-folder.open .shortcut-expanded.dim-2 > .shortcut-btn,
html.low-perf .shortcut-folder.open .shortcut-expanded.dim-2 > .shortcut-expanded-subfolder:not(.open),
html.low-perf .shortcut-expanded-subfolder-children.open.dim-2 > .shortcut-btn,
html.low-perf .shortcut-expanded-subfolder-children.open.dim-2 > .shortcut-expanded-subfolder:not(.open),
html.perf-low .shortcut-folder.open .shortcut-expanded.dim-2 > .shortcut-btn,
html.perf-low .shortcut-folder.open .shortcut-expanded.dim-2 > .shortcut-expanded-subfolder:not(.open),
html.perf-low .shortcut-expanded-subfolder-children.open.dim-2 > .shortcut-btn,
html.perf-low .shortcut-expanded-subfolder-children.open.dim-2 > .shortcut-expanded-subfolder:not(.open) {
  filter: none !important;
  opacity: 0.4;
}

/* 完全限制：纯色底（不用带 alpha 的 img-surface） */
html.low-perf body.has-image-bg .search-box,
html.low-perf body.has-image-bg .shortcut-btn,
html.low-perf body.has-image-bg .shortcut-folder-trigger,
html.low-perf body.has-image-bg .shortcut-expanded,
html.low-perf body.has-image-bg .settings-btn,
html.low-perf body.has-image-bg .settings-panel,
html.perf-low body.has-image-bg .search-box,
html.perf-low body.has-image-bg .shortcut-btn,
html.perf-low body.has-image-bg .settings-btn,
html.perf-low body.has-image-bg .settings-panel {
  background: var(--card-bg) !important;
}

html[data-mode="light"].low-perf body.has-image-bg .search-box,
html[data-mode="light"].low-perf body.has-image-bg .shortcut-btn,
html[data-mode="light"].low-perf body.has-image-bg .shortcut-folder-trigger,
html[data-mode="light"].low-perf body.has-image-bg .settings-btn,
html[data-mode="light"].low-perf body.has-image-bg .settings-panel,
html[data-mode="light"].perf-low body.has-image-bg .search-box,
html[data-mode="light"].perf-low body.has-image-bg .shortcut-btn,
html[data-mode="light"].perf-low body.has-image-bg .settings-btn,
html[data-mode="light"].perf-low body.has-image-bg .settings-panel {
  background: #f5f0e8 !important;
}

html[data-mode="dark"].low-perf body.has-image-bg .search-box,
html[data-mode="dark"].low-perf body.has-image-bg .shortcut-btn,
html[data-mode="dark"].low-perf body.has-image-bg .shortcut-folder-trigger,
html[data-mode="dark"].low-perf body.has-image-bg .settings-btn,
html[data-mode="dark"].low-perf body.has-image-bg .settings-panel,
html[data-mode="dark"].perf-low body.has-image-bg .search-box,
html[data-mode="dark"].perf-low body.has-image-bg .shortcut-btn,
html[data-mode="dark"].perf-low body.has-image-bg .settings-btn,
html[data-mode="dark"].perf-low body.has-image-bg .settings-panel {
  background: #2a2824 !important;
}

html.low-perf .search-box,
html.low-perf .shortcut-btn,
html.low-perf .shortcut-folder-trigger,
html.low-perf .settings-btn,
html.perf-low .search-box,
html.perf-low .shortcut-btn,
html.perf-low .shortcuts-expand,
html.perf-low .settings-btn {
  background: var(--card-bg) !important;
}

html.low-perf .settings-panel,
html.perf-low .settings-panel {
  background: var(--bg-warm) !important;
}

html[data-mode="light"].low-perf .settings-panel,
html[data-mode="light"].perf-low .settings-panel {
  background: #f5f0e8 !important;
}

html[data-mode="dark"].low-perf .settings-panel,
html[data-mode="dark"].perf-low .settings-panel {
  background: #2a2824 !important;
}

html.low-perf .page-bg-image,
html.low-perf.bg-swap-ready .page-bg-image,
html.perf-low .page-bg-image {
  filter: none !important;
  transition: none !important;
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
}

html.low-perf .page-bg-image:not(.is-active) {
  display: none !important;
}

html.low-perf .bg-bing-preview {
  transition: none !important;
  transform: none !important;
}

html.low-perf .bg-bing-preview:not(.is-active) {
  display: none !important;
}

html.low-perf .bg-bing-preview.is-active {
  opacity: 1 !important;
}

html.low-perf .settings-reveal,
html.low-perf .settings-view,
html.low-perf .settings-view-root,
html.low-perf .settings-view-page,
html.low-perf .settings-view-sub,
html.low-perf .settings-view-page .settings-page,
html.low-perf .settings-view-sub .settings-page,
html.low-perf .settings-panel,
html.low-perf .settings-back-icon-btn,
html.low-perf .greeting-title,
html.low-perf .greeting-sub,
html.low-perf .greeting-section,
html.low-perf .search-box,
html.low-perf .search-section,
html.low-perf .shortcut-btn,
html.low-perf .shortcut-folder-trigger,
html.low-perf .shortcuts-section,
html.low-perf .bing-credit,
html.low-perf .page-bg-overlay,
html.low-perf .content,
html.low-perf .modal-overlay,
html.low-perf .modal-box,
html.low-perf .context-menu,
html.low-perf .quote-skeleton-line,
html.low-perf .bg-bing-hero,
html.low-perf .bg-bing-overlay {
  transition: none !important;
  animation: none !important;
}

/* 低性能：取消进场 / 返回预览动画，内容直接可见 */
html.low-perf:not(.boot-ready) .content > .greeting-section,
html.low-perf:not(.boot-ready) .content > .search-section,
html.low-perf:not(.boot-ready) .content > .shortcuts-section,
html.low-perf:not(.boot-ready) .bing-credit,
html.low-perf:not(.boot-ready) .settings-wrapper {
  opacity: 1 !important;
  animation: none !important;
}

html.low-perf.boot-ready .greeting-section,
html.low-perf.boot-ready .search-section .search-box,
html.low-perf.boot-ready .shortcuts-section .shortcut-btn,
html.low-perf.boot-ready .shortcuts-section .shortcut-folder-trigger,
html.low-perf.boot-ready .bing-credit,
html.low-perf.boot-ready.boot-has-image .page-bg-image.is-active {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}

/* balanced/low：页间滑动动画由 JS 侧 isSettingsPageAnimDisabled() 关闭，无需 CSS 规则 */

html.low-perf .greeting-title.is-quote-loading,
html.low-perf .greeting-title.is-quote-seeking-swap {
  animation: none !important;
  opacity: 0.85 !important;
}


/* 左右分布的设置行（如开关） */
.setting-row-between {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.setting-row-text {
  min-width: 0;
  flex: 1 1 auto;
}

.setting-row-between .setting-label {
  margin-bottom: 2px;
}

.setting-row-between .setting-tip {
  margin-top: 0;
}

.setting-row-between .mode-segment {
  flex: 0 0 auto;
  width: min(148px, 42%);
}

/* 标签与控件同排（如开关），提示文字另起一行 */
.setting-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.setting-label-row .setting-label {
  margin-bottom: 0;
}

/* setting-tip 前的行内图标 */
.setting-tip-icon {
  font-size: 0.75rem;
  vertical-align: middle;
  margin-right: 4px;
}

.setting-tip-icon--muted {
  color: var(--text-secondary);
}

/* 时间选项等紧凑分段：不要被 42% 挤窄，避免「24时」换行 */
.setting-row-between .mode-segment--compact {
  width: 112px;
  min-width: 112px;
  max-width: 112px;
}


.setting-item.is-disabled {
  opacity: 0.55;
}

.setting-item.is-disabled input[type="range"] {
  cursor: not-allowed;
}

/* 手机：设置面板占满整屏，避免左侧露出半截页面控件 */
@media (max-width: 600px), (pointer: coarse) and (hover: none) and (max-width: 915px) {
  .settings-panel {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100vw;
    max-width: none;
    border: none;
    border-radius: 0;
    transform: translateX(100%);
  }

  /* 全屏形态没有「点外面关掉」这一说，右上角关闭键让位给左上角返回键 */
  .settings-header-bar .close-btn {
    display: none;
  }

  /* 关闭键没了，标题栏收成单列，标题不被右侧空位挤窄 */
  .settings-header-bar {
    grid-template-columns: minmax(0, 1fr);
  }

  .settings-header-leading {
    max-width: 100%;
  }

  /* 一级页：返回键充当「回主页」，点击等同原来的关闭键 */
  .settings-panel .settings-header[data-level='root'] .settings-header-bar .settings-back-icon-btn {
    width: var(--settings-nav-btn);
    min-width: var(--settings-nav-btn);
    max-width: var(--settings-nav-btn);
    aspect-ratio: 1 / 1;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0) scale(1);
  }
}


/* ==== css/settings/controls.css?v=2026110814 ==== */
/**
 * MoonFog - Settings Controls
 */

/* ============================================
   设置项（统一交互基础）
   ============================================ */
.setting-item {
  min-width: 0;
}

.setting-item input[type="text"]:focus {
  border-color: var(--border-strong);
  box-shadow: 0 0 0 3px var(--accent-glow);
}

.setting-item input[type="text"]::placeholder {
  color: var(--text-tertiary);
}

.settings-page .setting-item > .setting-tip:last-child {
  margin-bottom: 0;
}

.interactive-row.active .check-icon,
.engine-item.active .check-icon,
.font-item.active .check-icon {
  opacity: 1;
  transform: scale(1);
}

/* ============================================
   主题药丸选择器
   ============================================ */
.setting-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.setting-row label {
  margin-bottom: 0;
}

/* ============================================
   界面明暗（最高优先级）
   ============================================ */
.mode-setting {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px !important;
}

/* 外观页导航列表的第一块：颜色模式标题 + 分段控件，与下面的菜单项同处一条列表 */
.settings-nav-item--mode {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 10px;
  padding: 10px 10px 12px;
  min-height: 0;
  cursor: default;
}

/* 这一块整体不参与按压反馈，按住时保持列表里的原样式 */
.settings-nav-item--mode:hover,
.settings-nav-item--mode:active {
  background: var(--card-bg-solid, var(--card-bg));
}

.settings-nav-item--mode:active {
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

/* 块内的标题行：只借用图标 + 标题的排布，不再自带底色 / 内边距 / 圆角 */
.settings-nav-item--mode > .settings-nav-item,
.settings-nav-item--mode > .settings-nav-item:hover,
.settings-nav-item--mode > .settings-nav-item:active,
.settings-nav-item--mode > .settings-nav-item:first-child,
.settings-nav-item--mode > .settings-nav-item:last-child {
  min-height: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  cursor: default;
}

.settings-nav-item--mode > .settings-nav-item .settings-nav-title {
  font-size: 0.8125rem;
}

.settings-nav-item--mode .mode-segment {
  width: 100%;
}

/* 分段控件：无轨道底，选项直接排在卡片上；
   未选中为等宽圆角块，选中项变胶囊并放大，剩余空间由其余项平分 */
/* 分段控件：无轨道底，选项直接排成一条链；
   链条两端是完整胶囊圆头，相邻相接的角用小圆角，
   选中项整个变胶囊并放大，剩余空间由其余项平分 */
.mode-segment {
  position: relative;
  /* 块高的一半：两侧块的胶囊圆头靠它跟高度对齐，不写死 17px */
  --seg-cap: 17px;
  display: flex;
  gap: 2px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: none;
}

.mode-segment--4 {
  --seg-cap: 22px;
}

.mode-segment--4 .mode-segment-btn {
  padding: 0 4px;
  gap: 3px;
  flex-direction: column;
  min-height: 44px;
}

.mode-segment--4 .mode-segment-label {
  font-size: 0.6875rem;
  line-height: 1.1;
}

.mode-segment--4 .mode-segment-icon {
  font-size: 15px;
  /* 四列竖排的分段图标常显，否则未选中会只剩文字塌行 */
  display: inline-block;
  width: 1em;
  margin-right: 0;
  opacity: 1;
}

.mode-setting .setting-tip {
  margin: 8px 2px 0;
}

.mode-segment-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* 图标用 margin 控制间距，不用 gap：未选中图标宽度收到 0 时才不会留出空隙 */
  gap: 0;
  flex: 1 1 0;
  min-width: 0;
  min-height: 34px;
  padding: 0 12px;
  border: none;
  /* 基础小圆角：中间按钮用；首尾按钮的朝内侧角由 first/last 单独加大 */
  border-radius: 10px;
  /* 浅填充：未选中项必须能和卡片底区分开。
     之前用 --bg-warm-alt，和 --card-bg 只差几个色阶，整块看起来像没显示 */
  background: color-mix(in srgb, var(--text-primary) 8%, transparent);
  color: var(--text-primary);
  cursor: pointer;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  /* 长按 1s 才出按压态，顺手禁掉长按选中文字 / 弹系统菜单 */
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  /* 宽度走挤占，圆角单独走一条更短的曲线。
     两者同时长的时候，宽度早就挤开了圆角还在一格一格往回圆，
     看着就是「半天才变圆」。圆角压到 0.14s、曲线起步更陡，
     点下去头一两帧就能看出在圆，宽度继续慢慢撑到终点。
     颜色和文字色仍然是瞬时的，点下去立刻见色 */
  transition:
    flex-grow calc(0.26s * var(--motion-scale, 1)) var(--ease),
    border-radius calc(0.1s * var(--motion-scale, 1)) var(--ease-cap);
}

/* 设置行右侧紧凑分段：固定宽度，避免「24时」被挤成两行 */
.mode-segment--compact {
  flex: 0 0 auto;
  width: 112px;
  min-width: 112px;
  max-width: 112px;
}

/* 112px 里再留图标位就没地方放字了，这里不占位 */
.mode-segment--compact .mode-segment-icon {
  width: 0;
  margin-right: 0;
}

.mode-segment--compact .mode-segment-btn {
  padding: 0 6px;
  font-size: 0.75rem;
}

/* 深色底上 8% 几乎看不出来，抬到 13% 才能一眼认出这是个按钮块。
   必须排除 .active，否则会盖掉选中项的金色底 */
html[data-mode="dark"] .mode-segment-btn:not(.active) {
  background: color-mix(in srgb, var(--text-primary) 13%, transparent);
}

.mode-segment-btn:hover {
  background: color-mix(in srgb, var(--text-primary) 10%, transparent);
}

html[data-mode="dark"] .mode-segment-btn:not(.active):hover {
  background: color-mix(in srgb, var(--text-primary) 17%, transparent);
}

/* 链条两端按钮：外侧半高圆头（34px 高对应 17px），朝内一侧 10px 与中间块对齐；
   17+10=27 < 34，同边圆角之和不超过边长，不会被等比压缩 */
.mode-segment-btn:first-child {
  border-top-left-radius: var(--seg-cap, 17px);
  border-bottom-left-radius: var(--seg-cap, 17px);
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}

.mode-segment-btn:last-child {
  border-top-right-radius: var(--seg-cap, 17px);
  border-bottom-right-radius: var(--seg-cap, 17px);
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}

/* 选中：变宽，把左右两项挤窄；未选中的几项始终等宽。
   颜色/圆角瞬时生效，只有宽度做挤占动画，不加阴影 */
.mode-segment-btn.active {
  flex-grow: 1.55;
  border-radius: var(--seg-cap, 17px);
  background: var(--accent);
  color: var(--bg-warm);
  box-shadow: none;
}

/* 按下：圆角略收小并加深，松开 / 移开恢复。
   :active 对鼠标和触屏都生效；按下用短时长立刻响应，
   松开回到基础 transition（圆角带一点回弹） */
.mode-segment-btn:active {
  border-radius: 8px;
  background: color-mix(in srgb, var(--text-primary) 14%, transparent);
  /* 这里会把基础 transition 整个换掉，所以必须把 flex-grow 补回来：
     否则按下的那一瞬间挤占动画会直接跳完（按压态只是延迟变色的副产品） */
  transition:
    flex-grow calc(0.26s * var(--motion-scale, 1)) var(--ease),
    background calc(0.12s * var(--motion-scale, 1)) var(--ease) var(--press-delay, 0.35s),
    border-radius calc(0.12s * var(--motion-scale, 1)) var(--ease) var(--press-delay, 0.35s);
}

/* 两侧块：胶囊那头保持不动，只收朝内的两个角 */
/* 两侧块按压：只有外侧的胶囊两头不动，其余角都收小 */
.mode-segment-btn:first-child:active {
  border-top-left-radius: var(--seg-cap, 17px);
  border-bottom-left-radius: var(--seg-cap, 17px);
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}

.mode-segment-btn:last-child:active {
  border-top-right-radius: var(--seg-cap, 17px);
  border-bottom-right-radius: var(--seg-cap, 17px);
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}

/* 选中的那块按下同样收角（首尾位置只保留外侧胶囊角），底色压深 */
.mode-segment-btn.active:active {
  background: color-mix(in srgb, var(--accent) 84%, #000);
}

.mode-segment-btn:disabled,
.mode-segment-btn.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}

.mode-segment-btn[hidden] {
  display: none !important;
}

/* 三段（颜色模式 / 打开策略）：图标脱离布局流，绝对定位叠在文字左侧。
   之前靠 width 0→14px 参与布局，挤占动画期间每帧都要重新排版文字，
   字形还被 overflow 硬裁一半，看着就是卡。 */
.mode-segment--3 .mode-segment-btn {
  position: relative;
  padding: 0 10px;
  --seg-icon-w: 21px;
  --seg-icon-gap: 12px;
  /* 图标字形左右带透明边距，直接对齐会让「图标+文字」整组看着偏左，
     往右补一点回来 */
  --seg-icon-nudge: 2px;
}

.mode-segment--3 .mode-segment-btn > .mode-segment-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--seg-icon-w);
  height: var(--seg-icon-w);
  margin: 0;
  overflow: visible;
  opacity: 0;
  /* 字形跟着容器走：按钮本身 13px，图标不单独指定字号就会显得偏小。
     MingCute 实心字形的墨迹只占字号的 ~0.88（20px 字号 → 墨迹约 17.6px），
     要把可视尺寸撑到 18px 上下就得给到 20px，13.8px 的文字配着才有主次 */
  font-size: 20px;
  display: grid;
  place-items: center;
  pointer-events: none;
  /* 未选中时贴在文字左边缘外侧（透明看不见），选中时跟文字一起右移，
     间距恒定，不会出现「先挤文字、再补图标」的两段感 */
  transform:
    translate(
      calc(
        -50% - var(--lab-half, 0px) - var(--seg-icon-gap) - var(--seg-icon-w) / 2 +
          var(--seg-icon-nudge, 0px)
      ),
      -50%
    )
    scale(0.45);
  transition:
    opacity calc(0.12s * var(--motion-scale, 1)) var(--ease),
    transform calc(0.12s * var(--motion-scale, 1)) var(--ease);
}

.mode-segment--3 .mode-segment-btn.active > .mode-segment-icon {
  width: var(--seg-icon-w);
  margin-right: 0;
  opacity: 1;
  transform:
    translate(
      calc(-50% - var(--lab-half, 0px) - var(--seg-icon-gap) / 2 + var(--seg-icon-nudge, 0px)),
      -50%
    )
    scale(1);
}

.mode-segment-label {
  letter-spacing: 0.01em;
}

/* 文字不做任何过渡：点下去直接跳到位。
   之前给它挂了 0.26s 的位移过渡，挤占期间文字是一路滑过去的，
   看着就是「字在慢慢挪」。现在只有按钮宽度在动，文字瞬时归位 */
.mode-segment--3 .mode-segment-label {
  transition: none;
}

.mode-segment--3 .mode-segment-btn.active > .mode-segment-label {
  transform: translateX(calc((var(--seg-icon-w) + var(--seg-icon-gap)) / 2));
}

.mode-setting > .setting-tip {
  margin: 0 2px;
}

/* 兼容旧 mode-toggle（若其他位置仍引用） */
.mode-toggle {
  width: 28px;
  height: 28px;
  display: none;
}

/* 通用开关组件 */
.switch {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  width: 40px;
  height: 22px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

.switch-slider {
  position: absolute;
  inset: 0;
  cursor: pointer;
  background: var(--border-strong, #ccc);
  border-radius: 999px;
  transition: background 0.2s var(--ease);
}

.switch-slider::before {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  left: 2px;
  top: 2px;
  background: #fff;
  border-radius: 50%;
  transition: transform 0.2s var(--ease);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.switch input:checked + .switch-slider {
  background: var(--accent, #4f46e5);
}

.switch input:checked + .switch-slider::before {
  transform: translateX(18px);
}

/* settings reveal system
 * 条件选项展开/收起：进出严格镜像（同一套 transition）
 * 收起/展开共用终点：下移 6px + 透明 + max-height 0
 * 进入：is-entering 锁在收起态 → 去掉后过渡到展开
 * 退出：is-leaving 过渡到收起态 → 再 hidden
 */
.settings-reveal,
.bg-extra-field,
.greeting-field,
.type-weight,
.theme-pills,
.theme-swatches,
#toneGroup.settings-reveal,
#bgBingGroup.settings-reveal,
#bgGrainGroup.settings-reveal,
#greetingCopyGroup.settings-reveal {
  overflow: hidden;
  opacity: 1;
  transform: translate3d(0, 0, 0);
  max-height: var(--reveal-max, 320px);
  transition:
    opacity 0.24s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.24s cubic-bezier(0.4, 0, 0.2, 1),
    max-height 0.28s cubic-bezier(0.4, 0, 0.2, 1),
    margin 0.24s cubic-bezier(0.4, 0, 0.2, 1),
    padding 0.2s cubic-bezier(0.4, 0, 0.2, 1),
    border-color 0.18s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: max-height, opacity, transform;
}

/* 分组级：保留标题间距节奏 */
.settings-group.settings-reveal {
  --reveal-max: 720px;
  margin-bottom: 14px;
}

.settings-group.settings-reveal > .settings-group-title,
.settings-group.settings-reveal > .settings-card {
  transition:
    opacity 0.24s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.24s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 收起态：hidden / 进入起点 / 退出终点 同一套 */
.settings-reveal[hidden],
.bg-extra-field[hidden],
.greeting-field[hidden],
.type-weight[hidden],
.theme-pills[hidden],
.settings-page .settings-card > .setting-item.bg-extra-field[hidden],
.settings-card > .setting-item.bg-extra-field[hidden],
.setting-item.bg-extra-field[hidden],
.settings-group.settings-reveal[hidden],
#toneGroup.settings-reveal[hidden],
#bgBingGroup.settings-reveal[hidden],
#bgGrainGroup.settings-reveal[hidden],
#greetingCopyGroup.settings-reveal[hidden],
.settings-reveal.is-leaving,
.bg-extra-field.is-leaving,
.greeting-field.is-leaving,
.type-weight.is-leaving,
.theme-pills.is-leaving,
.settings-group.settings-reveal.is-leaving,
.settings-reveal.is-entering,
.bg-extra-field.is-entering,
.greeting-field.is-entering,
.type-weight.is-entering,
.theme-pills.is-entering,
.settings-group.settings-reveal.is-entering,
#bgBingGroup.is-entering,
#bgGrainGroup.is-entering,
#toneGroup.is-entering,
#greetingCopyGroup.is-entering,
#bgBingGroup.is-leaving,
#bgGrainGroup.is-leaving,
#toneGroup.is-leaving,
#greetingCopyGroup.is-leaving {
  display: block !important;
  max-height: 0 !important;
  opacity: 0 !important;
  transform: translate3d(0, 6px, 0) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
  pointer-events: none !important;
}

.settings-reveal[hidden],
.bg-extra-field[hidden],
.greeting-field[hidden],
.type-weight[hidden],
.theme-pills[hidden],
.settings-group.settings-reveal[hidden],
#toneGroup.settings-reveal[hidden],
#bgBingGroup.settings-reveal[hidden],
#bgGrainGroup.settings-reveal[hidden],
#greetingCopyGroup.settings-reveal[hidden] {
  visibility: hidden;
}

/* 动画中保持可绘制，避免 visibility 打断过渡 */
.settings-reveal.is-leaving,
.bg-extra-field.is-leaving,
.greeting-field.is-leaving,
.type-weight.is-leaving,
.theme-pills.is-leaving,
.settings-group.settings-reveal.is-leaving,
.settings-reveal.is-entering,
.bg-extra-field.is-entering,
.greeting-field.is-entering,
.type-weight.is-entering,
.theme-pills.is-entering,
.settings-group.settings-reveal.is-entering,
#bgBingGroup.is-entering,
#bgGrainGroup.is-entering,
#toneGroup.is-entering,
#greetingCopyGroup.is-entering,
#bgBingGroup.is-leaving,
#bgGrainGroup.is-leaving,
#toneGroup.is-leaving,
#greetingCopyGroup.is-leaving {
  visibility: visible;
}

.settings-group.settings-reveal.is-leaving > .settings-group-title,
.settings-group.settings-reveal.is-leaving > .settings-card,
.settings-group.settings-reveal.is-entering > .settings-group-title,
.settings-group.settings-reveal.is-entering > .settings-card,
.settings-group.settings-reveal[hidden] > .settings-group-title,
.settings-group.settings-reveal[hidden] > .settings-card {
  opacity: 0;
  transform: translate3d(0, 4px, 0);
}

/* flex 容器保持 flex，避免子项横向塌掉后再弹 */
.bg-extra-field.settings-reveal[hidden],
.greeting-field.settings-reveal[hidden],
.setting-item.bg-extra-field[hidden],
.setting-item.greeting-field[hidden],
.type-weight[hidden],
.theme-pills[hidden],
.bg-extra-field.is-entering,
.greeting-field.is-entering,
.type-weight.is-entering,
.theme-pills.is-entering,
.bg-extra-field.is-leaving,
.greeting-field.is-leaving,
.type-weight.is-leaving,
.theme-pills.is-leaving {
  display: flex !important;
}

@media (prefers-reduced-motion: reduce) {
  .settings-reveal,
  .bg-extra-field,
  .greeting-field,
  .type-weight,
  .theme-pills,
  #toneGroup.settings-reveal,
  #bgBingGroup.settings-reveal,
  #bgGrainGroup.settings-reveal,
  #greetingCopyGroup.settings-reveal {
    transition: none !important;
    animation: none !important;
  }
}

/* 条件启用：hidden 需压过 display:flex 等布局声明 */
.setting-item[hidden],
.settings-page[hidden],
.settings-group[hidden]:not(.settings-reveal),
.settings-card[hidden] {
  display: none !important;
}

/* ============================================
   界面色调：色块网格（与设置页分段控件一致）
   ============================================ */
.theme-swatches,
.theme-pills {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  max-height: 200px;
  opacity: 1;
  overflow: hidden;
  transition:
    opacity 0.24s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.24s cubic-bezier(0.4, 0, 0.2, 1),
    max-height 0.28s cubic-bezier(0.4, 0, 0.2, 1),
    margin 0.24s cubic-bezier(0.4, 0, 0.2, 1);
}

.theme-swatches[hidden],
.theme-pills[hidden] {
  display: grid !important;
  max-height: 0 !important;
  opacity: 0 !important;
  margin: 0 !important;
  pointer-events: none;
  visibility: hidden;
}

.theme-swatch {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  min-height: 0;
  padding: 0;
  border: none;
  border-radius: 12px;
  background: transparent;
  cursor: pointer;
  font: inherit;
  color: inherit;
  transition: transform 0.16s var(--ease);
}

.theme-swatch:hover {
  transform: scale(1.04);
}

.theme-swatch:focus-visible {
  outline: 2px solid var(--border-strong);
  outline-offset: 2px;
}

.theme-swatch-fill {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  background: var(--swatch, var(--bg-warm-alt));
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--text-primary) 10%, transparent),
    0 1px 2px color-mix(in srgb, var(--text-primary) 6%, transparent);
  transition:
    box-shadow 0.18s var(--ease),
    transform 0.16s var(--ease);
}

.theme-swatch.active .theme-swatch-fill {
  /* 选中标记统一用强调色，和分段、开关说的是同一种话 */
  box-shadow:
    inset 0 0 0 2px var(--accent),
    0 2px 8px color-mix(in srgb, var(--accent) 22%, transparent);
}

.theme-swatch-check {
  position: absolute;
  right: 5px;
  bottom: 5px;
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-size: 11px;
  line-height: 1;
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 0.16s var(--ease), transform 0.16s var(--ease);
  pointer-events: none;
}

.theme-swatch.active .theme-swatch-check {
  opacity: 1;
  transform: scale(1);
}

.theme-swatch-fill-custom {
  background:
    linear-gradient(135deg,
      #F5F0E8 0%,
      #F8EDE8 25%,
      #E8F0F5 50%,
      #EDE8F0 75%,
      #ECEEE5 100%);
}

/* 自定义：取色器图标（暂未开放） */
.theme-swatch-icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  color: color-mix(in srgb, var(--text-primary) 55%, transparent);
  pointer-events: none;
  z-index: 1;
}

.theme-swatch.is-disabled,
.theme-swatch:disabled {
  cursor: not-allowed;
  opacity: 0.55;
  transform: none !important;
}

.theme-swatch.is-disabled:hover,
.theme-swatch:disabled:hover {
  transform: none !important;
}

.tone-setting .setting-tip.is-notice {
  color: var(--text-secondary);
  font-weight: 550;
}



/* ============================================
   背景模式：横向分段
   ============================================ */
.bg-mode-setting {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 10px !important;
}

.settings-page .bg-mode-setting > .setting-label,
.settings-card .bg-mode-setting > .setting-label {
  display: none !important;
}

.bg-mode-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  margin: 0;
  padding: 4px;
  min-width: 0;
  border-radius: 10px;
  background: color-mix(in srgb, var(--text-primary) 5%, var(--bg-warm));
}

/* 媒体合并后：纯色 / 流光渐变 / 媒体 三选一 */
.bg-mode-list--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bg-mode-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 100%;
  min-height: 56px;
  padding: 8px 6px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  text-align: center;
  font: inherit;
  transition: background 0.18s var(--ease), color 0.18s var(--ease), box-shadow 0.18s var(--ease);
}

.bg-mode-item + .bg-mode-item::before {
  display: none;
}

.bg-mode-item:hover {
  color: var(--text-primary);
  background: color-mix(in srgb, var(--text-primary) 4%, transparent);
}

.bg-mode-item.active {
  color: var(--text-primary);
  background: var(--card-bg);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--text-primary) 8%, transparent);
}

.bg-mode-icon {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  background: transparent;
  color: inherit;
  flex-shrink: 0;
  font-size: 18px;
  line-height: 1;
  transition: color 0.15s var(--ease);
}

.bg-mode-item:hover .bg-mode-icon,
.bg-mode-item.active .bg-mode-icon {
  color: inherit;
  background: transparent;
}

.bg-mode-text {
  flex: 0 0 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bg-mode-name {
  font-size: 0.75rem;
  font-weight: 550;
  line-height: 1.2;
  color: inherit;
  white-space: nowrap;
}

.bg-mode-item .check-icon {
  display: none !important;
}

.bg-mode-setting > .setting-tip {
   display: none;
}

/* 图片二级选择 */
.bg-image-sub-row {
   display: flex;
   gap: 4px;
   padding: 4px;
   border-radius: 8px;
   background: color-mix(in srgb, var(--text-primary) 5%, var(--bg-warm));
}

.bg-sub-item {
   flex: 1 1 auto;
   min-height: 36px;
   padding: 6px 12px;
   border: none;
   border-radius: 6px;
   background: transparent;
   color: var(--text-secondary);
   cursor: pointer;
   font: inherit;
   font-size: 0.8rem;
   font-weight: 550;
   text-align: center;
   transition: background 0.18s var(--ease), color 0.18s var(--ease);
}

.bg-sub-item:hover {
   color: var(--text-primary);
   background: color-mix(in srgb, var(--text-primary) 4%, transparent);
}

.bg-sub-item.active {
   color: var(--text-primary);
   background: var(--card-bg);
   box-shadow: 0 1px 2px color-mix(in srgb, var(--text-primary) 8%, transparent);
}

/* 条件字段：本地操作 / 模糊，动画折叠 */
.bg-extra-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
  transition:
    opacity 0.22s var(--ease),
    max-height 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    padding 0.22s var(--ease),
    margin 0.22s var(--ease),
    border-color 0.22s var(--ease);
  max-height: 220px;
  opacity: 1;
}

.bg-extra-field[hidden],
.settings-page .settings-card > .setting-item.bg-extra-field[hidden],
.settings-card > .setting-item.bg-extra-field[hidden],
.setting-item.bg-extra-field[hidden] {
  display: flex !important;
  max-height: 0 !important;
  opacity: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
  border-top-color: transparent !important;
  pointer-events: none;
  visibility: hidden;
}

/* 中间字段折叠时仍保留可见项的分割线（压过 panel 里 [hidden]+item 去线规则） */
.settings-card > .bg-mode-setting + .bg-extra-field:not([hidden]),
.settings-card > .bg-extra-field:not([hidden]) + .bg-extra-field:not([hidden]),
.settings-card > .setting-item.bg-extra-field[hidden] + .setting-item.bg-extra-field:not([hidden]),
.settings-card > .setting-item.bg-mode-setting + .setting-item.bg-extra-field:not([hidden]) {
  border-top: 1px solid var(--settings-divider) !important;
}

.bg-extra-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.bg-extra-head label,
.bg-extra-title,
.settings-page .bg-extra-head label,
.settings-card .bg-extra-head label {
  margin: 0 !important;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-primary);
  line-height: 1.2;
}

.bg-extra-meta,
.bg-extra-head .weight-value {
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--text-secondary);
  line-height: 1.2;
  flex-shrink: 0;
}

.bg-local-actions-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  align-items: center;
}

.bg-local-actions-row .bg-action-btn {
  flex: 1 1 auto;
  justify-content: center;
  min-width: 0;
}

.bg-local-actions-row .bg-action-btn-ghost {
  flex: 0 0 auto;
}

#bgBingGroup {
  --reveal-max: 420px;
}

#bgGrainGroup {
  /* shape + colors + 4 sliders + XY + reset */
  --reveal-max: 1320px;
}

.grain-color-setting,
.grain-range-setting,
.grain-shape-setting,
.grain-position-setting,
.grain-reset-setting {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

/* 设置面板仅 ~312px：XY 竖排，避免双列挤扁滑块 */
.grain-offset-stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  min-width: 0;
  padding: 10px 12px 12px;
  box-sizing: border-box;
  border-radius: 10px;
  background: color-mix(in srgb, var(--text-primary) 4.5%, var(--bg-warm));
  border: 1px solid color-mix(in srgb, var(--text-primary) 6%, transparent);
}

.grain-offset-axis {
  gap: 8px;
}

.grain-offset-axis .bg-extra-head {
  margin: 0;
}

.grain-offset-axis .slider-container {
  margin: 0;
}

.grain-shape-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  width: 100%;
  min-width: 0;
  padding: 4px;
  box-sizing: border-box;
  border-radius: 10px;
  background: color-mix(in srgb, var(--text-primary) 5%, var(--bg-warm));
}

.grain-shape-item {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  min-width: 0;
  min-height: 52px;
  margin: 0;
  padding: 6px 4px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  font: inherit;
  line-height: 1.2;
  appearance: none;
  -webkit-appearance: none;
  transition: background 0.18s var(--ease), color 0.18s var(--ease), box-shadow 0.18s var(--ease);
}

.grain-shape-item:hover {
  color: var(--text-primary);
  background: color-mix(in srgb, var(--text-primary) 4%, transparent);
}

.grain-shape-item.active,
.grain-shape-item[aria-checked="true"] {
  color: var(--text-primary);
  background: var(--card-bg);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--text-primary) 8%, transparent);
}

.grain-shape-item:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent, #c9a227) 55%, transparent);
  outline-offset: 1px;
}

.grain-shape-icon {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  color: inherit;
  flex-shrink: 0;
  pointer-events: none;
}

.grain-shape-icon > [class^="mgc_"],
.grain-shape-icon > [class*=" mgc_"] {
  display: block;
  line-height: 1;
  color: inherit;
}

.grain-shape-name {
  display: block;
  font-size: 0.6875rem;
  font-weight: 550;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  pointer-events: none;
}

/* 主题色选择 */
.grain-theme-color-row {
  display: flex;
  align-items: center;
  width: 100%;
}
.grain-theme-swatch {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 2px solid color-mix(in srgb, var(--text-primary) 12%, transparent);
  border-radius: 12px;
  background: transparent;
  cursor: pointer;
  flex-shrink: 0;
  transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease), transform 0.16s var(--ease);
}
.grain-theme-swatch:active {
  transform: scale(0.95);
}
.grain-theme-swatch.is-open,
.grain-theme-swatch[aria-expanded="true"] {
  border-color: var(--accent, #c9a227);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent, #c9a227) 18%, transparent);
}
.grain-theme-swatch-fill {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #d8b569;
  transition: background 0.2s var(--ease);
}
.grain-theme-presets {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}
.grain-preset-btn {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid transparent;
  cursor: pointer;
  padding: 0;
  transition: border-color 0.16s var(--ease), transform 0.16s var(--ease);
}
.grain-preset-btn:hover {
  transform: scale(1.1);
}
.grain-preset-btn:active {
  transform: scale(0.95);
}
.grain-preset-btn.is-active {
  border-color: var(--text-primary);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--text-primary) 10%, transparent);
}

/* 配色模式 Tab 切换 */
.grain-mode-tabs {
  display: flex;
  gap: 2px;
  padding: 2px;
  border-radius: 10px;
  background: var(--bg-warm-alt);
  margin-bottom: 12px;
}
.grain-mode-tab {
  flex: 1;
  padding: 7px 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--text-secondary);
  font: inherit;
  font-size: 0.75rem;
  font-weight: 550;
  cursor: pointer;
  transition: background 0.18s var(--ease), color 0.18s var(--ease);
}
.grain-mode-tab:hover {
  color: var(--text-primary);
}
.grain-mode-tab.is-active,
.grain-mode-tab[aria-selected="true"] {
  background: var(--card-bg, #fff);
  color: var(--text-primary);
  box-shadow: 0 1px 3px color-mix(in srgb, var(--text-primary) 8%, transparent);
}

.grain-color-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, 44px);
  gap: 8px;
  width: 100%;
  min-width: 0;
  justify-content: start;
}

.grain-color-count-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 10px;
}

.grain-color-count-label {
  font-size: 0.75rem;
  color: var(--text-secondary);
}

.grain-color-count-seg {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 2px;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--text-primary) 12%, transparent);
  background: color-mix(in srgb, var(--text-primary) 5%, transparent);
}

.grain-color-count-btn {
  min-width: 24px;
  height: 22px;
  padding: 0 6px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  font: inherit;
  font-size: 0.6875rem;
  font-weight: 550;
  cursor: pointer;
  transition: background 0.18s var(--ease, cubic-bezier(0.22, 1, 0.36, 1)),
              color 0.18s var(--ease, cubic-bezier(0.22, 1, 0.36, 1));
}

.grain-color-count-btn:hover {
  color: var(--text-primary);
}

.grain-color-count-btn.is-active,
.grain-color-count-btn[aria-checked="true"] {
  background: var(--card-bg, #fff);
  color: var(--text-primary);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--text-primary) 10%, transparent);
}

.grain-swatch {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  font: inherit;
  appearance: none;
  -webkit-appearance: none;
}

.grain-swatch-fill {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--text-primary) 12%, transparent);
  background: #888;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #000 8%, transparent);
  transition:
    transform 0.18s var(--ease),
    box-shadow 0.18s var(--ease),
    border-color 0.18s var(--ease);
}

.grain-swatch:hover .grain-swatch-fill {
  transform: scale(1.04);
  border-color: color-mix(in srgb, var(--text-primary) 28%, transparent);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, #000 10%, transparent),
    0 2px 6px color-mix(in srgb, var(--text-primary) 10%, transparent);
}

.grain-swatch.is-open .grain-swatch-fill,
.grain-swatch[aria-expanded="true"] .grain-swatch-fill {
  border-color: var(--accent, #c9a227);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent, #c9a227) 18%, transparent);
}

.grain-swatch:focus-visible .grain-swatch-fill {
  outline: 2px solid color-mix(in srgb, var(--accent, #c9a227) 55%, transparent);
  outline-offset: 1px;
}

.grain-swatch-label {
  font-size: 0.6875rem;
  font-weight: 550;
  line-height: 1.2;
  color: inherit;
  pointer-events: none;
}

.grain-swatch.is-open,
.grain-swatch[aria-expanded="true"] {
  color: var(--text-primary);
}

/* 自定义取色器弹层 */
.mf-color-popover {
  position: fixed;
  z-index: 400;
  width: min(228px, calc(100vw - 24px));
  padding: 12px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: color-mix(in srgb, var(--bg-warm) 94%, transparent);
  color: var(--text-primary);
  box-shadow:
    0 1px 0 color-mix(in srgb, var(--card-bg) 70%, transparent) inset,
    0 16px 40px color-mix(in srgb, var(--text-primary) 16%, transparent);
  backdrop-filter: blur(var(--panel-blur, 12px)) saturate(var(--glass-saturate, 1.2));
  -webkit-backdrop-filter: blur(var(--panel-blur, 12px)) saturate(var(--glass-saturate, 1.2));
  box-sizing: border-box;
}

.mf-color-popover[hidden] {
  display: none !important;
}

@keyframes mf-color-popover-in {
  from {
    opacity: 0;
    transform: translateY(-4px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.mf-color-popover:not([hidden]) {
  animation: mf-color-popover-in 0.22s var(--ease, cubic-bezier(0.22, 1, 0.36, 1));
}

.mf-color-sv {
  position: relative;
  width: 100%;
  aspect-ratio: 1.15 / 1;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--text-primary) 10%, transparent);
  cursor: crosshair;
  touch-action: none;
  overflow: hidden;
  background:
    linear-gradient(to top, #000, transparent),
    linear-gradient(to right, #fff, transparent),
    hsl(0, 100%, 50%);
}

.mf-color-sv:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent, #c9a227) 55%, transparent);
  outline-offset: 1px;
}

.mf-color-sv-cursor {
  position: absolute;
  width: 14px;
  height: 14px;
  margin: -7px 0 0 -7px;
  border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35), 0 1px 4px rgba(0, 0, 0, 0.25);
  pointer-events: none;
  left: 100%;
  top: 0;
  background: transparent;
}

.mf-color-hue-wrap {
  margin-top: 10px;
}

.mf-color-hue {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 12px;
  margin: 0;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--text-primary) 10%, transparent);
  background: linear-gradient(
    to right,
    #ff0000 0%,
    #ffff00 17%,
    #00ff00 33%,
    #00ffff 50%,
    #0000ff 67%,
    #ff00ff 83%,
    #ff0000 100%
  );
  outline: none;
  cursor: pointer;
}

.mf-color-hue::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid color-mix(in srgb, var(--text-primary) 35%, transparent);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  cursor: pointer;
}

.mf-color-hue::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid color-mix(in srgb, var(--text-primary) 35%, transparent);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  cursor: pointer;
}

.mf-color-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

.mf-color-preview {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--text-primary) 12%, transparent);
  flex-shrink: 0;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #000 8%, transparent);
}

.mf-color-hex {
  flex: 1;
  min-width: 0;
  height: 32px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--bg-warm);
  color: var(--text-primary);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  outline: none;
  text-transform: uppercase;
}

.mf-color-hex:focus {
  border-color: var(--border-strong);
  box-shadow: 0 0 0 3px var(--accent-glow);
}

.mf-color-presets {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 6px;
  margin-top: 10px;
}

.mf-color-preset {
  width: 100%;
  aspect-ratio: 1 / 1;
  margin: 0;
  padding: 0;
  border-radius: 6px;
  border: 1px solid color-mix(in srgb, var(--text-primary) 12%, transparent);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #000 6%, transparent);
  transition: transform 0.15s var(--ease), box-shadow 0.15s var(--ease);
}

.mf-color-preset:hover {
  transform: scale(1.08);
}

.mf-color-preset:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent, #c9a227) 55%, transparent);
  outline-offset: 1px;
}

.mf-color-preset.is-active {
  box-shadow:
    0 0 0 2px var(--bg-warm),
    0 0 0 3px var(--accent, #c9a227);
}

.grain-reset-setting {
  justify-content: flex-end;
}

.grain-reset-setting .bg-action-btn {
  width: 100%;
  justify-content: center;
}

@media (max-width: 360px) {
  .grain-shape-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.bg-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 28px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 500;
  transition: border-color 0.15s var(--ease), background 0.15s var(--ease), color 0.15s var(--ease), opacity 0.15s var(--ease);
}

.bg-action-btn:hover {
  border-color: var(--border-strong);
  background: var(--bg-warm-alt);
  color: var(--text-primary);
}

.bg-action-btn:disabled,
.bg-action-btn.is-loading {
  opacity: 0.55;
  cursor: default;
  pointer-events: none;
}

.bg-action-btn-ghost {
  color: var(--text-tertiary);
}

.bg-bing-actions-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.bg-bing-actions-row .bg-bing-link {
  margin-top: 0;
}

.bg-bing-shuffle {
  border: 1px solid rgba(255, 255, 255, 0.28);
  cursor: pointer;
  font: inherit;
}

.bg-bing-shuffle .mgc_refresh_2_line {
  font-size: 14px;
  line-height: 1;
  transition: transform 0.35s var(--ease);
}

.bg-bing-shuffle.is-loading {
  opacity: 0.7;
  pointer-events: none;
}

.bg-bing-shuffle.is-loading .mgc_refresh_2_line {
  animation: bg-bing-spin 0.85s linear infinite;
}

@keyframes bg-bing-spin {
  to { transform: rotate(360deg); }
}

/* 必应今日：沉浸式壁纸卡 */
.settings-card--flush {
  padding: 0;
  overflow: hidden;
  /* 与普通卡片同一个圆角 */
  border-radius: 12px;
}

.bg-bing-card {
  display: block;
  min-width: 0;
  border-radius: inherit;
  overflow: hidden;
  isolation: isolate;
  background: color-mix(in srgb, var(--text-primary) 6%, var(--bg-warm));
}

.bg-bing-card--immersive {
  position: relative;
}

.bg-bing-hero {
  position: relative;
  display: block;
  min-height: 168px;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: inherit;
  isolation: isolate;
  background:
    radial-gradient(120% 90% at 20% 0%, color-mix(in srgb, var(--text-primary) 10%, transparent), transparent 55%),
    color-mix(in srgb, var(--text-primary) 7%, var(--bg-warm));
}

.bg-bing-preview-stack {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.bg-bing-preview {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 0;
  opacity: 0;
  transform: scale(1.06);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.bg-bing-preview.is-active {
  opacity: 1;
  z-index: 1;
  transform: scale(1.02);
}

.bg-bing-preview[hidden] {
  display: none !important;
}

.bg-bing-hero.is-swapping .bg-bing-overlay {
  transition: opacity 0.28s var(--ease);
  opacity: 0.72;
}

.bg-bing-hero-fallback {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--text-tertiary);
  font-size: 0.78rem;
  letter-spacing: 0.01em;
  background: color-mix(in srgb, var(--text-primary) 4%, var(--bg-warm));
}

.bg-bing-hero-fallback .mgc_pic_2_line {
  font-size: 22px;
  opacity: 0.75;
}

.bg-bing-hero.has-photo .bg-bing-hero-fallback,
.bg-bing-hero:has(.bg-bing-preview:not([hidden])) .bg-bing-hero-fallback {
  display: none;
}

/* bottom linear blur scrim */
.bg-bing-scrim {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 72%;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}

.bg-bing-blur {
  position: absolute;
  left: -8%;
  right: -8%;
  bottom: -4%;
  pointer-events: none;
  transform: translateZ(0);
  background: transparent;
  -webkit-mask-image: linear-gradient(to top, #000 0%, #000 28%, rgba(0,0,0,0.55) 62%, transparent 100%);
  mask-image: linear-gradient(to top, #000 0%, #000 28%, rgba(0,0,0,0.55) 62%, transparent 100%);
}

.bg-bing-blur--1 {
  height: 100%;
  backdrop-filter: blur(2px) saturate(1.05);
  -webkit-backdrop-filter: blur(2px) saturate(1.05);
  opacity: 0.7;
}

.bg-bing-blur--2 {
  height: 84%;
  backdrop-filter: blur(6px) saturate(1.05);
  -webkit-backdrop-filter: blur(6px) saturate(1.05);
  opacity: 0.82;
}

.bg-bing-blur--3 {
  height: 64%;
  backdrop-filter: blur(12px) saturate(1.08);
  -webkit-backdrop-filter: blur(12px) saturate(1.08);
  opacity: 0.92;
}

.bg-bing-blur--4 {
  height: 44%;
  backdrop-filter: blur(18px) saturate(1.1);
  -webkit-backdrop-filter: blur(18px) saturate(1.1);
  opacity: 1;
}

.bg-bing-blur-shade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 86%;
  pointer-events: none;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.5) 0%,
    rgba(0, 0, 0, 0.28) 34%,
    rgba(0, 0, 0, 0.1) 62%,
    transparent 100%
  );
}

.bg-bing-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 4px;
  padding: 16px 14px 13px;
  color: #fff;
}

.bg-bing-source {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.6875rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.86);
  letter-spacing: 0.01em;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

.bg-bing-source-icon {
  width: 14px;
  height: 14px;
  border-radius: 3px;
  flex-shrink: 0;
  object-fit: contain;
  background: transparent;
  box-shadow: none;
}

.bg-bing-title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.28;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);
}

.bg-bing-copyright {
  margin: 0;
  font-size: 0.74rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

.bg-bing-copyright[hidden] {
  display: none !important;
}

.bg-bing-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 0;
  align-self: flex-start;
  padding: 5px 10px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(var(--chrome-blur, 14px));
  -webkit-backdrop-filter: blur(var(--chrome-blur, 14px));
  font-size: 0.74rem;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  transition: background 0.15s var(--ease), border-color 0.15s var(--ease), transform 0.15s var(--ease);
}

.bg-bing-link:hover,
.bg-bing-link:focus-visible {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.4);
  outline: none;
}

.bg-bing-link:active {
  transform: scale(0.98);
}

.bg-bing-link .mgc_arrow_right_line {
  font-size: 14px;
  line-height: 1;
}

/* 有图时确保白字可读；无图时回落到主题色 */
.bg-bing-hero.has-photo .bg-bing-source,
.bg-bing-hero.has-photo .bg-bing-title,
.bg-bing-hero.has-photo .bg-bing-copyright,
.bg-bing-hero.has-photo .bg-bing-link,
.bg-bing-hero.has-photo .bg-bing-shuffle {
  color: #fff;
}

/* settings panel generic text color must not override immersive white text */
.settings-panel .bg-bing-hero.has-photo .bg-bing-source,
.settings-panel .bg-bing-hero.has-photo .bg-bing-title,
.settings-panel .bg-bing-hero.has-photo .bg-bing-copyright,
.settings-panel .bg-bing-hero.has-photo .bg-bing-link,
.settings-panel .bg-bing-hero.has-photo .bg-bing-shuffle,
.bing-credit-pop .bg-bing-hero.has-photo .bg-bing-source,
.bing-credit-pop .bg-bing-hero.has-photo .bg-bing-title,
.bing-credit-pop .bg-bing-hero.has-photo .bg-bing-copyright,
.bing-credit-pop .bg-bing-hero.has-photo .bg-bing-link {
  color: #fff !important;
}


.bg-bing-hero:not(.has-photo) .bg-bing-source {
  color: var(--text-tertiary);
  text-shadow: none;
}

.bg-bing-hero:not(.has-photo) .bg-bing-title {
  color: var(--text-primary);
  text-shadow: none;
}

.bg-bing-hero:not(.has-photo) .bg-bing-copyright {
  color: var(--text-secondary);
  text-shadow: none;
}

.bg-bing-hero:not(.has-photo) .bg-bing-link,
.bg-bing-hero:not(.has-photo) .bg-bing-shuffle {
  color: var(--text-primary);
  border-color: var(--border);
  background: color-mix(in srgb, var(--text-primary) 6%, var(--bg-warm));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.bg-bing-hero:not(.has-photo) .bg-bing-scrim {
  opacity: 0;
}

/* 兼容旧类名：模糊区现在走 bg-extra-field */
.bg-image-options {
  /* no-op legacy selector kept for safety */
}

.bg-blur-row {
  margin-bottom: 0;
}

.bg-blur-row label {
  margin-bottom: 0;
}

.tone-setting {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px !important;
}

.settings-page .tone-setting > .setting-label,
.settings-card .tone-setting > .setting-label {
  display: none !important;
}

#toneGroup.settings-reveal[hidden] {
  display: block !important;
}

.tone-setting .theme-swatches,
.tone-setting .theme-pills {
  margin-top: 0;
}

.tone-setting .setting-tip {
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.4;
  color: var(--text-tertiary);
}

/* ============================================
   搜索引擎列表
   ============================================ */
.engine-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.engine-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  /* 与一级导航行同档高度，图标也进同一套底板 */
  min-height: 44px;
  padding: 9px 10px;
  border: none;
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  text-align: left;
  width: 100%;
  transition: background 0.15s var(--ease);
  box-sizing: border-box;
  font: inherit;
  color: inherit;
}

.engine-item + .engine-item::before {
  content: "";
  position: absolute;
  left: 34px;
  right: 10px;
  top: 0;
  height: 1px;
  background: var(--settings-divider, var(--border));
  pointer-events: none;
}

.engine-item:hover {
  background: var(--settings-row-hover, var(--bg-warm-alt));
}

.engine-item img {
  /* favicon 也放进 24×24 的米色圆角底板，跟导航行图标同规格 */
  width: 16px;
  height: 16px;
  padding: 4px;
  box-sizing: content-box;
  flex-shrink: 0;
  border-radius: 7px;
  background: var(--bg-warm);
}

/* 「跟随浏览器」卡片的图标占位（与引擎 favicon 同尺寸） */
.engine-auto-icon {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 7px;
  background: var(--bg-warm);
  font-size: 15px;
  color: var(--text-secondary);
}

.engine-item[hidden] {
  display: none;
}

.engine-name {
  flex: 1;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-primary);
}

.engine-favicon-initial {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--text-secondary);
  background: var(--bg-warm-alt);
  border-radius: 4px;
  flex-shrink: 0;
}

/* 添加自定义引擎按钮 */
.add-engine-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 32px;
  padding: 6px 10px;
  margin-top: 4px;
  width: 100%;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  background: transparent;
  color: var(--text-secondary);
  font-family: var(--font);
  font-size: 0.75rem;
  cursor: pointer;
  transition: color 0.2s var(--ease), background 0.2s var(--ease), border-color 0.2s var(--ease);
}

.add-engine-btn:hover {
  color: var(--text-secondary);
  border-color: var(--border-strong);
  background: var(--settings-row-hover, var(--bg-warm-alt));
}


/* ============================================
   文字区域（分区域字体）
   ============================================ */
.type-roles-intro {
  margin: 2px 4px 0;
}

.type-role {
  display: flex;
  flex-direction: column;
  gap: 8px;
  /* 与普通卡片对齐：普通卡 2px 内边距 + 行 10px = 12px，这里直接给 12px */
  padding: 12px;
  border: none;
}

.type-role-head {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.type-role-head .setting-tip {
  margin: 0;
}

.type-weight,
.type-size {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.type-weight[hidden] {
  /* handled by settings-reveal system */
  display: flex !important;
}

.type-weight-label,
.type-size-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-primary);
}

.type-weight-value,
.type-size-value {
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--text-tertiary);
  font-variant-numeric: tabular-nums;
}

.type-font-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.type-font-label {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 550;
  color: var(--text-primary);
  opacity: 0.92;
}

.type-font-select {
  width: 100%;
  min-height: 34px;
  padding: 0 30px 0 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background-color: color-mix(in srgb, var(--text-primary) 4%, var(--bg-warm));
  background-image:
    linear-gradient(45deg, transparent 50%, var(--text-tertiary) 50%),
    linear-gradient(135deg, var(--text-tertiary) 50%, transparent 50%);
  background-position:
    calc(100% - 14px) calc(50% - 2px),
    calc(100% - 9px) calc(50% - 2px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  color: var(--text-primary);
  font: inherit;
  font-size: 0.8125rem;
  line-height: 1.2;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  transition: border-color 0.15s var(--ease), background-color 0.15s var(--ease);
}

.type-font-select:hover {
  border-color: var(--border-strong);
}

.type-font-select:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--text-primary) 28%, var(--border));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--text-primary) 8%, transparent);
}

.type-font-select option,
.type-font-select optgroup {
  color: initial;
  background: #fff;
}

/* ============================================
   字体列表
   ============================================ */
.font-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.font-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 7px 10px;
  border: none;
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  text-align: left;
  width: 100%;
  transition: background 0.15s var(--ease);
  font: inherit;
  color: inherit;
}

.font-item + .font-item::before {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  top: 0;
  height: 1px;
  background: var(--settings-divider, var(--border));
  pointer-events: none;
}

.font-item:hover {
  background: var(--settings-row-hover, var(--bg-warm-alt));
}

.font-item.active {
  background: var(--settings-row-hover, var(--bg-warm-alt));
}

.font-name {
  flex: 1;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-primary);
}

/* ============================================
   滑块
   ============================================ */
.slider-container {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 2px 0 0;
}

.slider-container input[type="range"] {
  width: 100%;
  height: 18px;
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  outline: none;
  cursor: pointer;
}

.slider-container input[type="range"]::-webkit-slider-runnable-track {
  height: 4px;
  border-radius: 999px;
  /* --slider-pct 由 js/settings.js 的 initRangeFills 写入 */
  background: linear-gradient(
    to right,
    var(--accent) 0 var(--slider-pct, 0%),
    color-mix(in srgb, var(--text-primary) 10%, var(--bg-warm)) var(--slider-pct, 0%) 100%
  );
}

.slider-container input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  margin-top: -6px;
  background: var(--card-bg);
  /* 滑块是唯一带强调色的可拖动控件，把手用金棕细边 */
  border: 1.5px solid var(--accent);
  border-radius: 50%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transition:
    transform 0.15s var(--ease),
    box-shadow 0.15s var(--ease),
    border-color 0.15s var(--ease);
}

.slider-container input[type="range"]::-webkit-slider-thumb:hover {
  transform: scale(1.06);
  border-color: var(--text-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--text-primary) 10%, transparent);
}

.slider-container input[type="range"]::-webkit-slider-thumb:active {
  transform: scale(0.98);
}

.slider-container input[type="range"]::-moz-range-track {
  height: 4px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--text-primary) 10%, var(--bg-warm));
}

.slider-container input[type="range"]::-moz-range-thumb {
  width: 16px;
  height: 16px;
  background: var(--card-bg);
  border: 1.5px solid color-mix(in srgb, var(--text-primary) 55%, var(--border-strong));
  border-radius: 50%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
  cursor: pointer;
}

.slider-container input[type="range"]:focus-visible {
  outline: none;
}

.slider-container input[type="range"]:focus-visible::-webkit-slider-thumb {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--text-primary) 14%, transparent);
}

.slider-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.6875rem;
  color: var(--text-tertiary);
  line-height: 1.2;
  margin: 0;
  padding: 0 1px;
}

/* ============================================
   关于区域
   ============================================ */
.about-section {
  padding: 0;
}

.about-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  flex-wrap: wrap;
}

.about-row + .about-row {
  border-top: 1px solid var(--border);
}

.about-row--legal {
  align-items: flex-start;
}

.about-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.about-logo {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  flex-shrink: 0;
  object-fit: cover;
}

.about-name {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text-primary);
  white-space: nowrap;
}

.about-version {
  font-size: 0.8125rem;
  color: var(--text-secondary);
}

.about-legal-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.about-copyright {
  font-size: 0.8125rem;
  color: var(--text-primary);
}

.about-license {
  font-size: 0.75rem;
  color: var(--text-tertiary);
}

.about-links-label {
  font-size: 0.8125rem;
  color: var(--text-primary);
}

.about-inline-links {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.about-inline-link {
  font-size: 0.8125rem;
  /* 可点的地方得看得出来：次要说明用灰，链接用强调色 */
  color: var(--accent);
  text-decoration: none;
  transition: color 0.15s var(--ease);
}

.about-inline-link:hover {
  color: var(--accent-hover);
}

.about-inline-link--icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 6px;
}

.about-inline-link-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.about-author {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.about-author-avatar {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  flex-shrink: 0;
  object-fit: cover;
  background: var(--bg-warm);
  /* 外部头像原本是高饱和色块，压到灰阶才不抢强调色 */
  filter: saturate(0.12) contrast(0.94);
  /* 外部头像原本是高饱和色块，压到灰阶才不抢强调色 */
  filter: saturate(0.12) contrast(0.94);
}

.about-author-name {
  font-size: 0.875rem;
  font-weight: 550;
  color: var(--text-primary);
  white-space: nowrap;
}

.settings-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

#resetDefaultsSetting > .setting-tip {
  margin-top: 8px;
}

.settings-reset-btn .mgc_refresh_2_line {
  font-size: 14px;
  line-height: 1;
}

.settings-reset-btn.is-confirm {
  border-color: color-mix(in srgb, #c45c4a 55%, var(--border));
  color: #c45c4a;
  background: color-mix(in srgb, #c45c4a 10%, transparent);
}

.settings-reset-btn.is-confirm:hover {
  border-color: #c45c4a;
  color: #c45c4a;
  background: color-mix(in srgb, #c45c4a 16%, transparent);
}

html[data-mode="dark"] .settings-reset-btn.is-confirm {
  color: #f0a090;
  border-color: color-mix(in srgb, #f0a090 45%, var(--border));
  background: color-mix(in srgb, #f0a090 12%, transparent);
}

/* ============================================
   关于页面横幅：每日一图
   ============================================ */

.about-banner {
   position: relative;
   margin: 0 0 6px;
   border-radius: 12px;
   overflow: hidden;
   aspect-ratio: 16 / 9;
}

.about-banner-image {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 1;
  z-index: 0;
  transition: opacity 0.4s ease;
  filter: blur(6px) saturate(1.1);
}

.about-banner-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.6) 100%);
  pointer-events: none;
  z-index: 1;
}

html[data-mode="light"] .about-banner-overlay {
  background: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.5) 100%);
}

/* 居中 Logo */
.about-banner-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 160px;
  height: auto;
  z-index: 2;
  pointer-events: none;
}

/* 设置页顶部横幅 */
.settings-banner {
  position: relative;
  margin: 0 0 6px;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}

.settings-banner-image {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 1;
  z-index: 0;
  transition: opacity 0.4s ease;
  filter: blur(6px) saturate(1.1);
}

.settings-banner-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.6) 100%);
  pointer-events: none;
  z-index: 1;
}

html[data-mode="light"] .settings-banner-overlay {
  background: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.5) 100%);
}

.settings-banner-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 160px;
  height: auto;
  z-index: 2;
  pointer-events: none;
}

.settings-panel .shortcut-hint,
.settings-panel .shortcut-list-url,
.settings-panel .setting-tip,
.settings-panel .slider-labels,
.settings-panel .about-version,
.settings-panel .about-license {
  color: var(--text-secondary);
  opacity: 1;
}

.settings-panel .engine-name,
.settings-panel .font-name,
.settings-panel .bg-mode-name,
.settings-panel .pill-label,
.settings-panel .about-name,
.settings-panel .about-copyright,
.settings-panel .shortcut-list-name {
  color: var(--text-primary);
}

@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ============================================
   无障碍 & 性能
   ============================================ */
:focus-visible {
  outline: 2px solid var(--text-tertiary);
  outline-offset: 2px;
}

.search-input:focus-visible {
  outline: none;
}

@media (min-width: 980px) {
  body.settings-open .content {
    will-change: transform;
  }
}


/* ============================================
   Greeting settings (preview / mode / copy)
   ============================================ */
.greeting-preview-card {
  padding: 0;
  overflow: hidden;
}

.greeting-preview {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  min-height: 84px;
  padding: 16px 14px;
  background: transparent;
  border-radius: inherit;
}

.greeting-preview-title {
  font-family: var(--font-display, var(--font));
  font-size: 1.2rem;
  font-weight: var(--boot-greeting-weight, 700);
  color: var(--text-primary);
  line-height: 1.28;
  letter-spacing: -0.02em;
  margin: 0;
  min-height: 1.28em;
  text-wrap: balance;
  max-width: 100%;
  transition: opacity 0.22s var(--ease), transform 0.22s var(--ease);
}

.greeting-preview-title.is-clock {
  font-size: 1.55rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  font-feature-settings: "tnum" 1;
  min-height: 1.2em;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  max-width: none;
}

.greeting-preview-title.is-quote,
.greeting-preview-title.is-custom {
  font-size: 0.98rem;
  font-weight: var(--boot-greeting-weight, 600);
  line-height: 1.5;
  letter-spacing: 0.01em;
  text-wrap: pretty;
}

.greeting-preview-title.is-placeholder,
.greeting-preview-title.is-loading {
  color: var(--text-tertiary);
  font-weight: 500;
}

.greeting-preview-title.is-animating {
  animation: greeting-preview-in 0.28s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.greeting-preview-sub {
  font-size: 0.72rem;
  color: var(--text-secondary);
  line-height: 1.4;
  max-width: 100%;
  margin: 0.55rem 0 0;
  transition: opacity 0.2s var(--ease);
}

.greeting-preview-sub.is-animating {
  animation: greeting-preview-in 0.28s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes greeting-preview-in {
  from {
    opacity: 0;
    transform: translate3d(0, 4px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.greeting-mode-setting {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.greeting-mode-setting > .setting-label {
  margin: 0;
  padding: 6px 8px 2px;
}

.greeting-mode-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  min-width: 0;
}

.greeting-mode-item.font-item {
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 7px 10px;
  border-radius: 8px;
  transition: background 0.18s var(--ease), color 0.18s var(--ease);
}

.greeting-mode-item.font-item + .greeting-mode-item.font-item::before {
  display: none;
}

.greeting-mode-icon {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--bg-warm);
  color: var(--text-secondary);
  flex-shrink: 0;
  font-size: 14px;
  line-height: 1;
  margin-top: 0;
  transition: background 0.15s var(--ease), color 0.15s var(--ease);
}

.greeting-mode-item:hover .greeting-mode-icon,
.greeting-mode-item.active .greeting-mode-icon {
  color: var(--text-primary);
  background: color-mix(in srgb, var(--text-primary) 8%, var(--bg-warm));
}

.greeting-mode-text {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0;
  padding-top: 0;
}

.greeting-mode-title {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-primary);
  line-height: 1.2;
}

.greeting-mode-desc {
  display: none;
}

.greeting-mode-item .check-icon {
  margin-top: 0;
  margin-left: 2px;
}

.greeting-mode-setting > .setting-tip {
  margin: 2px 8px 4px;
}

.greeting-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
  transition:
    opacity 0.22s var(--ease),
    max-height 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    padding 0.22s var(--ease),
    margin 0.22s var(--ease),
    border-color 0.22s var(--ease);
  max-height: 220px;
  opacity: 1;
}

.greeting-field[hidden] {
  display: flex !important;
  max-height: 0 !important;
  opacity: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
  border-top-color: transparent !important;
  pointer-events: none;
  visibility: hidden;
}

/* greeting fields: keep in flow for collapse animation (override global [hidden]) */
.settings-page .settings-card > .setting-item.greeting-field[hidden],
.settings-card > .setting-item.greeting-field[hidden],
.setting-item.greeting-field[hidden] {
  display: flex !important;
  max-height: 0 !important;
  opacity: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
  border-top-color: transparent !important;
  pointer-events: none;
  visibility: hidden;
}


.settings-card > .greeting-field + .greeting-field {
  border-top: 1px solid var(--settings-divider);
}

.settings-card > .greeting-field[hidden] + .greeting-field {
  border-top-color: transparent;
}

.greeting-field-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.greeting-field-head label {
  margin-bottom: 0 !important;
}

.greeting-field-meta {
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--text-tertiary);
  white-space: nowrap;
  line-height: 1.2;
}

.greeting-field input[type="text"],
.greeting-textarea {
  width: 100%;
  box-sizing: border-box;
}

.greeting-textarea {
  min-height: 88px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  font-family: var(--font);
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--text-primary);
  outline: none;
  background: var(--bg-warm);
  resize: vertical;
  transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
}

.greeting-textarea:focus {
  border-color: var(--border-strong);
  box-shadow: 0 0 0 3px var(--accent-glow);
}

.greeting-textarea::placeholder {
  color: var(--text-tertiary);
}

.greeting-field > .setting-tip {
  margin-top: 0;
}

@media (prefers-reduced-motion: reduce) {
  .greeting-preview-title,
  .greeting-preview-sub,
  .greeting-field,
  .greeting-mode-item.font-item,
  .mode-segment-btn,
  .bg-mode-item,
  .bg-extra-field,
  .bg-local-actions,
  .bg-image-options,
  .theme-pills,
  #bgBingGroup {
    transition: none !important;
    animation: none !important;
  }
}

@media (max-width: 640px) {
  .content {
    align-items: center;
    padding: var(--space-lg);
    gap: var(--space-md);
    max-width: 100%;
  }

  body.settings-open .content {
    transform: none;
  }
  
  .greeting-title {
    font-size: 1.75rem;
  }

  .greeting-title.is-clock {
    font-size: 2.25rem;
  }

  .greeting-title.is-quote,
  .greeting-title.is-custom {
    font-size: 1.35rem;
  }
  
  .search-input {
    font-size: 16px;
    height: 48px;
  }
  
  .settings-btn {
    opacity: 0.55;
    pointer-events: auto;
    background: color-mix(in srgb, var(--card-bg) 92%, transparent);
  }

  .bing-credit {
    opacity: 0.75;
    transform: none;
  }
}

.mf-color-picker {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
  margin-top: 6px;
  border-radius: 10px;
  background: var(--card-bg);
  border: 1px solid var(--border);
}
.mf-cp-sv {
  width: 100%;
  height: 140px;
  border-radius: 8px;
  cursor: crosshair;
  touch-action: none;
}
.mf-cp-hue-bar {
  margin-top: 2px;
}
.mf-cp-hue {
  width: 100%;
  height: 16px;
  border-radius: 8px;
  cursor: crosshair;
  touch-action: none;
}
.mf-cp-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.mf-cp-hex-preview {
  display: inline-block;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  border: 1px solid var(--border);
  flex-shrink: 0;
}
.mf-cp-hex {
  flex: 1;
  padding: 4px 8px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--bg-warm);
  color: var(--text-primary);
  font: inherit;
  font-size: 13px;
  font-family: monospace;
}

/* 手机：分段控件与操作按钮放大到易点尺寸 */
@media (max-width: 480px) {
  .mode-segment {
    --seg-cap: 20px;
  }

  .mode-segment-btn {
    min-height: 40px;
  }

  /* 四列竖排在手机仍是 44px 高 */
  .mode-segment--4 {
    --seg-cap: 22px;
  }

  .bg-action-btn {
    height: 36px;
  }
}


/* ==== css/modal.css?v=2026110814 ==== */
/**
 * MoonFog - Modal & lightweight dialogs
 * Compact HyperOS-like sheet
 */

/* ============================================
   弹窗遮罩 + 面板
   ============================================ */
.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 16px;
  background: color-mix(in srgb, #000 28%, transparent);
  backdrop-filter: blur(var(--chrome-blur, 14px)) saturate(var(--glass-saturate, 1.12));
  -webkit-backdrop-filter: blur(var(--chrome-blur, 14px)) saturate(var(--glass-saturate, 1.12));
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.22s cubic-bezier(0.4, 0, 0.2, 1),
    visibility 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  overscroll-behavior: contain;
}

.modal-overlay.active {
  opacity: 1;
  visibility: visible;
}

.modal-box {
  width: min(360px, 100%);
  max-height: min(84vh, 640px);
  display: flex;
  flex-direction: column;
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: var(--shadow-hover);
  /* 关闭态 = 进入起点；打开 active 后反向过渡，进出镜像 */
  transform: translateY(10px) scale(0.98);
  opacity: 0;
  transition:
    transform 0.24s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
}

.modal-overlay.active .modal-box {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 12px 8px 14px;
  flex-shrink: 0;
}

.modal-header span,
.modal-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.modal-close {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--text-tertiary);
  cursor: pointer;
  transition: background 0.15s var(--ease), color 0.15s var(--ease);
  font-size: 15px;
  flex-shrink: 0;
}

.modal-close:hover {
  background: var(--settings-row-hover, var(--bg-warm-alt));
  color: var(--text-primary);
}

.modal-body {
  position: relative;
  padding: 4px 14px 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: auto;
  min-height: 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.modal-body::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.modal-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.modal-field[hidden] {
  display: none !important;
}

.modal-field label {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--text-tertiary);
  margin: 0;
  line-height: 1.2;
}

.modal-field input,
.modal-field textarea {
  width: 100%;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid var(--border);
  border-radius: 9px;
  font-family: var(--font);
  font-size: 0.8125rem;
  color: var(--text-primary);
  outline: none;
  background: color-mix(in srgb, var(--text-primary) 3.5%, var(--bg-warm));
  transition:
    border-color 0.15s var(--ease),
    box-shadow 0.15s var(--ease),
    background 0.15s var(--ease);
  box-sizing: border-box;
}

.modal-field textarea {
  min-height: 72px;
  padding: 8px 11px;
  resize: vertical;
  line-height: 1.4;
}

.modal-field input:hover,
.modal-field textarea:hover {
  border-color: var(--border-strong);
}

.modal-field input:focus,
.modal-field input:focus-visible,
.modal-field textarea:focus,
.modal-field textarea:focus-visible {
  border-color: color-mix(in srgb, var(--text-primary) 35%, var(--border-strong));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--text-primary) 10%, transparent);
  background: var(--card-bg);
  outline: none;
}

.modal-field input::placeholder,
.modal-field textarea::placeholder {
  color: var(--text-tertiary);
}

.modal-field input.is-invalid,
.modal-field textarea.is-invalid {
  border-color: color-mix(in srgb, #d44 55%, var(--border));
  box-shadow: 0 0 0 3px rgba(221, 68, 68, 0.12);
}

.modal-tip {
  font-size: 0.6875rem;
  color: var(--text-tertiary);
  line-height: 1.4;
  margin: 0;
}

.modal-field .modal-tip {
  margin-top: -1px;
}

.modal-error {
  min-height: 0;
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.35;
  color: #d44;
  opacity: 0;
  transform: translateY(-2px);
  transition: opacity 0.15s var(--ease), transform 0.15s var(--ease);
}

.modal-error.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.modal-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  padding: 8px 14px 12px;
  flex-shrink: 0;
}

.modal-cancel,
.modal-confirm {
  min-height: 30px;
  padding: 0 12px;
  border: none;
  border-radius: 8px;
  font-family: var(--font);
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  transition:
    background 0.15s var(--ease),
    color 0.15s var(--ease),
    opacity 0.15s var(--ease),
    transform 0.15s var(--ease);
}

.modal-cancel {
  background: transparent;
  color: var(--text-secondary);
}

.modal-cancel:hover {
  background: var(--settings-row-hover, var(--bg-warm-alt));
  color: var(--text-primary);
}

.modal-confirm {
  /* 主操作用强调色，和分段控件、选中态同一套语言 */
  background: var(--accent);
  color: #fff;
}

.modal-confirm:hover {
  opacity: 0.9;
}

.modal-confirm:active,
.modal-cancel:active {
  transform: scale(0.98);
}

.modal-confirm:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
}

/* 自定义引擎删除按钮 */
.engine-delete {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-tertiary);
  cursor: pointer;
  opacity: 0;
  transition:
    opacity 0.15s var(--ease),
    color 0.15s var(--ease),
    background 0.15s var(--ease);
  flex-shrink: 0;
  margin-left: 0;
  font-size: 13px;
}

.engine-item:hover .engine-delete,
.engine-item:focus-within .engine-delete,
.engine-delete:focus-visible {
  opacity: 1;
}

.engine-delete:hover {
  color: #d44;
  background: rgba(221, 68, 68, 0.08);
}

@media (max-width: 480px) {
  .modal-overlay {
    align-items: flex-end;
    padding: 0;
  }

  .modal-box {
    width: 100%;
    max-height: min(88vh, 720px);
    border-radius: 16px 16px 0 0;
    transform: translateY(16px);
  }

  .modal-overlay.active .modal-box {
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .modal-overlay,
  .modal-box,
  .modal-error,
  .engine-delete {
    transition: none !important;
  }
}


/* ==== css/oobe.css?v=2026110814 ==== */
/* 首次引导：原生 dialog 管理焦点和主页 inert，内容滚动、操作栏固定。 */
html.boot-oobe-pending #mainContent,
html.boot-oobe-pending .settings-wrapper,
html.boot-oobe-pending .bing-credit-wrap { visibility: hidden; }
body.oobe-active { overflow: hidden; }
.oobe[hidden] { display: none; }
.oobe {
  width: 100%; max-width: none;
  height: 100%; height: 100dvh; max-height: none;
  margin: 0; padding: 32px;
  border: 0; color: var(--text-primary); background: var(--bg-warm);
  font-family: var(--font-family, system-ui, sans-serif);
  overflow: hidden;
}
.oobe[open] { display: grid; place-items: center; }
.oobe::backdrop { background: var(--bg-warm); }
.oobe-shell {
  display: flex; flex-direction: column;
  width: min(1060px, 100%); max-height: 100%;
  border: 1px solid var(--border); border-radius: 28px;
  background: var(--card-bg); box-shadow: var(--shadow);
  overflow: hidden;
}
.oobe-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 32px; border-bottom: 1px solid var(--border); }
.oobe-brand { display: flex; align-items: center; gap: 10px; font-weight: 600; letter-spacing: .03em; white-space: nowrap; }
.oobe-brand img { width: 28px; height: 28px; border-radius: 7px; }
.oobe-progress { display: flex; gap: 24px; list-style: none; margin: 0; padding: 0; color: var(--text-secondary); font-size: 13px; counter-reset: step; }
.oobe-progress li { counter-increment: step; display: flex; align-items: center; gap: 7px; }
.oobe-progress li::before { content: counter(step, decimal-leading-zero); font-size: 11px; opacity: .6; }
.oobe-progress [aria-current] { color: var(--accent); font-weight: 650; }
.oobe-progress .is-done { color: var(--text-primary); }
.oobe-scroll { overflow-y: auto; overscroll-behavior: contain; min-height: 0; scrollbar-gutter: stable; }
.oobe-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: 44px; padding: 40px 36px; min-height: 450px; }
.oobe-stage { min-width: 0; }
.oobe-kicker { color: var(--accent); margin: 0 0 12px; font-size: 13px; letter-spacing: .05em; }
.oobe-title { font-family: var(--font-greeting, inherit); font-size: clamp(24px, 2.6vw, 34px); line-height: 1.4; font-weight: 600; margin: 0 0 12px; letter-spacing: -.035em; }
.oobe-title:focus { outline: none; }
.oobe-desc, .oobe-welcome-note { color: var(--text-secondary); font-size: 14px; line-height: 1.9; margin: 0 0 24px; }
.oobe-welcome-note { margin-top: 30px; }
.oobe-privacy, .oobe-help { color: var(--text-secondary); font-size: 12px; line-height: 1.7; }
.oobe-privacy { margin: 24px 0 0; }
.oobe-choices { border: 0; padding: 0; margin: 0 0 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; min-width: 0; }
.oobe-choices legend { font-size: 13px; font-weight: 600; margin-bottom: 12px; }
.oobe-choice { position: relative; display: flex; align-items: center; gap: 10px; padding: 14px 12px; min-height: 52px; border: 1px solid var(--border); border-radius: 14px; cursor: pointer; transition: background .15s, border-color .15s; }
.oobe-choice:hover { background: var(--bg-warm); }
.oobe-choice:has(input:checked) { border-color: var(--accent); background: var(--accent-glow); }
.oobe-choice:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 3px; }
.oobe-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.oobe-choice-icon { font-size: 22px; color: var(--accent); flex: 0 0 auto; }
.oobe-choice-copy { display: grid; gap: 5px; min-width: 0; }
.oobe-choice strong { font-weight: 550; font-size: 14px; }
.oobe-choice small { color: var(--text-secondary); font-size: 11px; line-height: 1.5; }
#oobeToneField .oobe-choices { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
#oobeToneField .oobe-choice { justify-content: center; padding: 10px 4px; min-height: 40px; }
#oobeToneField strong { font-size: 12px; }
.oobe-input-field { display: grid; gap: 8px; margin-top: 12px; }
.oobe [hidden] { display: none !important; }
.oobe-input-field label { font-size: 13px; font-weight: 550; }
.oobe-input-field input { width: 100%; min-width: 0; font: inherit; font-size: 16px; padding: 12px; border: 1px solid var(--border-strong); border-radius: 12px; color: var(--text-primary); background: var(--bg-warm); box-sizing: border-box; }
.oobe-input-field input:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.oobe-help { margin: 0; }
.oobe-preview-wrap { min-width: 0; }
.oobe-preview-label { font-size: 12px; color: var(--text-secondary); margin: 0 0 12px; }
.oobe-preview { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 310px; padding: 28px; gap: 20px; border-radius: 24px; overflow: hidden; isolation: isolate; background: var(--preview-bg, #F5F0E8); color: #25221d; border: 1px solid var(--border); }
.oobe-preview[data-mode="dark"] { color: #f2ece0; }
.oobe-preview-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.oobe-preview:has(.oobe-preview-image:not([hidden])) { color: white; }
.oobe-preview:has(.oobe-preview-image:not([hidden]))::after { content: ''; position: absolute; inset: 0; background: #0005; z-index: -1; }
.oobe-preview[data-background="grain"]::before { content: ''; position: absolute; inset: -35%; z-index: -2; background: radial-gradient(ellipse at 20% 20%, #d9b863, transparent 65%), radial-gradient(ellipse at 80% 80%, #b5c4b3, transparent 60%); animation: oobe-flow 14s ease-in-out infinite alternate; }
.oobe-preview[data-mode="dark"][data-background="grain"]::before { opacity: .35; }
@keyframes oobe-flow { to { transform: translate(10%, 8%) rotate(18deg); } }
.oobe-preview-greeting { font-family: var(--font-greeting, serif); font-size: 25px; font-weight: 600; text-align: center; line-height: 1.6; word-break: break-word; max-width: 100%; margin: 0; }
.oobe-preview-search { width: 100%; max-width: 280px; border: 1px solid currentColor; border-radius: 18px; opacity: .55; font-size: 12px; padding: 12px 18px; }
.oobe-preview-shortcuts { display: flex; gap: 8px; opacity: .55; }
.oobe-preview-shortcuts span { border: 1px solid currentColor; border-radius: 12px; padding: 6px 12px; font-size: 10px; }
.oobe-preview-note { font-size: 11px; color: var(--text-secondary); margin: 12px 0 0; line-height: 1.7; }
.oobe-status { margin: 0 36px 20px; color: var(--text-primary); background: var(--bg-warm); border-radius: 12px; padding: 12px 16px; font-size: 13px; line-height: 1.6; }
.oobe-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--border); padding: 20px 32px; background: var(--card-bg); }
.oobe-footer-actions { display: flex; gap: 10px; }
.oobe-btn { border: 1px solid var(--border-strong); border-radius: 12px; min-height: 44px; padding: 10px 20px; color: var(--text-primary); background: transparent; font: inherit; font-size: 14px; cursor: pointer; }
.oobe-btn-primary { background: var(--text-primary); color: var(--card-bg); border-color: transparent; min-width: 112px; }
.oobe-btn-text { border-color: transparent; color: var(--text-secondary); padding-left: 0; }
.oobe-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.oobe-btn:disabled { opacity: .45; cursor: default; }
@media (max-width: 700px) {
  .oobe { padding: 0; }
  .oobe-shell { height: 100%; border: 0; border-radius: 0; }
  .oobe-header { padding: max(18px, env(safe-area-inset-top)) 20px 16px; flex-wrap: wrap; gap: 18px; }
  .oobe-brand { font-size: 15px; }
  .oobe-progress { width: 100%; justify-content: space-between; gap: 8px; }
  .oobe-layout { grid-template-columns: 1fr; gap: 28px; padding: 26px 22px; min-height: 0; }
  .oobe-title { font-size: 26px; }
  .oobe-preview { min-height: 170px; padding: 22px; gap: 14px; }
  .oobe-preview-greeting { font-size: 22px; }
  .oobe-preview-shortcuts { display: none; }
  .oobe-choices { gap: 10px; }
  .oobe-choice { min-height: 52px; }
  .oobe-footer { margin-top: auto; padding: 16px 20px max(16px, env(safe-area-inset-bottom)); gap: 8px; }
  .oobe-btn { padding: 10px 14px; font-size: 13px; }
  .oobe-btn-primary { min-width: 96px; }
  .oobe-status { margin: 0 20px 14px; }
}
@media (max-height: 500px) and (min-width: 701px) {
  .oobe { padding: 12px; }
  .oobe-header { padding: 14px 24px; }
  .oobe-layout { padding: 24px; min-height: 0; }
  .oobe-footer { padding: 12px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .oobe *, .oobe *::before { animation: none !important; transition: none !important; }
}
html[data-perf="low"] .oobe-preview::before,
html[data-perf="balanced"] .oobe-preview::before { animation: none; }


/* ==== css/mobile.css?v=2026110814 ==== */
/**
 * MoonFog - Mobile Adaptation
 * 手机端：字号放大、宽度收紧、触控目标加大。
 * 双条件触发，任一命中即生效：
 * 1. 视口 ≤ 600px（主流手机竖屏 360–430px，容错偏宽的机型/桌面模式）
 * 2. 触屏 + 无悬停 + 视口 ≤ 915px（横屏手机、小屏设备，桌面带鼠标不受影响）
 * 桌面端样式完全不受影响。
 */

@media (max-width: 600px), (pointer: coarse) and (hover: none) and (max-width: 915px) {
  /* ============================================
     根字号 16 → 20px：全站 rem 文字整体放大一档
     （设置面板、弹窗、提示等继承文本全部受益；
     px 定高的控件不受影响，折叠高度由 JS 实测兜底）
     ============================================ */
  html {
    font-size: 17px;
    /* 键盘态进出的统一时基：整块平移、问候语/快捷标签的收放、设置按钮淡出
       都用它，各走各的时长就会看着散。
       --kb-ease 走 iOS 面板那条曲线（起步有加速感、收尾特别缓），
       比全站通用的 --ease（0.22,1,0.36,1，起步太冲）更适合这种大位移；
       时长按 --motion-scale 缩放，用户的「减少动效」偏好仍然生效 */
    --kb-motion: calc(0.62s * var(--motion-scale, 1));
    --kb-fade: calc(0.42s * var(--motion-scale, 1));
    --kb-ease: cubic-bezier(0.32, 0.72, 0, 1);
  }

  /* base.css 里 body 是写死的 16px，会挡住根字号继承，改为跟随根字号 */
  body {
    font-size: 1rem;
  }

  /* ============================================
     内容区：收紧左右留白，整体更紧凑
     桌面默认 padding 48px，手机上会吃掉近 1/4 宽度；
     上下改用居中，避免内容贴顶或偏上
     ============================================ */
  .content {
    /* 手机端让搜索框本身落在屏幕正中：上下两块分占剩余空间，
       问候区贴上半区底部、快捷方式从下半区顶部开始，
       而不是把整块内容当整体居中（那样搜索框会偏上或偏下） */
    display: grid;
    grid-template-rows: 1fr auto 1fr;
    align-content: stretch;
    align-items: stretch;
    padding: 40px 20px;
    gap: 18px;
    /* 100vh 在安卓底部地址栏模式下含被工具栏盖住的那一截，内容会整体偏下；
       dvh 跟着浏览器工具栏实时变，内容才真的居中且稳定 */
    min-height: 100dvh;
    /* 整块平移走这条。padding 不动 —— 一动上下两行 1fr 就重新分配，
       搜索框的落点会跟着偏，位移量还得再补偿一次，白白多一层耦合。
       键盘用的 transform 之外，还得留住 base.css 的 left/top：
       「展开更多标签」的 -28px 让位、文件夹面板的 --folder-shift 都走 top，
       这里只写 transform 会把那两条过渡顶掉，手机上就变成一帧硬跳（无动画） */
    transition:
      left 0.3s var(--ease),
      top 0.22s cubic-bezier(0.25, 1, 0.5, 1),
      transform var(--kb-motion, 0.62s) var(--kb-ease);
  }

  .content > .greeting-section {
    align-self: end;
  }

  .content > .shortcuts-section {
    align-self: start;
  }

  /* 恢复态：显隐走透明度和位移，不用 display 硬切。
     收起键盘回原位比藏起来再慢一点点没关系，统一用 --kb-motion */
  .content > .greeting-section,
  .content > .shortcuts-section {
    transition:
      opacity var(--kb-fade, 0.42s) var(--kb-ease),
      transform var(--kb-motion, 0.62s) var(--kb-ease),
      filter var(--kb-fade, 0.42s) var(--kb-ease),
      visibility 0s;
  }

  /* 设置入口跟同一档节奏，不然按钮先跳完、内容还在慢慢走 */
  .settings-wrapper {
    transition:
      opacity var(--kb-fade, 0.42s) var(--kb-ease),
      transform var(--kb-motion, 0.62s) var(--kb-ease);
  }

  /* ============================================
     字体放大
     桌面 clamp 中段按 4vw/6vw 取值，手机视口太窄
     会掉到下限，这里整体抬高一档
     ============================================ */
  .greeting-title {
    font-size: calc(clamp(2rem, 7.5vw, 2.5rem) * var(--size-greeting, 1));
  }

  .greeting-title.is-clock {
    font-size: calc(clamp(2.75rem, 13vw, 3.5rem) * var(--size-greeting, 1));
  }

  .greeting-title.is-quote,
  .greeting-title.is-custom {
    font-size: calc(clamp(1.5rem, 5.8vw, 1.8rem) * var(--size-greeting, 1));
  }

  .greeting-title.is-quote-error {
    font-size: calc(1.25rem * var(--size-greeting, 1));
  }

  .greeting-sub {
    font-size: calc(1rem * var(--size-greeting-sub, 1));
  }

  /* ============================================
     搜索框：更大字号与触控目标
     输入框 ≥16px，避免 iOS 聚焦时自动放大页面
     ============================================ */
  .search-box {
    padding: 10px 10px 10px 14px;
    gap: 10px;
  }

  .search-input {
    font-size: 1.0625rem;
    height: 46px;
  }

  .search-btn {
    width: 44px;
    height: 44px;
    font-size: 20px;
  }

  .search-clear-btn {
    width: 36px;
    height: 36px;
    font-size: 18px;
  }

  .search-suggest-item {
    min-height: 44px;
    padding: 8px 12px;
    font-size: calc(1rem * var(--size-search, 1));
  }

  /* ============================================
     软键盘态：搜索框吸顶，问候语与快捷标签顺次排在下方，
     整页锁死不允许上下滚动。
     kb-open 与 --kb-h 由 js/keyboard-inset.js 写入，
     键盘一收起类就移除，布局原样回来
     ============================================ */
  /* 键盘态整页冻结：连 html 一起锁，并把高度压成「键盘上方那块可视区」。
     之前只锁 overflow、body 走 position: fixed，部分手机浏览器对 body fixed
     支持很差，fixed 退化成普通元素，页面照样能滑、搜索框照样被带走。
     现在不依赖 fixed：文档本身就只有可视区那么高，没有可滚动的余量 */
  html.kb-lock {
    height: var(--vv-h, 100%);
    max-height: var(--vv-h, 100%);
    overflow: hidden;
    overscroll-behavior: none;
  }

  /* 键盘期间（含收起动画）把内容区高度钉住，值由 js 写进 --vp-max-h。
     键盘一弹，100dvh 会跟着布局视口一起缩，上下两行 1fr 的分配也跟着变，
     于是「量位移时的行高」和「落地后的行高」不是一个数，搜索框的落点就随
     量取时机飘 —— 有时贴顶，有时掉到屏幕中间。钉住高度，行高恒定，
     落点才是确定的。钉住的那一小段时间内容可能比可视区高一点（地址栏那截），
     顺手把滚动锁掉，别让人在这 0.7 秒里把页面滑走 */
  html.kb-hpin {
    overflow: hidden;
    overscroll-behavior: none;
  }

  html.kb-hpin .content {
    height: var(--vp-max-h, 100dvh);
    min-height: 0;
  }

  body.kb-open {
    height: var(--vv-h, 100%);
    min-height: 0;
    overflow: hidden;
    overscroll-behavior: none;
  }

  /* 布局动画期间不接受点击（js 在动画开始时挂 kb-busy，结束时摘掉）。
     中途再点搜索框，键盘状态会立刻翻转、在动的这段动画被新的位移覆盖，
     位移量只能拿动画中间帧的位置去凑 —— 落点就没保证了。
     整块内容一起锁：这会儿问候语与快捷标签也在同步收放，点它们同样没有意义。
     设置按钮在 .content 外面，不受影响 */
  body.kb-busy .content {
    pointer-events: none;
  }

  /* 从「上下留白把搜索框顶到正中」切成「只剩一个搜索框」：
     整块内容往上提，提到搜索框贴住顶部留白为止。
     位移量由 js 量好后写进 --kb-lift（= 上面那一行 + 行距）。
     走 transform 而不是压 grid 行高：transform 是合成动画，
     跟问候语/快捷标签的位移是同一条曲线同一条时长，能对上拍；
     压行高是布局动画，浏览器插值出来的节奏跟 transform 对不齐，
     快慢不一，看着就是「各走各的」 */
  body.kb-open .content {
    position: relative;
    /* 高度不跟着键盘缩：取「没键盘时的视口高度」（js 写的 --vp-max-h）。
       高度一变，上下两行 1fr 会跟着重算，位移量就偏了 */
    height: var(--vp-max-h, 100dvh);
    max-width: 720px;
    margin: 0 auto;
    display: grid;
    align-content: start;
    align-items: stretch;
    transform: translateY(var(--kb-lift, 0px));
    min-height: 0;
    /* 不要裁：整块上移后盒子底边只到 470 左右，快捷标签往下滑到一半就被
       这个盒子切掉，看着像凭空消失。交给 body 去裁（它正好在键盘上沿），
       问候语往上滑出屏幕顶也一样被 body 裁 */
    overflow: visible;
  }

  body.kb-open .search-section {
    width: 100%;
    max-width: none;
    /* 高过左下角必应署名，且低于设置面板（100）与弹窗（300） */
    z-index: 80;
  }

  /* 键盘态只留搜索框：问候语往上藏、快捷标签往下藏。
     收起不能是 display: none —— 那样切换是一帧硬跳，
     这里行高先压到 0，元素同步淡出并按各自方向滑出去，收起键盘时反向回来。
     时长和缓动读 --kb-motion / --kb-fade（非线性缓动，比原来的 0.26s 慢一档）。
     选择器带上 .content：base.css 的 `html.boot-ready .xxx.boot-entered`
     也有 opacity/transform，优先级比 body.kb-open .xxx 高，压不住它 */
  body.kb-open .content > .greeting-section,
  body.kb-open .content > .shortcuts-section {
    /* 0fr 行里子项不设 min-height: 0 会撑住行高 */
    min-height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    /* visibility 延到位移走完再切，否则文字先消失只剩空框 */
    visibility: hidden;
    transition:
      opacity var(--kb-fade, 0.42s) var(--kb-ease),
      transform var(--kb-motion, 0.62s) var(--kb-ease),
      filter var(--kb-fade, 0.42s) var(--kb-ease),
      visibility 0s linear var(--kb-motion, 0.62s);
  }

  /* 问候语往上收 */
  body.kb-open .content > .greeting-section {
    transform: translateY(-28px);
  }

  /* 快捷标签往上收：跟搜索框、问候语同一个方向离场。
     键盘态整块内容已经提着标签往上走（落点顶边约 100px），这里再补一档负位移，
     两者同一条曲线叠加，净效果是标签一路向上掠过搜索框、滑出屏幕顶。
     位移量按「必须真的出屏」取：100 + 自身高 92 = 192 是底线，给到 220 留 28px 余量，
     动画结束时不会留一条压在屏幕顶边的残影（那时全靠 opacity 兜着太脆）。
     再大就成「半屏」了，标签 120ms 内被抽走，看不出方向 */
  body.kb-open .content > .shortcuts-section {
    transform: translateY(-220px);
  }

  /* 设置入口一并淡出：它在右下角，键盘态没有它的位置 */
  body.kb-open .settings-wrapper {
    opacity: 0;
    pointer-events: none;
    transform: translateY(18px);
  }

  /* ============================================
     快捷标签：胶囊加大（32 → 40px），更好点按
     折叠限高的实际值由 js/shortcuts.js 动态测量，
     这里的 max-height 只是兜底（两行 40px + 行距）
     ============================================ */
  .shortcuts-row {
    gap: 8px;
    justify-content: flex-start;
  }

  /* 展开开关与标签行间距统一为 8px（原来 6px，跟行距不一致） */
  .shortcuts-expand {
    margin-top: 8px;
  }

  .shortcut-btn,
  .shortcut-folder-trigger,
  .shortcuts-expand {
    height: 38px;
    padding: 0 12px;
    gap: 6px;
  }

  .shortcut-icon {
    width: 15px;
    height: 15px;
    font-size: 0.625rem;
  }

  .shortcut-fallback-icon {
    width: 15px;
    height: 15px;
  }

  .shortcut-folder-icon .mgc_folder_2_line,
  .shortcut-folder-icon .mgc_folder_line {
    font-size: 14px;
  }

  .shortcut-label {
    font-size: 0.88235294rem; /* 15px @ root 17 */
  }

  .shortcuts-expand-count,
  .shortcut-folder-count {
    min-width: 18px;
    height: 18px;
    font-size: 0.6875rem;
  }

  /* 行距从 6px 变 8px：展开时角标收拢的负边距要跟上 */
  .shortcut-folder.open > .shortcut-folder-trigger .shortcut-folder-count,
  .shortcut-expanded-subfolder.open > .shortcut-expanded-subfolder-trigger .shortcut-folder-count {
    margin-left: -8px;
  }

  .shortcuts-row.is-collapsed {
    max-height: 84px;
  }

  /* ============================================
     弹层：文件夹面板 / 右键菜单触控加大
     ============================================ */
  .shortcut-expanded {
    max-width: calc(100vw - 24px);
  }

  .context-menu-item {
    min-height: 40px;
    font-size: 0.875rem;
  }

  /* ============================================
     设置入口：按钮加大到 44px 触控标准
     （面板本身 ≤480px 已全屏，见 settings/panel.css）
     ============================================ */
  .settings-btn {
    width: 44px;
    height: 44px;
  }

  /* ============================================
     设置面板：控制在正常手机设置页的量级
     （标题 ~16px、描述 ~13px、图标 36px、行高 56px）
     ============================================ */
  /* 内容区两侧留白 12 → 18px，收窄卡片更接近手机原生设置页 */
  .settings-view {
    padding: calc(var(--settings-nav-h) + 6px) 18px 16px;
  }

  /* 标题栏：返回/关闭键 32 → 48px，图标 18 → 26px。
     注意：--settings-nav-btn / --settings-nav-icon 定义在 .settings-header 上，
     必须覆盖它自身，写在 .settings-panel 上会被子元素的声明盖掉 */
  .settings-panel {
    --settings-nav-h: 72px;
  }

  .settings-panel .settings-header {
    --settings-nav-btn: 48px;
    --settings-nav-icon: 26px;
  }

  .settings-nav-label {
    font-size: 1rem;
  }

  /* 一级菜单 */
  .settings-nav-item {
    grid-template-columns: 36px 1fr;
    column-gap: 12px;
    min-height: 66px;
    padding: 13px 12px;
  }

  .settings-nav-icon {
    width: 36px;
    height: 36px;
    font-size: 19px;
  }

  .settings-nav-text {
    gap: 3px;
  }

  .settings-nav-title {
    font-size: 0.94117647rem; /* 16px @ root 17 */
  }

  .settings-nav-desc {
    font-size: 0.76470588rem; /* 13px @ root 17 */
  }

  /* 二级页头 */
  .settings-page-head {
    padding: 14px;
  }

  .settings-page-head .settings-nav-icon {
    width: 44px;
    height: 44px;
    font-size: 23px;
  }

  .settings-page-head-title {
    font-size: 1rem;
  }

  .settings-page-head-desc {
    font-size: 0.82352941rem; /* 14px @ root 17 */
  }

  /* 分组标题 / 页面提示 */
  .settings-group-title,
  .settings-section-title {
    font-size: 0.76470588rem;
    padding: 0 10px;
  }

  .settings-page-hint,
  .type-roles-intro {
    font-size: 0.82352941rem;
  }

  /* 卡片内的设置行 */
  .settings-card > .setting-item {
    padding: 12px;
  }

  .interactive-row {
    padding: 10px 12px;
  }
}


/* ==== css/font-slices.css?v=2026110814 ==== */
/**
 * 自动生成：scripts/build-font-slices.py
 * 全量思源宋体按 unicode-range 分片；字形没删，只是按需下载。
 */

/* Regular 400 — 1438 字，220 KB */
@font-face {
  font-family: 'SourceHanSerif';
  src: url('/fonts/slices/SourceHanSerifSC-Regular-a.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+20-7E,U+A0-FF,U+2002,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+3000-3003,U+3005-301B,U+301D-301E,U+4E00-4E01,U+4E03,U+4E09-4E0B,U+4E0D-4E0E,U+4E13-4E14,U+4E16,U+4E22,U+4E24-4E25,U+4E2A,U+4E2D,U+4E32,U+4E38,U+4E3A-4E3B,U+4E45,U+4E48-4E49,U+4E4B,U+4E4E,U+4E50,U+4E54,U+4E5F,U+4E66,U+4E71,U+4E86,U+4E8B-4E8C,U+4E8E,U+4E92,U+4E94,U+4E9A-4E9B,U+4EA4,U+4EA7,U+4EAB,U+4EAE,U+4EBA,U+4EC0,U+4EC5,U+4ECA-4ECB,U+4ECD-4ECE,U+4ED6,U+4EE3,U+4EE5,U+4EF6-4EF7,U+4EFB,U+4EFD,U+4F18,U+4F1A,U+4F20,U+4F2A,U+4F38,U+4F3C,U+4F46,U+4F4D-4F4F,U+4F53,U+4F55,U+4F59,U+4F5C,U+4F60,U+4F7F,U+4F8B,U+4F9B,U+4F9D,U+4FA7,U+4FBF,U+4FDD,U+4FE1,U+4FEE,U+500D,U+5019,U+501F,U+503C,U+504F,U+505A,U+505C,U+507F,U+50A8,U+50CF,U+513F,U+5141,U+5143-5145,U+5148-5149,U+514B,U+514D,U+515C,U+5165,U+5168,U+516B-516D,U+5171,U+5173,U+5176-5177,U+517C,U+5185,U+518C-518D,U+5192,U+5199,U+51B2-51B3,U+51B5,U+51B7,U+51BB,U+51C0,U+51C6,U+51CF,U+51D1,U+51E0-51E1,U+51ED,U+51FA-51FB,U+51FD,U+5206-5207,U+5217,U+5219-521B,U+521D,U+5220,U+5224,U+5229,U+522B,U+5230,U+5236-5237,U+523B,U+524D,U+5254,U+5269-526A,U+526F,U+5272,U+529B,U+529F-52A1,U+52A8,U+52AA,U+52BF,U+52FE-52FF,U+5305,U+5316,U+5339-533A,U+5341,U+5343,U+5347-5348,U+534A,U+534F,U+5355,U+535A,U+5360-5361,U+536B,U+5373-5374,U+5378,U+5386,U+5389,U+538B,U+539F,U+53BB,U+53C2,U+53C9-53CD,U+53D1,U+53D6-53D8,U+53E0,U+53E3,U+53E5-53E6,U+53EA,U+53EF-53F0,U+53F2-53F3,U+53F7,U+5403-5404,U+5408,U+540C-540E,U+5411,U+5426,U+542B-542C,U+542F,U+5438,U+5446,U+544A,U+5458,U+5468,U+547C-547D,U+548C,U+54C1,U+54C8,U+54CD,U+54EA,U+5524,U+552F,U+5546,U+5565,U+5582,U+5668,U+566A,U+56CA,U+56DB,U+56DE,U+56E0,U+56E2,U+56F4,U+56FA,U+56FD-56FE,U+5706,U+570B,U+5728,U+5730,U+573A,U+5740,U+5747,U+574F-5750,U+5757,U+5768,U+5782,U+578B,U+57AB,U+57DF,U+57FA,U+584C,U+5854,U+585E,U+586B,U+5883,U+589E,U+58A8,U+58C1,U+58EB,U+58F0,U+58F3,U+5904,U+5907,U+590D,U+5916,U+591A,U+591C,U+591F,U+5927,U+5929-592A,U+5931,U+5934,U+5939,U+5948,U+594F,U+5954,U+5957,U+5962,U+5976,U+597D,U+5982,U+59CB,U+59D4,U+5A31,U+5A92,U+5B50,U+5B57-5B58,U+5B64,U+5B66,U+5B83,U+5B88-5B89,U+5B8B-5B8C,U+5B97-5B98,U+5B9A,U+5B9E,U+5BA2,U+5BB3,U+5BB9,U+5BBD,U+5BBF,U+5BC6,U+5BF8-5BF9,U+5BFB-5BFC,U+5C01,U+5C04,U+5C06,U+5C0A,U+5C0F,U+5C11,U+5C14,U+5C1A,U+5C1D,U+5C31,U+5C3A,U+5C3D-5C3E,U+5C40,U+5C42,U+5C45,U+5C4F,U+5C55,U+5C5E,U+5C65,U+5C71,U+5D4C,U+5DE5-5DE6,U+5DEE,U+5DF1-5DF2,U+5DF4,U+5E03,U+5E0C,U+5E26-5E27,U+5E2D-5E2E,U+5E38,U+5E42,U+5E45,U+5E55,U+5E72-5E74,U+5E76,U+5E78,U+5E8A,U+5E8F,U+5E93-5E95,U+5E97,U+5E9F,U+5EA6,U+5EF6,U+5EFA,U+5F00,U+5F02-5F03,U+5F0F,U+5F15,U+5F1F-5F20,U+5F31,U+5F39-5F3A,U+5F52-5F53,U+5F55,U+5F62,U+5F69,U+5F71,U+5F7B,U+5F80,U+5F84-5F85,U+5F88,U+5F8B,U+5F97,U+5FAA,U+5FAE,U+5FC3,U+5FC5-5FC6,U+5FEB,U+5FFD,U+6001,U+601D,U+6027,U+603B,U+6052,U+6062,U+606F,U+60AC,U+60C5,U+60EF,U+60F3,U+610F,U+611F,U+6123,U+613F,U+6162,U+61C2,U+61D2,U+6210,U+6216,U+622A,U+6233,U+6237,U+6240-6241,U+624B,U+624D,U+6253,U+6258,U+6267,U+6269,U+6270,U+6279,U+627E-627F,U+628A,U+6295-6298,U+629B,U+62A2,U+62A4-62A5,U+62AC,U+62B5,U+62B9,U+62BD,U+62C5-62C6,U+62C9,U+62CD,U+62D2,U+62D6,U+62DF,U+62E2-62E3,U+62E6,U+62E9,U+62EC,U+62F7,U+62FC-62FD,U+62FF,U+6301-6302,U+6307,U+6309,U+6311,U+6321,U+6324,U+632A,U+6355,U+635F,U+6362,U+6367,U+636E,U+6377,U+6388-6389,U+638F-6390,U+6392,U+63A2,U+63A5,U+63A7-63A8,U+63CF-63D0,U+63D2,U+63ED,U+641C,U+642C,U+6446,U+6458,U+6491,U+64A4,U+64AD,U+64C7,U+64CD-64CE,U+652F,U+6536,U+6539,U+653E,U+6545,U+6548,U+654F,U+655B,U+6570,U+6574,U+6587,U+65A5,U+65AD,U+65AF-65B0,U+65B9,U+65C1,U+65CF,U+65E0,U+65E2,U+65E5-65E7,U+65E9,U+65F6,U+660E,U+6613,U+661F-6620,U+6628,U+662F,U+663E,U+665A,U+666E-6670,U+6674,U+6682,U+6690,U+6696-6697,U+66B4,U+66F2,U+66F4,U+66FF-6700,U+6708-6709,U+670B,U+670D,U+6714,U+671B,U+671D,U+671F,U+672A-672C,U+673A,U+6743,U+674E,U+675F,U+6761,U+6765,U+677E-677F,U+6781,U+6784,U+6790,U+679A,U+679C,U+67B6,U+67D0,U+67D3-67D4,U+67E5,U+6807,U+680F,U+6811,U+6821,U+6837-6839,U+683C,U+6846,U+6848,U+684C,U+6863,U+6865,U+6876,U+68C0,U+68D5,U+68F5,U+690D,U+69FD,U+6A21,U+6A2A,U+6A59,U+6B21-6B22,U+6B3E,U+6B49,U+6B62-6B65,U+6B7B,U+6B8A-6B8B,U+6BB5,U+6BC1,U+6BCD,U+6BCF,U+6BD4-6BD5,U+6BDB,U+6C14,U+6C34,U+6C38,U+6C42,U+6C60-6C61,U+6C89,U+6C99,U+6CA1,U+6CB9,U+6CBF,U+6CD5,U+6CE2,U+6CE8,U+6D01,U+6D3B,U+6D41,U+6D45,U+6D4B,U+6D4F,U+6D53,U+6D6A,U+6D6E,U+6D77-6D78,U+6D88-6D89,U+6D9F,U+6DA8,U+6DE1,U+6DF1,U+6DF7,U+6DFB,U+6E05,U+6E10,U+6E21,U+6E29,U+6E32,U+6E38,U+6E43,U+6E90,U+6EA2,U+6ED1,U+6EDA,U+6EE1,U+6EE4,U+6F0F,U+6F2A-6F2B,U+6F8E,U+6FC0,U+7070,U+7075,U+70B9,U+70C1,U+70C8,U+70ED,U+7126,U+7136,U+7167,U+7206,U+7231,U+7236,U+7247-7248,U+724C,U+7269,U+7279,U+72B6,U+72E0,U+72EC,U+7387,U+73AB,U+73AF-73B0,U+73BB,U+73C0,U+7403,U+7406,U+7425,U+7470,U+7483,U+751F,U+7528,U+7531,U+7533,U+7535,U+753B,U+7545,U+754C,U+7559,U+7565,U+7591,U+767D-767E,U+7684,U+7686,U+76CA,U+76D1-76D2,U+76D6,U+76D8,U+76DB,U+76EE,U+76F4,U+76F8,U+7701,U+770B,U+771F,U+773C,U+7740,U+77AC,U+77E5,U+77E9,U+77ED-77EE,U+7801,U+780D,U+7814,U+7834,U+7840,U+786C,U+786E,U+788D,U+78B0,U+78C1,U+78E8,U+793A,U+793E,U+7956,U+7981,U+798F,U+79BB,U+79C1,U+79CD,U+79D2,U+79D8,U+79EF-79F0,U+79FB,U+7A0B,U+7A0D,U+7A33,U+7A7A,U+7A7F,U+7A81,U+7A84,U+7A97,U+7ACB,U+7AD6,U+7AD9,U+7AE0,U+7AEF,U+7B11,U+7B14,U+7B26,U+7B2C,U+7B49,U+7B56,U+7B5B,U+7B7E,U+7B80,U+7B97,U+7BA1,U+7BAD,U+7C27,U+7C73,U+7C7B,U+7C92,U+7C97-7C98,U+7CBE,U+7CCA,U+7CFB,U+7D20,U+7D22,U+7D27,U+7D2B,U+7EA2,U+7EA6-7EA7,U+7EAF,U+7EB3,U+7EB5,U+7EB8,U+7EBF,U+7EC4,U+7EC6,U+7EC8,U+7ECD,U+7ECF,U+7ED1,U+7ED3,U+7ED5,U+7ED8-7ED9,U+7EDC-7EDD,U+7EDF,U+7EE7,U+7EEA,U+7EED,U+7EF4,U+7EFF-7F00,U+7F13,U+7F16,U+7F18,U+7F1D,U+7F29,U+7F3A,U+7F51,U+7F69,U+7F6E,U+7F72,U+7F8E,U+7FFB,U+8001,U+8003,U+8005,U+800C,U+804C,U+8054,U+805A,U+8089,U+80CC,U+80DC,U+80F6,U+80FD,U+810F,U+811A,U+8131,U+817E,U+81EA,U+81F3-81F4,U+820D,U+821E,U+822A,U+8239,U+8272-8273,U+8282,U+82D4,U+82E5,U+82F1,U+8303,U+8340,U+8361,U+8367,U+836F,U+838E,U+83AB,U+83B7,U+83DC,U+843D,U+8499,U+84DD,U+8584,U+85CF,U+8651,U+865A,U+867D,U+884C-884D,U+8861,U+8865,U+8868,U+886C,U+88AB,U+88C1,U+88C5,U+88D5,U+88F8-88F9,U+8981,U+8986,U+89C1-89C2,U+89C4,U+89C6,U+89C8-89C9,U+89D2,U+89E3,U+89E6,U+8A00,U+8BA1-8BA2,U+8BA4,U+8BA9,U+8BAE-8BB0,U+8BB8,U+8BBA,U+8BBE-8BBF,U+8BC1,U+8BC6,U+8BC9,U+8BCD,U+8BD5,U+8BD7,U+8BDD,U+8BE2,U+8BE5-8BE6,U+8BED,U+8BEF,U+8BF4,U+8BF7,U+8BFB,U+8C03,U+8C10,U+8C22,U+8C41,U+8C61,U+8D1D,U+8D1F,U+8D23,U+8D25,U+8D27-8D28,U+8D34,U+8D39,U+8D44,U+8D56,U+8D70,U+8D74,U+8D76-8D77,U+8D85,U+8DB3,U+8DD1,U+8DDD,U+8DDF,U+8DE8,U+8DEC,U+8DEF,U+8DF3,U+8EAB,U+8F66,U+8F68,U+8F6C,U+8F6E,U+8F7B,U+8F7D,U+8F83,U+8F85,U+8F91,U+8F93,U+8FA8,U+8FB9,U+8FBE,U+8FC1,U+8FC7,U+8FCE,U+8FD0-8FD1,U+8FD4,U+8FD8-8FD9,U+8FDB-8FDC,U+8FDE-8FDF,U+8FF0,U+8FF7,U+8FF9,U+8FFD,U+9000-9003,U+9009,U+900F-9010,U+9012,U+9014,U+901A,U+901F-9020,U+9038,U+903B,U+904D,U+9053,U+906E,U+907F,U+90A3,U+90AE,U+90BB,U+90E8,U+90FD,U+914D,U+91C7,U+91CA,U+91CC-91CF,U+91D1,U+9488,U+949F,U+94A9,U+94AE,U+94BB,U+94FA,U+94FE,U+9500-9501,U+9510,U+9519-951A,U+952E,U+955C,U+957F,U+95EA,U+95ED-95EE,U+95F4,U+9605,U+9608,U+961F,U+9631-9632,U+9634-9636,U+963B,U+9644-9645,U+9648,U+964D,U+9650,U+9661,U+9664,U+9669,U+9677,U+968F-9690,U+9694,U+9699,U+969C,U+96BE,U+96C6,U+96E8,U+96F6,U+96FE,U+9700,U+9707,U+9732,U+9752,U+9759,U+975E,U+9760,U+9762,U+97F3,U+9875-9876,U+9879-987B,U+987F,U+9884,U+9891,U+9897-9898,U+989C-989D,U+98CE,U+98D8,U+98DE,U+9970-9971,U+9988,U+9996,U+9A71,U+9A7B,U+9A8C,U+9AA4,U+9AA8,U+9AD8,U+9C9C,U+9ED1,U+9ED8-9ED9,U+9F20,U+9F50,U+9F7F,U+FF01-FF49,U+FF4B-FF59,U+FF5B-FF5E,U+FFE0-FFE1,U+FFE3,U+FFE5;
}

/* Regular 400 — 64 字，12 KB */
@font-face {
  font-family: 'SourceHanSerif';
  src: url('/fonts/slices/SourceHanSerifSC-Regular-b.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+4E07,U+4E1A,U+4E1C,U+4E5D,U+4E60,U+4E89,U+4EAC,U+4EB2,U+4EEC,U+4F17,U+517B,U+519B-519C,U+5212,U+529E,U+52B3,U+5317,U+534E,U+5357,U+5382,U+53BF,U+53C8,U+53EB,U+571F,U+5BB6,U+5E02,U+5E7F,U+5E9C,U+5FD7,U+6211,U+6218,U+6280,U+653F,U+6559,U+6597,U+6599,U+6668,U+672F,U+6797,U+6C11,U+6C5F,U+6CBB,U+6D3E,U+6D4E,U+706B,U+738B,U+77F3,U+77FF,U+79D1,U+7A76,U+7EC7,U+7FA4,U+80B2,U+822C,U+82B1,U+897F,U+8D8A,U+9178,U+94C1,U+95E8,U+9662,U+9886,U+9A6C,U+9F99;
}

/* Regular 400 — 2595 字，488 KB */
@font-face {
  font-family: 'SourceHanSerif';
  src: url('/fonts/slices/SourceHanSerifSC-Regular-c.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+4E08,U+4E11,U+4E18-4E19,U+4E1B,U+4E1D,U+4E27,U+4E2B,U+4E30,U+4E34,U+4E39,U+4E3D-4E3E,U+4E43,U+4E4C-4E4D,U+4E4F,U+4E52-4E53,U+4E56,U+4E58-4E59,U+4E5E,U+4E61,U+4E70,U+4E73,U+4E7E,U+4E88,U+4E8F,U+4E91,U+4E95,U+4EA1-4EA2,U+4EA5-4EA6,U+4EA8-4EA9,U+4EAD,U+4EBF,U+4EC1,U+4EC6-4EC7,U+4ED1,U+4ED3-4ED5,U+4ED7-4ED9,U+4EDF,U+4EE4,U+4EEA,U+4EF0,U+4EF2,U+4EFF,U+4F01,U+4F0A,U+4F0D-4F11,U+4F19,U+4F1E-4F1F,U+4F24,U+4F26,U+4F2F-4F30,U+4F34,U+4F36,U+4F3A,U+4F43,U+4F50-4F51,U+4F5B,U+4F63,U+4F69,U+4F6C,U+4F6F-4F70,U+4F73,U+4F84,U+4F88,U+4F8D,U+4F97,U+4FA0,U+4FA3,U+4FA5-4FA6,U+4FA8-4FA9,U+4FAE-4FAF,U+4FB5,U+4FC3-4FC4,U+4FCA,U+4FCF-4FD0,U+4FD7-4FD8,U+4FDE,U+4FE9,U+4FED,U+4FEF,U+4FF1,U+4FFA,U+5012,U+5014,U+5018,U+501A,U+5021,U+5026,U+502A,U+503A,U+503E,U+5047,U+5065,U+5076-5077,U+5080,U+5085,U+5088,U+508D,U+50A3,U+50AC,U+50B2,U+50BB,U+50DA,U+50E7,U+50F3,U+50F5,U+50FB,U+5112,U+5121,U+5146,U+5151,U+5154,U+515A,U+5162,U+5170,U+5174-5175,U+5178-5179,U+517D,U+5180,U+5188-5189,U+5195,U+5197,U+51A0,U+51A4,U+51AC,U+51AF-51B0,U+51B6,U+51C4,U+51C9,U+51CB-51CC,U+51DB,U+51DD,U+51E4,U+51EF-51F0,U+51F3,U+51F6,U+51F8-51F9,U+51FF-5201,U+5203,U+520A,U+5211,U+5218,U+5228,U+522E,U+5238-523A,U+523D,U+5241-5243,U+524A,U+5250-5251,U+5256,U+5265,U+5267,U+527F,U+5288,U+529D,U+52A3,U+52A9,U+52AB,U+52B1-52B2,U+52C3,U+52C7,U+52C9,U+52CB,U+52D2,U+52D8,U+52DF,U+52E4,U+52FA,U+5300,U+5306,U+5308,U+5319,U+531D,U+5320-5321,U+5323,U+532A,U+533B,U+533F,U+5349,U+5351-5353,U+5356,U+535C,U+535E,U+5362,U+5364,U+5367,U+536F-5371,U+5375,U+5377,U+537F,U+5384-5385,U+538C,U+5395,U+5398,U+539A,U+53A2,U+53A6,U+53A8-53A9,U+53C1,U+53D4,U+53D9,U+53DB,U+53E4,U+53EC-53EE,U+53F6,U+53F8-53F9,U+53FC,U+5401,U+5409-540A,U+540F-5410,U+5413,U+5415,U+5417,U+541B,U+541D-5420,U+5427-5429,U+542D-542E,U+5431,U+5434-5435,U+5439,U+543B-543C,U+543E,U+5440,U+5448,U+5450,U+5455,U+545B-545C,U+5462,U+5473,U+5475,U+5478,U+547B,U+5480,U+5486,U+548B,U+548E-5490,U+5492,U+5495-5496,U+5499,U+54A8,U+54AC,U+54AF,U+54B1,U+54B3,U+54B8,U+54BD,U+54C0,U+54C4,U+54C6-54C7,U+54C9,U+54CE,U+54D1,U+54D7,U+54DF,U+54E5-54E6,U+54E8-54E9,U+54ED-54EE,U+54F2,U+54FA,U+54FC,U+5501,U+5506-5507,U+5509,U+5510,U+552C,U+552E,U+5531,U+553E,U+5543-5544,U+554A,U+5561,U+5564,U+5566,U+556A,U+556E,U+5578,U+557C,U+5580,U+5584,U+5587,U+5589-558A,U+5598,U+559C-559D,U+55A7,U+55B3,U+55B7,U+55BB,U+55C5,U+55D3,U+55DC,U+55E1,U+55E3,U+55FD,U+5609,U+560E,U+5618,U+561B,U+5631-5632,U+5634,U+5636,U+563B,U+563F,U+564E,U+566C,U+5676,U+568E-568F,U+56A3,U+56B7,U+56BC,U+56DA,U+56E4,U+56ED,U+56F0-56F1,U+5703,U+5708,U+5723,U+572D,U+573E,U+574A,U+574D-574E,U+5751,U+575A-575B,U+575D-5761,U+5764,U+5766,U+576A,U+576F,U+5777,U+5783-5784,U+5792,U+579B,U+57A2-57A3,U+57A6,U+57AE,U+57C2-57C3,U+57CB,U+57CE,U+57D4,U+57E0,U+57F9,U+5802,U+5806,U+5811,U+5815,U+5821,U+5824,U+582A,U+5830,U+5835,U+5851,U+5858,U+5885,U+5892-5893,U+5899,U+589F,U+58A9,U+58D5,U+58E4,U+58EC,U+58EE,U+58F6,U+58F9,U+590F,U+5915,U+592B,U+592E-592F,U+5937-5938,U+593A,U+5944,U+5947,U+5949,U+594B,U+594E,U+5951,U+5956,U+5960,U+5965,U+5973-5974,U+5978-5979,U+5984,U+5986-5988,U+598A,U+5992-5993,U+5996,U+5999,U+59A5,U+59A8,U+59AE,U+59B9,U+59BB,U+59C6,U+59D0-59D1,U+59D3,U+59DA,U+59DC,U+59E5,U+59E8,U+59EC,U+59FB,U+59FF,U+5A01,U+5A03-5A04,U+5A07,U+5A18,U+5A1C,U+5A1F-5A20,U+5A25,U+5A29,U+5A36,U+5A46,U+5A49,U+5A5A,U+5A6A,U+5A74,U+5A76,U+5A7F,U+5A9A,U+5AB3,U+5AC1-5AC2,U+5AC9,U+5ACC,U+5AE1,U+5AE9,U+5B54-5B55,U+5B59,U+5B5C-5B5D,U+5B5F,U+5B63,U+5B69-5B6A,U+5B70,U+5B75,U+5B7A,U+5B7D,U+5B81,U+5B85,U+5B87,U+5B8F,U+5B99,U+5B9B-5B9D,U+5BA0-5BA1,U+5BA3-5BA4,U+5BA6,U+5BAA-5BAB,U+5BB0,U+5BB4-5BB5,U+5BBE,U+5BC2,U+5BC4-5BC5,U+5BC7,U+5BCC,U+5BD0,U+5BD2-5BD3,U+5BDD-5BDF,U+5BE1,U+5BE5,U+5BE8,U+5BFA,U+5BFF,U+5C09,U+5C16,U+5C18,U+5C24,U+5C27,U+5C38-5C39,U+5C3C,U+5C3F,U+5C41,U+5C48-5C4B,U+5C4E,U+5C51,U+5C60-5C61,U+5C6F,U+5C79,U+5C7F,U+5C81-5C82,U+5C94,U+5C97,U+5C9B,U+5CA9,U+5CAD,U+5CB3,U+5CB8,U+5CBF,U+5CD9,U+5CE1,U+5CE6,U+5CE8,U+5CEA,U+5CED,U+5CF0,U+5CFB,U+5D07,U+5D0E,U+5D14,U+5D16,U+5D29,U+5D2D,U+5DCD,U+5DDD-5DDE,U+5DE1-5DE2,U+5DE7-5DE9,U+5DEB,U+5DF3,U+5DF7,U+5DFE,U+5E01,U+5E05-5E06,U+5E08,U+5E10,U+5E15-5E16,U+5E18,U+5E1A-5E1D,U+5E3D,U+5E4C,U+5E62,U+5E7B-5E7D,U+5E84,U+5E86-5E87,U+5E90,U+5E99-5E9A,U+5E9E,U+5EA7,U+5EAD,U+5EB6-5EB8,U+5EC9-5ECA,U+5ED3,U+5ED6,U+5EF7,U+5F04,U+5F0A,U+5F13,U+5F17-5F18,U+5F1B,U+5F25-5F27,U+5F2F,U+5F5D,U+5F64,U+5F66,U+5F6A,U+5F6C-5F6D,U+5F70,U+5F79,U+5F7C,U+5F81,U+5F8A,U+5F90,U+5F92,U+5F98,U+5FA1,U+5FB7,U+5FBD,U+5FCC-5FCD,U+5FD8-5FD9,U+5FE0,U+5FE7,U+5FF1,U+5FF5,U+5FFB,U+5FFF-6000,U+6002,U+600E,U+6012,U+6014-6016,U+601C,U+6020,U+6025,U+6028,U+602A,U+602F,U+6043,U+604B,U+604D,U+6050,U+6055,U+6064,U+6068-6069,U+606B-606D,U+6070,U+6073,U+6076,U+607C,U+607F,U+6084,U+6089,U+608D,U+6094,U+609F-60A0,U+60A3,U+60A6,U+60A8,U+60AF,U+60B2,U+60B8,U+60BC,U+60CA-60CB,U+60D1,U+60D5,U+60DC,U+60DF-60E0,U+60E6-60E9,U+60EB,U+60ED-60EE,U+60F0,U+60F6,U+60F9-60FA,U+6101,U+6108-6109,U+611A,U+6124,U+6127,U+6148,U+614C,U+614E,U+6151,U+6155,U+6167-6168,U+6170,U+6177,U+618B,U+618E,U+61A8,U+61BE,U+61C8,U+61CA,U+61E6,U+6208,U+620A,U+620C-620F,U+6212,U+621A,U+622E,U+6234,U+623F,U+6247,U+624E,U+6251-6252,U+6254,U+625B,U+6263,U+6266,U+626B-626F,U+6273,U+6276,U+627C,U+6284,U+6289,U+6291-6293,U+629A,U+62A0-62A1,U+62A8,U+62AB,U+62B1,U+62BC,U+62BF,U+62C2,U+62C4,U+62C7-62C8,U+62CC,U+62CE,U+62D0,U+62D3-62D4,U+62D8-62D9,U+62DB-62DC,U+62E5,U+62E7-62E8,U+62ED,U+62EF,U+62F1,U+62F3-62F4,U+62FE,U+630E,U+6316,U+631A-631B,U+631D-6320,U+6323,U+6325,U+6328,U+632B,U+632F,U+633A,U+633D,U+6342,U+6345-6346,U+6349,U+634C-6350,U+635E,U+6361,U+6363,U+6376,U+637B,U+6380,U+6382,U+6387,U+638C,U+6396,U+6398,U+63A0,U+63A3,U+63A9-63AA,U+63B3,U+63B7-63B8,U+63BA,U+63C9,U+63CD,U+63D6,U+63E1,U+63E3,U+63E9-63EA,U+63F4,U+63FD,U+6400-6402,U+6405,U+640F-6410,U+6413-6414,U+641E,U+642A,U+642D,U+643A,U+643D,U+6444,U+6447-6448,U+644A,U+6454,U+6467,U+6469,U+6478-6479,U+6482,U+6485,U+6487,U+6492,U+6495,U+649E,U+64A9,U+64AC,U+64AE,U+64B0,U+64B5,U+64BC,U+64C2,U+64C5,U+64D2,U+64DE,U+64E6,U+6500,U+6512,U+6518,U+652B,U+653B,U+654C,U+6551,U+6556,U+655D-655E,U+6562-6563,U+6566,U+656C,U+6572,U+6577,U+658B-658C,U+6591,U+659C,U+659F,U+65A1,U+65A4,U+65A7,U+65A9,U+65BD,U+65C5,U+65CB,U+65D7,U+65E8,U+65EC-65ED,U+65F1,U+65F7,U+65FA,U+6602,U+6606,U+660C,U+660F,U+6614,U+6625,U+6627,U+662D,U+663C,U+6643,U+664B-664C,U+6652-6653,U+6655,U+6664,U+6666,U+6676,U+667A,U+667E,U+6687,U+6691,U+66AE,U+66D9,U+66DD,U+66F0,U+66F3,U+66F9,U+66FC,U+66FE,U+6717,U+6728,U+672D,U+6731,U+6734-6735,U+673D,U+6740,U+6742,U+6746,U+6749,U+674F-6751,U+6756,U+675C,U+6760,U+6768,U+676D,U+676F-6770,U+6789,U+6795,U+679D,U+67A2-67A3,U+67AA-67AB,U+67AF,U+67B7,U+67C4,U+67CF,U+67D1-67D2,U+67DC,U+67DE,U+67E0,U+67EC,U+67EF,U+67F1,U+67F3-67F4,U+67FF,U+6805,U+6808,U+680B,U+6813,U+6816-6817,U+682A,U+683D,U+6842-6843,U+6845,U+6850-6851,U+6853-6854,U+6868-6869,U+6881,U+6885-6886,U+6897,U+68A2,U+68A6-68A8,U+68AD,U+68AF-68B0,U+68B3,U+68C9,U+68CB,U+68CD,U+68D2,U+68D8,U+68DA,U+68E0,U+68EE,U+68F1,U+68FA,U+6905,U+690E,U+6912,U+692D,U+6930,U+693D,U+693F,U+6954,U+695A,U+695E,U+6977,U+697C,U+6982,U+6986,U+6994,U+699C,U+69A8,U+69B4,U+69B7,U+69D0,U+69DB,U+6A0A,U+6A1F,U+6A31,U+6A47,U+6A61,U+6A71,U+6A80,U+6A84,U+6AAC,U+6B20,U+6B23,U+6B27,U+6B32,U+6B3A,U+6B47,U+6B4C,U+6B66-6B67,U+6B6A,U+6B79,U+6B7C,U+6B83,U+6B86,U+6B89,U+6B96,U+6BB4,U+6BB7,U+6BBF,U+6BC5,U+6BCB,U+6BD2,U+6BD7,U+6BD9,U+6BE1,U+6BEB,U+6BEF,U+6C0F,U+6C13,U+6C16,U+6C1B,U+6C1F,U+6C22,U+6C26-6C28,U+6C2E-6C30,U+6C40-6C41,U+6C47,U+6C49,U+6C50,U+6C55,U+6C57,U+6C5B,U+6C5D-6C5E,U+6C64,U+6C6A,U+6C70,U+6C72,U+6C79,U+6C7D-6C7E,U+6C81-6C83,U+6C88,U+6C8F,U+6C9B,U+6C9F,U+6CA4-6CA7,U+6CAA-6CAB,U+6CAE,U+6CB3,U+6CB8,U+6CBC-6CBE,U+6CC4-6CC5,U+6CC9-6CCA,U+6CCC,U+6CDB,U+6CDE,U+6CE1,U+6CE3,U+6CE5,U+6CEA,U+6CF0,U+6CF3,U+6CF5,U+6CFB-6CFD,U+6D0B,U+6D12,U+6D17,U+6D1B,U+6D1E,U+6D25,U+6D2A,U+6D31-6D32,U+6D3C-6D3D,U+6D46-6D47,U+6D4A,U+6D51,U+6D59-6D5A,U+6D66,U+6D69,U+6D74,U+6D82,U+6D85,U+6D8C,U+6D8E,U+6D95,U+6D9B,U+6D9D,U+6DA1,U+6DA3-6DA4,U+6DA6-6DA7,U+6DA9-6DAA,U+6DAF,U+6DB2,U+6DB5,U+6DB8,U+6DC0,U+6DC4,U+6DC6,U+6DCB-6DCC,U+6DD1,U+6DD6,U+6DD8,U+6DE4,U+6DEB-6DEC,U+6DEE,U+6DF3,U+6DF9,U+6E0A,U+6E0D,U+6E14,U+6E17,U+6E1D,U+6E20,U+6E23-6E24,U+6E2D,U+6E2F,U+6E34,U+6E3A,U+6E4D,U+6E56,U+6E58,U+6E5B,U+6E7E-6E7F,U+6E83,U+6E85,U+6E89,U+6E9C,U+6EAA,U+6EAF,U+6EB6,U+6EBA,U+6EC1,U+6EC7,U+6ECB,U+6ED3-6ED4,U+6EDE,U+6EE5-6EE6,U+6EE8-6EE9,U+6EF4,U+6F02,U+6F06,U+6F13-6F14,U+6F20,U+6F31,U+6F33,U+6F3E,U+6F4D,U+6F58,U+6F5C,U+6F5E,U+6F66,U+6F6D-6F6E,U+6F84,U+6F88,U+6F9C,U+6FA1,U+6FB3,U+6FD2,U+7011,U+704C,U+706D,U+706F,U+7076,U+7078,U+707C,U+707E-707F,U+7089-708A,U+708E,U+7092,U+7094-7095,U+7099,U+70AC-70AF,U+70B3,U+70B8,U+70BC-70BD,U+70C2-70C3,U+70D8-70D9,U+70DB,U+70DF,U+70E4,U+70E6-70E7,U+70E9,U+70EB-70EC,U+70EF,U+70F7,U+70F9,U+70FD,U+7109-710A,U+7115,U+7119-711A,U+7130,U+714C,U+714E,U+715E,U+7164,U+716E,U+717D,U+7184,U+718A,U+718F,U+7194,U+7199,U+719F,U+71AC,U+71C3,U+71CE,U+71D5,U+71E5,U+722A,U+722C,U+7235,U+7237-7239,U+723D,U+7259,U+725B,U+725F,U+7261-7262,U+7267,U+7272,U+7275,U+727A,U+7280-7281,U+728A,U+72AC,U+72AF,U+72B9,U+72C2,U+72C4,U+72C8,U+72D0,U+72D7,U+72D9,U+72DE,U+72E1,U+72ED-72EE,U+72F0-72F1,U+72F8,U+72FC,U+730E,U+7316,U+731B-731C,U+7329-732B,U+732E,U+7334,U+733E-733F,U+736D,U+7384,U+7389,U+7396,U+739B,U+73A9,U+73B2,U+73CA,U+73CD,U+73D0,U+73E0,U+73ED,U+7405,U+7409,U+7410,U+7422,U+7433-7436,U+743C,U+745A,U+745E-745F,U+7476,U+74DC,U+74E2-74E4,U+74E6,U+74EE,U+74F6-74F7,U+7504,U+7518,U+751A,U+751C,U+7525,U+7529,U+752B,U+752D,U+7530,U+7532,U+7537-7538,U+754F,U+7554,U+755C,U+7566,U+756A,U+7574,U+7578,U+7586,U+758F,U+7597,U+7599-759A,U+759F,U+75A1,U+75A4-75A5,U+75AB,U+75AE-75AF,U+75B2,U+75B5,U+75B9,U+75BC-75BE,U+75C5,U+75C7-75CA,U+75D2,U+75D4-75D5,U+75D8,U+75DB,U+75DE,U+75E2,U+75EA,U+75F0,U+75F4,U+75F9,U+7601,U+761F,U+7624,U+7626,U+7629-762B,U+7634,U+7638,U+764C,U+7663,U+7678,U+767B,U+7682,U+7687,U+768B,U+7691,U+7696,U+76AE,U+76B1,U+76BF,U+76C2,U+76C5-76C6,U+76C8,U+76CE-76D0,U+76D4,U+76D7,U+76DF,U+76EF,U+76F2,U+76FC,U+76FE,U+7709,U+7720,U+7728-7729,U+772F,U+7736-7737,U+773A,U+7741,U+775B,U+7761,U+7763,U+7766,U+776B-776C,U+7779,U+7784-7785,U+778E,U+7792,U+77A5,U+77A7,U+77A9-77AA,U+77B3,U+77BB,U+77D7,U+77DB,U+77E2-77E3,U+77EB,U+77FD-77FE,U+7802,U+780C,U+7812,U+7816,U+781A,U+7827,U+7830,U+7837-7838,U+783E,U+7845,U+7852,U+7855,U+785D,U+786B,U+7877,U+787C,U+7889,U+788C,U+788E,U+7891,U+7897-7898,U+789F,U+78A7,U+78B1,U+78B3-78B4,U+78BE,U+78C5,U+78CA-78CB,U+78D0,U+78D5,U+78F7,U+78FA,U+7901,U+793C,U+7941,U+7948,U+795D-795F,U+7965,U+7968,U+796D,U+7977-7978,U+7984,U+79B9,U+79BD-79BE,U+79C0,U+79C3,U+79C6,U+79C9,U+79CB,U+79DF,U+79E4,U+79E6-79E7,U+79E9,U+79F8,U+79FD,U+7A00,U+7A0E,U+7A17,U+7A1A,U+7A20,U+7A3B-7A3D,U+7A3F,U+7A46,U+7A57,U+7A74,U+7A77,U+7A83,U+7A8D,U+7A91-7A92,U+7A96,U+7A98,U+7A9C-7A9D,U+7A9F,U+7AA5,U+7ABF,U+7ADE-7ADF,U+7AE3,U+7AE5,U+7AED,U+7AF9,U+7AFF,U+7B06,U+7B0B,U+7B1B,U+7B28,U+7B3A,U+7B3C,U+7B4B,U+7B4F-7B52,U+7B54,U+7B77,U+7B79,U+7B8D,U+7B94-7B95,U+7BA9,U+7BB1,U+7BC6-7BC7,U+7BD3,U+7BD9,U+7BE1,U+7BEE,U+7BF1,U+7BF7,U+7C07,U+7C3F,U+7C4D,U+7C7D,U+7C89,U+7C95,U+7C9F,U+7CA4-7CA5,U+7CAA,U+7CAE,U+7CB1,U+7CB3,U+7CB9,U+7CD5-7CD6,U+7CD9,U+7CDC,U+7CDF-7CE0,U+7CEF,U+7D0A,U+7D2F,U+7D6E,U+7E41,U+7E82,U+7EA0,U+7EA4,U+7EAA-7EAC,U+7EB1-7EB2,U+7EB6-7EB7,U+7EB9-7EBA,U+7EBD,U+7EC3,U+7EC5,U+7ECA,U+7ECE,U+7ED2,U+7EDA,U+7EDE,U+7EE2-7EE3,U+7EE5-7EE6,U+7EE9,U+7EF0,U+7EF3,U+7EF5,U+7EF7-7EF8,U+7EFC-7EFD,U+7F04-7F06,U+7F09,U+7F0E,U+7F14-7F15,U+7F1A,U+7F20,U+7F28,U+7F2E,U+7F34,U+7F38,U+7F50,U+7F55,U+7F57,U+7F5A,U+7F62,U+7F6A,U+7F8A,U+7F8C,U+7F94,U+7F9A,U+7F9E,U+7FA1,U+7FB9,U+7FBD,U+7FC1,U+7FC5,U+7FCC,U+7FD4,U+7FD8,U+7FDF-7FE0,U+7FF0-7FF1,U+7FFC,U+8000,U+800D,U+8010,U+8015,U+8017-8019,U+8033,U+8036,U+8038,U+803B,U+803D,U+803F,U+8042,U+804A-804B,U+8058,U+806A,U+8083-8084,U+8086-8087,U+808B-808C,U+8096,U+8098,U+809A-809B,U+809D,U+80A0-80A2,U+80A4-80A5,U+80A9-80AA,U+80AE-80AF,U+80BA,U+80BE-80C1,U+80C3,U+80C6,U+80CE,U+80D6,U+80DA,U+80DE,U+80E1,U+80EF-80F0,U+80F3,U+80F8,U+80FA,U+8102,U+8106,U+8109-810A,U+8110-8111,U+8113,U+8116,U+812F,U+8138,U+813E,U+8146,U+814A-814B,U+8150-8151,U+8154-8155,U+8165,U+816E,U+8170,U+8179-817B,U+817F-8180,U+818A,U+818F,U+8198,U+819B-819D,U+81A8,U+81B3,U+81C0,U+81C2-81C3,U+81C6,U+81E3,U+81ED,U+81FB-81FC,U+8200,U+8205-8206,U+820C,U+8212,U+8214,U+821C,U+821F,U+8230-8231,U+8235-8237,U+8247,U+8258,U+826F-8270,U+827A,U+827E,U+828B,U+828D,U+8292,U+829C-829D,U+82A5-82A6,U+82AC-82AD,U+82AF,U+82B3,U+82B9,U+82BD,U+82C7,U+82CD,U+82CF,U+82D1,U+82D7,U+82DB,U+82DE-82DF,U+82E6,U+82EB,U+82EF,U+82F9,U+8301-8302,U+8304-8305,U+830E,U+8327-8328,U+832B-832C,U+8335-8336,U+8338-8339,U+8346,U+8349,U+8350,U+8352,U+8354,U+835A,U+8363-8364,U+836B,U+8377,U+8386,U+8389,U+83B1-83B2,U+83B9,U+83BD,U+83C7,U+83CA,U+83CC,U+83CF,U+83E0,U+83E9,U+83F1-83F2,U+8404,U+840C-840E,U+841D,U+8424-8425,U+8427-8428,U+8457,U+845B,U+8461,U+8463,U+846B-846C,U+8471,U+8475,U+8482,U+848B,U+849C,U+84B2,U+84B8,U+84C4,U+84C9,U+84D1,U+84D6,U+84DF,U+84EC,U+8511,U+8513,U+8517,U+851A,U+8521,U+852B-852C,U+8537,U+853C-853D,U+8549-854A,U+8574,U+857E,U+859B,U+85AA,U+85AF,U+85C9,U+85D0,U+85D5,U+85E4,U+85E9,U+85FB,U+8611,U+8638,U+864E-8650,U+865E,U+866B,U+8671,U+8679,U+867E,U+8680-8682,U+868A,U+868C,U+8695,U+869C,U+86A4,U+86C0,U+86C6-86C7,U+86CA-86CB,U+86D4,U+86D9,U+86DB,U+86E4,U+86EE,U+86F0,U+86F9,U+86FE,U+8700,U+8702,U+8712,U+8715,U+8717-8718,U+871C,U+8721,U+8747,U+8749,U+874E,U+8757,U+8774,U+8776,U+878D,U+879F,U+87BA,U+87F9,U+8815,U+8822,U+8840,U+8845,U+8854,U+8857,U+8859,U+8863,U+886B,U+8870,U+8877,U+8881,U+8884,U+888B,U+888D,U+8892,U+8896,U+889C,U+88AD,U+88B1,U+88C2,U+88D4,U+88D9,U+88E4,U+88F3-88F4,U+8902,U+8910,U+8912,U+8925,U+892A,U+8944,U+895F,U+89C5,U+8A79,U+8A89-8A8A,U+8A93,U+8B66,U+8B6C,U+8BA3,U+8BA5,U+8BA8,U+8BAB,U+8BAD,U+8BB2-8BB3,U+8BB6,U+8BB9,U+8BBC-8BBD,U+8BC0,U+8BC4-8BC5,U+8BC8,U+8BCA,U+8BCC,U+8BD1,U+8BDA-8BDB,U+8BDE,U+8BE1,U+8BE3,U+8BE7,U+8BEB-8BEC,U+8BF1-8BF2,U+8BF5,U+8BF8,U+8BFA,U+8BFD-8BFE,U+8C01,U+8C05-8C06,U+8C08,U+8C0A-8C0B,U+8C0D-8C0E,U+8C13,U+8C17,U+8C1A,U+8C1C,U+8C23-8C24,U+8C26,U+8C28-8C29,U+8C2C-8C2D,U+8C31,U+8C34,U+8C37,U+8C46,U+8C4C,U+8C62,U+8C6A-8C6B,U+8C79-8C7A,U+8C89,U+8C8C,U+8D1E,U+8D21-8D22,U+8D24,U+8D26,U+8D29-8D31,U+8D35,U+8D37-8D38,U+8D3A,U+8D3C,U+8D3E-8D3F,U+8D41-8D43,U+8D4A-8D4C,U+8D4E-8D50,U+8D54,U+8D58,U+8D5A-8D5B,U+8D5E,U+8D60-8D64,U+8D66,U+8D6B,U+8D75,U+8D81,U+8D8B,U+8D9F,U+8DA3,U+8DB4,U+8DBE,U+8DC3,U+8DCB-8DCC,U+8DEA,U+8DF5,U+8DFA,U+8E0A,U+8E0C,U+8E0F,U+8E1E,U+8E22,U+8E29-8E2A,U+8E44,U+8E48,U+8E4B,U+8E66,U+8E6C-8E6D,U+8E72,U+8E7F,U+8E81,U+8E87,U+8EAC,U+8EAF,U+8EB2,U+8EBA,U+8F67,U+8F69,U+8F6F-8F70,U+8F74,U+8F7F,U+8F86,U+8F88-8F8A,U+8F90,U+8F95-8F97,U+8F99,U+8F9B-8F9C,U+8F9E-8F9F,U+8FA3,U+8FA9,U+8FAB,U+8FB0-8FB1,U+8FBD,U+8FC2,U+8FC4-8FC5,U+8FC8,U+8FDD,U+8FE2,U+8FEA-8FEB,U+8FED,U+8FF8,U+9006,U+900A,U+9017,U+901B,U+901D-901E,U+9022,U+902E,U+903C,U+903E,U+9041-9042,U+9047,U+904F,U+9057,U+9063,U+9065,U+906D,U+9075,U+9080,U+9091,U+9093,U+90A2,U+90A6,U+90AA,U+90AF,U+90B1,U+90B5,U+90B9,U+90C1,U+90CA,U+90CE,U+90D1,U+90DD,U+90E1,U+90E7,U+90ED,U+90F4,U+90F8,U+9102,U+9119,U+9149,U+914B-914C,U+9152,U+9157,U+915A,U+915D-915E,U+9163,U+9165,U+916A,U+916C,U+916E,U+9171,U+9175-9177,U+917F,U+9187,U+9189,U+918B,U+9192,U+919A-919B,U+91C9,U+91DC,U+9274,U+9489,U+948E,U+9492-9493,U+9499,U+949D-949E,U+94A0-94A2,U+94A5-94A8,U+94B1,U+94B3,U+94B5,U+94BE,U+94C0,U+94C2-94C3,U+94C5-94C6,U+94DC-94DD,U+94E1,U+94E3,U+94EC-94ED,U+94F0-94F2,U+94F6,U+94F8,U+9504-9505,U+9508,U+950B-950C,U+9511,U+9517,U+9521,U+9523-9526,U+952D,U+952F-9530,U+9539,U+953B,U+9540-9541,U+9547,U+954A,U+954D,U+9550-9551,U+9563,U+956D,U+9570,U+9576,U+95EF-95F0,U+95F2,U+95F7-95FB,U+95FD,U+9600-9602,U+9609,U+960E,U+9610-9611,U+9614,U+961C,U+962E,U+9633,U+963F-9640,U+9646-9647,U+964B-964C,U+9655,U+965B,U+9668,U+966A,U+9675-9676,U+9685-9686,U+968B,U+9698,U+96A7,U+96B6,U+96C0-96C1,U+96C4-96C5,U+96C7,U+96CC-96CD,U+96CF,U+96D5,U+96EA,U+96F7,U+96F9,U+9704,U+9709,U+970D,U+9713,U+9716,U+971C,U+971E,U+9738-9739,U+9756,U+975B,U+9761,U+9769,U+9773-9774,U+9776,U+978B,U+978D,U+9798,U+97A0,U+97AD,U+97E6-97E7,U+97E9,U+97ED,U+97F5-97F6,U+9877,U+987D-987E,U+9881-9882,U+9885,U+9887-9888,U+988A,U+9890,U+9893,U+9896,U+98A0,U+98A4,U+98A7,U+98DF,U+9910,U+9965,U+996D-996F,U+9972,U+9975-9976,U+997A,U+997C,U+997F,U+9981,U+9985-9986,U+998B,U+998F,U+9992,U+9999,U+9A6D-9A70,U+9A73-9A74,U+9A76,U+9A79,U+9A7C,U+9A7E,U+9A82,U+9A84,U+9A86-9A87,U+9A8B,U+9A8F,U+9A91,U+9A97,U+9A9A,U+9AA1,U+9AB8,U+9AD3,U+9B03,U+9B3C,U+9B41-9B42,U+9B44,U+9B4F,U+9B54,U+9C7C,U+9C81,U+9C8D,U+9CA4,U+9CB8,U+9CC3,U+9CD6,U+9CDE,U+9E1F,U+9E21,U+9E23,U+9E25-9E26,U+9E2D,U+9E2F,U+9E33,U+9E35,U+9E3D,U+9E3F,U+9E43,U+9E45,U+9E4A,U+9E4F,U+9E64,U+9E70,U+9E7F,U+9E93,U+9EA6,U+9EBB,U+9EC4,U+9ECD-9ECE,U+9ED4,U+9F0E,U+9F13,U+9F3B,U+9F84,U+9F8B,U+9F9A,U+9F9F;
}

/* Regular 400 — 3849 字，830 KB */
@font-face {
  font-family: 'SourceHanSerif';
  src: url('/fonts/slices/SourceHanSerifSC-Regular-d.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+152-153,U+2BB,U+300-301,U+304,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+3041-3096,U+3099-30FF,U+3105-312F,U+3220-3224,U+32A3,U+339C-339D,U+33A1,U+4E05,U+4E10,U+4E15,U+4E1E-4E1F,U+4E21,U+4E26,U+4E28,U+4E36-4E37,U+4E3C,U+4E3F,U+4E42,U+4E44,U+4E57,U+4E5C,U+4E69,U+4E82,U+4E85,U+4E8D,U+4E93,U+4E98,U+4E9C,U+4E9E-4E9F,U+4EB3,U+4EB5,U+4EBB,U+4EBE,U+4EC3-4EC4,U+4EDD-4EDE,U+4EE1,U+4EE8,U+4EEE,U+4EF5,U+4F05,U+4F09,U+4F1D,U+4F22,U+4F27,U+4F2B,U+4F2D,U+4F31,U+4F3D,U+4F48,U+4F54,U+4F57-4F58,U+4F5A,U+4F5D-4F5F,U+4F62,U+4F64-4F65,U+4F75-4F7D,U+4F80,U+4F83,U+4F86,U+4F8F,U+4F91,U+4FA1,U+4FAA,U+4FAC,U+4FB6,U+4FC2,U+4FC5,U+4FCE,U+4FD1,U+4FDA,U+4FDF-4FE0,U+4FE3,U+4FE6,U+4FE8,U+4FEA,U+4FEC,U+4FF3,U+4FF6,U+4FF8,U+4FFE,U+5006,U+5009,U+500B-500C,U+500F,U+5011,U+5016,U+501C,U+5024,U+5028-5029,U+502B-502E,U+5036,U+5043,U+5048-5049,U+504C,U+504E,U+5055,U+5072,U+5074-5075,U+5078,U+507B,U+507D,U+5091,U+5098-509D,U+50A2,U+50A5,U+50A9,U+50B3,U+50B5,U+50B7,U+50BE,U+50C5,U+50CD,U+50D5-50D6,U+50ED-50EE,U+50F9,U+50FE,U+5100,U+5104,U+5106,U+510B,U+510F,U+5118,U+511F,U+512A,U+5132,U+5134,U+5140,U+5147,U+514C,U+514E,U+5150,U+5152,U+5156,U+5158,U+5167,U+5169,U+516E,U+5172,U+5186-5187,U+518A,U+51A2,U+51A5,U+51A7-51AB,U+51B4,U+51BC-51BD,U+51C7,U+51CD,U+51DC,U+51E6,U+51EA-51EB,U+51F1,U+51FC,U+5202,U+5208,U+520D-520E,U+5225,U+522A,U+5247,U+524C,U+524E,U+525B-525C,U+5263,U+5275,U+527D,U+5283,U+5287,U+5289,U+528D,U+5291,U+52AD,U+52B5,U+52B9,U+52BC,U+52BE,U+52C1,U+52D0,U+52D5-52D6,U+52D9,U+52DD-52DE,U+52E2,U+52EB-52F0,U+52F3,U+52F5,U+530D,U+530F-5310,U+5315,U+532E-532F,U+533E,U+5340,U+5345,U+534D,U+5350,U+5354,U+5358,U+535F,U+5366,U+5369,U+537B,U+538D,U+539D,U+53A5,U+53AD-53AE,U+53B2,U+53B6,U+53C3,U+53C6,U+53CE-53CF,U+53D2,U+53D5,U+53DF,U+53E1-53E2,U+53E7-53E9,U+53F1,U+53F5,U+53FB,U+53FD,U+5406,U+540B,U+5412,U+5414,U+5416,U+5421,U+5425,U+5432-5433,U+5436,U+543D,U+5442-5443,U+544B,U+544E,U+5453,U+5457,U+5464,U+5466,U+546D-5472,U+5477,U+5481-5482,U+5484,U+5494,U+5497-5498,U+549A-549B,U+54A3-54A4,U+54A6-54A7,U+54A9-54AB,U+54AD,U+54B2,U+54BB,U+54BF,U+54C2,U+54CB-54CC,U+54CF-54D0,U+54D2,U+54D4,U+54DA,U+54DD-54DE,U+54E1,U+54E7,U+54FD,U+5504,U+550F,U+5511,U+5514,U+551B,U+5520,U+5522,U+5527,U+5530,U+5533-5535,U+5537-5538,U+5541,U+5549,U+554F,U+5553,U+5555-5556,U+555C,U+555F,U+5567,U+556B-556D,U+5570-5572,U+5575-5577,U+557B,U+557E,U+5583,U+5586,U+558B,U+558F,U+5591,U+5594,U+5599-559A,U+559F,U+55AA-55AC,U+55AE,U+55B0-55B2,U+55B5-55B6,U+55B9-55BA,U+55BD,U+55CE,U+55D1-55D2,U+55D4-55DB,U+55DD,U+55DF,U+55E4,U+55E6,U+55E8,U+55EA,U+55ED-55F0,U+55F2-55F3,U+55F7,U+5600,U+5605-5606,U+5608,U+560C,U+5617,U+561A,U+561E-561F,U+5622-5624,U+5627,U+562C-562D,U+5639,U+5641,U+564C,U+564F,U+5654,U+5657-565A,U+565C,U+5662,U+5664,U+5669,U+566B,U+5671,U+5674,U+5678-5679,U+567B-567C,U+5687,U+5690,U+5693,U+569F,U+56AE-56AF,U+56B4,U+56C9,U+56CD,U+56D4,U+56D7,U+56DD,U+56DF,U+56E1,U+56E3,U+56E7-56E9,U+56EB,U+56EF,U+56F2-56F3,U+56F5,U+56F9,U+56FF,U+5704,U+570D,U+5712-5713,U+5716,U+5718,U+571C,U+5727,U+5729-572A,U+5733,U+573B,U+5742,U+5749,U+5769,U+576B,U+576D,U+5773,U+577B,U+5785,U+578E,U+5793,U+579A,U+579F-57A1,U+57A9,U+57AD,U+57B5,U+57C7,U+57CC,U+57D5,U+57D7,U+57D9-57DA,U+57ED,U+57F5,U+57F7-57F8,U+57FC,U+5800,U+5803,U+5805,U+5807,U+581D,U+581F,U+5831,U+5834,U+583A,U+584A,U+584D,U+5857,U+585A,U+5869,U+586C,U+5875,U+587E,U+5889-588A,U+5896-5897,U+589C,U+58A0,U+58A6,U+58AE,U+58C5,U+58C7,U+58CA,U+58D1,U+58D3,U+58DE,U+58EF,U+58F2,U+58FA,U+58FD,U+5909-590C,U+590E,U+5910,U+5914,U+5919,U+5920,U+5922,U+5925,U+592D,U+5932,U+593E,U+5942,U+5955,U+5958,U+595A,U+5967,U+596A,U+596D-596E,U+5977,U+5983,U+598D,U+5997,U+599D-599E,U+59A3-59A4,U+59A9-59AB,U+59AF,U+59B2-59B3,U+59BA,U+59BE,U+59C9-59CA,U+59D2,U+59D7-59D8,U+59DD-59DF,U+59E3-59E4,U+59E6-59E7,U+59E9-59EB,U+59F9,U+5A05-5A06,U+5A08-5A09,U+5A0C,U+5A11,U+5A13,U+5A1B,U+5A23,U+5A32,U+5A34,U+5A3C,U+5A40-5A43,U+5A4A,U+5A50,U+5A55,U+5A62,U+5A66-5A67,U+5A73,U+5A75,U+5A77,U+5A7A,U+5A9B,U+5A9E,U+5AB2,U+5AB8,U+5ABA,U+5ABD-5ABE,U+5AD2,U+5AD4,U+5AD6,U+5ADA,U+5AE3,U+5AE6,U+5AF0,U+5B05,U+5B09,U+5B0C,U+5B17,U+5B1B,U+5B22,U+5B29-5B2D,U+5B30,U+5B32,U+5B34,U+5B37,U+5B3F-5B40,U+5B51,U+5B53,U+5B56,U+5B5A-5B5B,U+5B62,U+5B6B-5B6C,U+5B71,U+5B73,U+5B78,U+5B80,U+5B93,U+5B95,U+5B9F,U+5BA5,U+5BAC,U+5BAE,U+5BB8,U+5BD4,U+5BE4,U+5BE6-5BE7,U+5BE9,U+5BEB-5BEC,U+5BEE,U+5BF0,U+5BF3,U+5BF5-5BF6,U+5BFE,U+5C02,U+5C07-5C08,U+5C0B,U+5C0D-5C0E,U+5C10,U+5C13,U+5C15,U+5C1B,U+5C2C,U+5C2F,U+5C34,U+5C3B,U+5C44,U+5C46,U+5C4C-5C4D,U+5C50,U+5C64,U+5C6C,U+5C7C-5C7E,U+5C80,U+5C83-5C84,U+5C8C,U+5C90-5C91,U+5C96,U+5C98-5C9A,U+5CA1-5CA2,U+5CAB-5CAC,U+5CB1,U+5CB7,U+5CC1,U+5CC4,U+5CC7,U+5CCB,U+5CD2,U+5CE4-5CE5,U+5CEF,U+5CF6,U+5CFD,U+5D02-5D03,U+5D06,U+5D11,U+5D17,U+5D1B,U+5D27,U+5D2E,U+5D34,U+5D3D,U+5D47,U+5D4A-5D4B,U+5D4E,U+5D50,U+5D58,U+5D5B,U+5D69,U+5D6C,U+5D6F,U+5D74,U+5D82,U+5D84-5D88,U+5D8B,U+5D99,U+5DB7,U+5DBA,U+5DBD,U+5DC5,U+5DEF,U+5DFB,U+5DFD,U+5DFF,U+5E0F,U+5E14,U+5E25,U+5E2B,U+5E2F-5E30,U+5E33,U+5E36-5E37,U+5E3C,U+5E44,U+5E54,U+5E61,U+5E63,U+5E6B,U+5E79-5E7A,U+5E7E,U+5E83,U+5E91,U+5E96,U+5E9D,U+5EA0-5EA3,U+5EAB,U+5EB5,U+5EB9,U+5EBE,U+5EC1,U+5EC8,U+5ECB,U+5EDA,U+5EDF-5EE0,U+5EE2-5EE3,U+5EEA,U+5EF3,U+5EFF,U+5F01,U+5F08,U+5F0B,U+5F11,U+5F22,U+5F29,U+5F2D,U+5F35,U+5F37,U+5F3C,U+5F3E,U+5F40,U+5F42,U+5F48,U+5F4C,U+5F4E,U+5F57-5F59,U+5F61,U+5F65,U+5F67,U+5F73,U+5F77,U+5F7F,U+5F83,U+5F87,U+5F89,U+5F8C,U+5F91,U+5F93,U+5F95,U+5F99,U+5F9C,U+5F9E,U+5FA8-5FA9,U+5FAD,U+5FB3,U+5FB5,U+5FB9,U+5FC4,U+5FCF-5FD4,U+5FD6,U+5FDA,U+5FDC-5FDD,U+5FE1,U+5FE4,U+5FEA,U+5FFE,U+6004-6006,U+600F,U+6019,U+601B,U+6021,U+6026,U+6035,U+603C,U+603F,U+6041-6042,U+6046,U+6059,U+6063,U+6065,U+606A,U+6075,U+6078,U+607A-607B,U+607D,U+6085,U+608A,U+608C,U+6096,U+609A,U+60A9-60AA,U+60AD,U+60B1,U+60B4,U+60B6,U+60BB,U+60C6-60C7,U+60D8,U+60DA,U+60E1-60E2,U+60EC,U+60F1,U+60F4,U+610D-610E,U+6115,U+611B,U+6120,U+612A-612E,U+614B,U+6158,U+615C,U+6163,U+616E,U+6175-6176,U+617E,U+6182,U+6190-6191,U+6194,U+61A1,U+61A3,U+61A7,U+61A9,U+61AC,U+61B2,U+61B6,U+61C6,U+61C9,U+61CB,U+61D1,U+61F2,U+61F5-61F8,U+61FF-6200,U+6215,U+621B-6220,U+6223,U+6226,U+622C,U+622F-6230,U+6232,U+6236,U+6238,U+623B,U+623E,U+6248-6249,U+624C,U+6255,U+626A,U+6271,U+629C,U+629F,U+62BB,U+62CB,U+62D7,U+62DA,U+62EE,U+62F0,U+6308,U+6313,U+6332,U+6339,U+633F,U+634B,U+635C,U+6368,U+636D,U+6370-6372,U+637A,U+6383,U+6391,U+639B,U+63A1,U+63AC,U+63AE,U+63B0,U+63B2,U+63B4,U+63BC,U+63C4,U+63C6,U+63DA-63DB,U+63E0,U+63EE,U+63F6,U+63F8,U+63FA,U+640D,U+6416,U+6421,U+6427,U+6434-6436,U+643E,U+6441,U+6452,U+645E,U+647A,U+6483,U+6490,U+64A5,U+64AB,U+64B2-64B4,U+64B7-64B8,U+64BA-64BB,U+64C0-64C1,U+64CA-64CB,U+64D4,U+64D8,U+64DA,U+64E0,U+64E2,U+64E4,U+64EC,U+64F4,U+64FA,U+64FC,U+64FE,U+651C-651E,U+6523-6525,U+6538,U+6553,U+6555,U+6557-6558,U+6564,U+6575,U+6578,U+6581-6582,U+6589,U+658E,U+6590,U+6593,U+659B,U+65AB-65AC,U+65B7,U+65BC,U+65BF,U+65C2-65C3,U+65CC,U+65CE,U+65D6,U+65EE-65EF,U+65F3,U+65F8,U+65FB-65FC,U+6600,U+6607,U+6609-660A,U+6615,U+6619,U+661D,U+6630-6631,U+6634-6636,U+6641-6642,U+6649,U+664F,U+6654,U+6656-6657,U+665E-665F,U+6669,U+6677,U+6680,U+6684,U+6688,U+668C,U+669D,U+66A2-66A3,U+66A7-66A8,U+66AB,U+66B1,U+66B9,U+66BB,U+66C6,U+66C8-66C9,U+66CC,U+66DC,U+66DE,U+66E0-66E1,U+66E6,U+66E9,U+66EC,U+66F8,U+66FD,U+6703,U+6710,U+6715,U+6725-6726,U+6748,U+674C,U+6753,U+675E,U+6769-676A,U+6771-6773,U+6775,U+6777,U+677C,U+6783,U+6787,U+678B,U+6793,U+679E,U+67A5,U+67A7,U+67AD,U+67B0-67B1,U+67B3,U+67B8,U+67CA,U+67D8,U+67DA,U+67DF,U+67E2,U+67E9,U+67F0,U+67FB,U+67FE,U+6800,U+6804,U+6809,U+680C,U+680E,U+681E,U+6822,U+6827-6829,U+682D,U+683E,U+6840-6841,U+6849,U+684E,U+6855-6856,U+685C,U+6860-6862,U+6866-6867,U+6877,U+687F,U+688F,U+6893,U+689D,U+68B1,U+68B5-68B6,U+68C2,U+68C4,U+68DF,U+68E3,U+68EC,U+68F0,U+68F2,U+68F4,U+68F9,U+68FF,U+6901-6902,U+6908,U+690B,U+691C,U+6924,U+6934,U+6939,U+693E,U+6940,U+6942,U+694A,U+6953,U+695D,U+6960,U+6963,U+6966,U+696B,U+696D-696E,U+6975,U+6978-6979,U+697D,U+6984,U+6988-698A,U+698E,U+6995,U+699B,U+69A7,U+69AB,U+69AD-69AE,U+69BB,U+69C1,U+69C3,U+69CA-69CE,U+69D1,U+69D8,U+69DF,U+69ED,U+69F2,U+69F8,U+69FB,U+69FF,U+6A02,U+6A0B,U+6A11,U+6A13,U+6A18-6A19,U+6A23,U+6A28-6A29,U+6A2F,U+6A35,U+6A38-6A3E,U+6A44,U+6A4B,U+6A58,U+6A5F,U+6A6B,U+6A79,U+6A7C,U+6A7E,U+6A8E,U+6A90,U+6A94,U+6A97,U+6AA2,U+6AA9,U+6AAB,U+6AAF,U+6AB3,U+6AB8,U+6AC3,U+6AFB,U+6B04,U+6B0A,U+6B0F-6B10,U+6B12,U+6B38,U+6B46,U+6B50,U+6B59,U+6B61,U+6B69,U+6B72-6B74,U+6B77-6B78,U+6B81,U+6B84,U+6B87,U+6B91-6B93,U+6B98,U+6B9A,U+6BA1,U+6BBA,U+6BBC,U+6BC0,U+6BC2,U+6BCE,U+6BD3,U+6BFD,U+6C10,U+6C17-6C19,U+6C21,U+6C23-6C24,U+6C29-6C2D,U+6C31-6C33,U+6C35-6C37,U+6C39-6C3A,U+6C3D-6C3E,U+6C46,U+6C4A,U+6C5A,U+6C5C,U+6C68-6C69,U+6C74,U+6C76,U+6C7A,U+6C84-6C86,U+6C8C,U+6C90,U+6C92-6C93,U+6C96,U+6CA2-6CA3,U+6CA9,U+6CAD,U+6CB1,U+6CC1,U+6CD3-6CD4,U+6CD7,U+6CE0,U+6CEB,U+6CEE-6CEF,U+6CF1,U+6CF7-6CF8,U+6CFA,U+6CFE,U+6D04,U+6D0C,U+6D19,U+6D27,U+6D29,U+6D2E,U+6D35,U+6D38-6D3A,U+6D3F,U+6D43-6D44,U+6D48-6D49,U+6D50,U+6D52,U+6D54,U+6D57-6D58,U+6D5C,U+6D60,U+6D63,U+6D6F,U+6D7C,U+6D93-6D94,U+6D98-6D99,U+6D9E,U+6DA0,U+6DAE,U+6DBC,U+6DBF,U+6DC5,U+6DC7,U+6DD9-6DDA,U+6DDD-6DDE,U+6DE6,U+6DE8-6DE9,U+6DF5,U+6DF8,U+6DFA,U+6DFC,U+6E08-6E09,U+6E0B-6E0C,U+6E0E,U+6E11,U+6E1A-6E1B,U+6E25,U+6E2C,U+6E36,U+6E39,U+6E41,U+6E44-6E45,U+6E49-6E4A,U+6E4E,U+6E51,U+6E5F,U+6E61,U+6E67,U+6E6A-6E6B,U+6E6E-6E6F,U+6E74,U+6E80,U+6E86,U+6E8F,U+6E96,U+6E9D,U+6E9F,U+6EA5,U+6EA7,U+6EAB,U+6EB1,U+6EB4,U+6EBC,U+6EC0,U+6EC2-6EC6,U+6ED5,U+6ED8-6ED9,U+6EDB,U+6EDD,U+6EDF,U+6EE2,U+6EFE-6EFF,U+6F01,U+6F09,U+6F15,U+6F22,U+6F29,U+6F2F,U+6F32,U+6F38,U+6F3F,U+6F43,U+6F47-6F48,U+6F4B,U+6F51,U+6F54,U+6F5B,U+6F5F,U+6F62,U+6F64,U+6F70,U+6F74,U+6F78,U+6F7A,U+6F7C,U+6F80,U+6F8D,U+6FA4,U+6FA7,U+6FAA,U+6FB6,U+6FB9,U+6FC1-6FC3,U+6FC6-6FC7,U+6FC9,U+6FCB,U+6FD1,U+6FD5,U+6FDB,U+6FDE-6FE1,U+6FE4,U+6FEB,U+6FEE-6FEF,U+6FF1,U+6FFE,U+700F,U+701A-701B,U+7028,U+702C,U+7035,U+7039,U+704F,U+7058,U+705E,U+7063,U+706C,U+707D,U+7080,U+7085-7086,U+7096,U+709C-709D,U+70A9,U+70AB,U+70B2,U+70B7,U+70BA,U+70CA,U+70CF,U+70DC,U+70E8,U+7113,U+7116-7118,U+711C,U+7121,U+712F,U+7131,U+713C,U+7144-7145,U+7149-714A,U+7159,U+715C,U+7166,U+7168-7169,U+7172,U+7178,U+7198,U+71A0,U+71A8,U+71B1,U+71B5,U+71B7-71BB,U+71C8,U+71CA,U+71D2,U+71DA,U+71DF,U+71E6-71E7,U+71EE,U+7210,U+721B,U+7228,U+722D,U+7230,U+7232,U+723A-723B,U+723E,U+7246,U+724D,U+7252,U+725D,U+7260,U+7266,U+726F,U+727D,U+7284,U+7287,U+728D,U+7292,U+729F,U+72B2-72B3,U+72B5,U+72B7-72B8,U+72C0,U+72CD-72CE,U+72D2,U+72E9,U+72F2,U+72F7,U+7301,U+730A,U+7315,U+7317,U+731D-731E,U+7325,U+732C,U+7336-7337,U+7344-7345,U+734E,U+7350,U+7352,U+7357,U+7360,U+7363,U+7368,U+7372,U+7375,U+7378,U+737B,U+737E,U+738F,U+7391,U+739F,U+73A5-73A7,U+73AE,U+73B3,U+73B7,U+73B9-73BA,U+73C2,U+73C5,U+73C8-73C9,U+73CF,U+73D1,U+73D9,U+73DE,U+73E3,U+73E5,U+73E9-73EA,U+73EE-73EF,U+73F2,U+73FA,U+73FE,U+7407,U+740A,U+740D,U+740F,U+741A-741B,U+7424,U+7426,U+7428,U+742A,U+742C,U+742E-7430,U+7440-7441,U+7444,U+744B,U+7455,U+7457,U+7459,U+745B-745C,U+7460,U+7463-7464,U+7469-746A,U+746D,U+7477,U+747E,U+7480-7481,U+7487,U+748B,U+748E,U+7490,U+7498,U+749C,U+749E-74A0,U+74A7-74A9,U+74B0,U+74BA,U+74CA,U+74D2,U+74D9,U+74E0,U+74EF,U+74F4,U+7511,U+7519,U+7522-7523,U+7526,U+752A,U+752C,U+752F,U+753A,U+753E,U+7540,U+7548,U+754A,U+7551,U+7562,U+7568,U+756B-756C,U+7570,U+7572,U+7576,U+7579,U+757E-757F,U+7583,U+758A,U+7594,U+7596,U+759D,U+75A3,U+75B1,U+75B3-75B4,U+75B8,U+75C2,U+75CD,U+75D9,U+75E3-75E4,U+75E7-75E8,U+75EB,U+75F1,U+75FC,U+75FF-7600,U+7606,U+760A-760B,U+7611,U+7618-7619,U+7620-7622,U+763D-7640,U+7642,U+7652,U+7654,U+7656,U+765C,U+765E,U+7661-7662,U+766B,U+767A,U+767C,U+7688,U+768E,U+7693,U+7699,U+76AF,U+76B2,U+76B4,U+76C3,U+76DC,U+76E1,U+76E3-76E5,U+76E7,U+76F1,U+76F9,U+7708,U+770C,U+7719,U+771E,U+7726,U+7738,U+773E,U+7747,U+7750-7751,U+775A,U+7762,U+7765,U+7768,U+777D-777F,U+778B-778C,U+7791,U+779F-77A0,U+77AD,U+77B0,U+77BF,U+77CD,U+77DC,U+77EC,U+77F6,U+77F8,U+7800,U+7817,U+781C-781D,U+7823,U+7825,U+782D,U+7832,U+783A-783C,U+784C,U+7850,U+7856,U+785A,U+7881,U+7887,U+7893,U+789A-789C,U+78A3,U+78A9,U+78BA,U+78BC,U+78E1,U+78EC,U+78EF,U+78F2,U+78F4,U+790E,U+7919,U+7926,U+7934,U+7940,U+7942,U+7947,U+7949,U+794E,U+7950,U+7955,U+7957,U+7959-795C,U+7960,U+7962,U+796F,U+797A,U+797C,U+7980,U+7985,U+798D,U+799B,U+79A6-79A7,U+79AA,U+79AE,U+79B3,U+79BA,U+79E3,U+79ED,U+7A05,U+7A14,U+7A1E,U+7A23,U+7A25,U+7A2E,U+7A31-7A32,U+7A37,U+7A39,U+7A40,U+7A42,U+7A4D-7A4E,U+7A62,U+7A69,U+7A70,U+7A79,U+7A88,U+7A93,U+7A95,U+7AA0,U+7AA6,U+7AA8-7AA9,U+7AAE,U+7ABA,U+7ADC,U+7AF4,U+7AF6-7AF7,U+7AFA,U+7AFD,U+7B02-7B05,U+7B08-7B09,U+7B0F,U+7B15,U+7B19,U+7B1E-7B20,U+7B2A-7B2B,U+7B33,U+7B39,U+7B46,U+7B5A,U+7B5D,U+7B60,U+7B71-7B72,U+7B75,U+7B85,U+7B90,U+7B93,U+7B9C,U+7BA7,U+7BAB-7BAC,U+7BB4,U+7BB8,U+7BC0-7BC1,U+7BC4,U+7BC9,U+7BCC,U+7BD1,U+7BDD,U+7BE0,U+7BE6,U+7BEA,U+7BFC,U+7BFE,U+7C0B-7C0C,U+7C1F,U+7C21,U+7C28,U+7C2A,U+7C2C,U+7C38,U+7C3D,U+7C41,U+7C43,U+7C4C,U+7C60,U+7C64,U+7C7C,U+7C8F,U+7C91,U+7CB2,U+7CB5,U+7CBC-7CBD,U+7CBF,U+7CC1,U+7CC5,U+7CCD,U+7CD7,U+7CF8,U+7D00,U+7D04-7D05,U+7D0B,U+7D0D,U+7D10-7D12,U+7D14,U+7D17-7D1B,U+7D1D,U+7D21,U+7D2C-7D2E,U+7D30,U+7D33,U+7D39,U+7D42,U+7D44,U+7D4C,U+7D50,U+7D55,U+7D61,U+7D66,U+7D71-7D72,U+7D75-7D76,U+7D81,U+7D89,U+7D8B,U+7D8D,U+7D93-7D94,U+7D9A,U+7D9C,U+7DA0,U+7DA6,U+7DAB,U+7DAD,U+7DB1-7DB2,U+7DBA,U+7DBE-7DBF,U+7DCA,U+7DCF,U+7DD1-7DD2,U+7DDA,U+7DE3,U+7DE8-7DE9,U+7DEC,U+7DF4,U+7DFB,U+7E04,U+7E1B,U+7E23,U+7E2B,U+7E2E,U+7E31,U+7E3D-7E3E,U+7E43,U+7E47,U+7E4B,U+7E54,U+7E5E,U+7E69-7E6B,U+7E79,U+7E7C-7E7D,U+7E8C,U+7E8F,U+7E96,U+7EA1,U+7EA3,U+7EA8,U+7EAD-7EAE,U+7EB0,U+7EBE,U+7EC0-7EC2,U+7EC9,U+7ECB-7ECC,U+7ED0,U+7ED4,U+7ED7,U+7EDB,U+7EE0-7EE1,U+7EEB,U+7EEE-7EEF,U+7EF1,U+7EF6,U+7EFA-7EFB,U+7EFE,U+7F01-7F03,U+7F07-7F08,U+7F19,U+7F1B-7F1C,U+7F1F,U+7F22,U+7F24-7F26,U+7F2A,U+7F2C-7F2D,U+7F30-7F31,U+7F36,U+7F42,U+7F44-7F45,U+7F52,U+7F54,U+7F58,U+7F61,U+7F70,U+7F75,U+7F79,U+7F81,U+7F85,U+7F9F,U+7FA3,U+7FA7,U+7FA9,U+7FAF-7FB0,U+7FB2,U+7FB8,U+7FBF-7FC0,U+7FCA,U+7FCE,U+7FD2,U+7FD5,U+7FE1,U+7FE5-7FE6,U+7FE9,U+7FF3,U+7FF9,U+8004,U+8006,U+800B,U+8012,U+8026,U+8037,U+8046,U+8052,U+8056,U+805E,U+8069,U+806F-8070,U+8072,U+8074,U+8077,U+807D,U+807F,U+808F,U+8093,U+809F,U+80B1,U+80B4,U+80BC-80BD,U+80C4,U+80CD,U+80D4,U+80D7,U+80DB,U+80DD,U+80E4-80E5,U+80E7,U+80EA-80EB,U+80ED,U+80F1,U+80F4,U+80FC,U+8105,U+8107-8108,U+810D,U+8114,U+8118,U+812B,U+8132-8133,U+8148,U+814C,U+814E,U+8153,U+8158,U+815A,U+8166-8167,U+8169,U+816B,U+816D,U+8171,U+8173-8174,U+8178,U+817C,U+8188,U+8191,U+819A,U+81A0,U+81A3,U+81A6,U+81A9,U+81BA-81BB,U+81BD,U+81C9-81CA,U+81D8,U+81DF,U+81E5,U+81E7-81E8,U+81EC,U+81FA,U+81FE,U+8202,U+8207-820A,U+820E,U+8210,U+8216,U+821B,U+822B,U+8238,U+823A,U+824B,U+8266,U+826E,U+8276-8279,U+827F,U+8283,U+8288,U+828A,U+828E,U+8297-8299,U+82A1,U+82A8-82AB,U+82AE,U+82B7-82B8,U+82BE,U+82C1,U+82C4,U+82CB-82CC,U+82CE,U+82D2-82D3,U+82D5,U+82DC,U+82E1,U+82E3,U+82F4,U+82F7,U+82FB,U+82FE,U+8306,U+8308-8309,U+830C,U+830F,U+8314-8315,U+8317,U+831B-831C,U+832D,U+832F,U+8331-8332,U+8334,U+833C,U+8343,U+8347,U+834F,U+835E-8360,U+8365,U+8368,U+836A,U+836D,U+8378,U+837B-837D,U+8385,U+838A,U+8392-8393,U+8396,U+8398,U+839C,U+839E,U+83A0,U+83A8,U+83AA,U+83B3-83B4,U+83BA,U+83BC,U+83C0-83C1,U+83C5,U+83C8,U+83D3-83D4,U+83D6,U+83D8,U+83DF,U+83E1,U+83EF-83F0,U+83F8,U+83FD,U+8401,U+8403,U+840A-840B,U+8418,U+841C,U+8426,U+8429,U+842C,U+8431,U+8438,U+843C,U+8446,U+8449,U+8451,U+845A,U+8469,U+846D,U+8473,U+8476,U+847A,U+848C,U+8490,U+8497,U+849F,U+84A1,U+84AF,U+84B4,U+84B9-84BD,U+84BF,U+84C1,U+84CB,U+84D3,U+84E5-84E6,U+84EE,U+84FC,U+84FF,U+8514,U+8523,U+8535,U+853A-853B,U+8543,U+8548,U+8556,U+8559,U+855E,U+8564,U+8568-8569,U+856D,U+8572,U+857B,U+8585,U+8587,U+858F,U+8599,U+859C,U+85A6,U+85A8-85A9,U+85AB-85AC,U+85AE,U+85B0,U+85B9,U+85C1,U+85CD,U+85D3,U+85DC-85DD,U+85E5,U+85FF,U+8605-8607,U+860B,U+8616,U+862D,U+863C,U+863F,U+8654-8655,U+865B,U+865F,U+8662,U+866C,U+867B,U+8693,U+869D,U+86A3,U+86A7,U+86A9-86AA,U+86AC,U+86AF,U+86B1,U+86B5-86B6,U+86C4,U+86C9,U+86CE-86D0,U+86DE-86DF,U+86E6,U+86ED,U+86F3,U+8703,U+8707-870A,U+870D,U+8713,U+871A,U+8722,U+8725,U+8731,U+8734,U+8737,U+873B,U+873F,U+8748,U+874C,U+8753,U+8759,U+8760,U+8763,U+8766,U+876E,U+8770,U+877C,U+877E,U+8782-8783,U+8788,U+87A2,U+87A8,U+87AD,U+87AF,U+87B3,U+87C0,U+87C6,U+87CB,U+87D1-87D2,U+87E0,U+87F2,U+87FE,U+881B,U+881F,U+8821,U+8839,U+883B,U+8844,U+8846,U+8853,U+885B,U+885D,U+8862,U+8869,U+886E,U+8872,U+887D-887F,U+8882,U+8885,U+8888,U+88A2,U+88A4,U+88AA,U+88C6,U+88CF,U+88D8,U+88DC-88DD,U+88DF,U+88E1,U+88E8,U+88F1,U+88FD-88FE,U+8907,U+8913-8914,U+891A-891B,U+8930,U+8932,U+8934,U+8936,U+8941,U+895E,U+8966,U+896A,U+8972,U+8983,U+898B,U+898F,U+8996,U+899A,U+89A1,U+89A7,U+89AA,U+89B3,U+89BA,U+89BD,U+89C0,U+89CA,U+89CE,U+89D0-89D1,U+89DA,U+89DE,U+89E5,U+89F8,U+8A02,U+8A08,U+8A0A,U+8A0E,U+8A13,U+8A15,U+8A17-8A18,U+8A23,U+8A2A-8A2B,U+8A2D,U+8A31,U+8A33-8A34,U+8A3A-8A3C,U+8A3E,U+8A55,U+8A5E,U+8A60,U+8A62,U+8A66,U+8A69,U+8A71-8A73,U+8A87,U+8A8C-8A8D,U+8A95,U+8A98,U+8A9E,U+8AA0,U+8AA4,U+8AAA,U+8AAC-8AAD,U+8AB0,U+8AB2,U+8ABC,U+8ABF,U+8AC7,U+8ACB,U+8AD2,U+8AD6,U+8ADC,U+8AE7,U+8AEE,U+8AF8,U+8AFE,U+8B00,U+8B02,U+8B07,U+8B0E,U+8B17,U+8B19,U+8B1B,U+8B1D,U+8B20,U+8B39,U+8B49,U+8B58,U+8B5A,U+8B5C,U+8B6F-8B70,U+8B77,U+8B7D,U+8B80,U+8B8A,U+8B93,U+8B9A,U+8BA6-8BA7,U+8BAA,U+8BB4,U+8BB7,U+8BC2-8BC3,U+8BCB,U+8BCF,U+8BD2-8BD3,U+8BD8-8BD9,U+8BDF-8BE0,U+8BE4,U+8BE8-8BE9,U+8BF0,U+8BF3,U+8BF6,U+8BF9,U+8BFF-8C00,U+8C02,U+8C04,U+8C0C,U+8C0F,U+8C11-8C12,U+8C14-8C15,U+8C18-8C19,U+8C1B,U+8C1F,U+8C21,U+8C25,U+8C27,U+8C2A,U+8C2F,U+8C32,U+8C36,U+8C47,U+8C49-8C4A,U+8C4E,U+8C50,U+8C54-8C55,U+8C5A,U+8C6C,U+8C78,U+8C82,U+8C85,U+8C93-8C94,U+8C98,U+8C9D-8C9E,U+8CA0-8CA2,U+8CA7-8CAC,U+8CB4,U+8CB7-8CB8,U+8CBB-8CBC,U+8CBF-8CC0,U+8CC7-8CC8,U+8CCA,U+8CD3,U+8CDB-8CDC,U+8CDE,U+8CE0,U+8CE2-8CE4,U+8CE6,U+8CEA,U+8CEC-8CED,U+8CF4,U+8CFA,U+8CFC-8CFD,U+8D08,U+8D0A,U+8D0F,U+8D32,U+8D3B,U+8D3D,U+8D45,U+8D48-8D49,U+8D53,U+8D5D,U+8D5F,U+8D67,U+8D6D,U+8D73,U+8D84,U+8D95,U+8D99,U+8DA8,U+8DB5,U+8DB8,U+8DBA,U+8DC4,U+8DC6,U+8DCE,U+8DD6-8DD7,U+8DDA-8DDB,U+8DE1,U+8DE4,U+8DF6-8DF7,U+8DF9,U+8DFB,U+8E09,U+8E1D,U+8E2E,U+8E31,U+8E35,U+8E39,U+8E42,U+8E47,U+8E49-8E4A,U+8E51-8E52,U+8E59,U+8E5F,U+8E64,U+8E69,U+8E74,U+8E76,U+8E7C,U+8E8D,U+8E8F,U+8EB6,U+8ECA,U+8ECC-8ECD,U+8ED2,U+8EDF,U+8EE2,U+8EF8,U+8EFD,U+8F03,U+8F09,U+8F14-8F15,U+8F1B,U+8F1D,U+8F29-8F2A,U+8F2F,U+8F38,U+8F49,U+8F5F,U+8F6B,U+8F6D,U+8F71-8F72,U+8F76,U+8F78,U+8F7C,U+8F84,U+8F87,U+8F8B,U+8F8D,U+8F94,U+8F98,U+8FA6,U+8FAD,U+8FAF,U+8FB2,U+8FBA-8FBC,U+8FE4-8FE6,U+8FE8-8FE9,U+8FF3-8FF4,U+9004-9005,U+900B,U+900D,U+9011,U+9019,U+9021,U+9023,U+9026,U+902F,U+9031-9032,U+9035-9036,U+904A-904B,U+904E,U+9050-9052,U+9054-9055,U+9059,U+905B-905C,U+905E,U+9060,U+9062,U+9068-9069,U+9072,U+9074,U+9077-9078,U+907A,U+907C-907D,U+9081-9084,U+9088,U+908A-908B,U+908F,U+9095,U+9097,U+9099,U+909B,U+909D,U+90A1,U+90A8,U+90AC,U+90B0,U+90B3,U+90B8,U+90BA,U+90C3-90C5,U+90C7,U+90CF,U+90D3,U+90D7,U+90DC,U+90DE,U+90E2,U+90E6,U+90EB,U+90EF,U+90F5,U+90F7,U+90FE,U+9104,U+9109,U+911E,U+9120,U+9122,U+9127,U+912D,U+912F-9131,U+9146,U+914A,U+9150,U+9154,U+9162,U+9169,U+916F-9170,U+918C-918D,U+9190,U+919C,U+91A3,U+91AA-91AC,U+91AE,U+91B4,U+91BA,U+91C6,U+91CB,U+91D8,U+91DD,U+91E3,U+921E,U+9225,U+9234,U+9244,U+9280,U+9285-9286,U+9298,U+92AE,U+92B7,U+92C6,U+92D2,U+92EA,U+92FC,U+9304,U+9322,U+9324,U+9326,U+932B,U+932F,U+9332,U+9336,U+933E,U+934A-934B,U+934F-9354,U+9356-935D,U+9365-9367,U+9369,U+9375,U+937E,U+938F,U+9396,U+93AC-93AF,U+93B4-93B8,U+93BA-93BB,U+93BE,U+93C0-93C4,U+93C7-93C9,U+93CB-93CD,U+93D6,U+93E1,U+9410-9411,U+9416-9418,U+941C,U+941E,U+9422-9423,U+9427-942A,U+942E,U+9435,U+9451-9452,U+946B,U+9470-9473,U+9477,U+9479,U+947B,U+947D-947E,U+9485,U+9487,U+948A,U+948F,U+9495,U+9497,U+949B-949C,U+94A3-94A4,U+94AC,U+94AF-94B0,U+94B4,U+94B9-94BA,U+94BC-94BD,U+94BF,U+94C4,U+94C8-94C9,U+94CB-94CE,U+94D0-94D1,U+94D6,U+94DB,U+94DF-94E0,U+94E2,U+94E4,U+94E7-94E9,U+94EE-94EF,U+94F3,U+94F5,U+94FF,U+9502-9503,U+9506,U+9509,U+950F,U+9512,U+9518,U+951B,U+951D,U+951F,U+9522,U+9532,U+9534-9537,U+953A,U+9542,U+9549,U+954C,U+9552-9557,U+955B,U+955D,U+9566-9567,U+956B-956C,U+956F,U+9573,U+9577,U+9580,U+9583,U+9589,U+958B,U+9591-9593,U+95A2-95A4,U+95A8,U+95AB,U+95AD-95AE,U+95B0-95B2,U+95BF-95C0,U+95C2-95C4,U+95C6-95C8,U+95CA,U+95D6,U+95D8,U+95DC,U+95E9,U+95EB,U+95F1,U+95F3,U+95F5,U+95FE,U+9606,U+960A,U+9615-9617,U+9619-961A,U+9621,U+962A,U+9642,U+9649,U+965E-965F,U+9663,U+9670,U+9672-9673,U+9678,U+967A,U+967D,U+9688,U+968A,U+968D-968E,U+9697,U+969B,U+96A0,U+96A3,U+96A8,U+96AA,U+96B0-96B1,U+96B7-96B9,U+96BB-96BD,U+96C9,U+96CE,U+96D1-96D2,U+96D6,U+96D9,U+96DB-96DC,U+96DE,U+96E2-96E3,U+96EB,U+96EF,U+96F2-96F3,U+96FB,U+9701,U+9706,U+9708,U+970A,U+970E-970F,U+9711,U+9727,U+972D,U+9730,U+973E,U+9748,U+9751,U+9753,U+975A,U+975C,U+9765,U+977C,U+9785,U+9791,U+97A3,U+97CB,U+97D3,U+97EA-97EC,U+97FB,U+97FF,U+9801-9803,U+9805-9806,U+9808,U+980C,U+9810-9814,U+9818,U+982B,U+982D,U+9838,U+983B-983C,U+9846,U+984C-984D,U+984F,U+9854,U+9858,U+985E,U+9867,U+986F,U+987C,U+9880,U+9889,U+988C-988D,U+988F,U+9894,U+989A-989B,U+989E,U+98A1-98A2,U+98A6,U+98A8,U+98B1,U+98C4,U+98CF,U+98D2-98D3,U+98D5,U+98D9-98DB,U+98E8,U+98EF,U+98F2,U+98FC-98FE,U+9905,U+990A,U+990C-990D,U+9913,U+9918,U+9928,U+992E,U+9945,U+9951,U+9955,U+9967-9968,U+996A,U+996C,U+9974,U+9977,U+997D,U+9980,U+9984,U+998A,U+998D,U+9990,U+9994-9995,U+9997,U+99A5,U+99A8,U+99AC,U+99AE,U+99B3-99B4,U+99C5,U+99D0,U+99D5,U+99DB,U+99E1,U+99FF,U+9A0E,U+9A12-9A13,U+9A19,U+9A30,U+9A37,U+9A45,U+9A57,U+9A5A,U+9A5F,U+9A77-9A78,U+9A7D,U+9A7F,U+9A81,U+9A85,U+9A88,U+9A8A,U+9A90,U+9A9B-9A9E,U+9AA0,U+9AA2,U+9AA5,U+9AA7,U+9AB0,U+9AB6-9AB7,U+9ABC,U+9AC1-9AC2,U+9AC5,U+9ACB-9ACC,U+9AD2,U+9AD4,U+9AD9,U+9AE6,U+9AEA,U+9AEE-9AEF,U+9AFB,U+9B06,U+9B13,U+9B1F,U+9B23,U+9B25,U+9B27,U+9B31,U+9B3B,U+9B43,U+9B45,U+9B47,U+9B49,U+9B4D,U+9B51,U+9B5A,U+9B5F,U+9B6F,U+9B91,U+9BAE,U+9C7F,U+9C85,U+9C87-9C88,U+9C91,U+9C94,U+9C9B,U+9C9F-9CA0,U+9CA2-9CA3,U+9CA8,U+9CAB,U+9CAD-9CAE,U+9CB1-9CB3,U+9CB5-9CB7,U+9CBD,U+9CC4-9CC5,U+9CCA,U+9CCC-9CCD,U+9CCF-9CD0,U+9CD4-9CD5,U+9CD7,U+9CD9,U+9CDC-9CDD,U+9CDF,U+9CE5,U+9CF3-9CF4,U+9D09,U+9D28,U+9D3B,U+9D5D,U+9D6C,U+9DB4,U+9DF9,U+9E20,U+9E22,U+9E28-9E2C,U+9E2E,U+9E30-9E31,U+9E36-9E37,U+9E3E,U+9E42,U+9E44,U+9E48-9E49,U+9E4C,U+9E51,U+9E55,U+9E57-9E58,U+9E5A,U+9E5C,U+9E5E,U+9E66-9E67,U+9E69,U+9E6B-9E6E,U+9E73,U+9E79,U+9E7D,U+9E82,U+9E8B,U+9E92,U+9E97,U+9E9D,U+9E9F,U+9EA5,U+9EB5,U+9EB8,U+9EBC-9EBE,U+9EC3,U+9EC9,U+9ECF,U+9ED2,U+9EDB-9EE0,U+9EE8,U+9EEF,U+9EFE,U+9F0B,U+9F10,U+9F2C,U+9F39,U+9F3E,U+9F41,U+9F4A-9F4B,U+9F52,U+9F61,U+9F85,U+9F87-9F88,U+9F8A,U+9F8C-9F8D,U+9F98,U+9F9B-9F9C,U+FE30-FE31,U+FE34-FE36,U+FE39,U+FE3D-FE41,U+FE43,U+FE4B-FE4C,U+FE4E-FE52,U+FE55-FE56,U+FE5A,U+FE5D-FE5E,U+FE61,U+FE63-FE65;
}

/* Medium 500 — 1438 字，222 KB */
@font-face {
  font-family: 'SourceHanSerif';
  src: url('/fonts/slices/SourceHanSerifSC-Medium-a.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range: U+20-7E,U+A0-FF,U+2002,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+3000-3003,U+3005-301B,U+301D-301E,U+4E00-4E01,U+4E03,U+4E09-4E0B,U+4E0D-4E0E,U+4E13-4E14,U+4E16,U+4E22,U+4E24-4E25,U+4E2A,U+4E2D,U+4E32,U+4E38,U+4E3A-4E3B,U+4E45,U+4E48-4E49,U+4E4B,U+4E4E,U+4E50,U+4E54,U+4E5F,U+4E66,U+4E71,U+4E86,U+4E8B-4E8C,U+4E8E,U+4E92,U+4E94,U+4E9A-4E9B,U+4EA4,U+4EA7,U+4EAB,U+4EAE,U+4EBA,U+4EC0,U+4EC5,U+4ECA-4ECB,U+4ECD-4ECE,U+4ED6,U+4EE3,U+4EE5,U+4EF6-4EF7,U+4EFB,U+4EFD,U+4F18,U+4F1A,U+4F20,U+4F2A,U+4F38,U+4F3C,U+4F46,U+4F4D-4F4F,U+4F53,U+4F55,U+4F59,U+4F5C,U+4F60,U+4F7F,U+4F8B,U+4F9B,U+4F9D,U+4FA7,U+4FBF,U+4FDD,U+4FE1,U+4FEE,U+500D,U+5019,U+501F,U+503C,U+504F,U+505A,U+505C,U+507F,U+50A8,U+50CF,U+513F,U+5141,U+5143-5145,U+5148-5149,U+514B,U+514D,U+515C,U+5165,U+5168,U+516B-516D,U+5171,U+5173,U+5176-5177,U+517C,U+5185,U+518C-518D,U+5192,U+5199,U+51B2-51B3,U+51B5,U+51B7,U+51BB,U+51C0,U+51C6,U+51CF,U+51D1,U+51E0-51E1,U+51ED,U+51FA-51FB,U+51FD,U+5206-5207,U+5217,U+5219-521B,U+521D,U+5220,U+5224,U+5229,U+522B,U+5230,U+5236-5237,U+523B,U+524D,U+5254,U+5269-526A,U+526F,U+5272,U+529B,U+529F-52A1,U+52A8,U+52AA,U+52BF,U+52FE-52FF,U+5305,U+5316,U+5339-533A,U+5341,U+5343,U+5347-5348,U+534A,U+534F,U+5355,U+535A,U+5360-5361,U+536B,U+5373-5374,U+5378,U+5386,U+5389,U+538B,U+539F,U+53BB,U+53C2,U+53C9-53CD,U+53D1,U+53D6-53D8,U+53E0,U+53E3,U+53E5-53E6,U+53EA,U+53EF-53F0,U+53F2-53F3,U+53F7,U+5403-5404,U+5408,U+540C-540E,U+5411,U+5426,U+542B-542C,U+542F,U+5438,U+5446,U+544A,U+5458,U+5468,U+547C-547D,U+548C,U+54C1,U+54C8,U+54CD,U+54EA,U+5524,U+552F,U+5546,U+5565,U+5582,U+5668,U+566A,U+56CA,U+56DB,U+56DE,U+56E0,U+56E2,U+56F4,U+56FA,U+56FD-56FE,U+5706,U+570B,U+5728,U+5730,U+573A,U+5740,U+5747,U+574F-5750,U+5757,U+5768,U+5782,U+578B,U+57AB,U+57DF,U+57FA,U+584C,U+5854,U+585E,U+586B,U+5883,U+589E,U+58A8,U+58C1,U+58EB,U+58F0,U+58F3,U+5904,U+5907,U+590D,U+5916,U+591A,U+591C,U+591F,U+5927,U+5929-592A,U+5931,U+5934,U+5939,U+5948,U+594F,U+5954,U+5957,U+5962,U+5976,U+597D,U+5982,U+59CB,U+59D4,U+5A31,U+5A92,U+5B50,U+5B57-5B58,U+5B64,U+5B66,U+5B83,U+5B88-5B89,U+5B8B-5B8C,U+5B97-5B98,U+5B9A,U+5B9E,U+5BA2,U+5BB3,U+5BB9,U+5BBD,U+5BBF,U+5BC6,U+5BF8-5BF9,U+5BFB-5BFC,U+5C01,U+5C04,U+5C06,U+5C0A,U+5C0F,U+5C11,U+5C14,U+5C1A,U+5C1D,U+5C31,U+5C3A,U+5C3D-5C3E,U+5C40,U+5C42,U+5C45,U+5C4F,U+5C55,U+5C5E,U+5C65,U+5C71,U+5D4C,U+5DE5-5DE6,U+5DEE,U+5DF1-5DF2,U+5DF4,U+5E03,U+5E0C,U+5E26-5E27,U+5E2D-5E2E,U+5E38,U+5E42,U+5E45,U+5E55,U+5E72-5E74,U+5E76,U+5E78,U+5E8A,U+5E8F,U+5E93-5E95,U+5E97,U+5E9F,U+5EA6,U+5EF6,U+5EFA,U+5F00,U+5F02-5F03,U+5F0F,U+5F15,U+5F1F-5F20,U+5F31,U+5F39-5F3A,U+5F52-5F53,U+5F55,U+5F62,U+5F69,U+5F71,U+5F7B,U+5F80,U+5F84-5F85,U+5F88,U+5F8B,U+5F97,U+5FAA,U+5FAE,U+5FC3,U+5FC5-5FC6,U+5FEB,U+5FFD,U+6001,U+601D,U+6027,U+603B,U+6052,U+6062,U+606F,U+60AC,U+60C5,U+60EF,U+60F3,U+610F,U+611F,U+6123,U+613F,U+6162,U+61C2,U+61D2,U+6210,U+6216,U+622A,U+6233,U+6237,U+6240-6241,U+624B,U+624D,U+6253,U+6258,U+6267,U+6269,U+6270,U+6279,U+627E-627F,U+628A,U+6295-6298,U+629B,U+62A2,U+62A4-62A5,U+62AC,U+62B5,U+62B9,U+62BD,U+62C5-62C6,U+62C9,U+62CD,U+62D2,U+62D6,U+62DF,U+62E2-62E3,U+62E6,U+62E9,U+62EC,U+62F7,U+62FC-62FD,U+62FF,U+6301-6302,U+6307,U+6309,U+6311,U+6321,U+6324,U+632A,U+6355,U+635F,U+6362,U+6367,U+636E,U+6377,U+6388-6389,U+638F-6390,U+6392,U+63A2,U+63A5,U+63A7-63A8,U+63CF-63D0,U+63D2,U+63ED,U+641C,U+642C,U+6446,U+6458,U+6491,U+64A4,U+64AD,U+64C7,U+64CD-64CE,U+652F,U+6536,U+6539,U+653E,U+6545,U+6548,U+654F,U+655B,U+6570,U+6574,U+6587,U+65A5,U+65AD,U+65AF-65B0,U+65B9,U+65C1,U+65CF,U+65E0,U+65E2,U+65E5-65E7,U+65E9,U+65F6,U+660E,U+6613,U+661F-6620,U+6628,U+662F,U+663E,U+665A,U+666E-6670,U+6674,U+6682,U+6690,U+6696-6697,U+66B4,U+66F2,U+66F4,U+66FF-6700,U+6708-6709,U+670B,U+670D,U+6714,U+671B,U+671D,U+671F,U+672A-672C,U+673A,U+6743,U+674E,U+675F,U+6761,U+6765,U+677E-677F,U+6781,U+6784,U+6790,U+679A,U+679C,U+67B6,U+67D0,U+67D3-67D4,U+67E5,U+6807,U+680F,U+6811,U+6821,U+6837-6839,U+683C,U+6846,U+6848,U+684C,U+6863,U+6865,U+6876,U+68C0,U+68D5,U+68F5,U+690D,U+69FD,U+6A21,U+6A2A,U+6A59,U+6B21-6B22,U+6B3E,U+6B49,U+6B62-6B65,U+6B7B,U+6B8A-6B8B,U+6BB5,U+6BC1,U+6BCD,U+6BCF,U+6BD4-6BD5,U+6BDB,U+6C14,U+6C34,U+6C38,U+6C42,U+6C60-6C61,U+6C89,U+6C99,U+6CA1,U+6CB9,U+6CBF,U+6CD5,U+6CE2,U+6CE8,U+6D01,U+6D3B,U+6D41,U+6D45,U+6D4B,U+6D4F,U+6D53,U+6D6A,U+6D6E,U+6D77-6D78,U+6D88-6D89,U+6D9F,U+6DA8,U+6DE1,U+6DF1,U+6DF7,U+6DFB,U+6E05,U+6E10,U+6E21,U+6E29,U+6E32,U+6E38,U+6E43,U+6E90,U+6EA2,U+6ED1,U+6EDA,U+6EE1,U+6EE4,U+6F0F,U+6F2A-6F2B,U+6F8E,U+6FC0,U+7070,U+7075,U+70B9,U+70C1,U+70C8,U+70ED,U+7126,U+7136,U+7167,U+7206,U+7231,U+7236,U+7247-7248,U+724C,U+7269,U+7279,U+72B6,U+72E0,U+72EC,U+7387,U+73AB,U+73AF-73B0,U+73BB,U+73C0,U+7403,U+7406,U+7425,U+7470,U+7483,U+751F,U+7528,U+7531,U+7533,U+7535,U+753B,U+7545,U+754C,U+7559,U+7565,U+7591,U+767D-767E,U+7684,U+7686,U+76CA,U+76D1-76D2,U+76D6,U+76D8,U+76DB,U+76EE,U+76F4,U+76F8,U+7701,U+770B,U+771F,U+773C,U+7740,U+77AC,U+77E5,U+77E9,U+77ED-77EE,U+7801,U+780D,U+7814,U+7834,U+7840,U+786C,U+786E,U+788D,U+78B0,U+78C1,U+78E8,U+793A,U+793E,U+7956,U+7981,U+798F,U+79BB,U+79C1,U+79CD,U+79D2,U+79D8,U+79EF-79F0,U+79FB,U+7A0B,U+7A0D,U+7A33,U+7A7A,U+7A7F,U+7A81,U+7A84,U+7A97,U+7ACB,U+7AD6,U+7AD9,U+7AE0,U+7AEF,U+7B11,U+7B14,U+7B26,U+7B2C,U+7B49,U+7B56,U+7B5B,U+7B7E,U+7B80,U+7B97,U+7BA1,U+7BAD,U+7C27,U+7C73,U+7C7B,U+7C92,U+7C97-7C98,U+7CBE,U+7CCA,U+7CFB,U+7D20,U+7D22,U+7D27,U+7D2B,U+7EA2,U+7EA6-7EA7,U+7EAF,U+7EB3,U+7EB5,U+7EB8,U+7EBF,U+7EC4,U+7EC6,U+7EC8,U+7ECD,U+7ECF,U+7ED1,U+7ED3,U+7ED5,U+7ED8-7ED9,U+7EDC-7EDD,U+7EDF,U+7EE7,U+7EEA,U+7EED,U+7EF4,U+7EFF-7F00,U+7F13,U+7F16,U+7F18,U+7F1D,U+7F29,U+7F3A,U+7F51,U+7F69,U+7F6E,U+7F72,U+7F8E,U+7FFB,U+8001,U+8003,U+8005,U+800C,U+804C,U+8054,U+805A,U+8089,U+80CC,U+80DC,U+80F6,U+80FD,U+810F,U+811A,U+8131,U+817E,U+81EA,U+81F3-81F4,U+820D,U+821E,U+822A,U+8239,U+8272-8273,U+8282,U+82D4,U+82E5,U+82F1,U+8303,U+8340,U+8361,U+8367,U+836F,U+838E,U+83AB,U+83B7,U+83DC,U+843D,U+8499,U+84DD,U+8584,U+85CF,U+8651,U+865A,U+867D,U+884C-884D,U+8861,U+8865,U+8868,U+886C,U+88AB,U+88C1,U+88C5,U+88D5,U+88F8-88F9,U+8981,U+8986,U+89C1-89C2,U+89C4,U+89C6,U+89C8-89C9,U+89D2,U+89E3,U+89E6,U+8A00,U+8BA1-8BA2,U+8BA4,U+8BA9,U+8BAE-8BB0,U+8BB8,U+8BBA,U+8BBE-8BBF,U+8BC1,U+8BC6,U+8BC9,U+8BCD,U+8BD5,U+8BD7,U+8BDD,U+8BE2,U+8BE5-8BE6,U+8BED,U+8BEF,U+8BF4,U+8BF7,U+8BFB,U+8C03,U+8C10,U+8C22,U+8C41,U+8C61,U+8D1D,U+8D1F,U+8D23,U+8D25,U+8D27-8D28,U+8D34,U+8D39,U+8D44,U+8D56,U+8D70,U+8D74,U+8D76-8D77,U+8D85,U+8DB3,U+8DD1,U+8DDD,U+8DDF,U+8DE8,U+8DEC,U+8DEF,U+8DF3,U+8EAB,U+8F66,U+8F68,U+8F6C,U+8F6E,U+8F7B,U+8F7D,U+8F83,U+8F85,U+8F91,U+8F93,U+8FA8,U+8FB9,U+8FBE,U+8FC1,U+8FC7,U+8FCE,U+8FD0-8FD1,U+8FD4,U+8FD8-8FD9,U+8FDB-8FDC,U+8FDE-8FDF,U+8FF0,U+8FF7,U+8FF9,U+8FFD,U+9000-9003,U+9009,U+900F-9010,U+9012,U+9014,U+901A,U+901F-9020,U+9038,U+903B,U+904D,U+9053,U+906E,U+907F,U+90A3,U+90AE,U+90BB,U+90E8,U+90FD,U+914D,U+91C7,U+91CA,U+91CC-91CF,U+91D1,U+9488,U+949F,U+94A9,U+94AE,U+94BB,U+94FA,U+94FE,U+9500-9501,U+9510,U+9519-951A,U+952E,U+955C,U+957F,U+95EA,U+95ED-95EE,U+95F4,U+9605,U+9608,U+961F,U+9631-9632,U+9634-9636,U+963B,U+9644-9645,U+9648,U+964D,U+9650,U+9661,U+9664,U+9669,U+9677,U+968F-9690,U+9694,U+9699,U+969C,U+96BE,U+96C6,U+96E8,U+96F6,U+96FE,U+9700,U+9707,U+9732,U+9752,U+9759,U+975E,U+9760,U+9762,U+97F3,U+9875-9876,U+9879-987B,U+987F,U+9884,U+9891,U+9897-9898,U+989C-989D,U+98CE,U+98D8,U+98DE,U+9970-9971,U+9988,U+9996,U+9A71,U+9A7B,U+9A8C,U+9AA4,U+9AA8,U+9AD8,U+9C9C,U+9ED1,U+9ED8-9ED9,U+9F20,U+9F50,U+9F7F,U+FF01-FF49,U+FF4B-FF59,U+FF5B-FF5E,U+FFE0-FFE1,U+FFE3,U+FFE5;
}

/* Medium 500 — 64 字，12 KB */
@font-face {
  font-family: 'SourceHanSerif';
  src: url('/fonts/slices/SourceHanSerifSC-Medium-b.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range: U+4E07,U+4E1A,U+4E1C,U+4E5D,U+4E60,U+4E89,U+4EAC,U+4EB2,U+4EEC,U+4F17,U+517B,U+519B-519C,U+5212,U+529E,U+52B3,U+5317,U+534E,U+5357,U+5382,U+53BF,U+53C8,U+53EB,U+571F,U+5BB6,U+5E02,U+5E7F,U+5E9C,U+5FD7,U+6211,U+6218,U+6280,U+653F,U+6559,U+6597,U+6599,U+6668,U+672F,U+6797,U+6C11,U+6C5F,U+6CBB,U+6D3E,U+6D4E,U+706B,U+738B,U+77F3,U+77FF,U+79D1,U+7A76,U+7EC7,U+7FA4,U+80B2,U+822C,U+82B1,U+897F,U+8D8A,U+9178,U+94C1,U+95E8,U+9662,U+9886,U+9A6C,U+9F99;
}

/* Medium 500 — 2595 字，494 KB */
@font-face {
  font-family: 'SourceHanSerif';
  src: url('/fonts/slices/SourceHanSerifSC-Medium-c.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range: U+4E08,U+4E11,U+4E18-4E19,U+4E1B,U+4E1D,U+4E27,U+4E2B,U+4E30,U+4E34,U+4E39,U+4E3D-4E3E,U+4E43,U+4E4C-4E4D,U+4E4F,U+4E52-4E53,U+4E56,U+4E58-4E59,U+4E5E,U+4E61,U+4E70,U+4E73,U+4E7E,U+4E88,U+4E8F,U+4E91,U+4E95,U+4EA1-4EA2,U+4EA5-4EA6,U+4EA8-4EA9,U+4EAD,U+4EBF,U+4EC1,U+4EC6-4EC7,U+4ED1,U+4ED3-4ED5,U+4ED7-4ED9,U+4EDF,U+4EE4,U+4EEA,U+4EF0,U+4EF2,U+4EFF,U+4F01,U+4F0A,U+4F0D-4F11,U+4F19,U+4F1E-4F1F,U+4F24,U+4F26,U+4F2F-4F30,U+4F34,U+4F36,U+4F3A,U+4F43,U+4F50-4F51,U+4F5B,U+4F63,U+4F69,U+4F6C,U+4F6F-4F70,U+4F73,U+4F84,U+4F88,U+4F8D,U+4F97,U+4FA0,U+4FA3,U+4FA5-4FA6,U+4FA8-4FA9,U+4FAE-4FAF,U+4FB5,U+4FC3-4FC4,U+4FCA,U+4FCF-4FD0,U+4FD7-4FD8,U+4FDE,U+4FE9,U+4FED,U+4FEF,U+4FF1,U+4FFA,U+5012,U+5014,U+5018,U+501A,U+5021,U+5026,U+502A,U+503A,U+503E,U+5047,U+5065,U+5076-5077,U+5080,U+5085,U+5088,U+508D,U+50A3,U+50AC,U+50B2,U+50BB,U+50DA,U+50E7,U+50F3,U+50F5,U+50FB,U+5112,U+5121,U+5146,U+5151,U+5154,U+515A,U+5162,U+5170,U+5174-5175,U+5178-5179,U+517D,U+5180,U+5188-5189,U+5195,U+5197,U+51A0,U+51A4,U+51AC,U+51AF-51B0,U+51B6,U+51C4,U+51C9,U+51CB-51CC,U+51DB,U+51DD,U+51E4,U+51EF-51F0,U+51F3,U+51F6,U+51F8-51F9,U+51FF-5201,U+5203,U+520A,U+5211,U+5218,U+5228,U+522E,U+5238-523A,U+523D,U+5241-5243,U+524A,U+5250-5251,U+5256,U+5265,U+5267,U+527F,U+5288,U+529D,U+52A3,U+52A9,U+52AB,U+52B1-52B2,U+52C3,U+52C7,U+52C9,U+52CB,U+52D2,U+52D8,U+52DF,U+52E4,U+52FA,U+5300,U+5306,U+5308,U+5319,U+531D,U+5320-5321,U+5323,U+532A,U+533B,U+533F,U+5349,U+5351-5353,U+5356,U+535C,U+535E,U+5362,U+5364,U+5367,U+536F-5371,U+5375,U+5377,U+537F,U+5384-5385,U+538C,U+5395,U+5398,U+539A,U+53A2,U+53A6,U+53A8-53A9,U+53C1,U+53D4,U+53D9,U+53DB,U+53E4,U+53EC-53EE,U+53F6,U+53F8-53F9,U+53FC,U+5401,U+5409-540A,U+540F-5410,U+5413,U+5415,U+5417,U+541B,U+541D-5420,U+5427-5429,U+542D-542E,U+5431,U+5434-5435,U+5439,U+543B-543C,U+543E,U+5440,U+5448,U+5450,U+5455,U+545B-545C,U+5462,U+5473,U+5475,U+5478,U+547B,U+5480,U+5486,U+548B,U+548E-5490,U+5492,U+5495-5496,U+5499,U+54A8,U+54AC,U+54AF,U+54B1,U+54B3,U+54B8,U+54BD,U+54C0,U+54C4,U+54C6-54C7,U+54C9,U+54CE,U+54D1,U+54D7,U+54DF,U+54E5-54E6,U+54E8-54E9,U+54ED-54EE,U+54F2,U+54FA,U+54FC,U+5501,U+5506-5507,U+5509,U+5510,U+552C,U+552E,U+5531,U+553E,U+5543-5544,U+554A,U+5561,U+5564,U+5566,U+556A,U+556E,U+5578,U+557C,U+5580,U+5584,U+5587,U+5589-558A,U+5598,U+559C-559D,U+55A7,U+55B3,U+55B7,U+55BB,U+55C5,U+55D3,U+55DC,U+55E1,U+55E3,U+55FD,U+5609,U+560E,U+5618,U+561B,U+5631-5632,U+5634,U+5636,U+563B,U+563F,U+564E,U+566C,U+5676,U+568E-568F,U+56A3,U+56B7,U+56BC,U+56DA,U+56E4,U+56ED,U+56F0-56F1,U+5703,U+5708,U+5723,U+572D,U+573E,U+574A,U+574D-574E,U+5751,U+575A-575B,U+575D-5761,U+5764,U+5766,U+576A,U+576F,U+5777,U+5783-5784,U+5792,U+579B,U+57A2-57A3,U+57A6,U+57AE,U+57C2-57C3,U+57CB,U+57CE,U+57D4,U+57E0,U+57F9,U+5802,U+5806,U+5811,U+5815,U+5821,U+5824,U+582A,U+5830,U+5835,U+5851,U+5858,U+5885,U+5892-5893,U+5899,U+589F,U+58A9,U+58D5,U+58E4,U+58EC,U+58EE,U+58F6,U+58F9,U+590F,U+5915,U+592B,U+592E-592F,U+5937-5938,U+593A,U+5944,U+5947,U+5949,U+594B,U+594E,U+5951,U+5956,U+5960,U+5965,U+5973-5974,U+5978-5979,U+5984,U+5986-5988,U+598A,U+5992-5993,U+5996,U+5999,U+59A5,U+59A8,U+59AE,U+59B9,U+59BB,U+59C6,U+59D0-59D1,U+59D3,U+59DA,U+59DC,U+59E5,U+59E8,U+59EC,U+59FB,U+59FF,U+5A01,U+5A03-5A04,U+5A07,U+5A18,U+5A1C,U+5A1F-5A20,U+5A25,U+5A29,U+5A36,U+5A46,U+5A49,U+5A5A,U+5A6A,U+5A74,U+5A76,U+5A7F,U+5A9A,U+5AB3,U+5AC1-5AC2,U+5AC9,U+5ACC,U+5AE1,U+5AE9,U+5B54-5B55,U+5B59,U+5B5C-5B5D,U+5B5F,U+5B63,U+5B69-5B6A,U+5B70,U+5B75,U+5B7A,U+5B7D,U+5B81,U+5B85,U+5B87,U+5B8F,U+5B99,U+5B9B-5B9D,U+5BA0-5BA1,U+5BA3-5BA4,U+5BA6,U+5BAA-5BAB,U+5BB0,U+5BB4-5BB5,U+5BBE,U+5BC2,U+5BC4-5BC5,U+5BC7,U+5BCC,U+5BD0,U+5BD2-5BD3,U+5BDD-5BDF,U+5BE1,U+5BE5,U+5BE8,U+5BFA,U+5BFF,U+5C09,U+5C16,U+5C18,U+5C24,U+5C27,U+5C38-5C39,U+5C3C,U+5C3F,U+5C41,U+5C48-5C4B,U+5C4E,U+5C51,U+5C60-5C61,U+5C6F,U+5C79,U+5C7F,U+5C81-5C82,U+5C94,U+5C97,U+5C9B,U+5CA9,U+5CAD,U+5CB3,U+5CB8,U+5CBF,U+5CD9,U+5CE1,U+5CE6,U+5CE8,U+5CEA,U+5CED,U+5CF0,U+5CFB,U+5D07,U+5D0E,U+5D14,U+5D16,U+5D29,U+5D2D,U+5DCD,U+5DDD-5DDE,U+5DE1-5DE2,U+5DE7-5DE9,U+5DEB,U+5DF3,U+5DF7,U+5DFE,U+5E01,U+5E05-5E06,U+5E08,U+5E10,U+5E15-5E16,U+5E18,U+5E1A-5E1D,U+5E3D,U+5E4C,U+5E62,U+5E7B-5E7D,U+5E84,U+5E86-5E87,U+5E90,U+5E99-5E9A,U+5E9E,U+5EA7,U+5EAD,U+5EB6-5EB8,U+5EC9-5ECA,U+5ED3,U+5ED6,U+5EF7,U+5F04,U+5F0A,U+5F13,U+5F17-5F18,U+5F1B,U+5F25-5F27,U+5F2F,U+5F5D,U+5F64,U+5F66,U+5F6A,U+5F6C-5F6D,U+5F70,U+5F79,U+5F7C,U+5F81,U+5F8A,U+5F90,U+5F92,U+5F98,U+5FA1,U+5FB7,U+5FBD,U+5FCC-5FCD,U+5FD8-5FD9,U+5FE0,U+5FE7,U+5FF1,U+5FF5,U+5FFB,U+5FFF-6000,U+6002,U+600E,U+6012,U+6014-6016,U+601C,U+6020,U+6025,U+6028,U+602A,U+602F,U+6043,U+604B,U+604D,U+6050,U+6055,U+6064,U+6068-6069,U+606B-606D,U+6070,U+6073,U+6076,U+607C,U+607F,U+6084,U+6089,U+608D,U+6094,U+609F-60A0,U+60A3,U+60A6,U+60A8,U+60AF,U+60B2,U+60B8,U+60BC,U+60CA-60CB,U+60D1,U+60D5,U+60DC,U+60DF-60E0,U+60E6-60E9,U+60EB,U+60ED-60EE,U+60F0,U+60F6,U+60F9-60FA,U+6101,U+6108-6109,U+611A,U+6124,U+6127,U+6148,U+614C,U+614E,U+6151,U+6155,U+6167-6168,U+6170,U+6177,U+618B,U+618E,U+61A8,U+61BE,U+61C8,U+61CA,U+61E6,U+6208,U+620A,U+620C-620F,U+6212,U+621A,U+622E,U+6234,U+623F,U+6247,U+624E,U+6251-6252,U+6254,U+625B,U+6263,U+6266,U+626B-626F,U+6273,U+6276,U+627C,U+6284,U+6289,U+6291-6293,U+629A,U+62A0-62A1,U+62A8,U+62AB,U+62B1,U+62BC,U+62BF,U+62C2,U+62C4,U+62C7-62C8,U+62CC,U+62CE,U+62D0,U+62D3-62D4,U+62D8-62D9,U+62DB-62DC,U+62E5,U+62E7-62E8,U+62ED,U+62EF,U+62F1,U+62F3-62F4,U+62FE,U+630E,U+6316,U+631A-631B,U+631D-6320,U+6323,U+6325,U+6328,U+632B,U+632F,U+633A,U+633D,U+6342,U+6345-6346,U+6349,U+634C-6350,U+635E,U+6361,U+6363,U+6376,U+637B,U+6380,U+6382,U+6387,U+638C,U+6396,U+6398,U+63A0,U+63A3,U+63A9-63AA,U+63B3,U+63B7-63B8,U+63BA,U+63C9,U+63CD,U+63D6,U+63E1,U+63E3,U+63E9-63EA,U+63F4,U+63FD,U+6400-6402,U+6405,U+640F-6410,U+6413-6414,U+641E,U+642A,U+642D,U+643A,U+643D,U+6444,U+6447-6448,U+644A,U+6454,U+6467,U+6469,U+6478-6479,U+6482,U+6485,U+6487,U+6492,U+6495,U+649E,U+64A9,U+64AC,U+64AE,U+64B0,U+64B5,U+64BC,U+64C2,U+64C5,U+64D2,U+64DE,U+64E6,U+6500,U+6512,U+6518,U+652B,U+653B,U+654C,U+6551,U+6556,U+655D-655E,U+6562-6563,U+6566,U+656C,U+6572,U+6577,U+658B-658C,U+6591,U+659C,U+659F,U+65A1,U+65A4,U+65A7,U+65A9,U+65BD,U+65C5,U+65CB,U+65D7,U+65E8,U+65EC-65ED,U+65F1,U+65F7,U+65FA,U+6602,U+6606,U+660C,U+660F,U+6614,U+6625,U+6627,U+662D,U+663C,U+6643,U+664B-664C,U+6652-6653,U+6655,U+6664,U+6666,U+6676,U+667A,U+667E,U+6687,U+6691,U+66AE,U+66D9,U+66DD,U+66F0,U+66F3,U+66F9,U+66FC,U+66FE,U+6717,U+6728,U+672D,U+6731,U+6734-6735,U+673D,U+6740,U+6742,U+6746,U+6749,U+674F-6751,U+6756,U+675C,U+6760,U+6768,U+676D,U+676F-6770,U+6789,U+6795,U+679D,U+67A2-67A3,U+67AA-67AB,U+67AF,U+67B7,U+67C4,U+67CF,U+67D1-67D2,U+67DC,U+67DE,U+67E0,U+67EC,U+67EF,U+67F1,U+67F3-67F4,U+67FF,U+6805,U+6808,U+680B,U+6813,U+6816-6817,U+682A,U+683D,U+6842-6843,U+6845,U+6850-6851,U+6853-6854,U+6868-6869,U+6881,U+6885-6886,U+6897,U+68A2,U+68A6-68A8,U+68AD,U+68AF-68B0,U+68B3,U+68C9,U+68CB,U+68CD,U+68D2,U+68D8,U+68DA,U+68E0,U+68EE,U+68F1,U+68FA,U+6905,U+690E,U+6912,U+692D,U+6930,U+693D,U+693F,U+6954,U+695A,U+695E,U+6977,U+697C,U+6982,U+6986,U+6994,U+699C,U+69A8,U+69B4,U+69B7,U+69D0,U+69DB,U+6A0A,U+6A1F,U+6A31,U+6A47,U+6A61,U+6A71,U+6A80,U+6A84,U+6AAC,U+6B20,U+6B23,U+6B27,U+6B32,U+6B3A,U+6B47,U+6B4C,U+6B66-6B67,U+6B6A,U+6B79,U+6B7C,U+6B83,U+6B86,U+6B89,U+6B96,U+6BB4,U+6BB7,U+6BBF,U+6BC5,U+6BCB,U+6BD2,U+6BD7,U+6BD9,U+6BE1,U+6BEB,U+6BEF,U+6C0F,U+6C13,U+6C16,U+6C1B,U+6C1F,U+6C22,U+6C26-6C28,U+6C2E-6C30,U+6C40-6C41,U+6C47,U+6C49,U+6C50,U+6C55,U+6C57,U+6C5B,U+6C5D-6C5E,U+6C64,U+6C6A,U+6C70,U+6C72,U+6C79,U+6C7D-6C7E,U+6C81-6C83,U+6C88,U+6C8F,U+6C9B,U+6C9F,U+6CA4-6CA7,U+6CAA-6CAB,U+6CAE,U+6CB3,U+6CB8,U+6CBC-6CBE,U+6CC4-6CC5,U+6CC9-6CCA,U+6CCC,U+6CDB,U+6CDE,U+6CE1,U+6CE3,U+6CE5,U+6CEA,U+6CF0,U+6CF3,U+6CF5,U+6CFB-6CFD,U+6D0B,U+6D12,U+6D17,U+6D1B,U+6D1E,U+6D25,U+6D2A,U+6D31-6D32,U+6D3C-6D3D,U+6D46-6D47,U+6D4A,U+6D51,U+6D59-6D5A,U+6D66,U+6D69,U+6D74,U+6D82,U+6D85,U+6D8C,U+6D8E,U+6D95,U+6D9B,U+6D9D,U+6DA1,U+6DA3-6DA4,U+6DA6-6DA7,U+6DA9-6DAA,U+6DAF,U+6DB2,U+6DB5,U+6DB8,U+6DC0,U+6DC4,U+6DC6,U+6DCB-6DCC,U+6DD1,U+6DD6,U+6DD8,U+6DE4,U+6DEB-6DEC,U+6DEE,U+6DF3,U+6DF9,U+6E0A,U+6E0D,U+6E14,U+6E17,U+6E1D,U+6E20,U+6E23-6E24,U+6E2D,U+6E2F,U+6E34,U+6E3A,U+6E4D,U+6E56,U+6E58,U+6E5B,U+6E7E-6E7F,U+6E83,U+6E85,U+6E89,U+6E9C,U+6EAA,U+6EAF,U+6EB6,U+6EBA,U+6EC1,U+6EC7,U+6ECB,U+6ED3-6ED4,U+6EDE,U+6EE5-6EE6,U+6EE8-6EE9,U+6EF4,U+6F02,U+6F06,U+6F13-6F14,U+6F20,U+6F31,U+6F33,U+6F3E,U+6F4D,U+6F58,U+6F5C,U+6F5E,U+6F66,U+6F6D-6F6E,U+6F84,U+6F88,U+6F9C,U+6FA1,U+6FB3,U+6FD2,U+7011,U+704C,U+706D,U+706F,U+7076,U+7078,U+707C,U+707E-707F,U+7089-708A,U+708E,U+7092,U+7094-7095,U+7099,U+70AC-70AF,U+70B3,U+70B8,U+70BC-70BD,U+70C2-70C3,U+70D8-70D9,U+70DB,U+70DF,U+70E4,U+70E6-70E7,U+70E9,U+70EB-70EC,U+70EF,U+70F7,U+70F9,U+70FD,U+7109-710A,U+7115,U+7119-711A,U+7130,U+714C,U+714E,U+715E,U+7164,U+716E,U+717D,U+7184,U+718A,U+718F,U+7194,U+7199,U+719F,U+71AC,U+71C3,U+71CE,U+71D5,U+71E5,U+722A,U+722C,U+7235,U+7237-7239,U+723D,U+7259,U+725B,U+725F,U+7261-7262,U+7267,U+7272,U+7275,U+727A,U+7280-7281,U+728A,U+72AC,U+72AF,U+72B9,U+72C2,U+72C4,U+72C8,U+72D0,U+72D7,U+72D9,U+72DE,U+72E1,U+72ED-72EE,U+72F0-72F1,U+72F8,U+72FC,U+730E,U+7316,U+731B-731C,U+7329-732B,U+732E,U+7334,U+733E-733F,U+736D,U+7384,U+7389,U+7396,U+739B,U+73A9,U+73B2,U+73CA,U+73CD,U+73D0,U+73E0,U+73ED,U+7405,U+7409,U+7410,U+7422,U+7433-7436,U+743C,U+745A,U+745E-745F,U+7476,U+74DC,U+74E2-74E4,U+74E6,U+74EE,U+74F6-74F7,U+7504,U+7518,U+751A,U+751C,U+7525,U+7529,U+752B,U+752D,U+7530,U+7532,U+7537-7538,U+754F,U+7554,U+755C,U+7566,U+756A,U+7574,U+7578,U+7586,U+758F,U+7597,U+7599-759A,U+759F,U+75A1,U+75A4-75A5,U+75AB,U+75AE-75AF,U+75B2,U+75B5,U+75B9,U+75BC-75BE,U+75C5,U+75C7-75CA,U+75D2,U+75D4-75D5,U+75D8,U+75DB,U+75DE,U+75E2,U+75EA,U+75F0,U+75F4,U+75F9,U+7601,U+761F,U+7624,U+7626,U+7629-762B,U+7634,U+7638,U+764C,U+7663,U+7678,U+767B,U+7682,U+7687,U+768B,U+7691,U+7696,U+76AE,U+76B1,U+76BF,U+76C2,U+76C5-76C6,U+76C8,U+76CE-76D0,U+76D4,U+76D7,U+76DF,U+76EF,U+76F2,U+76FC,U+76FE,U+7709,U+7720,U+7728-7729,U+772F,U+7736-7737,U+773A,U+7741,U+775B,U+7761,U+7763,U+7766,U+776B-776C,U+7779,U+7784-7785,U+778E,U+7792,U+77A5,U+77A7,U+77A9-77AA,U+77B3,U+77BB,U+77D7,U+77DB,U+77E2-77E3,U+77EB,U+77FD-77FE,U+7802,U+780C,U+7812,U+7816,U+781A,U+7827,U+7830,U+7837-7838,U+783E,U+7845,U+7852,U+7855,U+785D,U+786B,U+7877,U+787C,U+7889,U+788C,U+788E,U+7891,U+7897-7898,U+789F,U+78A7,U+78B1,U+78B3-78B4,U+78BE,U+78C5,U+78CA-78CB,U+78D0,U+78D5,U+78F7,U+78FA,U+7901,U+793C,U+7941,U+7948,U+795D-795F,U+7965,U+7968,U+796D,U+7977-7978,U+7984,U+79B9,U+79BD-79BE,U+79C0,U+79C3,U+79C6,U+79C9,U+79CB,U+79DF,U+79E4,U+79E6-79E7,U+79E9,U+79F8,U+79FD,U+7A00,U+7A0E,U+7A17,U+7A1A,U+7A20,U+7A3B-7A3D,U+7A3F,U+7A46,U+7A57,U+7A74,U+7A77,U+7A83,U+7A8D,U+7A91-7A92,U+7A96,U+7A98,U+7A9C-7A9D,U+7A9F,U+7AA5,U+7ABF,U+7ADE-7ADF,U+7AE3,U+7AE5,U+7AED,U+7AF9,U+7AFF,U+7B06,U+7B0B,U+7B1B,U+7B28,U+7B3A,U+7B3C,U+7B4B,U+7B4F-7B52,U+7B54,U+7B77,U+7B79,U+7B8D,U+7B94-7B95,U+7BA9,U+7BB1,U+7BC6-7BC7,U+7BD3,U+7BD9,U+7BE1,U+7BEE,U+7BF1,U+7BF7,U+7C07,U+7C3F,U+7C4D,U+7C7D,U+7C89,U+7C95,U+7C9F,U+7CA4-7CA5,U+7CAA,U+7CAE,U+7CB1,U+7CB3,U+7CB9,U+7CD5-7CD6,U+7CD9,U+7CDC,U+7CDF-7CE0,U+7CEF,U+7D0A,U+7D2F,U+7D6E,U+7E41,U+7E82,U+7EA0,U+7EA4,U+7EAA-7EAC,U+7EB1-7EB2,U+7EB6-7EB7,U+7EB9-7EBA,U+7EBD,U+7EC3,U+7EC5,U+7ECA,U+7ECE,U+7ED2,U+7EDA,U+7EDE,U+7EE2-7EE3,U+7EE5-7EE6,U+7EE9,U+7EF0,U+7EF3,U+7EF5,U+7EF7-7EF8,U+7EFC-7EFD,U+7F04-7F06,U+7F09,U+7F0E,U+7F14-7F15,U+7F1A,U+7F20,U+7F28,U+7F2E,U+7F34,U+7F38,U+7F50,U+7F55,U+7F57,U+7F5A,U+7F62,U+7F6A,U+7F8A,U+7F8C,U+7F94,U+7F9A,U+7F9E,U+7FA1,U+7FB9,U+7FBD,U+7FC1,U+7FC5,U+7FCC,U+7FD4,U+7FD8,U+7FDF-7FE0,U+7FF0-7FF1,U+7FFC,U+8000,U+800D,U+8010,U+8015,U+8017-8019,U+8033,U+8036,U+8038,U+803B,U+803D,U+803F,U+8042,U+804A-804B,U+8058,U+806A,U+8083-8084,U+8086-8087,U+808B-808C,U+8096,U+8098,U+809A-809B,U+809D,U+80A0-80A2,U+80A4-80A5,U+80A9-80AA,U+80AE-80AF,U+80BA,U+80BE-80C1,U+80C3,U+80C6,U+80CE,U+80D6,U+80DA,U+80DE,U+80E1,U+80EF-80F0,U+80F3,U+80F8,U+80FA,U+8102,U+8106,U+8109-810A,U+8110-8111,U+8113,U+8116,U+812F,U+8138,U+813E,U+8146,U+814A-814B,U+8150-8151,U+8154-8155,U+8165,U+816E,U+8170,U+8179-817B,U+817F-8180,U+818A,U+818F,U+8198,U+819B-819D,U+81A8,U+81B3,U+81C0,U+81C2-81C3,U+81C6,U+81E3,U+81ED,U+81FB-81FC,U+8200,U+8205-8206,U+820C,U+8212,U+8214,U+821C,U+821F,U+8230-8231,U+8235-8237,U+8247,U+8258,U+826F-8270,U+827A,U+827E,U+828B,U+828D,U+8292,U+829C-829D,U+82A5-82A6,U+82AC-82AD,U+82AF,U+82B3,U+82B9,U+82BD,U+82C7,U+82CD,U+82CF,U+82D1,U+82D7,U+82DB,U+82DE-82DF,U+82E6,U+82EB,U+82EF,U+82F9,U+8301-8302,U+8304-8305,U+830E,U+8327-8328,U+832B-832C,U+8335-8336,U+8338-8339,U+8346,U+8349,U+8350,U+8352,U+8354,U+835A,U+8363-8364,U+836B,U+8377,U+8386,U+8389,U+83B1-83B2,U+83B9,U+83BD,U+83C7,U+83CA,U+83CC,U+83CF,U+83E0,U+83E9,U+83F1-83F2,U+8404,U+840C-840E,U+841D,U+8424-8425,U+8427-8428,U+8457,U+845B,U+8461,U+8463,U+846B-846C,U+8471,U+8475,U+8482,U+848B,U+849C,U+84B2,U+84B8,U+84C4,U+84C9,U+84D1,U+84D6,U+84DF,U+84EC,U+8511,U+8513,U+8517,U+851A,U+8521,U+852B-852C,U+8537,U+853C-853D,U+8549-854A,U+8574,U+857E,U+859B,U+85AA,U+85AF,U+85C9,U+85D0,U+85D5,U+85E4,U+85E9,U+85FB,U+8611,U+8638,U+864E-8650,U+865E,U+866B,U+8671,U+8679,U+867E,U+8680-8682,U+868A,U+868C,U+8695,U+869C,U+86A4,U+86C0,U+86C6-86C7,U+86CA-86CB,U+86D4,U+86D9,U+86DB,U+86E4,U+86EE,U+86F0,U+86F9,U+86FE,U+8700,U+8702,U+8712,U+8715,U+8717-8718,U+871C,U+8721,U+8747,U+8749,U+874E,U+8757,U+8774,U+8776,U+878D,U+879F,U+87BA,U+87F9,U+8815,U+8822,U+8840,U+8845,U+8854,U+8857,U+8859,U+8863,U+886B,U+8870,U+8877,U+8881,U+8884,U+888B,U+888D,U+8892,U+8896,U+889C,U+88AD,U+88B1,U+88C2,U+88D4,U+88D9,U+88E4,U+88F3-88F4,U+8902,U+8910,U+8912,U+8925,U+892A,U+8944,U+895F,U+89C5,U+8A79,U+8A89-8A8A,U+8A93,U+8B66,U+8B6C,U+8BA3,U+8BA5,U+8BA8,U+8BAB,U+8BAD,U+8BB2-8BB3,U+8BB6,U+8BB9,U+8BBC-8BBD,U+8BC0,U+8BC4-8BC5,U+8BC8,U+8BCA,U+8BCC,U+8BD1,U+8BDA-8BDB,U+8BDE,U+8BE1,U+8BE3,U+8BE7,U+8BEB-8BEC,U+8BF1-8BF2,U+8BF5,U+8BF8,U+8BFA,U+8BFD-8BFE,U+8C01,U+8C05-8C06,U+8C08,U+8C0A-8C0B,U+8C0D-8C0E,U+8C13,U+8C17,U+8C1A,U+8C1C,U+8C23-8C24,U+8C26,U+8C28-8C29,U+8C2C-8C2D,U+8C31,U+8C34,U+8C37,U+8C46,U+8C4C,U+8C62,U+8C6A-8C6B,U+8C79-8C7A,U+8C89,U+8C8C,U+8D1E,U+8D21-8D22,U+8D24,U+8D26,U+8D29-8D31,U+8D35,U+8D37-8D38,U+8D3A,U+8D3C,U+8D3E-8D3F,U+8D41-8D43,U+8D4A-8D4C,U+8D4E-8D50,U+8D54,U+8D58,U+8D5A-8D5B,U+8D5E,U+8D60-8D64,U+8D66,U+8D6B,U+8D75,U+8D81,U+8D8B,U+8D9F,U+8DA3,U+8DB4,U+8DBE,U+8DC3,U+8DCB-8DCC,U+8DEA,U+8DF5,U+8DFA,U+8E0A,U+8E0C,U+8E0F,U+8E1E,U+8E22,U+8E29-8E2A,U+8E44,U+8E48,U+8E4B,U+8E66,U+8E6C-8E6D,U+8E72,U+8E7F,U+8E81,U+8E87,U+8EAC,U+8EAF,U+8EB2,U+8EBA,U+8F67,U+8F69,U+8F6F-8F70,U+8F74,U+8F7F,U+8F86,U+8F88-8F8A,U+8F90,U+8F95-8F97,U+8F99,U+8F9B-8F9C,U+8F9E-8F9F,U+8FA3,U+8FA9,U+8FAB,U+8FB0-8FB1,U+8FBD,U+8FC2,U+8FC4-8FC5,U+8FC8,U+8FDD,U+8FE2,U+8FEA-8FEB,U+8FED,U+8FF8,U+9006,U+900A,U+9017,U+901B,U+901D-901E,U+9022,U+902E,U+903C,U+903E,U+9041-9042,U+9047,U+904F,U+9057,U+9063,U+9065,U+906D,U+9075,U+9080,U+9091,U+9093,U+90A2,U+90A6,U+90AA,U+90AF,U+90B1,U+90B5,U+90B9,U+90C1,U+90CA,U+90CE,U+90D1,U+90DD,U+90E1,U+90E7,U+90ED,U+90F4,U+90F8,U+9102,U+9119,U+9149,U+914B-914C,U+9152,U+9157,U+915A,U+915D-915E,U+9163,U+9165,U+916A,U+916C,U+916E,U+9171,U+9175-9177,U+917F,U+9187,U+9189,U+918B,U+9192,U+919A-919B,U+91C9,U+91DC,U+9274,U+9489,U+948E,U+9492-9493,U+9499,U+949D-949E,U+94A0-94A2,U+94A5-94A8,U+94B1,U+94B3,U+94B5,U+94BE,U+94C0,U+94C2-94C3,U+94C5-94C6,U+94DC-94DD,U+94E1,U+94E3,U+94EC-94ED,U+94F0-94F2,U+94F6,U+94F8,U+9504-9505,U+9508,U+950B-950C,U+9511,U+9517,U+9521,U+9523-9526,U+952D,U+952F-9530,U+9539,U+953B,U+9540-9541,U+9547,U+954A,U+954D,U+9550-9551,U+9563,U+956D,U+9570,U+9576,U+95EF-95F0,U+95F2,U+95F7-95FB,U+95FD,U+9600-9602,U+9609,U+960E,U+9610-9611,U+9614,U+961C,U+962E,U+9633,U+963F-9640,U+9646-9647,U+964B-964C,U+9655,U+965B,U+9668,U+966A,U+9675-9676,U+9685-9686,U+968B,U+9698,U+96A7,U+96B6,U+96C0-96C1,U+96C4-96C5,U+96C7,U+96CC-96CD,U+96CF,U+96D5,U+96EA,U+96F7,U+96F9,U+9704,U+9709,U+970D,U+9713,U+9716,U+971C,U+971E,U+9738-9739,U+9756,U+975B,U+9761,U+9769,U+9773-9774,U+9776,U+978B,U+978D,U+9798,U+97A0,U+97AD,U+97E6-97E7,U+97E9,U+97ED,U+97F5-97F6,U+9877,U+987D-987E,U+9881-9882,U+9885,U+9887-9888,U+988A,U+9890,U+9893,U+9896,U+98A0,U+98A4,U+98A7,U+98DF,U+9910,U+9965,U+996D-996F,U+9972,U+9975-9976,U+997A,U+997C,U+997F,U+9981,U+9985-9986,U+998B,U+998F,U+9992,U+9999,U+9A6D-9A70,U+9A73-9A74,U+9A76,U+9A79,U+9A7C,U+9A7E,U+9A82,U+9A84,U+9A86-9A87,U+9A8B,U+9A8F,U+9A91,U+9A97,U+9A9A,U+9AA1,U+9AB8,U+9AD3,U+9B03,U+9B3C,U+9B41-9B42,U+9B44,U+9B4F,U+9B54,U+9C7C,U+9C81,U+9C8D,U+9CA4,U+9CB8,U+9CC3,U+9CD6,U+9CDE,U+9E1F,U+9E21,U+9E23,U+9E25-9E26,U+9E2D,U+9E2F,U+9E33,U+9E35,U+9E3D,U+9E3F,U+9E43,U+9E45,U+9E4A,U+9E4F,U+9E64,U+9E70,U+9E7F,U+9E93,U+9EA6,U+9EBB,U+9EC4,U+9ECD-9ECE,U+9ED4,U+9F0E,U+9F13,U+9F3B,U+9F84,U+9F8B,U+9F9A,U+9F9F;
}

/* Medium 500 — 3849 字，840 KB */
@font-face {
  font-family: 'SourceHanSerif';
  src: url('/fonts/slices/SourceHanSerifSC-Medium-d.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range: U+152-153,U+2BB,U+300-301,U+304,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+3041-3096,U+3099-30FF,U+3105-312F,U+3220-3224,U+32A3,U+339C-339D,U+33A1,U+4E05,U+4E10,U+4E15,U+4E1E-4E1F,U+4E21,U+4E26,U+4E28,U+4E36-4E37,U+4E3C,U+4E3F,U+4E42,U+4E44,U+4E57,U+4E5C,U+4E69,U+4E82,U+4E85,U+4E8D,U+4E93,U+4E98,U+4E9C,U+4E9E-4E9F,U+4EB3,U+4EB5,U+4EBB,U+4EBE,U+4EC3-4EC4,U+4EDD-4EDE,U+4EE1,U+4EE8,U+4EEE,U+4EF5,U+4F05,U+4F09,U+4F1D,U+4F22,U+4F27,U+4F2B,U+4F2D,U+4F31,U+4F3D,U+4F48,U+4F54,U+4F57-4F58,U+4F5A,U+4F5D-4F5F,U+4F62,U+4F64-4F65,U+4F75-4F7D,U+4F80,U+4F83,U+4F86,U+4F8F,U+4F91,U+4FA1,U+4FAA,U+4FAC,U+4FB6,U+4FC2,U+4FC5,U+4FCE,U+4FD1,U+4FDA,U+4FDF-4FE0,U+4FE3,U+4FE6,U+4FE8,U+4FEA,U+4FEC,U+4FF3,U+4FF6,U+4FF8,U+4FFE,U+5006,U+5009,U+500B-500C,U+500F,U+5011,U+5016,U+501C,U+5024,U+5028-5029,U+502B-502E,U+5036,U+5043,U+5048-5049,U+504C,U+504E,U+5055,U+5072,U+5074-5075,U+5078,U+507B,U+507D,U+5091,U+5098-509D,U+50A2,U+50A5,U+50A9,U+50B3,U+50B5,U+50B7,U+50BE,U+50C5,U+50CD,U+50D5-50D6,U+50ED-50EE,U+50F9,U+50FE,U+5100,U+5104,U+5106,U+510B,U+510F,U+5118,U+511F,U+512A,U+5132,U+5134,U+5140,U+5147,U+514C,U+514E,U+5150,U+5152,U+5156,U+5158,U+5167,U+5169,U+516E,U+5172,U+5186-5187,U+518A,U+51A2,U+51A5,U+51A7-51AB,U+51B4,U+51BC-51BD,U+51C7,U+51CD,U+51DC,U+51E6,U+51EA-51EB,U+51F1,U+51FC,U+5202,U+5208,U+520D-520E,U+5225,U+522A,U+5247,U+524C,U+524E,U+525B-525C,U+5263,U+5275,U+527D,U+5283,U+5287,U+5289,U+528D,U+5291,U+52AD,U+52B5,U+52B9,U+52BC,U+52BE,U+52C1,U+52D0,U+52D5-52D6,U+52D9,U+52DD-52DE,U+52E2,U+52EB-52F0,U+52F3,U+52F5,U+530D,U+530F-5310,U+5315,U+532E-532F,U+533E,U+5340,U+5345,U+534D,U+5350,U+5354,U+5358,U+535F,U+5366,U+5369,U+537B,U+538D,U+539D,U+53A5,U+53AD-53AE,U+53B2,U+53B6,U+53C3,U+53C6,U+53CE-53CF,U+53D2,U+53D5,U+53DF,U+53E1-53E2,U+53E7-53E9,U+53F1,U+53F5,U+53FB,U+53FD,U+5406,U+540B,U+5412,U+5414,U+5416,U+5421,U+5425,U+5432-5433,U+5436,U+543D,U+5442-5443,U+544B,U+544E,U+5453,U+5457,U+5464,U+5466,U+546D-5472,U+5477,U+5481-5482,U+5484,U+5494,U+5497-5498,U+549A-549B,U+54A3-54A4,U+54A6-54A7,U+54A9-54AB,U+54AD,U+54B2,U+54BB,U+54BF,U+54C2,U+54CB-54CC,U+54CF-54D0,U+54D2,U+54D4,U+54DA,U+54DD-54DE,U+54E1,U+54E7,U+54FD,U+5504,U+550F,U+5511,U+5514,U+551B,U+5520,U+5522,U+5527,U+5530,U+5533-5535,U+5537-5538,U+5541,U+5549,U+554F,U+5553,U+5555-5556,U+555C,U+555F,U+5567,U+556B-556D,U+5570-5572,U+5575-5577,U+557B,U+557E,U+5583,U+5586,U+558B,U+558F,U+5591,U+5594,U+5599-559A,U+559F,U+55AA-55AC,U+55AE,U+55B0-55B2,U+55B5-55B6,U+55B9-55BA,U+55BD,U+55CE,U+55D1-55D2,U+55D4-55DB,U+55DD,U+55DF,U+55E4,U+55E6,U+55E8,U+55EA,U+55ED-55F0,U+55F2-55F3,U+55F7,U+5600,U+5605-5606,U+5608,U+560C,U+5617,U+561A,U+561E-561F,U+5622-5624,U+5627,U+562C-562D,U+5639,U+5641,U+564C,U+564F,U+5654,U+5657-565A,U+565C,U+5662,U+5664,U+5669,U+566B,U+5671,U+5674,U+5678-5679,U+567B-567C,U+5687,U+5690,U+5693,U+569F,U+56AE-56AF,U+56B4,U+56C9,U+56CD,U+56D4,U+56D7,U+56DD,U+56DF,U+56E1,U+56E3,U+56E7-56E9,U+56EB,U+56EF,U+56F2-56F3,U+56F5,U+56F9,U+56FF,U+5704,U+570D,U+5712-5713,U+5716,U+5718,U+571C,U+5727,U+5729-572A,U+5733,U+573B,U+5742,U+5749,U+5769,U+576B,U+576D,U+5773,U+577B,U+5785,U+578E,U+5793,U+579A,U+579F-57A1,U+57A9,U+57AD,U+57B5,U+57C7,U+57CC,U+57D5,U+57D7,U+57D9-57DA,U+57ED,U+57F5,U+57F7-57F8,U+57FC,U+5800,U+5803,U+5805,U+5807,U+581D,U+581F,U+5831,U+5834,U+583A,U+584A,U+584D,U+5857,U+585A,U+5869,U+586C,U+5875,U+587E,U+5889-588A,U+5896-5897,U+589C,U+58A0,U+58A6,U+58AE,U+58C5,U+58C7,U+58CA,U+58D1,U+58D3,U+58DE,U+58EF,U+58F2,U+58FA,U+58FD,U+5909-590C,U+590E,U+5910,U+5914,U+5919,U+5920,U+5922,U+5925,U+592D,U+5932,U+593E,U+5942,U+5955,U+5958,U+595A,U+5967,U+596A,U+596D-596E,U+5977,U+5983,U+598D,U+5997,U+599D-599E,U+59A3-59A4,U+59A9-59AB,U+59AF,U+59B2-59B3,U+59BA,U+59BE,U+59C9-59CA,U+59D2,U+59D7-59D8,U+59DD-59DF,U+59E3-59E4,U+59E6-59E7,U+59E9-59EB,U+59F9,U+5A05-5A06,U+5A08-5A09,U+5A0C,U+5A11,U+5A13,U+5A1B,U+5A23,U+5A32,U+5A34,U+5A3C,U+5A40-5A43,U+5A4A,U+5A50,U+5A55,U+5A62,U+5A66-5A67,U+5A73,U+5A75,U+5A77,U+5A7A,U+5A9B,U+5A9E,U+5AB2,U+5AB8,U+5ABA,U+5ABD-5ABE,U+5AD2,U+5AD4,U+5AD6,U+5ADA,U+5AE3,U+5AE6,U+5AF0,U+5B05,U+5B09,U+5B0C,U+5B17,U+5B1B,U+5B22,U+5B29-5B2D,U+5B30,U+5B32,U+5B34,U+5B37,U+5B3F-5B40,U+5B51,U+5B53,U+5B56,U+5B5A-5B5B,U+5B62,U+5B6B-5B6C,U+5B71,U+5B73,U+5B78,U+5B80,U+5B93,U+5B95,U+5B9F,U+5BA5,U+5BAC,U+5BAE,U+5BB8,U+5BD4,U+5BE4,U+5BE6-5BE7,U+5BE9,U+5BEB-5BEC,U+5BEE,U+5BF0,U+5BF3,U+5BF5-5BF6,U+5BFE,U+5C02,U+5C07-5C08,U+5C0B,U+5C0D-5C0E,U+5C10,U+5C13,U+5C15,U+5C1B,U+5C2C,U+5C2F,U+5C34,U+5C3B,U+5C44,U+5C46,U+5C4C-5C4D,U+5C50,U+5C64,U+5C6C,U+5C7C-5C7E,U+5C80,U+5C83-5C84,U+5C8C,U+5C90-5C91,U+5C96,U+5C98-5C9A,U+5CA1-5CA2,U+5CAB-5CAC,U+5CB1,U+5CB7,U+5CC1,U+5CC4,U+5CC7,U+5CCB,U+5CD2,U+5CE4-5CE5,U+5CEF,U+5CF6,U+5CFD,U+5D02-5D03,U+5D06,U+5D11,U+5D17,U+5D1B,U+5D27,U+5D2E,U+5D34,U+5D3D,U+5D47,U+5D4A-5D4B,U+5D4E,U+5D50,U+5D58,U+5D5B,U+5D69,U+5D6C,U+5D6F,U+5D74,U+5D82,U+5D84-5D88,U+5D8B,U+5D99,U+5DB7,U+5DBA,U+5DBD,U+5DC5,U+5DEF,U+5DFB,U+5DFD,U+5DFF,U+5E0F,U+5E14,U+5E25,U+5E2B,U+5E2F-5E30,U+5E33,U+5E36-5E37,U+5E3C,U+5E44,U+5E54,U+5E61,U+5E63,U+5E6B,U+5E79-5E7A,U+5E7E,U+5E83,U+5E91,U+5E96,U+5E9D,U+5EA0-5EA3,U+5EAB,U+5EB5,U+5EB9,U+5EBE,U+5EC1,U+5EC8,U+5ECB,U+5EDA,U+5EDF-5EE0,U+5EE2-5EE3,U+5EEA,U+5EF3,U+5EFF,U+5F01,U+5F08,U+5F0B,U+5F11,U+5F22,U+5F29,U+5F2D,U+5F35,U+5F37,U+5F3C,U+5F3E,U+5F40,U+5F42,U+5F48,U+5F4C,U+5F4E,U+5F57-5F59,U+5F61,U+5F65,U+5F67,U+5F73,U+5F77,U+5F7F,U+5F83,U+5F87,U+5F89,U+5F8C,U+5F91,U+5F93,U+5F95,U+5F99,U+5F9C,U+5F9E,U+5FA8-5FA9,U+5FAD,U+5FB3,U+5FB5,U+5FB9,U+5FC4,U+5FCF-5FD4,U+5FD6,U+5FDA,U+5FDC-5FDD,U+5FE1,U+5FE4,U+5FEA,U+5FFE,U+6004-6006,U+600F,U+6019,U+601B,U+6021,U+6026,U+6035,U+603C,U+603F,U+6041-6042,U+6046,U+6059,U+6063,U+6065,U+606A,U+6075,U+6078,U+607A-607B,U+607D,U+6085,U+608A,U+608C,U+6096,U+609A,U+60A9-60AA,U+60AD,U+60B1,U+60B4,U+60B6,U+60BB,U+60C6-60C7,U+60D8,U+60DA,U+60E1-60E2,U+60EC,U+60F1,U+60F4,U+610D-610E,U+6115,U+611B,U+6120,U+612A-612E,U+614B,U+6158,U+615C,U+6163,U+616E,U+6175-6176,U+617E,U+6182,U+6190-6191,U+6194,U+61A1,U+61A3,U+61A7,U+61A9,U+61AC,U+61B2,U+61B6,U+61C6,U+61C9,U+61CB,U+61D1,U+61F2,U+61F5-61F8,U+61FF-6200,U+6215,U+621B-6220,U+6223,U+6226,U+622C,U+622F-6230,U+6232,U+6236,U+6238,U+623B,U+623E,U+6248-6249,U+624C,U+6255,U+626A,U+6271,U+629C,U+629F,U+62BB,U+62CB,U+62D7,U+62DA,U+62EE,U+62F0,U+6308,U+6313,U+6332,U+6339,U+633F,U+634B,U+635C,U+6368,U+636D,U+6370-6372,U+637A,U+6383,U+6391,U+639B,U+63A1,U+63AC,U+63AE,U+63B0,U+63B2,U+63B4,U+63BC,U+63C4,U+63C6,U+63DA-63DB,U+63E0,U+63EE,U+63F6,U+63F8,U+63FA,U+640D,U+6416,U+6421,U+6427,U+6434-6436,U+643E,U+6441,U+6452,U+645E,U+647A,U+6483,U+6490,U+64A5,U+64AB,U+64B2-64B4,U+64B7-64B8,U+64BA-64BB,U+64C0-64C1,U+64CA-64CB,U+64D4,U+64D8,U+64DA,U+64E0,U+64E2,U+64E4,U+64EC,U+64F4,U+64FA,U+64FC,U+64FE,U+651C-651E,U+6523-6525,U+6538,U+6553,U+6555,U+6557-6558,U+6564,U+6575,U+6578,U+6581-6582,U+6589,U+658E,U+6590,U+6593,U+659B,U+65AB-65AC,U+65B7,U+65BC,U+65BF,U+65C2-65C3,U+65CC,U+65CE,U+65D6,U+65EE-65EF,U+65F3,U+65F8,U+65FB-65FC,U+6600,U+6607,U+6609-660A,U+6615,U+6619,U+661D,U+6630-6631,U+6634-6636,U+6641-6642,U+6649,U+664F,U+6654,U+6656-6657,U+665E-665F,U+6669,U+6677,U+6680,U+6684,U+6688,U+668C,U+669D,U+66A2-66A3,U+66A7-66A8,U+66AB,U+66B1,U+66B9,U+66BB,U+66C6,U+66C8-66C9,U+66CC,U+66DC,U+66DE,U+66E0-66E1,U+66E6,U+66E9,U+66EC,U+66F8,U+66FD,U+6703,U+6710,U+6715,U+6725-6726,U+6748,U+674C,U+6753,U+675E,U+6769-676A,U+6771-6773,U+6775,U+6777,U+677C,U+6783,U+6787,U+678B,U+6793,U+679E,U+67A5,U+67A7,U+67AD,U+67B0-67B1,U+67B3,U+67B8,U+67CA,U+67D8,U+67DA,U+67DF,U+67E2,U+67E9,U+67F0,U+67FB,U+67FE,U+6800,U+6804,U+6809,U+680C,U+680E,U+681E,U+6822,U+6827-6829,U+682D,U+683E,U+6840-6841,U+6849,U+684E,U+6855-6856,U+685C,U+6860-6862,U+6866-6867,U+6877,U+687F,U+688F,U+6893,U+689D,U+68B1,U+68B5-68B6,U+68C2,U+68C4,U+68DF,U+68E3,U+68EC,U+68F0,U+68F2,U+68F4,U+68F9,U+68FF,U+6901-6902,U+6908,U+690B,U+691C,U+6924,U+6934,U+6939,U+693E,U+6940,U+6942,U+694A,U+6953,U+695D,U+6960,U+6963,U+6966,U+696B,U+696D-696E,U+6975,U+6978-6979,U+697D,U+6984,U+6988-698A,U+698E,U+6995,U+699B,U+69A7,U+69AB,U+69AD-69AE,U+69BB,U+69C1,U+69C3,U+69CA-69CE,U+69D1,U+69D8,U+69DF,U+69ED,U+69F2,U+69F8,U+69FB,U+69FF,U+6A02,U+6A0B,U+6A11,U+6A13,U+6A18-6A19,U+6A23,U+6A28-6A29,U+6A2F,U+6A35,U+6A38-6A3E,U+6A44,U+6A4B,U+6A58,U+6A5F,U+6A6B,U+6A79,U+6A7C,U+6A7E,U+6A8E,U+6A90,U+6A94,U+6A97,U+6AA2,U+6AA9,U+6AAB,U+6AAF,U+6AB3,U+6AB8,U+6AC3,U+6AFB,U+6B04,U+6B0A,U+6B0F-6B10,U+6B12,U+6B38,U+6B46,U+6B50,U+6B59,U+6B61,U+6B69,U+6B72-6B74,U+6B77-6B78,U+6B81,U+6B84,U+6B87,U+6B91-6B93,U+6B98,U+6B9A,U+6BA1,U+6BBA,U+6BBC,U+6BC0,U+6BC2,U+6BCE,U+6BD3,U+6BFD,U+6C10,U+6C17-6C19,U+6C21,U+6C23-6C24,U+6C29-6C2D,U+6C31-6C33,U+6C35-6C37,U+6C39-6C3A,U+6C3D-6C3E,U+6C46,U+6C4A,U+6C5A,U+6C5C,U+6C68-6C69,U+6C74,U+6C76,U+6C7A,U+6C84-6C86,U+6C8C,U+6C90,U+6C92-6C93,U+6C96,U+6CA2-6CA3,U+6CA9,U+6CAD,U+6CB1,U+6CC1,U+6CD3-6CD4,U+6CD7,U+6CE0,U+6CEB,U+6CEE-6CEF,U+6CF1,U+6CF7-6CF8,U+6CFA,U+6CFE,U+6D04,U+6D0C,U+6D19,U+6D27,U+6D29,U+6D2E,U+6D35,U+6D38-6D3A,U+6D3F,U+6D43-6D44,U+6D48-6D49,U+6D50,U+6D52,U+6D54,U+6D57-6D58,U+6D5C,U+6D60,U+6D63,U+6D6F,U+6D7C,U+6D93-6D94,U+6D98-6D99,U+6D9E,U+6DA0,U+6DAE,U+6DBC,U+6DBF,U+6DC5,U+6DC7,U+6DD9-6DDA,U+6DDD-6DDE,U+6DE6,U+6DE8-6DE9,U+6DF5,U+6DF8,U+6DFA,U+6DFC,U+6E08-6E09,U+6E0B-6E0C,U+6E0E,U+6E11,U+6E1A-6E1B,U+6E25,U+6E2C,U+6E36,U+6E39,U+6E41,U+6E44-6E45,U+6E49-6E4A,U+6E4E,U+6E51,U+6E5F,U+6E61,U+6E67,U+6E6A-6E6B,U+6E6E-6E6F,U+6E74,U+6E80,U+6E86,U+6E8F,U+6E96,U+6E9D,U+6E9F,U+6EA5,U+6EA7,U+6EAB,U+6EB1,U+6EB4,U+6EBC,U+6EC0,U+6EC2-6EC6,U+6ED5,U+6ED8-6ED9,U+6EDB,U+6EDD,U+6EDF,U+6EE2,U+6EFE-6EFF,U+6F01,U+6F09,U+6F15,U+6F22,U+6F29,U+6F2F,U+6F32,U+6F38,U+6F3F,U+6F43,U+6F47-6F48,U+6F4B,U+6F51,U+6F54,U+6F5B,U+6F5F,U+6F62,U+6F64,U+6F70,U+6F74,U+6F78,U+6F7A,U+6F7C,U+6F80,U+6F8D,U+6FA4,U+6FA7,U+6FAA,U+6FB6,U+6FB9,U+6FC1-6FC3,U+6FC6-6FC7,U+6FC9,U+6FCB,U+6FD1,U+6FD5,U+6FDB,U+6FDE-6FE1,U+6FE4,U+6FEB,U+6FEE-6FEF,U+6FF1,U+6FFE,U+700F,U+701A-701B,U+7028,U+702C,U+7035,U+7039,U+704F,U+7058,U+705E,U+7063,U+706C,U+707D,U+7080,U+7085-7086,U+7096,U+709C-709D,U+70A9,U+70AB,U+70B2,U+70B7,U+70BA,U+70CA,U+70CF,U+70DC,U+70E8,U+7113,U+7116-7118,U+711C,U+7121,U+712F,U+7131,U+713C,U+7144-7145,U+7149-714A,U+7159,U+715C,U+7166,U+7168-7169,U+7172,U+7178,U+7198,U+71A0,U+71A8,U+71B1,U+71B5,U+71B7-71BB,U+71C8,U+71CA,U+71D2,U+71DA,U+71DF,U+71E6-71E7,U+71EE,U+7210,U+721B,U+7228,U+722D,U+7230,U+7232,U+723A-723B,U+723E,U+7246,U+724D,U+7252,U+725D,U+7260,U+7266,U+726F,U+727D,U+7284,U+7287,U+728D,U+7292,U+729F,U+72B2-72B3,U+72B5,U+72B7-72B8,U+72C0,U+72CD-72CE,U+72D2,U+72E9,U+72F2,U+72F7,U+7301,U+730A,U+7315,U+7317,U+731D-731E,U+7325,U+732C,U+7336-7337,U+7344-7345,U+734E,U+7350,U+7352,U+7357,U+7360,U+7363,U+7368,U+7372,U+7375,U+7378,U+737B,U+737E,U+738F,U+7391,U+739F,U+73A5-73A7,U+73AE,U+73B3,U+73B7,U+73B9-73BA,U+73C2,U+73C5,U+73C8-73C9,U+73CF,U+73D1,U+73D9,U+73DE,U+73E3,U+73E5,U+73E9-73EA,U+73EE-73EF,U+73F2,U+73FA,U+73FE,U+7407,U+740A,U+740D,U+740F,U+741A-741B,U+7424,U+7426,U+7428,U+742A,U+742C,U+742E-7430,U+7440-7441,U+7444,U+744B,U+7455,U+7457,U+7459,U+745B-745C,U+7460,U+7463-7464,U+7469-746A,U+746D,U+7477,U+747E,U+7480-7481,U+7487,U+748B,U+748E,U+7490,U+7498,U+749C,U+749E-74A0,U+74A7-74A9,U+74B0,U+74BA,U+74CA,U+74D2,U+74D9,U+74E0,U+74EF,U+74F4,U+7511,U+7519,U+7522-7523,U+7526,U+752A,U+752C,U+752F,U+753A,U+753E,U+7540,U+7548,U+754A,U+7551,U+7562,U+7568,U+756B-756C,U+7570,U+7572,U+7576,U+7579,U+757E-757F,U+7583,U+758A,U+7594,U+7596,U+759D,U+75A3,U+75B1,U+75B3-75B4,U+75B8,U+75C2,U+75CD,U+75D9,U+75E3-75E4,U+75E7-75E8,U+75EB,U+75F1,U+75FC,U+75FF-7600,U+7606,U+760A-760B,U+7611,U+7618-7619,U+7620-7622,U+763D-7640,U+7642,U+7652,U+7654,U+7656,U+765C,U+765E,U+7661-7662,U+766B,U+767A,U+767C,U+7688,U+768E,U+7693,U+7699,U+76AF,U+76B2,U+76B4,U+76C3,U+76DC,U+76E1,U+76E3-76E5,U+76E7,U+76F1,U+76F9,U+7708,U+770C,U+7719,U+771E,U+7726,U+7738,U+773E,U+7747,U+7750-7751,U+775A,U+7762,U+7765,U+7768,U+777D-777F,U+778B-778C,U+7791,U+779F-77A0,U+77AD,U+77B0,U+77BF,U+77CD,U+77DC,U+77EC,U+77F6,U+77F8,U+7800,U+7817,U+781C-781D,U+7823,U+7825,U+782D,U+7832,U+783A-783C,U+784C,U+7850,U+7856,U+785A,U+7881,U+7887,U+7893,U+789A-789C,U+78A3,U+78A9,U+78BA,U+78BC,U+78E1,U+78EC,U+78EF,U+78F2,U+78F4,U+790E,U+7919,U+7926,U+7934,U+7940,U+7942,U+7947,U+7949,U+794E,U+7950,U+7955,U+7957,U+7959-795C,U+7960,U+7962,U+796F,U+797A,U+797C,U+7980,U+7985,U+798D,U+799B,U+79A6-79A7,U+79AA,U+79AE,U+79B3,U+79BA,U+79E3,U+79ED,U+7A05,U+7A14,U+7A1E,U+7A23,U+7A25,U+7A2E,U+7A31-7A32,U+7A37,U+7A39,U+7A40,U+7A42,U+7A4D-7A4E,U+7A62,U+7A69,U+7A70,U+7A79,U+7A88,U+7A93,U+7A95,U+7AA0,U+7AA6,U+7AA8-7AA9,U+7AAE,U+7ABA,U+7ADC,U+7AF4,U+7AF6-7AF7,U+7AFA,U+7AFD,U+7B02-7B05,U+7B08-7B09,U+7B0F,U+7B15,U+7B19,U+7B1E-7B20,U+7B2A-7B2B,U+7B33,U+7B39,U+7B46,U+7B5A,U+7B5D,U+7B60,U+7B71-7B72,U+7B75,U+7B85,U+7B90,U+7B93,U+7B9C,U+7BA7,U+7BAB-7BAC,U+7BB4,U+7BB8,U+7BC0-7BC1,U+7BC4,U+7BC9,U+7BCC,U+7BD1,U+7BDD,U+7BE0,U+7BE6,U+7BEA,U+7BFC,U+7BFE,U+7C0B-7C0C,U+7C1F,U+7C21,U+7C28,U+7C2A,U+7C2C,U+7C38,U+7C3D,U+7C41,U+7C43,U+7C4C,U+7C60,U+7C64,U+7C7C,U+7C8F,U+7C91,U+7CB2,U+7CB5,U+7CBC-7CBD,U+7CBF,U+7CC1,U+7CC5,U+7CCD,U+7CD7,U+7CF8,U+7D00,U+7D04-7D05,U+7D0B,U+7D0D,U+7D10-7D12,U+7D14,U+7D17-7D1B,U+7D1D,U+7D21,U+7D2C-7D2E,U+7D30,U+7D33,U+7D39,U+7D42,U+7D44,U+7D4C,U+7D50,U+7D55,U+7D61,U+7D66,U+7D71-7D72,U+7D75-7D76,U+7D81,U+7D89,U+7D8B,U+7D8D,U+7D93-7D94,U+7D9A,U+7D9C,U+7DA0,U+7DA6,U+7DAB,U+7DAD,U+7DB1-7DB2,U+7DBA,U+7DBE-7DBF,U+7DCA,U+7DCF,U+7DD1-7DD2,U+7DDA,U+7DE3,U+7DE8-7DE9,U+7DEC,U+7DF4,U+7DFB,U+7E04,U+7E1B,U+7E23,U+7E2B,U+7E2E,U+7E31,U+7E3D-7E3E,U+7E43,U+7E47,U+7E4B,U+7E54,U+7E5E,U+7E69-7E6B,U+7E79,U+7E7C-7E7D,U+7E8C,U+7E8F,U+7E96,U+7EA1,U+7EA3,U+7EA8,U+7EAD-7EAE,U+7EB0,U+7EBE,U+7EC0-7EC2,U+7EC9,U+7ECB-7ECC,U+7ED0,U+7ED4,U+7ED7,U+7EDB,U+7EE0-7EE1,U+7EEB,U+7EEE-7EEF,U+7EF1,U+7EF6,U+7EFA-7EFB,U+7EFE,U+7F01-7F03,U+7F07-7F08,U+7F19,U+7F1B-7F1C,U+7F1F,U+7F22,U+7F24-7F26,U+7F2A,U+7F2C-7F2D,U+7F30-7F31,U+7F36,U+7F42,U+7F44-7F45,U+7F52,U+7F54,U+7F58,U+7F61,U+7F70,U+7F75,U+7F79,U+7F81,U+7F85,U+7F9F,U+7FA3,U+7FA7,U+7FA9,U+7FAF-7FB0,U+7FB2,U+7FB8,U+7FBF-7FC0,U+7FCA,U+7FCE,U+7FD2,U+7FD5,U+7FE1,U+7FE5-7FE6,U+7FE9,U+7FF3,U+7FF9,U+8004,U+8006,U+800B,U+8012,U+8026,U+8037,U+8046,U+8052,U+8056,U+805E,U+8069,U+806F-8070,U+8072,U+8074,U+8077,U+807D,U+807F,U+808F,U+8093,U+809F,U+80B1,U+80B4,U+80BC-80BD,U+80C4,U+80CD,U+80D4,U+80D7,U+80DB,U+80DD,U+80E4-80E5,U+80E7,U+80EA-80EB,U+80ED,U+80F1,U+80F4,U+80FC,U+8105,U+8107-8108,U+810D,U+8114,U+8118,U+812B,U+8132-8133,U+8148,U+814C,U+814E,U+8153,U+8158,U+815A,U+8166-8167,U+8169,U+816B,U+816D,U+8171,U+8173-8174,U+8178,U+817C,U+8188,U+8191,U+819A,U+81A0,U+81A3,U+81A6,U+81A9,U+81BA-81BB,U+81BD,U+81C9-81CA,U+81D8,U+81DF,U+81E5,U+81E7-81E8,U+81EC,U+81FA,U+81FE,U+8202,U+8207-820A,U+820E,U+8210,U+8216,U+821B,U+822B,U+8238,U+823A,U+824B,U+8266,U+826E,U+8276-8279,U+827F,U+8283,U+8288,U+828A,U+828E,U+8297-8299,U+82A1,U+82A8-82AB,U+82AE,U+82B7-82B8,U+82BE,U+82C1,U+82C4,U+82CB-82CC,U+82CE,U+82D2-82D3,U+82D5,U+82DC,U+82E1,U+82E3,U+82F4,U+82F7,U+82FB,U+82FE,U+8306,U+8308-8309,U+830C,U+830F,U+8314-8315,U+8317,U+831B-831C,U+832D,U+832F,U+8331-8332,U+8334,U+833C,U+8343,U+8347,U+834F,U+835E-8360,U+8365,U+8368,U+836A,U+836D,U+8378,U+837B-837D,U+8385,U+838A,U+8392-8393,U+8396,U+8398,U+839C,U+839E,U+83A0,U+83A8,U+83AA,U+83B3-83B4,U+83BA,U+83BC,U+83C0-83C1,U+83C5,U+83C8,U+83D3-83D4,U+83D6,U+83D8,U+83DF,U+83E1,U+83EF-83F0,U+83F8,U+83FD,U+8401,U+8403,U+840A-840B,U+8418,U+841C,U+8426,U+8429,U+842C,U+8431,U+8438,U+843C,U+8446,U+8449,U+8451,U+845A,U+8469,U+846D,U+8473,U+8476,U+847A,U+848C,U+8490,U+8497,U+849F,U+84A1,U+84AF,U+84B4,U+84B9-84BD,U+84BF,U+84C1,U+84CB,U+84D3,U+84E5-84E6,U+84EE,U+84FC,U+84FF,U+8514,U+8523,U+8535,U+853A-853B,U+8543,U+8548,U+8556,U+8559,U+855E,U+8564,U+8568-8569,U+856D,U+8572,U+857B,U+8585,U+8587,U+858F,U+8599,U+859C,U+85A6,U+85A8-85A9,U+85AB-85AC,U+85AE,U+85B0,U+85B9,U+85C1,U+85CD,U+85D3,U+85DC-85DD,U+85E5,U+85FF,U+8605-8607,U+860B,U+8616,U+862D,U+863C,U+863F,U+8654-8655,U+865B,U+865F,U+8662,U+866C,U+867B,U+8693,U+869D,U+86A3,U+86A7,U+86A9-86AA,U+86AC,U+86AF,U+86B1,U+86B5-86B6,U+86C4,U+86C9,U+86CE-86D0,U+86DE-86DF,U+86E6,U+86ED,U+86F3,U+8703,U+8707-870A,U+870D,U+8713,U+871A,U+8722,U+8725,U+8731,U+8734,U+8737,U+873B,U+873F,U+8748,U+874C,U+8753,U+8759,U+8760,U+8763,U+8766,U+876E,U+8770,U+877C,U+877E,U+8782-8783,U+8788,U+87A2,U+87A8,U+87AD,U+87AF,U+87B3,U+87C0,U+87C6,U+87CB,U+87D1-87D2,U+87E0,U+87F2,U+87FE,U+881B,U+881F,U+8821,U+8839,U+883B,U+8844,U+8846,U+8853,U+885B,U+885D,U+8862,U+8869,U+886E,U+8872,U+887D-887F,U+8882,U+8885,U+8888,U+88A2,U+88A4,U+88AA,U+88C6,U+88CF,U+88D8,U+88DC-88DD,U+88DF,U+88E1,U+88E8,U+88F1,U+88FD-88FE,U+8907,U+8913-8914,U+891A-891B,U+8930,U+8932,U+8934,U+8936,U+8941,U+895E,U+8966,U+896A,U+8972,U+8983,U+898B,U+898F,U+8996,U+899A,U+89A1,U+89A7,U+89AA,U+89B3,U+89BA,U+89BD,U+89C0,U+89CA,U+89CE,U+89D0-89D1,U+89DA,U+89DE,U+89E5,U+89F8,U+8A02,U+8A08,U+8A0A,U+8A0E,U+8A13,U+8A15,U+8A17-8A18,U+8A23,U+8A2A-8A2B,U+8A2D,U+8A31,U+8A33-8A34,U+8A3A-8A3C,U+8A3E,U+8A55,U+8A5E,U+8A60,U+8A62,U+8A66,U+8A69,U+8A71-8A73,U+8A87,U+8A8C-8A8D,U+8A95,U+8A98,U+8A9E,U+8AA0,U+8AA4,U+8AAA,U+8AAC-8AAD,U+8AB0,U+8AB2,U+8ABC,U+8ABF,U+8AC7,U+8ACB,U+8AD2,U+8AD6,U+8ADC,U+8AE7,U+8AEE,U+8AF8,U+8AFE,U+8B00,U+8B02,U+8B07,U+8B0E,U+8B17,U+8B19,U+8B1B,U+8B1D,U+8B20,U+8B39,U+8B49,U+8B58,U+8B5A,U+8B5C,U+8B6F-8B70,U+8B77,U+8B7D,U+8B80,U+8B8A,U+8B93,U+8B9A,U+8BA6-8BA7,U+8BAA,U+8BB4,U+8BB7,U+8BC2-8BC3,U+8BCB,U+8BCF,U+8BD2-8BD3,U+8BD8-8BD9,U+8BDF-8BE0,U+8BE4,U+8BE8-8BE9,U+8BF0,U+8BF3,U+8BF6,U+8BF9,U+8BFF-8C00,U+8C02,U+8C04,U+8C0C,U+8C0F,U+8C11-8C12,U+8C14-8C15,U+8C18-8C19,U+8C1B,U+8C1F,U+8C21,U+8C25,U+8C27,U+8C2A,U+8C2F,U+8C32,U+8C36,U+8C47,U+8C49-8C4A,U+8C4E,U+8C50,U+8C54-8C55,U+8C5A,U+8C6C,U+8C78,U+8C82,U+8C85,U+8C93-8C94,U+8C98,U+8C9D-8C9E,U+8CA0-8CA2,U+8CA7-8CAC,U+8CB4,U+8CB7-8CB8,U+8CBB-8CBC,U+8CBF-8CC0,U+8CC7-8CC8,U+8CCA,U+8CD3,U+8CDB-8CDC,U+8CDE,U+8CE0,U+8CE2-8CE4,U+8CE6,U+8CEA,U+8CEC-8CED,U+8CF4,U+8CFA,U+8CFC-8CFD,U+8D08,U+8D0A,U+8D0F,U+8D32,U+8D3B,U+8D3D,U+8D45,U+8D48-8D49,U+8D53,U+8D5D,U+8D5F,U+8D67,U+8D6D,U+8D73,U+8D84,U+8D95,U+8D99,U+8DA8,U+8DB5,U+8DB8,U+8DBA,U+8DC4,U+8DC6,U+8DCE,U+8DD6-8DD7,U+8DDA-8DDB,U+8DE1,U+8DE4,U+8DF6-8DF7,U+8DF9,U+8DFB,U+8E09,U+8E1D,U+8E2E,U+8E31,U+8E35,U+8E39,U+8E42,U+8E47,U+8E49-8E4A,U+8E51-8E52,U+8E59,U+8E5F,U+8E64,U+8E69,U+8E74,U+8E76,U+8E7C,U+8E8D,U+8E8F,U+8EB6,U+8ECA,U+8ECC-8ECD,U+8ED2,U+8EDF,U+8EE2,U+8EF8,U+8EFD,U+8F03,U+8F09,U+8F14-8F15,U+8F1B,U+8F1D,U+8F29-8F2A,U+8F2F,U+8F38,U+8F49,U+8F5F,U+8F6B,U+8F6D,U+8F71-8F72,U+8F76,U+8F78,U+8F7C,U+8F84,U+8F87,U+8F8B,U+8F8D,U+8F94,U+8F98,U+8FA6,U+8FAD,U+8FAF,U+8FB2,U+8FBA-8FBC,U+8FE4-8FE6,U+8FE8-8FE9,U+8FF3-8FF4,U+9004-9005,U+900B,U+900D,U+9011,U+9019,U+9021,U+9023,U+9026,U+902F,U+9031-9032,U+9035-9036,U+904A-904B,U+904E,U+9050-9052,U+9054-9055,U+9059,U+905B-905C,U+905E,U+9060,U+9062,U+9068-9069,U+9072,U+9074,U+9077-9078,U+907A,U+907C-907D,U+9081-9084,U+9088,U+908A-908B,U+908F,U+9095,U+9097,U+9099,U+909B,U+909D,U+90A1,U+90A8,U+90AC,U+90B0,U+90B3,U+90B8,U+90BA,U+90C3-90C5,U+90C7,U+90CF,U+90D3,U+90D7,U+90DC,U+90DE,U+90E2,U+90E6,U+90EB,U+90EF,U+90F5,U+90F7,U+90FE,U+9104,U+9109,U+911E,U+9120,U+9122,U+9127,U+912D,U+912F-9131,U+9146,U+914A,U+9150,U+9154,U+9162,U+9169,U+916F-9170,U+918C-918D,U+9190,U+919C,U+91A3,U+91AA-91AC,U+91AE,U+91B4,U+91BA,U+91C6,U+91CB,U+91D8,U+91DD,U+91E3,U+921E,U+9225,U+9234,U+9244,U+9280,U+9285-9286,U+9298,U+92AE,U+92B7,U+92C6,U+92D2,U+92EA,U+92FC,U+9304,U+9322,U+9324,U+9326,U+932B,U+932F,U+9332,U+9336,U+933E,U+934A-934B,U+934F-9354,U+9356-935D,U+9365-9367,U+9369,U+9375,U+937E,U+938F,U+9396,U+93AC-93AF,U+93B4-93B8,U+93BA-93BB,U+93BE,U+93C0-93C4,U+93C7-93C9,U+93CB-93CD,U+93D6,U+93E1,U+9410-9411,U+9416-9418,U+941C,U+941E,U+9422-9423,U+9427-942A,U+942E,U+9435,U+9451-9452,U+946B,U+9470-9473,U+9477,U+9479,U+947B,U+947D-947E,U+9485,U+9487,U+948A,U+948F,U+9495,U+9497,U+949B-949C,U+94A3-94A4,U+94AC,U+94AF-94B0,U+94B4,U+94B9-94BA,U+94BC-94BD,U+94BF,U+94C4,U+94C8-94C9,U+94CB-94CE,U+94D0-94D1,U+94D6,U+94DB,U+94DF-94E0,U+94E2,U+94E4,U+94E7-94E9,U+94EE-94EF,U+94F3,U+94F5,U+94FF,U+9502-9503,U+9506,U+9509,U+950F,U+9512,U+9518,U+951B,U+951D,U+951F,U+9522,U+9532,U+9534-9537,U+953A,U+9542,U+9549,U+954C,U+9552-9557,U+955B,U+955D,U+9566-9567,U+956B-956C,U+956F,U+9573,U+9577,U+9580,U+9583,U+9589,U+958B,U+9591-9593,U+95A2-95A4,U+95A8,U+95AB,U+95AD-95AE,U+95B0-95B2,U+95BF-95C0,U+95C2-95C4,U+95C6-95C8,U+95CA,U+95D6,U+95D8,U+95DC,U+95E9,U+95EB,U+95F1,U+95F3,U+95F5,U+95FE,U+9606,U+960A,U+9615-9617,U+9619-961A,U+9621,U+962A,U+9642,U+9649,U+965E-965F,U+9663,U+9670,U+9672-9673,U+9678,U+967A,U+967D,U+9688,U+968A,U+968D-968E,U+9697,U+969B,U+96A0,U+96A3,U+96A8,U+96AA,U+96B0-96B1,U+96B7-96B9,U+96BB-96BD,U+96C9,U+96CE,U+96D1-96D2,U+96D6,U+96D9,U+96DB-96DC,U+96DE,U+96E2-96E3,U+96EB,U+96EF,U+96F2-96F3,U+96FB,U+9701,U+9706,U+9708,U+970A,U+970E-970F,U+9711,U+9727,U+972D,U+9730,U+973E,U+9748,U+9751,U+9753,U+975A,U+975C,U+9765,U+977C,U+9785,U+9791,U+97A3,U+97CB,U+97D3,U+97EA-97EC,U+97FB,U+97FF,U+9801-9803,U+9805-9806,U+9808,U+980C,U+9810-9814,U+9818,U+982B,U+982D,U+9838,U+983B-983C,U+9846,U+984C-984D,U+984F,U+9854,U+9858,U+985E,U+9867,U+986F,U+987C,U+9880,U+9889,U+988C-988D,U+988F,U+9894,U+989A-989B,U+989E,U+98A1-98A2,U+98A6,U+98A8,U+98B1,U+98C4,U+98CF,U+98D2-98D3,U+98D5,U+98D9-98DB,U+98E8,U+98EF,U+98F2,U+98FC-98FE,U+9905,U+990A,U+990C-990D,U+9913,U+9918,U+9928,U+992E,U+9945,U+9951,U+9955,U+9967-9968,U+996A,U+996C,U+9974,U+9977,U+997D,U+9980,U+9984,U+998A,U+998D,U+9990,U+9994-9995,U+9997,U+99A5,U+99A8,U+99AC,U+99AE,U+99B3-99B4,U+99C5,U+99D0,U+99D5,U+99DB,U+99E1,U+99FF,U+9A0E,U+9A12-9A13,U+9A19,U+9A30,U+9A37,U+9A45,U+9A57,U+9A5A,U+9A5F,U+9A77-9A78,U+9A7D,U+9A7F,U+9A81,U+9A85,U+9A88,U+9A8A,U+9A90,U+9A9B-9A9E,U+9AA0,U+9AA2,U+9AA5,U+9AA7,U+9AB0,U+9AB6-9AB7,U+9ABC,U+9AC1-9AC2,U+9AC5,U+9ACB-9ACC,U+9AD2,U+9AD4,U+9AD9,U+9AE6,U+9AEA,U+9AEE-9AEF,U+9AFB,U+9B06,U+9B13,U+9B1F,U+9B23,U+9B25,U+9B27,U+9B31,U+9B3B,U+9B43,U+9B45,U+9B47,U+9B49,U+9B4D,U+9B51,U+9B5A,U+9B5F,U+9B6F,U+9B91,U+9BAE,U+9C7F,U+9C85,U+9C87-9C88,U+9C91,U+9C94,U+9C9B,U+9C9F-9CA0,U+9CA2-9CA3,U+9CA8,U+9CAB,U+9CAD-9CAE,U+9CB1-9CB3,U+9CB5-9CB7,U+9CBD,U+9CC4-9CC5,U+9CCA,U+9CCC-9CCD,U+9CCF-9CD0,U+9CD4-9CD5,U+9CD7,U+9CD9,U+9CDC-9CDD,U+9CDF,U+9CE5,U+9CF3-9CF4,U+9D09,U+9D28,U+9D3B,U+9D5D,U+9D6C,U+9DB4,U+9DF9,U+9E20,U+9E22,U+9E28-9E2C,U+9E2E,U+9E30-9E31,U+9E36-9E37,U+9E3E,U+9E42,U+9E44,U+9E48-9E49,U+9E4C,U+9E51,U+9E55,U+9E57-9E58,U+9E5A,U+9E5C,U+9E5E,U+9E66-9E67,U+9E69,U+9E6B-9E6E,U+9E73,U+9E79,U+9E7D,U+9E82,U+9E8B,U+9E92,U+9E97,U+9E9D,U+9E9F,U+9EA5,U+9EB5,U+9EB8,U+9EBC-9EBE,U+9EC3,U+9EC9,U+9ECF,U+9ED2,U+9EDB-9EE0,U+9EE8,U+9EEF,U+9EFE,U+9F0B,U+9F10,U+9F2C,U+9F39,U+9F3E,U+9F41,U+9F4A-9F4B,U+9F52,U+9F61,U+9F85,U+9F87-9F88,U+9F8A,U+9F8C-9F8D,U+9F98,U+9F9B-9F9C,U+FE30-FE31,U+FE34-FE36,U+FE39,U+FE3D-FE41,U+FE43,U+FE4B-FE4C,U+FE4E-FE52,U+FE55-FE56,U+FE5A,U+FE5D-FE5E,U+FE61,U+FE63-FE65;
}

/* SemiBold 600 — 1438 字，224 KB */
@font-face {
  font-family: 'SourceHanSerif';
  src: url('/fonts/slices/SourceHanSerifSC-SemiBold-a.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+20-7E,U+A0-FF,U+2002,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+3000-3003,U+3005-301B,U+301D-301E,U+4E00-4E01,U+4E03,U+4E09-4E0B,U+4E0D-4E0E,U+4E13-4E14,U+4E16,U+4E22,U+4E24-4E25,U+4E2A,U+4E2D,U+4E32,U+4E38,U+4E3A-4E3B,U+4E45,U+4E48-4E49,U+4E4B,U+4E4E,U+4E50,U+4E54,U+4E5F,U+4E66,U+4E71,U+4E86,U+4E8B-4E8C,U+4E8E,U+4E92,U+4E94,U+4E9A-4E9B,U+4EA4,U+4EA7,U+4EAB,U+4EAE,U+4EBA,U+4EC0,U+4EC5,U+4ECA-4ECB,U+4ECD-4ECE,U+4ED6,U+4EE3,U+4EE5,U+4EF6-4EF7,U+4EFB,U+4EFD,U+4F18,U+4F1A,U+4F20,U+4F2A,U+4F38,U+4F3C,U+4F46,U+4F4D-4F4F,U+4F53,U+4F55,U+4F59,U+4F5C,U+4F60,U+4F7F,U+4F8B,U+4F9B,U+4F9D,U+4FA7,U+4FBF,U+4FDD,U+4FE1,U+4FEE,U+500D,U+5019,U+501F,U+503C,U+504F,U+505A,U+505C,U+507F,U+50A8,U+50CF,U+513F,U+5141,U+5143-5145,U+5148-5149,U+514B,U+514D,U+515C,U+5165,U+5168,U+516B-516D,U+5171,U+5173,U+5176-5177,U+517C,U+5185,U+518C-518D,U+5192,U+5199,U+51B2-51B3,U+51B5,U+51B7,U+51BB,U+51C0,U+51C6,U+51CF,U+51D1,U+51E0-51E1,U+51ED,U+51FA-51FB,U+51FD,U+5206-5207,U+5217,U+5219-521B,U+521D,U+5220,U+5224,U+5229,U+522B,U+5230,U+5236-5237,U+523B,U+524D,U+5254,U+5269-526A,U+526F,U+5272,U+529B,U+529F-52A1,U+52A8,U+52AA,U+52BF,U+52FE-52FF,U+5305,U+5316,U+5339-533A,U+5341,U+5343,U+5347-5348,U+534A,U+534F,U+5355,U+535A,U+5360-5361,U+536B,U+5373-5374,U+5378,U+5386,U+5389,U+538B,U+539F,U+53BB,U+53C2,U+53C9-53CD,U+53D1,U+53D6-53D8,U+53E0,U+53E3,U+53E5-53E6,U+53EA,U+53EF-53F0,U+53F2-53F3,U+53F7,U+5403-5404,U+5408,U+540C-540E,U+5411,U+5426,U+542B-542C,U+542F,U+5438,U+5446,U+544A,U+5458,U+5468,U+547C-547D,U+548C,U+54C1,U+54C8,U+54CD,U+54EA,U+5524,U+552F,U+5546,U+5565,U+5582,U+5668,U+566A,U+56CA,U+56DB,U+56DE,U+56E0,U+56E2,U+56F4,U+56FA,U+56FD-56FE,U+5706,U+570B,U+5728,U+5730,U+573A,U+5740,U+5747,U+574F-5750,U+5757,U+5768,U+5782,U+578B,U+57AB,U+57DF,U+57FA,U+584C,U+5854,U+585E,U+586B,U+5883,U+589E,U+58A8,U+58C1,U+58EB,U+58F0,U+58F3,U+5904,U+5907,U+590D,U+5916,U+591A,U+591C,U+591F,U+5927,U+5929-592A,U+5931,U+5934,U+5939,U+5948,U+594F,U+5954,U+5957,U+5962,U+5976,U+597D,U+5982,U+59CB,U+59D4,U+5A31,U+5A92,U+5B50,U+5B57-5B58,U+5B64,U+5B66,U+5B83,U+5B88-5B89,U+5B8B-5B8C,U+5B97-5B98,U+5B9A,U+5B9E,U+5BA2,U+5BB3,U+5BB9,U+5BBD,U+5BBF,U+5BC6,U+5BF8-5BF9,U+5BFB-5BFC,U+5C01,U+5C04,U+5C06,U+5C0A,U+5C0F,U+5C11,U+5C14,U+5C1A,U+5C1D,U+5C31,U+5C3A,U+5C3D-5C3E,U+5C40,U+5C42,U+5C45,U+5C4F,U+5C55,U+5C5E,U+5C65,U+5C71,U+5D4C,U+5DE5-5DE6,U+5DEE,U+5DF1-5DF2,U+5DF4,U+5E03,U+5E0C,U+5E26-5E27,U+5E2D-5E2E,U+5E38,U+5E42,U+5E45,U+5E55,U+5E72-5E74,U+5E76,U+5E78,U+5E8A,U+5E8F,U+5E93-5E95,U+5E97,U+5E9F,U+5EA6,U+5EF6,U+5EFA,U+5F00,U+5F02-5F03,U+5F0F,U+5F15,U+5F1F-5F20,U+5F31,U+5F39-5F3A,U+5F52-5F53,U+5F55,U+5F62,U+5F69,U+5F71,U+5F7B,U+5F80,U+5F84-5F85,U+5F88,U+5F8B,U+5F97,U+5FAA,U+5FAE,U+5FC3,U+5FC5-5FC6,U+5FEB,U+5FFD,U+6001,U+601D,U+6027,U+603B,U+6052,U+6062,U+606F,U+60AC,U+60C5,U+60EF,U+60F3,U+610F,U+611F,U+6123,U+613F,U+6162,U+61C2,U+61D2,U+6210,U+6216,U+622A,U+6233,U+6237,U+6240-6241,U+624B,U+624D,U+6253,U+6258,U+6267,U+6269,U+6270,U+6279,U+627E-627F,U+628A,U+6295-6298,U+629B,U+62A2,U+62A4-62A5,U+62AC,U+62B5,U+62B9,U+62BD,U+62C5-62C6,U+62C9,U+62CD,U+62D2,U+62D6,U+62DF,U+62E2-62E3,U+62E6,U+62E9,U+62EC,U+62F7,U+62FC-62FD,U+62FF,U+6301-6302,U+6307,U+6309,U+6311,U+6321,U+6324,U+632A,U+6355,U+635F,U+6362,U+6367,U+636E,U+6377,U+6388-6389,U+638F-6390,U+6392,U+63A2,U+63A5,U+63A7-63A8,U+63CF-63D0,U+63D2,U+63ED,U+641C,U+642C,U+6446,U+6458,U+6491,U+64A4,U+64AD,U+64C7,U+64CD-64CE,U+652F,U+6536,U+6539,U+653E,U+6545,U+6548,U+654F,U+655B,U+6570,U+6574,U+6587,U+65A5,U+65AD,U+65AF-65B0,U+65B9,U+65C1,U+65CF,U+65E0,U+65E2,U+65E5-65E7,U+65E9,U+65F6,U+660E,U+6613,U+661F-6620,U+6628,U+662F,U+663E,U+665A,U+666E-6670,U+6674,U+6682,U+6690,U+6696-6697,U+66B4,U+66F2,U+66F4,U+66FF-6700,U+6708-6709,U+670B,U+670D,U+6714,U+671B,U+671D,U+671F,U+672A-672C,U+673A,U+6743,U+674E,U+675F,U+6761,U+6765,U+677E-677F,U+6781,U+6784,U+6790,U+679A,U+679C,U+67B6,U+67D0,U+67D3-67D4,U+67E5,U+6807,U+680F,U+6811,U+6821,U+6837-6839,U+683C,U+6846,U+6848,U+684C,U+6863,U+6865,U+6876,U+68C0,U+68D5,U+68F5,U+690D,U+69FD,U+6A21,U+6A2A,U+6A59,U+6B21-6B22,U+6B3E,U+6B49,U+6B62-6B65,U+6B7B,U+6B8A-6B8B,U+6BB5,U+6BC1,U+6BCD,U+6BCF,U+6BD4-6BD5,U+6BDB,U+6C14,U+6C34,U+6C38,U+6C42,U+6C60-6C61,U+6C89,U+6C99,U+6CA1,U+6CB9,U+6CBF,U+6CD5,U+6CE2,U+6CE8,U+6D01,U+6D3B,U+6D41,U+6D45,U+6D4B,U+6D4F,U+6D53,U+6D6A,U+6D6E,U+6D77-6D78,U+6D88-6D89,U+6D9F,U+6DA8,U+6DE1,U+6DF1,U+6DF7,U+6DFB,U+6E05,U+6E10,U+6E21,U+6E29,U+6E32,U+6E38,U+6E43,U+6E90,U+6EA2,U+6ED1,U+6EDA,U+6EE1,U+6EE4,U+6F0F,U+6F2A-6F2B,U+6F8E,U+6FC0,U+7070,U+7075,U+70B9,U+70C1,U+70C8,U+70ED,U+7126,U+7136,U+7167,U+7206,U+7231,U+7236,U+7247-7248,U+724C,U+7269,U+7279,U+72B6,U+72E0,U+72EC,U+7387,U+73AB,U+73AF-73B0,U+73BB,U+73C0,U+7403,U+7406,U+7425,U+7470,U+7483,U+751F,U+7528,U+7531,U+7533,U+7535,U+753B,U+7545,U+754C,U+7559,U+7565,U+7591,U+767D-767E,U+7684,U+7686,U+76CA,U+76D1-76D2,U+76D6,U+76D8,U+76DB,U+76EE,U+76F4,U+76F8,U+7701,U+770B,U+771F,U+773C,U+7740,U+77AC,U+77E5,U+77E9,U+77ED-77EE,U+7801,U+780D,U+7814,U+7834,U+7840,U+786C,U+786E,U+788D,U+78B0,U+78C1,U+78E8,U+793A,U+793E,U+7956,U+7981,U+798F,U+79BB,U+79C1,U+79CD,U+79D2,U+79D8,U+79EF-79F0,U+79FB,U+7A0B,U+7A0D,U+7A33,U+7A7A,U+7A7F,U+7A81,U+7A84,U+7A97,U+7ACB,U+7AD6,U+7AD9,U+7AE0,U+7AEF,U+7B11,U+7B14,U+7B26,U+7B2C,U+7B49,U+7B56,U+7B5B,U+7B7E,U+7B80,U+7B97,U+7BA1,U+7BAD,U+7C27,U+7C73,U+7C7B,U+7C92,U+7C97-7C98,U+7CBE,U+7CCA,U+7CFB,U+7D20,U+7D22,U+7D27,U+7D2B,U+7EA2,U+7EA6-7EA7,U+7EAF,U+7EB3,U+7EB5,U+7EB8,U+7EBF,U+7EC4,U+7EC6,U+7EC8,U+7ECD,U+7ECF,U+7ED1,U+7ED3,U+7ED5,U+7ED8-7ED9,U+7EDC-7EDD,U+7EDF,U+7EE7,U+7EEA,U+7EED,U+7EF4,U+7EFF-7F00,U+7F13,U+7F16,U+7F18,U+7F1D,U+7F29,U+7F3A,U+7F51,U+7F69,U+7F6E,U+7F72,U+7F8E,U+7FFB,U+8001,U+8003,U+8005,U+800C,U+804C,U+8054,U+805A,U+8089,U+80CC,U+80DC,U+80F6,U+80FD,U+810F,U+811A,U+8131,U+817E,U+81EA,U+81F3-81F4,U+820D,U+821E,U+822A,U+8239,U+8272-8273,U+8282,U+82D4,U+82E5,U+82F1,U+8303,U+8340,U+8361,U+8367,U+836F,U+838E,U+83AB,U+83B7,U+83DC,U+843D,U+8499,U+84DD,U+8584,U+85CF,U+8651,U+865A,U+867D,U+884C-884D,U+8861,U+8865,U+8868,U+886C,U+88AB,U+88C1,U+88C5,U+88D5,U+88F8-88F9,U+8981,U+8986,U+89C1-89C2,U+89C4,U+89C6,U+89C8-89C9,U+89D2,U+89E3,U+89E6,U+8A00,U+8BA1-8BA2,U+8BA4,U+8BA9,U+8BAE-8BB0,U+8BB8,U+8BBA,U+8BBE-8BBF,U+8BC1,U+8BC6,U+8BC9,U+8BCD,U+8BD5,U+8BD7,U+8BDD,U+8BE2,U+8BE5-8BE6,U+8BED,U+8BEF,U+8BF4,U+8BF7,U+8BFB,U+8C03,U+8C10,U+8C22,U+8C41,U+8C61,U+8D1D,U+8D1F,U+8D23,U+8D25,U+8D27-8D28,U+8D34,U+8D39,U+8D44,U+8D56,U+8D70,U+8D74,U+8D76-8D77,U+8D85,U+8DB3,U+8DD1,U+8DDD,U+8DDF,U+8DE8,U+8DEC,U+8DEF,U+8DF3,U+8EAB,U+8F66,U+8F68,U+8F6C,U+8F6E,U+8F7B,U+8F7D,U+8F83,U+8F85,U+8F91,U+8F93,U+8FA8,U+8FB9,U+8FBE,U+8FC1,U+8FC7,U+8FCE,U+8FD0-8FD1,U+8FD4,U+8FD8-8FD9,U+8FDB-8FDC,U+8FDE-8FDF,U+8FF0,U+8FF7,U+8FF9,U+8FFD,U+9000-9003,U+9009,U+900F-9010,U+9012,U+9014,U+901A,U+901F-9020,U+9038,U+903B,U+904D,U+9053,U+906E,U+907F,U+90A3,U+90AE,U+90BB,U+90E8,U+90FD,U+914D,U+91C7,U+91CA,U+91CC-91CF,U+91D1,U+9488,U+949F,U+94A9,U+94AE,U+94BB,U+94FA,U+94FE,U+9500-9501,U+9510,U+9519-951A,U+952E,U+955C,U+957F,U+95EA,U+95ED-95EE,U+95F4,U+9605,U+9608,U+961F,U+9631-9632,U+9634-9636,U+963B,U+9644-9645,U+9648,U+964D,U+9650,U+9661,U+9664,U+9669,U+9677,U+968F-9690,U+9694,U+9699,U+969C,U+96BE,U+96C6,U+96E8,U+96F6,U+96FE,U+9700,U+9707,U+9732,U+9752,U+9759,U+975E,U+9760,U+9762,U+97F3,U+9875-9876,U+9879-987B,U+987F,U+9884,U+9891,U+9897-9898,U+989C-989D,U+98CE,U+98D8,U+98DE,U+9970-9971,U+9988,U+9996,U+9A71,U+9A7B,U+9A8C,U+9AA4,U+9AA8,U+9AD8,U+9C9C,U+9ED1,U+9ED8-9ED9,U+9F20,U+9F50,U+9F7F,U+FF01-FF49,U+FF4B-FF59,U+FF5B-FF5E,U+FFE0-FFE1,U+FFE3,U+FFE5;
}

/* SemiBold 600 — 64 字，12 KB */
@font-face {
  font-family: 'SourceHanSerif';
  src: url('/fonts/slices/SourceHanSerifSC-SemiBold-b.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+4E07,U+4E1A,U+4E1C,U+4E5D,U+4E60,U+4E89,U+4EAC,U+4EB2,U+4EEC,U+4F17,U+517B,U+519B-519C,U+5212,U+529E,U+52B3,U+5317,U+534E,U+5357,U+5382,U+53BF,U+53C8,U+53EB,U+571F,U+5BB6,U+5E02,U+5E7F,U+5E9C,U+5FD7,U+6211,U+6218,U+6280,U+653F,U+6559,U+6597,U+6599,U+6668,U+672F,U+6797,U+6C11,U+6C5F,U+6CBB,U+6D3E,U+6D4E,U+706B,U+738B,U+77F3,U+77FF,U+79D1,U+7A76,U+7EC7,U+7FA4,U+80B2,U+822C,U+82B1,U+897F,U+8D8A,U+9178,U+94C1,U+95E8,U+9662,U+9886,U+9A6C,U+9F99;
}

/* SemiBold 600 — 2595 字，494 KB */
@font-face {
  font-family: 'SourceHanSerif';
  src: url('/fonts/slices/SourceHanSerifSC-SemiBold-c.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+4E08,U+4E11,U+4E18-4E19,U+4E1B,U+4E1D,U+4E27,U+4E2B,U+4E30,U+4E34,U+4E39,U+4E3D-4E3E,U+4E43,U+4E4C-4E4D,U+4E4F,U+4E52-4E53,U+4E56,U+4E58-4E59,U+4E5E,U+4E61,U+4E70,U+4E73,U+4E7E,U+4E88,U+4E8F,U+4E91,U+4E95,U+4EA1-4EA2,U+4EA5-4EA6,U+4EA8-4EA9,U+4EAD,U+4EBF,U+4EC1,U+4EC6-4EC7,U+4ED1,U+4ED3-4ED5,U+4ED7-4ED9,U+4EDF,U+4EE4,U+4EEA,U+4EF0,U+4EF2,U+4EFF,U+4F01,U+4F0A,U+4F0D-4F11,U+4F19,U+4F1E-4F1F,U+4F24,U+4F26,U+4F2F-4F30,U+4F34,U+4F36,U+4F3A,U+4F43,U+4F50-4F51,U+4F5B,U+4F63,U+4F69,U+4F6C,U+4F6F-4F70,U+4F73,U+4F84,U+4F88,U+4F8D,U+4F97,U+4FA0,U+4FA3,U+4FA5-4FA6,U+4FA8-4FA9,U+4FAE-4FAF,U+4FB5,U+4FC3-4FC4,U+4FCA,U+4FCF-4FD0,U+4FD7-4FD8,U+4FDE,U+4FE9,U+4FED,U+4FEF,U+4FF1,U+4FFA,U+5012,U+5014,U+5018,U+501A,U+5021,U+5026,U+502A,U+503A,U+503E,U+5047,U+5065,U+5076-5077,U+5080,U+5085,U+5088,U+508D,U+50A3,U+50AC,U+50B2,U+50BB,U+50DA,U+50E7,U+50F3,U+50F5,U+50FB,U+5112,U+5121,U+5146,U+5151,U+5154,U+515A,U+5162,U+5170,U+5174-5175,U+5178-5179,U+517D,U+5180,U+5188-5189,U+5195,U+5197,U+51A0,U+51A4,U+51AC,U+51AF-51B0,U+51B6,U+51C4,U+51C9,U+51CB-51CC,U+51DB,U+51DD,U+51E4,U+51EF-51F0,U+51F3,U+51F6,U+51F8-51F9,U+51FF-5201,U+5203,U+520A,U+5211,U+5218,U+5228,U+522E,U+5238-523A,U+523D,U+5241-5243,U+524A,U+5250-5251,U+5256,U+5265,U+5267,U+527F,U+5288,U+529D,U+52A3,U+52A9,U+52AB,U+52B1-52B2,U+52C3,U+52C7,U+52C9,U+52CB,U+52D2,U+52D8,U+52DF,U+52E4,U+52FA,U+5300,U+5306,U+5308,U+5319,U+531D,U+5320-5321,U+5323,U+532A,U+533B,U+533F,U+5349,U+5351-5353,U+5356,U+535C,U+535E,U+5362,U+5364,U+5367,U+536F-5371,U+5375,U+5377,U+537F,U+5384-5385,U+538C,U+5395,U+5398,U+539A,U+53A2,U+53A6,U+53A8-53A9,U+53C1,U+53D4,U+53D9,U+53DB,U+53E4,U+53EC-53EE,U+53F6,U+53F8-53F9,U+53FC,U+5401,U+5409-540A,U+540F-5410,U+5413,U+5415,U+5417,U+541B,U+541D-5420,U+5427-5429,U+542D-542E,U+5431,U+5434-5435,U+5439,U+543B-543C,U+543E,U+5440,U+5448,U+5450,U+5455,U+545B-545C,U+5462,U+5473,U+5475,U+5478,U+547B,U+5480,U+5486,U+548B,U+548E-5490,U+5492,U+5495-5496,U+5499,U+54A8,U+54AC,U+54AF,U+54B1,U+54B3,U+54B8,U+54BD,U+54C0,U+54C4,U+54C6-54C7,U+54C9,U+54CE,U+54D1,U+54D7,U+54DF,U+54E5-54E6,U+54E8-54E9,U+54ED-54EE,U+54F2,U+54FA,U+54FC,U+5501,U+5506-5507,U+5509,U+5510,U+552C,U+552E,U+5531,U+553E,U+5543-5544,U+554A,U+5561,U+5564,U+5566,U+556A,U+556E,U+5578,U+557C,U+5580,U+5584,U+5587,U+5589-558A,U+5598,U+559C-559D,U+55A7,U+55B3,U+55B7,U+55BB,U+55C5,U+55D3,U+55DC,U+55E1,U+55E3,U+55FD,U+5609,U+560E,U+5618,U+561B,U+5631-5632,U+5634,U+5636,U+563B,U+563F,U+564E,U+566C,U+5676,U+568E-568F,U+56A3,U+56B7,U+56BC,U+56DA,U+56E4,U+56ED,U+56F0-56F1,U+5703,U+5708,U+5723,U+572D,U+573E,U+574A,U+574D-574E,U+5751,U+575A-575B,U+575D-5761,U+5764,U+5766,U+576A,U+576F,U+5777,U+5783-5784,U+5792,U+579B,U+57A2-57A3,U+57A6,U+57AE,U+57C2-57C3,U+57CB,U+57CE,U+57D4,U+57E0,U+57F9,U+5802,U+5806,U+5811,U+5815,U+5821,U+5824,U+582A,U+5830,U+5835,U+5851,U+5858,U+5885,U+5892-5893,U+5899,U+589F,U+58A9,U+58D5,U+58E4,U+58EC,U+58EE,U+58F6,U+58F9,U+590F,U+5915,U+592B,U+592E-592F,U+5937-5938,U+593A,U+5944,U+5947,U+5949,U+594B,U+594E,U+5951,U+5956,U+5960,U+5965,U+5973-5974,U+5978-5979,U+5984,U+5986-5988,U+598A,U+5992-5993,U+5996,U+5999,U+59A5,U+59A8,U+59AE,U+59B9,U+59BB,U+59C6,U+59D0-59D1,U+59D3,U+59DA,U+59DC,U+59E5,U+59E8,U+59EC,U+59FB,U+59FF,U+5A01,U+5A03-5A04,U+5A07,U+5A18,U+5A1C,U+5A1F-5A20,U+5A25,U+5A29,U+5A36,U+5A46,U+5A49,U+5A5A,U+5A6A,U+5A74,U+5A76,U+5A7F,U+5A9A,U+5AB3,U+5AC1-5AC2,U+5AC9,U+5ACC,U+5AE1,U+5AE9,U+5B54-5B55,U+5B59,U+5B5C-5B5D,U+5B5F,U+5B63,U+5B69-5B6A,U+5B70,U+5B75,U+5B7A,U+5B7D,U+5B81,U+5B85,U+5B87,U+5B8F,U+5B99,U+5B9B-5B9D,U+5BA0-5BA1,U+5BA3-5BA4,U+5BA6,U+5BAA-5BAB,U+5BB0,U+5BB4-5BB5,U+5BBE,U+5BC2,U+5BC4-5BC5,U+5BC7,U+5BCC,U+5BD0,U+5BD2-5BD3,U+5BDD-5BDF,U+5BE1,U+5BE5,U+5BE8,U+5BFA,U+5BFF,U+5C09,U+5C16,U+5C18,U+5C24,U+5C27,U+5C38-5C39,U+5C3C,U+5C3F,U+5C41,U+5C48-5C4B,U+5C4E,U+5C51,U+5C60-5C61,U+5C6F,U+5C79,U+5C7F,U+5C81-5C82,U+5C94,U+5C97,U+5C9B,U+5CA9,U+5CAD,U+5CB3,U+5CB8,U+5CBF,U+5CD9,U+5CE1,U+5CE6,U+5CE8,U+5CEA,U+5CED,U+5CF0,U+5CFB,U+5D07,U+5D0E,U+5D14,U+5D16,U+5D29,U+5D2D,U+5DCD,U+5DDD-5DDE,U+5DE1-5DE2,U+5DE7-5DE9,U+5DEB,U+5DF3,U+5DF7,U+5DFE,U+5E01,U+5E05-5E06,U+5E08,U+5E10,U+5E15-5E16,U+5E18,U+5E1A-5E1D,U+5E3D,U+5E4C,U+5E62,U+5E7B-5E7D,U+5E84,U+5E86-5E87,U+5E90,U+5E99-5E9A,U+5E9E,U+5EA7,U+5EAD,U+5EB6-5EB8,U+5EC9-5ECA,U+5ED3,U+5ED6,U+5EF7,U+5F04,U+5F0A,U+5F13,U+5F17-5F18,U+5F1B,U+5F25-5F27,U+5F2F,U+5F5D,U+5F64,U+5F66,U+5F6A,U+5F6C-5F6D,U+5F70,U+5F79,U+5F7C,U+5F81,U+5F8A,U+5F90,U+5F92,U+5F98,U+5FA1,U+5FB7,U+5FBD,U+5FCC-5FCD,U+5FD8-5FD9,U+5FE0,U+5FE7,U+5FF1,U+5FF5,U+5FFB,U+5FFF-6000,U+6002,U+600E,U+6012,U+6014-6016,U+601C,U+6020,U+6025,U+6028,U+602A,U+602F,U+6043,U+604B,U+604D,U+6050,U+6055,U+6064,U+6068-6069,U+606B-606D,U+6070,U+6073,U+6076,U+607C,U+607F,U+6084,U+6089,U+608D,U+6094,U+609F-60A0,U+60A3,U+60A6,U+60A8,U+60AF,U+60B2,U+60B8,U+60BC,U+60CA-60CB,U+60D1,U+60D5,U+60DC,U+60DF-60E0,U+60E6-60E9,U+60EB,U+60ED-60EE,U+60F0,U+60F6,U+60F9-60FA,U+6101,U+6108-6109,U+611A,U+6124,U+6127,U+6148,U+614C,U+614E,U+6151,U+6155,U+6167-6168,U+6170,U+6177,U+618B,U+618E,U+61A8,U+61BE,U+61C8,U+61CA,U+61E6,U+6208,U+620A,U+620C-620F,U+6212,U+621A,U+622E,U+6234,U+623F,U+6247,U+624E,U+6251-6252,U+6254,U+625B,U+6263,U+6266,U+626B-626F,U+6273,U+6276,U+627C,U+6284,U+6289,U+6291-6293,U+629A,U+62A0-62A1,U+62A8,U+62AB,U+62B1,U+62BC,U+62BF,U+62C2,U+62C4,U+62C7-62C8,U+62CC,U+62CE,U+62D0,U+62D3-62D4,U+62D8-62D9,U+62DB-62DC,U+62E5,U+62E7-62E8,U+62ED,U+62EF,U+62F1,U+62F3-62F4,U+62FE,U+630E,U+6316,U+631A-631B,U+631D-6320,U+6323,U+6325,U+6328,U+632B,U+632F,U+633A,U+633D,U+6342,U+6345-6346,U+6349,U+634C-6350,U+635E,U+6361,U+6363,U+6376,U+637B,U+6380,U+6382,U+6387,U+638C,U+6396,U+6398,U+63A0,U+63A3,U+63A9-63AA,U+63B3,U+63B7-63B8,U+63BA,U+63C9,U+63CD,U+63D6,U+63E1,U+63E3,U+63E9-63EA,U+63F4,U+63FD,U+6400-6402,U+6405,U+640F-6410,U+6413-6414,U+641E,U+642A,U+642D,U+643A,U+643D,U+6444,U+6447-6448,U+644A,U+6454,U+6467,U+6469,U+6478-6479,U+6482,U+6485,U+6487,U+6492,U+6495,U+649E,U+64A9,U+64AC,U+64AE,U+64B0,U+64B5,U+64BC,U+64C2,U+64C5,U+64D2,U+64DE,U+64E6,U+6500,U+6512,U+6518,U+652B,U+653B,U+654C,U+6551,U+6556,U+655D-655E,U+6562-6563,U+6566,U+656C,U+6572,U+6577,U+658B-658C,U+6591,U+659C,U+659F,U+65A1,U+65A4,U+65A7,U+65A9,U+65BD,U+65C5,U+65CB,U+65D7,U+65E8,U+65EC-65ED,U+65F1,U+65F7,U+65FA,U+6602,U+6606,U+660C,U+660F,U+6614,U+6625,U+6627,U+662D,U+663C,U+6643,U+664B-664C,U+6652-6653,U+6655,U+6664,U+6666,U+6676,U+667A,U+667E,U+6687,U+6691,U+66AE,U+66D9,U+66DD,U+66F0,U+66F3,U+66F9,U+66FC,U+66FE,U+6717,U+6728,U+672D,U+6731,U+6734-6735,U+673D,U+6740,U+6742,U+6746,U+6749,U+674F-6751,U+6756,U+675C,U+6760,U+6768,U+676D,U+676F-6770,U+6789,U+6795,U+679D,U+67A2-67A3,U+67AA-67AB,U+67AF,U+67B7,U+67C4,U+67CF,U+67D1-67D2,U+67DC,U+67DE,U+67E0,U+67EC,U+67EF,U+67F1,U+67F3-67F4,U+67FF,U+6805,U+6808,U+680B,U+6813,U+6816-6817,U+682A,U+683D,U+6842-6843,U+6845,U+6850-6851,U+6853-6854,U+6868-6869,U+6881,U+6885-6886,U+6897,U+68A2,U+68A6-68A8,U+68AD,U+68AF-68B0,U+68B3,U+68C9,U+68CB,U+68CD,U+68D2,U+68D8,U+68DA,U+68E0,U+68EE,U+68F1,U+68FA,U+6905,U+690E,U+6912,U+692D,U+6930,U+693D,U+693F,U+6954,U+695A,U+695E,U+6977,U+697C,U+6982,U+6986,U+6994,U+699C,U+69A8,U+69B4,U+69B7,U+69D0,U+69DB,U+6A0A,U+6A1F,U+6A31,U+6A47,U+6A61,U+6A71,U+6A80,U+6A84,U+6AAC,U+6B20,U+6B23,U+6B27,U+6B32,U+6B3A,U+6B47,U+6B4C,U+6B66-6B67,U+6B6A,U+6B79,U+6B7C,U+6B83,U+6B86,U+6B89,U+6B96,U+6BB4,U+6BB7,U+6BBF,U+6BC5,U+6BCB,U+6BD2,U+6BD7,U+6BD9,U+6BE1,U+6BEB,U+6BEF,U+6C0F,U+6C13,U+6C16,U+6C1B,U+6C1F,U+6C22,U+6C26-6C28,U+6C2E-6C30,U+6C40-6C41,U+6C47,U+6C49,U+6C50,U+6C55,U+6C57,U+6C5B,U+6C5D-6C5E,U+6C64,U+6C6A,U+6C70,U+6C72,U+6C79,U+6C7D-6C7E,U+6C81-6C83,U+6C88,U+6C8F,U+6C9B,U+6C9F,U+6CA4-6CA7,U+6CAA-6CAB,U+6CAE,U+6CB3,U+6CB8,U+6CBC-6CBE,U+6CC4-6CC5,U+6CC9-6CCA,U+6CCC,U+6CDB,U+6CDE,U+6CE1,U+6CE3,U+6CE5,U+6CEA,U+6CF0,U+6CF3,U+6CF5,U+6CFB-6CFD,U+6D0B,U+6D12,U+6D17,U+6D1B,U+6D1E,U+6D25,U+6D2A,U+6D31-6D32,U+6D3C-6D3D,U+6D46-6D47,U+6D4A,U+6D51,U+6D59-6D5A,U+6D66,U+6D69,U+6D74,U+6D82,U+6D85,U+6D8C,U+6D8E,U+6D95,U+6D9B,U+6D9D,U+6DA1,U+6DA3-6DA4,U+6DA6-6DA7,U+6DA9-6DAA,U+6DAF,U+6DB2,U+6DB5,U+6DB8,U+6DC0,U+6DC4,U+6DC6,U+6DCB-6DCC,U+6DD1,U+6DD6,U+6DD8,U+6DE4,U+6DEB-6DEC,U+6DEE,U+6DF3,U+6DF9,U+6E0A,U+6E0D,U+6E14,U+6E17,U+6E1D,U+6E20,U+6E23-6E24,U+6E2D,U+6E2F,U+6E34,U+6E3A,U+6E4D,U+6E56,U+6E58,U+6E5B,U+6E7E-6E7F,U+6E83,U+6E85,U+6E89,U+6E9C,U+6EAA,U+6EAF,U+6EB6,U+6EBA,U+6EC1,U+6EC7,U+6ECB,U+6ED3-6ED4,U+6EDE,U+6EE5-6EE6,U+6EE8-6EE9,U+6EF4,U+6F02,U+6F06,U+6F13-6F14,U+6F20,U+6F31,U+6F33,U+6F3E,U+6F4D,U+6F58,U+6F5C,U+6F5E,U+6F66,U+6F6D-6F6E,U+6F84,U+6F88,U+6F9C,U+6FA1,U+6FB3,U+6FD2,U+7011,U+704C,U+706D,U+706F,U+7076,U+7078,U+707C,U+707E-707F,U+7089-708A,U+708E,U+7092,U+7094-7095,U+7099,U+70AC-70AF,U+70B3,U+70B8,U+70BC-70BD,U+70C2-70C3,U+70D8-70D9,U+70DB,U+70DF,U+70E4,U+70E6-70E7,U+70E9,U+70EB-70EC,U+70EF,U+70F7,U+70F9,U+70FD,U+7109-710A,U+7115,U+7119-711A,U+7130,U+714C,U+714E,U+715E,U+7164,U+716E,U+717D,U+7184,U+718A,U+718F,U+7194,U+7199,U+719F,U+71AC,U+71C3,U+71CE,U+71D5,U+71E5,U+722A,U+722C,U+7235,U+7237-7239,U+723D,U+7259,U+725B,U+725F,U+7261-7262,U+7267,U+7272,U+7275,U+727A,U+7280-7281,U+728A,U+72AC,U+72AF,U+72B9,U+72C2,U+72C4,U+72C8,U+72D0,U+72D7,U+72D9,U+72DE,U+72E1,U+72ED-72EE,U+72F0-72F1,U+72F8,U+72FC,U+730E,U+7316,U+731B-731C,U+7329-732B,U+732E,U+7334,U+733E-733F,U+736D,U+7384,U+7389,U+7396,U+739B,U+73A9,U+73B2,U+73CA,U+73CD,U+73D0,U+73E0,U+73ED,U+7405,U+7409,U+7410,U+7422,U+7433-7436,U+743C,U+745A,U+745E-745F,U+7476,U+74DC,U+74E2-74E4,U+74E6,U+74EE,U+74F6-74F7,U+7504,U+7518,U+751A,U+751C,U+7525,U+7529,U+752B,U+752D,U+7530,U+7532,U+7537-7538,U+754F,U+7554,U+755C,U+7566,U+756A,U+7574,U+7578,U+7586,U+758F,U+7597,U+7599-759A,U+759F,U+75A1,U+75A4-75A5,U+75AB,U+75AE-75AF,U+75B2,U+75B5,U+75B9,U+75BC-75BE,U+75C5,U+75C7-75CA,U+75D2,U+75D4-75D5,U+75D8,U+75DB,U+75DE,U+75E2,U+75EA,U+75F0,U+75F4,U+75F9,U+7601,U+761F,U+7624,U+7626,U+7629-762B,U+7634,U+7638,U+764C,U+7663,U+7678,U+767B,U+7682,U+7687,U+768B,U+7691,U+7696,U+76AE,U+76B1,U+76BF,U+76C2,U+76C5-76C6,U+76C8,U+76CE-76D0,U+76D4,U+76D7,U+76DF,U+76EF,U+76F2,U+76FC,U+76FE,U+7709,U+7720,U+7728-7729,U+772F,U+7736-7737,U+773A,U+7741,U+775B,U+7761,U+7763,U+7766,U+776B-776C,U+7779,U+7784-7785,U+778E,U+7792,U+77A5,U+77A7,U+77A9-77AA,U+77B3,U+77BB,U+77D7,U+77DB,U+77E2-77E3,U+77EB,U+77FD-77FE,U+7802,U+780C,U+7812,U+7816,U+781A,U+7827,U+7830,U+7837-7838,U+783E,U+7845,U+7852,U+7855,U+785D,U+786B,U+7877,U+787C,U+7889,U+788C,U+788E,U+7891,U+7897-7898,U+789F,U+78A7,U+78B1,U+78B3-78B4,U+78BE,U+78C5,U+78CA-78CB,U+78D0,U+78D5,U+78F7,U+78FA,U+7901,U+793C,U+7941,U+7948,U+795D-795F,U+7965,U+7968,U+796D,U+7977-7978,U+7984,U+79B9,U+79BD-79BE,U+79C0,U+79C3,U+79C6,U+79C9,U+79CB,U+79DF,U+79E4,U+79E6-79E7,U+79E9,U+79F8,U+79FD,U+7A00,U+7A0E,U+7A17,U+7A1A,U+7A20,U+7A3B-7A3D,U+7A3F,U+7A46,U+7A57,U+7A74,U+7A77,U+7A83,U+7A8D,U+7A91-7A92,U+7A96,U+7A98,U+7A9C-7A9D,U+7A9F,U+7AA5,U+7ABF,U+7ADE-7ADF,U+7AE3,U+7AE5,U+7AED,U+7AF9,U+7AFF,U+7B06,U+7B0B,U+7B1B,U+7B28,U+7B3A,U+7B3C,U+7B4B,U+7B4F-7B52,U+7B54,U+7B77,U+7B79,U+7B8D,U+7B94-7B95,U+7BA9,U+7BB1,U+7BC6-7BC7,U+7BD3,U+7BD9,U+7BE1,U+7BEE,U+7BF1,U+7BF7,U+7C07,U+7C3F,U+7C4D,U+7C7D,U+7C89,U+7C95,U+7C9F,U+7CA4-7CA5,U+7CAA,U+7CAE,U+7CB1,U+7CB3,U+7CB9,U+7CD5-7CD6,U+7CD9,U+7CDC,U+7CDF-7CE0,U+7CEF,U+7D0A,U+7D2F,U+7D6E,U+7E41,U+7E82,U+7EA0,U+7EA4,U+7EAA-7EAC,U+7EB1-7EB2,U+7EB6-7EB7,U+7EB9-7EBA,U+7EBD,U+7EC3,U+7EC5,U+7ECA,U+7ECE,U+7ED2,U+7EDA,U+7EDE,U+7EE2-7EE3,U+7EE5-7EE6,U+7EE9,U+7EF0,U+7EF3,U+7EF5,U+7EF7-7EF8,U+7EFC-7EFD,U+7F04-7F06,U+7F09,U+7F0E,U+7F14-7F15,U+7F1A,U+7F20,U+7F28,U+7F2E,U+7F34,U+7F38,U+7F50,U+7F55,U+7F57,U+7F5A,U+7F62,U+7F6A,U+7F8A,U+7F8C,U+7F94,U+7F9A,U+7F9E,U+7FA1,U+7FB9,U+7FBD,U+7FC1,U+7FC5,U+7FCC,U+7FD4,U+7FD8,U+7FDF-7FE0,U+7FF0-7FF1,U+7FFC,U+8000,U+800D,U+8010,U+8015,U+8017-8019,U+8033,U+8036,U+8038,U+803B,U+803D,U+803F,U+8042,U+804A-804B,U+8058,U+806A,U+8083-8084,U+8086-8087,U+808B-808C,U+8096,U+8098,U+809A-809B,U+809D,U+80A0-80A2,U+80A4-80A5,U+80A9-80AA,U+80AE-80AF,U+80BA,U+80BE-80C1,U+80C3,U+80C6,U+80CE,U+80D6,U+80DA,U+80DE,U+80E1,U+80EF-80F0,U+80F3,U+80F8,U+80FA,U+8102,U+8106,U+8109-810A,U+8110-8111,U+8113,U+8116,U+812F,U+8138,U+813E,U+8146,U+814A-814B,U+8150-8151,U+8154-8155,U+8165,U+816E,U+8170,U+8179-817B,U+817F-8180,U+818A,U+818F,U+8198,U+819B-819D,U+81A8,U+81B3,U+81C0,U+81C2-81C3,U+81C6,U+81E3,U+81ED,U+81FB-81FC,U+8200,U+8205-8206,U+820C,U+8212,U+8214,U+821C,U+821F,U+8230-8231,U+8235-8237,U+8247,U+8258,U+826F-8270,U+827A,U+827E,U+828B,U+828D,U+8292,U+829C-829D,U+82A5-82A6,U+82AC-82AD,U+82AF,U+82B3,U+82B9,U+82BD,U+82C7,U+82CD,U+82CF,U+82D1,U+82D7,U+82DB,U+82DE-82DF,U+82E6,U+82EB,U+82EF,U+82F9,U+8301-8302,U+8304-8305,U+830E,U+8327-8328,U+832B-832C,U+8335-8336,U+8338-8339,U+8346,U+8349,U+8350,U+8352,U+8354,U+835A,U+8363-8364,U+836B,U+8377,U+8386,U+8389,U+83B1-83B2,U+83B9,U+83BD,U+83C7,U+83CA,U+83CC,U+83CF,U+83E0,U+83E9,U+83F1-83F2,U+8404,U+840C-840E,U+841D,U+8424-8425,U+8427-8428,U+8457,U+845B,U+8461,U+8463,U+846B-846C,U+8471,U+8475,U+8482,U+848B,U+849C,U+84B2,U+84B8,U+84C4,U+84C9,U+84D1,U+84D6,U+84DF,U+84EC,U+8511,U+8513,U+8517,U+851A,U+8521,U+852B-852C,U+8537,U+853C-853D,U+8549-854A,U+8574,U+857E,U+859B,U+85AA,U+85AF,U+85C9,U+85D0,U+85D5,U+85E4,U+85E9,U+85FB,U+8611,U+8638,U+864E-8650,U+865E,U+866B,U+8671,U+8679,U+867E,U+8680-8682,U+868A,U+868C,U+8695,U+869C,U+86A4,U+86C0,U+86C6-86C7,U+86CA-86CB,U+86D4,U+86D9,U+86DB,U+86E4,U+86EE,U+86F0,U+86F9,U+86FE,U+8700,U+8702,U+8712,U+8715,U+8717-8718,U+871C,U+8721,U+8747,U+8749,U+874E,U+8757,U+8774,U+8776,U+878D,U+879F,U+87BA,U+87F9,U+8815,U+8822,U+8840,U+8845,U+8854,U+8857,U+8859,U+8863,U+886B,U+8870,U+8877,U+8881,U+8884,U+888B,U+888D,U+8892,U+8896,U+889C,U+88AD,U+88B1,U+88C2,U+88D4,U+88D9,U+88E4,U+88F3-88F4,U+8902,U+8910,U+8912,U+8925,U+892A,U+8944,U+895F,U+89C5,U+8A79,U+8A89-8A8A,U+8A93,U+8B66,U+8B6C,U+8BA3,U+8BA5,U+8BA8,U+8BAB,U+8BAD,U+8BB2-8BB3,U+8BB6,U+8BB9,U+8BBC-8BBD,U+8BC0,U+8BC4-8BC5,U+8BC8,U+8BCA,U+8BCC,U+8BD1,U+8BDA-8BDB,U+8BDE,U+8BE1,U+8BE3,U+8BE7,U+8BEB-8BEC,U+8BF1-8BF2,U+8BF5,U+8BF8,U+8BFA,U+8BFD-8BFE,U+8C01,U+8C05-8C06,U+8C08,U+8C0A-8C0B,U+8C0D-8C0E,U+8C13,U+8C17,U+8C1A,U+8C1C,U+8C23-8C24,U+8C26,U+8C28-8C29,U+8C2C-8C2D,U+8C31,U+8C34,U+8C37,U+8C46,U+8C4C,U+8C62,U+8C6A-8C6B,U+8C79-8C7A,U+8C89,U+8C8C,U+8D1E,U+8D21-8D22,U+8D24,U+8D26,U+8D29-8D31,U+8D35,U+8D37-8D38,U+8D3A,U+8D3C,U+8D3E-8D3F,U+8D41-8D43,U+8D4A-8D4C,U+8D4E-8D50,U+8D54,U+8D58,U+8D5A-8D5B,U+8D5E,U+8D60-8D64,U+8D66,U+8D6B,U+8D75,U+8D81,U+8D8B,U+8D9F,U+8DA3,U+8DB4,U+8DBE,U+8DC3,U+8DCB-8DCC,U+8DEA,U+8DF5,U+8DFA,U+8E0A,U+8E0C,U+8E0F,U+8E1E,U+8E22,U+8E29-8E2A,U+8E44,U+8E48,U+8E4B,U+8E66,U+8E6C-8E6D,U+8E72,U+8E7F,U+8E81,U+8E87,U+8EAC,U+8EAF,U+8EB2,U+8EBA,U+8F67,U+8F69,U+8F6F-8F70,U+8F74,U+8F7F,U+8F86,U+8F88-8F8A,U+8F90,U+8F95-8F97,U+8F99,U+8F9B-8F9C,U+8F9E-8F9F,U+8FA3,U+8FA9,U+8FAB,U+8FB0-8FB1,U+8FBD,U+8FC2,U+8FC4-8FC5,U+8FC8,U+8FDD,U+8FE2,U+8FEA-8FEB,U+8FED,U+8FF8,U+9006,U+900A,U+9017,U+901B,U+901D-901E,U+9022,U+902E,U+903C,U+903E,U+9041-9042,U+9047,U+904F,U+9057,U+9063,U+9065,U+906D,U+9075,U+9080,U+9091,U+9093,U+90A2,U+90A6,U+90AA,U+90AF,U+90B1,U+90B5,U+90B9,U+90C1,U+90CA,U+90CE,U+90D1,U+90DD,U+90E1,U+90E7,U+90ED,U+90F4,U+90F8,U+9102,U+9119,U+9149,U+914B-914C,U+9152,U+9157,U+915A,U+915D-915E,U+9163,U+9165,U+916A,U+916C,U+916E,U+9171,U+9175-9177,U+917F,U+9187,U+9189,U+918B,U+9192,U+919A-919B,U+91C9,U+91DC,U+9274,U+9489,U+948E,U+9492-9493,U+9499,U+949D-949E,U+94A0-94A2,U+94A5-94A8,U+94B1,U+94B3,U+94B5,U+94BE,U+94C0,U+94C2-94C3,U+94C5-94C6,U+94DC-94DD,U+94E1,U+94E3,U+94EC-94ED,U+94F0-94F2,U+94F6,U+94F8,U+9504-9505,U+9508,U+950B-950C,U+9511,U+9517,U+9521,U+9523-9526,U+952D,U+952F-9530,U+9539,U+953B,U+9540-9541,U+9547,U+954A,U+954D,U+9550-9551,U+9563,U+956D,U+9570,U+9576,U+95EF-95F0,U+95F2,U+95F7-95FB,U+95FD,U+9600-9602,U+9609,U+960E,U+9610-9611,U+9614,U+961C,U+962E,U+9633,U+963F-9640,U+9646-9647,U+964B-964C,U+9655,U+965B,U+9668,U+966A,U+9675-9676,U+9685-9686,U+968B,U+9698,U+96A7,U+96B6,U+96C0-96C1,U+96C4-96C5,U+96C7,U+96CC-96CD,U+96CF,U+96D5,U+96EA,U+96F7,U+96F9,U+9704,U+9709,U+970D,U+9713,U+9716,U+971C,U+971E,U+9738-9739,U+9756,U+975B,U+9761,U+9769,U+9773-9774,U+9776,U+978B,U+978D,U+9798,U+97A0,U+97AD,U+97E6-97E7,U+97E9,U+97ED,U+97F5-97F6,U+9877,U+987D-987E,U+9881-9882,U+9885,U+9887-9888,U+988A,U+9890,U+9893,U+9896,U+98A0,U+98A4,U+98A7,U+98DF,U+9910,U+9965,U+996D-996F,U+9972,U+9975-9976,U+997A,U+997C,U+997F,U+9981,U+9985-9986,U+998B,U+998F,U+9992,U+9999,U+9A6D-9A70,U+9A73-9A74,U+9A76,U+9A79,U+9A7C,U+9A7E,U+9A82,U+9A84,U+9A86-9A87,U+9A8B,U+9A8F,U+9A91,U+9A97,U+9A9A,U+9AA1,U+9AB8,U+9AD3,U+9B03,U+9B3C,U+9B41-9B42,U+9B44,U+9B4F,U+9B54,U+9C7C,U+9C81,U+9C8D,U+9CA4,U+9CB8,U+9CC3,U+9CD6,U+9CDE,U+9E1F,U+9E21,U+9E23,U+9E25-9E26,U+9E2D,U+9E2F,U+9E33,U+9E35,U+9E3D,U+9E3F,U+9E43,U+9E45,U+9E4A,U+9E4F,U+9E64,U+9E70,U+9E7F,U+9E93,U+9EA6,U+9EBB,U+9EC4,U+9ECD-9ECE,U+9ED4,U+9F0E,U+9F13,U+9F3B,U+9F84,U+9F8B,U+9F9A,U+9F9F;
}

/* SemiBold 600 — 3849 字，842 KB */
@font-face {
  font-family: 'SourceHanSerif';
  src: url('/fonts/slices/SourceHanSerifSC-SemiBold-d.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+152-153,U+2BB,U+300-301,U+304,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+3041-3096,U+3099-30FF,U+3105-312F,U+3220-3224,U+32A3,U+339C-339D,U+33A1,U+4E05,U+4E10,U+4E15,U+4E1E-4E1F,U+4E21,U+4E26,U+4E28,U+4E36-4E37,U+4E3C,U+4E3F,U+4E42,U+4E44,U+4E57,U+4E5C,U+4E69,U+4E82,U+4E85,U+4E8D,U+4E93,U+4E98,U+4E9C,U+4E9E-4E9F,U+4EB3,U+4EB5,U+4EBB,U+4EBE,U+4EC3-4EC4,U+4EDD-4EDE,U+4EE1,U+4EE8,U+4EEE,U+4EF5,U+4F05,U+4F09,U+4F1D,U+4F22,U+4F27,U+4F2B,U+4F2D,U+4F31,U+4F3D,U+4F48,U+4F54,U+4F57-4F58,U+4F5A,U+4F5D-4F5F,U+4F62,U+4F64-4F65,U+4F75-4F7D,U+4F80,U+4F83,U+4F86,U+4F8F,U+4F91,U+4FA1,U+4FAA,U+4FAC,U+4FB6,U+4FC2,U+4FC5,U+4FCE,U+4FD1,U+4FDA,U+4FDF-4FE0,U+4FE3,U+4FE6,U+4FE8,U+4FEA,U+4FEC,U+4FF3,U+4FF6,U+4FF8,U+4FFE,U+5006,U+5009,U+500B-500C,U+500F,U+5011,U+5016,U+501C,U+5024,U+5028-5029,U+502B-502E,U+5036,U+5043,U+5048-5049,U+504C,U+504E,U+5055,U+5072,U+5074-5075,U+5078,U+507B,U+507D,U+5091,U+5098-509D,U+50A2,U+50A5,U+50A9,U+50B3,U+50B5,U+50B7,U+50BE,U+50C5,U+50CD,U+50D5-50D6,U+50ED-50EE,U+50F9,U+50FE,U+5100,U+5104,U+5106,U+510B,U+510F,U+5118,U+511F,U+512A,U+5132,U+5134,U+5140,U+5147,U+514C,U+514E,U+5150,U+5152,U+5156,U+5158,U+5167,U+5169,U+516E,U+5172,U+5186-5187,U+518A,U+51A2,U+51A5,U+51A7-51AB,U+51B4,U+51BC-51BD,U+51C7,U+51CD,U+51DC,U+51E6,U+51EA-51EB,U+51F1,U+51FC,U+5202,U+5208,U+520D-520E,U+5225,U+522A,U+5247,U+524C,U+524E,U+525B-525C,U+5263,U+5275,U+527D,U+5283,U+5287,U+5289,U+528D,U+5291,U+52AD,U+52B5,U+52B9,U+52BC,U+52BE,U+52C1,U+52D0,U+52D5-52D6,U+52D9,U+52DD-52DE,U+52E2,U+52EB-52F0,U+52F3,U+52F5,U+530D,U+530F-5310,U+5315,U+532E-532F,U+533E,U+5340,U+5345,U+534D,U+5350,U+5354,U+5358,U+535F,U+5366,U+5369,U+537B,U+538D,U+539D,U+53A5,U+53AD-53AE,U+53B2,U+53B6,U+53C3,U+53C6,U+53CE-53CF,U+53D2,U+53D5,U+53DF,U+53E1-53E2,U+53E7-53E9,U+53F1,U+53F5,U+53FB,U+53FD,U+5406,U+540B,U+5412,U+5414,U+5416,U+5421,U+5425,U+5432-5433,U+5436,U+543D,U+5442-5443,U+544B,U+544E,U+5453,U+5457,U+5464,U+5466,U+546D-5472,U+5477,U+5481-5482,U+5484,U+5494,U+5497-5498,U+549A-549B,U+54A3-54A4,U+54A6-54A7,U+54A9-54AB,U+54AD,U+54B2,U+54BB,U+54BF,U+54C2,U+54CB-54CC,U+54CF-54D0,U+54D2,U+54D4,U+54DA,U+54DD-54DE,U+54E1,U+54E7,U+54FD,U+5504,U+550F,U+5511,U+5514,U+551B,U+5520,U+5522,U+5527,U+5530,U+5533-5535,U+5537-5538,U+5541,U+5549,U+554F,U+5553,U+5555-5556,U+555C,U+555F,U+5567,U+556B-556D,U+5570-5572,U+5575-5577,U+557B,U+557E,U+5583,U+5586,U+558B,U+558F,U+5591,U+5594,U+5599-559A,U+559F,U+55AA-55AC,U+55AE,U+55B0-55B2,U+55B5-55B6,U+55B9-55BA,U+55BD,U+55CE,U+55D1-55D2,U+55D4-55DB,U+55DD,U+55DF,U+55E4,U+55E6,U+55E8,U+55EA,U+55ED-55F0,U+55F2-55F3,U+55F7,U+5600,U+5605-5606,U+5608,U+560C,U+5617,U+561A,U+561E-561F,U+5622-5624,U+5627,U+562C-562D,U+5639,U+5641,U+564C,U+564F,U+5654,U+5657-565A,U+565C,U+5662,U+5664,U+5669,U+566B,U+5671,U+5674,U+5678-5679,U+567B-567C,U+5687,U+5690,U+5693,U+569F,U+56AE-56AF,U+56B4,U+56C9,U+56CD,U+56D4,U+56D7,U+56DD,U+56DF,U+56E1,U+56E3,U+56E7-56E9,U+56EB,U+56EF,U+56F2-56F3,U+56F5,U+56F9,U+56FF,U+5704,U+570D,U+5712-5713,U+5716,U+5718,U+571C,U+5727,U+5729-572A,U+5733,U+573B,U+5742,U+5749,U+5769,U+576B,U+576D,U+5773,U+577B,U+5785,U+578E,U+5793,U+579A,U+579F-57A1,U+57A9,U+57AD,U+57B5,U+57C7,U+57CC,U+57D5,U+57D7,U+57D9-57DA,U+57ED,U+57F5,U+57F7-57F8,U+57FC,U+5800,U+5803,U+5805,U+5807,U+581D,U+581F,U+5831,U+5834,U+583A,U+584A,U+584D,U+5857,U+585A,U+5869,U+586C,U+5875,U+587E,U+5889-588A,U+5896-5897,U+589C,U+58A0,U+58A6,U+58AE,U+58C5,U+58C7,U+58CA,U+58D1,U+58D3,U+58DE,U+58EF,U+58F2,U+58FA,U+58FD,U+5909-590C,U+590E,U+5910,U+5914,U+5919,U+5920,U+5922,U+5925,U+592D,U+5932,U+593E,U+5942,U+5955,U+5958,U+595A,U+5967,U+596A,U+596D-596E,U+5977,U+5983,U+598D,U+5997,U+599D-599E,U+59A3-59A4,U+59A9-59AB,U+59AF,U+59B2-59B3,U+59BA,U+59BE,U+59C9-59CA,U+59D2,U+59D7-59D8,U+59DD-59DF,U+59E3-59E4,U+59E6-59E7,U+59E9-59EB,U+59F9,U+5A05-5A06,U+5A08-5A09,U+5A0C,U+5A11,U+5A13,U+5A1B,U+5A23,U+5A32,U+5A34,U+5A3C,U+5A40-5A43,U+5A4A,U+5A50,U+5A55,U+5A62,U+5A66-5A67,U+5A73,U+5A75,U+5A77,U+5A7A,U+5A9B,U+5A9E,U+5AB2,U+5AB8,U+5ABA,U+5ABD-5ABE,U+5AD2,U+5AD4,U+5AD6,U+5ADA,U+5AE3,U+5AE6,U+5AF0,U+5B05,U+5B09,U+5B0C,U+5B17,U+5B1B,U+5B22,U+5B29-5B2D,U+5B30,U+5B32,U+5B34,U+5B37,U+5B3F-5B40,U+5B51,U+5B53,U+5B56,U+5B5A-5B5B,U+5B62,U+5B6B-5B6C,U+5B71,U+5B73,U+5B78,U+5B80,U+5B93,U+5B95,U+5B9F,U+5BA5,U+5BAC,U+5BAE,U+5BB8,U+5BD4,U+5BE4,U+5BE6-5BE7,U+5BE9,U+5BEB-5BEC,U+5BEE,U+5BF0,U+5BF3,U+5BF5-5BF6,U+5BFE,U+5C02,U+5C07-5C08,U+5C0B,U+5C0D-5C0E,U+5C10,U+5C13,U+5C15,U+5C1B,U+5C2C,U+5C2F,U+5C34,U+5C3B,U+5C44,U+5C46,U+5C4C-5C4D,U+5C50,U+5C64,U+5C6C,U+5C7C-5C7E,U+5C80,U+5C83-5C84,U+5C8C,U+5C90-5C91,U+5C96,U+5C98-5C9A,U+5CA1-5CA2,U+5CAB-5CAC,U+5CB1,U+5CB7,U+5CC1,U+5CC4,U+5CC7,U+5CCB,U+5CD2,U+5CE4-5CE5,U+5CEF,U+5CF6,U+5CFD,U+5D02-5D03,U+5D06,U+5D11,U+5D17,U+5D1B,U+5D27,U+5D2E,U+5D34,U+5D3D,U+5D47,U+5D4A-5D4B,U+5D4E,U+5D50,U+5D58,U+5D5B,U+5D69,U+5D6C,U+5D6F,U+5D74,U+5D82,U+5D84-5D88,U+5D8B,U+5D99,U+5DB7,U+5DBA,U+5DBD,U+5DC5,U+5DEF,U+5DFB,U+5DFD,U+5DFF,U+5E0F,U+5E14,U+5E25,U+5E2B,U+5E2F-5E30,U+5E33,U+5E36-5E37,U+5E3C,U+5E44,U+5E54,U+5E61,U+5E63,U+5E6B,U+5E79-5E7A,U+5E7E,U+5E83,U+5E91,U+5E96,U+5E9D,U+5EA0-5EA3,U+5EAB,U+5EB5,U+5EB9,U+5EBE,U+5EC1,U+5EC8,U+5ECB,U+5EDA,U+5EDF-5EE0,U+5EE2-5EE3,U+5EEA,U+5EF3,U+5EFF,U+5F01,U+5F08,U+5F0B,U+5F11,U+5F22,U+5F29,U+5F2D,U+5F35,U+5F37,U+5F3C,U+5F3E,U+5F40,U+5F42,U+5F48,U+5F4C,U+5F4E,U+5F57-5F59,U+5F61,U+5F65,U+5F67,U+5F73,U+5F77,U+5F7F,U+5F83,U+5F87,U+5F89,U+5F8C,U+5F91,U+5F93,U+5F95,U+5F99,U+5F9C,U+5F9E,U+5FA8-5FA9,U+5FAD,U+5FB3,U+5FB5,U+5FB9,U+5FC4,U+5FCF-5FD4,U+5FD6,U+5FDA,U+5FDC-5FDD,U+5FE1,U+5FE4,U+5FEA,U+5FFE,U+6004-6006,U+600F,U+6019,U+601B,U+6021,U+6026,U+6035,U+603C,U+603F,U+6041-6042,U+6046,U+6059,U+6063,U+6065,U+606A,U+6075,U+6078,U+607A-607B,U+607D,U+6085,U+608A,U+608C,U+6096,U+609A,U+60A9-60AA,U+60AD,U+60B1,U+60B4,U+60B6,U+60BB,U+60C6-60C7,U+60D8,U+60DA,U+60E1-60E2,U+60EC,U+60F1,U+60F4,U+610D-610E,U+6115,U+611B,U+6120,U+612A-612E,U+614B,U+6158,U+615C,U+6163,U+616E,U+6175-6176,U+617E,U+6182,U+6190-6191,U+6194,U+61A1,U+61A3,U+61A7,U+61A9,U+61AC,U+61B2,U+61B6,U+61C6,U+61C9,U+61CB,U+61D1,U+61F2,U+61F5-61F8,U+61FF-6200,U+6215,U+621B-6220,U+6223,U+6226,U+622C,U+622F-6230,U+6232,U+6236,U+6238,U+623B,U+623E,U+6248-6249,U+624C,U+6255,U+626A,U+6271,U+629C,U+629F,U+62BB,U+62CB,U+62D7,U+62DA,U+62EE,U+62F0,U+6308,U+6313,U+6332,U+6339,U+633F,U+634B,U+635C,U+6368,U+636D,U+6370-6372,U+637A,U+6383,U+6391,U+639B,U+63A1,U+63AC,U+63AE,U+63B0,U+63B2,U+63B4,U+63BC,U+63C4,U+63C6,U+63DA-63DB,U+63E0,U+63EE,U+63F6,U+63F8,U+63FA,U+640D,U+6416,U+6421,U+6427,U+6434-6436,U+643E,U+6441,U+6452,U+645E,U+647A,U+6483,U+6490,U+64A5,U+64AB,U+64B2-64B4,U+64B7-64B8,U+64BA-64BB,U+64C0-64C1,U+64CA-64CB,U+64D4,U+64D8,U+64DA,U+64E0,U+64E2,U+64E4,U+64EC,U+64F4,U+64FA,U+64FC,U+64FE,U+651C-651E,U+6523-6525,U+6538,U+6553,U+6555,U+6557-6558,U+6564,U+6575,U+6578,U+6581-6582,U+6589,U+658E,U+6590,U+6593,U+659B,U+65AB-65AC,U+65B7,U+65BC,U+65BF,U+65C2-65C3,U+65CC,U+65CE,U+65D6,U+65EE-65EF,U+65F3,U+65F8,U+65FB-65FC,U+6600,U+6607,U+6609-660A,U+6615,U+6619,U+661D,U+6630-6631,U+6634-6636,U+6641-6642,U+6649,U+664F,U+6654,U+6656-6657,U+665E-665F,U+6669,U+6677,U+6680,U+6684,U+6688,U+668C,U+669D,U+66A2-66A3,U+66A7-66A8,U+66AB,U+66B1,U+66B9,U+66BB,U+66C6,U+66C8-66C9,U+66CC,U+66DC,U+66DE,U+66E0-66E1,U+66E6,U+66E9,U+66EC,U+66F8,U+66FD,U+6703,U+6710,U+6715,U+6725-6726,U+6748,U+674C,U+6753,U+675E,U+6769-676A,U+6771-6773,U+6775,U+6777,U+677C,U+6783,U+6787,U+678B,U+6793,U+679E,U+67A5,U+67A7,U+67AD,U+67B0-67B1,U+67B3,U+67B8,U+67CA,U+67D8,U+67DA,U+67DF,U+67E2,U+67E9,U+67F0,U+67FB,U+67FE,U+6800,U+6804,U+6809,U+680C,U+680E,U+681E,U+6822,U+6827-6829,U+682D,U+683E,U+6840-6841,U+6849,U+684E,U+6855-6856,U+685C,U+6860-6862,U+6866-6867,U+6877,U+687F,U+688F,U+6893,U+689D,U+68B1,U+68B5-68B6,U+68C2,U+68C4,U+68DF,U+68E3,U+68EC,U+68F0,U+68F2,U+68F4,U+68F9,U+68FF,U+6901-6902,U+6908,U+690B,U+691C,U+6924,U+6934,U+6939,U+693E,U+6940,U+6942,U+694A,U+6953,U+695D,U+6960,U+6963,U+6966,U+696B,U+696D-696E,U+6975,U+6978-6979,U+697D,U+6984,U+6988-698A,U+698E,U+6995,U+699B,U+69A7,U+69AB,U+69AD-69AE,U+69BB,U+69C1,U+69C3,U+69CA-69CE,U+69D1,U+69D8,U+69DF,U+69ED,U+69F2,U+69F8,U+69FB,U+69FF,U+6A02,U+6A0B,U+6A11,U+6A13,U+6A18-6A19,U+6A23,U+6A28-6A29,U+6A2F,U+6A35,U+6A38-6A3E,U+6A44,U+6A4B,U+6A58,U+6A5F,U+6A6B,U+6A79,U+6A7C,U+6A7E,U+6A8E,U+6A90,U+6A94,U+6A97,U+6AA2,U+6AA9,U+6AAB,U+6AAF,U+6AB3,U+6AB8,U+6AC3,U+6AFB,U+6B04,U+6B0A,U+6B0F-6B10,U+6B12,U+6B38,U+6B46,U+6B50,U+6B59,U+6B61,U+6B69,U+6B72-6B74,U+6B77-6B78,U+6B81,U+6B84,U+6B87,U+6B91-6B93,U+6B98,U+6B9A,U+6BA1,U+6BBA,U+6BBC,U+6BC0,U+6BC2,U+6BCE,U+6BD3,U+6BFD,U+6C10,U+6C17-6C19,U+6C21,U+6C23-6C24,U+6C29-6C2D,U+6C31-6C33,U+6C35-6C37,U+6C39-6C3A,U+6C3D-6C3E,U+6C46,U+6C4A,U+6C5A,U+6C5C,U+6C68-6C69,U+6C74,U+6C76,U+6C7A,U+6C84-6C86,U+6C8C,U+6C90,U+6C92-6C93,U+6C96,U+6CA2-6CA3,U+6CA9,U+6CAD,U+6CB1,U+6CC1,U+6CD3-6CD4,U+6CD7,U+6CE0,U+6CEB,U+6CEE-6CEF,U+6CF1,U+6CF7-6CF8,U+6CFA,U+6CFE,U+6D04,U+6D0C,U+6D19,U+6D27,U+6D29,U+6D2E,U+6D35,U+6D38-6D3A,U+6D3F,U+6D43-6D44,U+6D48-6D49,U+6D50,U+6D52,U+6D54,U+6D57-6D58,U+6D5C,U+6D60,U+6D63,U+6D6F,U+6D7C,U+6D93-6D94,U+6D98-6D99,U+6D9E,U+6DA0,U+6DAE,U+6DBC,U+6DBF,U+6DC5,U+6DC7,U+6DD9-6DDA,U+6DDD-6DDE,U+6DE6,U+6DE8-6DE9,U+6DF5,U+6DF8,U+6DFA,U+6DFC,U+6E08-6E09,U+6E0B-6E0C,U+6E0E,U+6E11,U+6E1A-6E1B,U+6E25,U+6E2C,U+6E36,U+6E39,U+6E41,U+6E44-6E45,U+6E49-6E4A,U+6E4E,U+6E51,U+6E5F,U+6E61,U+6E67,U+6E6A-6E6B,U+6E6E-6E6F,U+6E74,U+6E80,U+6E86,U+6E8F,U+6E96,U+6E9D,U+6E9F,U+6EA5,U+6EA7,U+6EAB,U+6EB1,U+6EB4,U+6EBC,U+6EC0,U+6EC2-6EC6,U+6ED5,U+6ED8-6ED9,U+6EDB,U+6EDD,U+6EDF,U+6EE2,U+6EFE-6EFF,U+6F01,U+6F09,U+6F15,U+6F22,U+6F29,U+6F2F,U+6F32,U+6F38,U+6F3F,U+6F43,U+6F47-6F48,U+6F4B,U+6F51,U+6F54,U+6F5B,U+6F5F,U+6F62,U+6F64,U+6F70,U+6F74,U+6F78,U+6F7A,U+6F7C,U+6F80,U+6F8D,U+6FA4,U+6FA7,U+6FAA,U+6FB6,U+6FB9,U+6FC1-6FC3,U+6FC6-6FC7,U+6FC9,U+6FCB,U+6FD1,U+6FD5,U+6FDB,U+6FDE-6FE1,U+6FE4,U+6FEB,U+6FEE-6FEF,U+6FF1,U+6FFE,U+700F,U+701A-701B,U+7028,U+702C,U+7035,U+7039,U+704F,U+7058,U+705E,U+7063,U+706C,U+707D,U+7080,U+7085-7086,U+7096,U+709C-709D,U+70A9,U+70AB,U+70B2,U+70B7,U+70BA,U+70CA,U+70CF,U+70DC,U+70E8,U+7113,U+7116-7118,U+711C,U+7121,U+712F,U+7131,U+713C,U+7144-7145,U+7149-714A,U+7159,U+715C,U+7166,U+7168-7169,U+7172,U+7178,U+7198,U+71A0,U+71A8,U+71B1,U+71B5,U+71B7-71BB,U+71C8,U+71CA,U+71D2,U+71DA,U+71DF,U+71E6-71E7,U+71EE,U+7210,U+721B,U+7228,U+722D,U+7230,U+7232,U+723A-723B,U+723E,U+7246,U+724D,U+7252,U+725D,U+7260,U+7266,U+726F,U+727D,U+7284,U+7287,U+728D,U+7292,U+729F,U+72B2-72B3,U+72B5,U+72B7-72B8,U+72C0,U+72CD-72CE,U+72D2,U+72E9,U+72F2,U+72F7,U+7301,U+730A,U+7315,U+7317,U+731D-731E,U+7325,U+732C,U+7336-7337,U+7344-7345,U+734E,U+7350,U+7352,U+7357,U+7360,U+7363,U+7368,U+7372,U+7375,U+7378,U+737B,U+737E,U+738F,U+7391,U+739F,U+73A5-73A7,U+73AE,U+73B3,U+73B7,U+73B9-73BA,U+73C2,U+73C5,U+73C8-73C9,U+73CF,U+73D1,U+73D9,U+73DE,U+73E3,U+73E5,U+73E9-73EA,U+73EE-73EF,U+73F2,U+73FA,U+73FE,U+7407,U+740A,U+740D,U+740F,U+741A-741B,U+7424,U+7426,U+7428,U+742A,U+742C,U+742E-7430,U+7440-7441,U+7444,U+744B,U+7455,U+7457,U+7459,U+745B-745C,U+7460,U+7463-7464,U+7469-746A,U+746D,U+7477,U+747E,U+7480-7481,U+7487,U+748B,U+748E,U+7490,U+7498,U+749C,U+749E-74A0,U+74A7-74A9,U+74B0,U+74BA,U+74CA,U+74D2,U+74D9,U+74E0,U+74EF,U+74F4,U+7511,U+7519,U+7522-7523,U+7526,U+752A,U+752C,U+752F,U+753A,U+753E,U+7540,U+7548,U+754A,U+7551,U+7562,U+7568,U+756B-756C,U+7570,U+7572,U+7576,U+7579,U+757E-757F,U+7583,U+758A,U+7594,U+7596,U+759D,U+75A3,U+75B1,U+75B3-75B4,U+75B8,U+75C2,U+75CD,U+75D9,U+75E3-75E4,U+75E7-75E8,U+75EB,U+75F1,U+75FC,U+75FF-7600,U+7606,U+760A-760B,U+7611,U+7618-7619,U+7620-7622,U+763D-7640,U+7642,U+7652,U+7654,U+7656,U+765C,U+765E,U+7661-7662,U+766B,U+767A,U+767C,U+7688,U+768E,U+7693,U+7699,U+76AF,U+76B2,U+76B4,U+76C3,U+76DC,U+76E1,U+76E3-76E5,U+76E7,U+76F1,U+76F9,U+7708,U+770C,U+7719,U+771E,U+7726,U+7738,U+773E,U+7747,U+7750-7751,U+775A,U+7762,U+7765,U+7768,U+777D-777F,U+778B-778C,U+7791,U+779F-77A0,U+77AD,U+77B0,U+77BF,U+77CD,U+77DC,U+77EC,U+77F6,U+77F8,U+7800,U+7817,U+781C-781D,U+7823,U+7825,U+782D,U+7832,U+783A-783C,U+784C,U+7850,U+7856,U+785A,U+7881,U+7887,U+7893,U+789A-789C,U+78A3,U+78A9,U+78BA,U+78BC,U+78E1,U+78EC,U+78EF,U+78F2,U+78F4,U+790E,U+7919,U+7926,U+7934,U+7940,U+7942,U+7947,U+7949,U+794E,U+7950,U+7955,U+7957,U+7959-795C,U+7960,U+7962,U+796F,U+797A,U+797C,U+7980,U+7985,U+798D,U+799B,U+79A6-79A7,U+79AA,U+79AE,U+79B3,U+79BA,U+79E3,U+79ED,U+7A05,U+7A14,U+7A1E,U+7A23,U+7A25,U+7A2E,U+7A31-7A32,U+7A37,U+7A39,U+7A40,U+7A42,U+7A4D-7A4E,U+7A62,U+7A69,U+7A70,U+7A79,U+7A88,U+7A93,U+7A95,U+7AA0,U+7AA6,U+7AA8-7AA9,U+7AAE,U+7ABA,U+7ADC,U+7AF4,U+7AF6-7AF7,U+7AFA,U+7AFD,U+7B02-7B05,U+7B08-7B09,U+7B0F,U+7B15,U+7B19,U+7B1E-7B20,U+7B2A-7B2B,U+7B33,U+7B39,U+7B46,U+7B5A,U+7B5D,U+7B60,U+7B71-7B72,U+7B75,U+7B85,U+7B90,U+7B93,U+7B9C,U+7BA7,U+7BAB-7BAC,U+7BB4,U+7BB8,U+7BC0-7BC1,U+7BC4,U+7BC9,U+7BCC,U+7BD1,U+7BDD,U+7BE0,U+7BE6,U+7BEA,U+7BFC,U+7BFE,U+7C0B-7C0C,U+7C1F,U+7C21,U+7C28,U+7C2A,U+7C2C,U+7C38,U+7C3D,U+7C41,U+7C43,U+7C4C,U+7C60,U+7C64,U+7C7C,U+7C8F,U+7C91,U+7CB2,U+7CB5,U+7CBC-7CBD,U+7CBF,U+7CC1,U+7CC5,U+7CCD,U+7CD7,U+7CF8,U+7D00,U+7D04-7D05,U+7D0B,U+7D0D,U+7D10-7D12,U+7D14,U+7D17-7D1B,U+7D1D,U+7D21,U+7D2C-7D2E,U+7D30,U+7D33,U+7D39,U+7D42,U+7D44,U+7D4C,U+7D50,U+7D55,U+7D61,U+7D66,U+7D71-7D72,U+7D75-7D76,U+7D81,U+7D89,U+7D8B,U+7D8D,U+7D93-7D94,U+7D9A,U+7D9C,U+7DA0,U+7DA6,U+7DAB,U+7DAD,U+7DB1-7DB2,U+7DBA,U+7DBE-7DBF,U+7DCA,U+7DCF,U+7DD1-7DD2,U+7DDA,U+7DE3,U+7DE8-7DE9,U+7DEC,U+7DF4,U+7DFB,U+7E04,U+7E1B,U+7E23,U+7E2B,U+7E2E,U+7E31,U+7E3D-7E3E,U+7E43,U+7E47,U+7E4B,U+7E54,U+7E5E,U+7E69-7E6B,U+7E79,U+7E7C-7E7D,U+7E8C,U+7E8F,U+7E96,U+7EA1,U+7EA3,U+7EA8,U+7EAD-7EAE,U+7EB0,U+7EBE,U+7EC0-7EC2,U+7EC9,U+7ECB-7ECC,U+7ED0,U+7ED4,U+7ED7,U+7EDB,U+7EE0-7EE1,U+7EEB,U+7EEE-7EEF,U+7EF1,U+7EF6,U+7EFA-7EFB,U+7EFE,U+7F01-7F03,U+7F07-7F08,U+7F19,U+7F1B-7F1C,U+7F1F,U+7F22,U+7F24-7F26,U+7F2A,U+7F2C-7F2D,U+7F30-7F31,U+7F36,U+7F42,U+7F44-7F45,U+7F52,U+7F54,U+7F58,U+7F61,U+7F70,U+7F75,U+7F79,U+7F81,U+7F85,U+7F9F,U+7FA3,U+7FA7,U+7FA9,U+7FAF-7FB0,U+7FB2,U+7FB8,U+7FBF-7FC0,U+7FCA,U+7FCE,U+7FD2,U+7FD5,U+7FE1,U+7FE5-7FE6,U+7FE9,U+7FF3,U+7FF9,U+8004,U+8006,U+800B,U+8012,U+8026,U+8037,U+8046,U+8052,U+8056,U+805E,U+8069,U+806F-8070,U+8072,U+8074,U+8077,U+807D,U+807F,U+808F,U+8093,U+809F,U+80B1,U+80B4,U+80BC-80BD,U+80C4,U+80CD,U+80D4,U+80D7,U+80DB,U+80DD,U+80E4-80E5,U+80E7,U+80EA-80EB,U+80ED,U+80F1,U+80F4,U+80FC,U+8105,U+8107-8108,U+810D,U+8114,U+8118,U+812B,U+8132-8133,U+8148,U+814C,U+814E,U+8153,U+8158,U+815A,U+8166-8167,U+8169,U+816B,U+816D,U+8171,U+8173-8174,U+8178,U+817C,U+8188,U+8191,U+819A,U+81A0,U+81A3,U+81A6,U+81A9,U+81BA-81BB,U+81BD,U+81C9-81CA,U+81D8,U+81DF,U+81E5,U+81E7-81E8,U+81EC,U+81FA,U+81FE,U+8202,U+8207-820A,U+820E,U+8210,U+8216,U+821B,U+822B,U+8238,U+823A,U+824B,U+8266,U+826E,U+8276-8279,U+827F,U+8283,U+8288,U+828A,U+828E,U+8297-8299,U+82A1,U+82A8-82AB,U+82AE,U+82B7-82B8,U+82BE,U+82C1,U+82C4,U+82CB-82CC,U+82CE,U+82D2-82D3,U+82D5,U+82DC,U+82E1,U+82E3,U+82F4,U+82F7,U+82FB,U+82FE,U+8306,U+8308-8309,U+830C,U+830F,U+8314-8315,U+8317,U+831B-831C,U+832D,U+832F,U+8331-8332,U+8334,U+833C,U+8343,U+8347,U+834F,U+835E-8360,U+8365,U+8368,U+836A,U+836D,U+8378,U+837B-837D,U+8385,U+838A,U+8392-8393,U+8396,U+8398,U+839C,U+839E,U+83A0,U+83A8,U+83AA,U+83B3-83B4,U+83BA,U+83BC,U+83C0-83C1,U+83C5,U+83C8,U+83D3-83D4,U+83D6,U+83D8,U+83DF,U+83E1,U+83EF-83F0,U+83F8,U+83FD,U+8401,U+8403,U+840A-840B,U+8418,U+841C,U+8426,U+8429,U+842C,U+8431,U+8438,U+843C,U+8446,U+8449,U+8451,U+845A,U+8469,U+846D,U+8473,U+8476,U+847A,U+848C,U+8490,U+8497,U+849F,U+84A1,U+84AF,U+84B4,U+84B9-84BD,U+84BF,U+84C1,U+84CB,U+84D3,U+84E5-84E6,U+84EE,U+84FC,U+84FF,U+8514,U+8523,U+8535,U+853A-853B,U+8543,U+8548,U+8556,U+8559,U+855E,U+8564,U+8568-8569,U+856D,U+8572,U+857B,U+8585,U+8587,U+858F,U+8599,U+859C,U+85A6,U+85A8-85A9,U+85AB-85AC,U+85AE,U+85B0,U+85B9,U+85C1,U+85CD,U+85D3,U+85DC-85DD,U+85E5,U+85FF,U+8605-8607,U+860B,U+8616,U+862D,U+863C,U+863F,U+8654-8655,U+865B,U+865F,U+8662,U+866C,U+867B,U+8693,U+869D,U+86A3,U+86A7,U+86A9-86AA,U+86AC,U+86AF,U+86B1,U+86B5-86B6,U+86C4,U+86C9,U+86CE-86D0,U+86DE-86DF,U+86E6,U+86ED,U+86F3,U+8703,U+8707-870A,U+870D,U+8713,U+871A,U+8722,U+8725,U+8731,U+8734,U+8737,U+873B,U+873F,U+8748,U+874C,U+8753,U+8759,U+8760,U+8763,U+8766,U+876E,U+8770,U+877C,U+877E,U+8782-8783,U+8788,U+87A2,U+87A8,U+87AD,U+87AF,U+87B3,U+87C0,U+87C6,U+87CB,U+87D1-87D2,U+87E0,U+87F2,U+87FE,U+881B,U+881F,U+8821,U+8839,U+883B,U+8844,U+8846,U+8853,U+885B,U+885D,U+8862,U+8869,U+886E,U+8872,U+887D-887F,U+8882,U+8885,U+8888,U+88A2,U+88A4,U+88AA,U+88C6,U+88CF,U+88D8,U+88DC-88DD,U+88DF,U+88E1,U+88E8,U+88F1,U+88FD-88FE,U+8907,U+8913-8914,U+891A-891B,U+8930,U+8932,U+8934,U+8936,U+8941,U+895E,U+8966,U+896A,U+8972,U+8983,U+898B,U+898F,U+8996,U+899A,U+89A1,U+89A7,U+89AA,U+89B3,U+89BA,U+89BD,U+89C0,U+89CA,U+89CE,U+89D0-89D1,U+89DA,U+89DE,U+89E5,U+89F8,U+8A02,U+8A08,U+8A0A,U+8A0E,U+8A13,U+8A15,U+8A17-8A18,U+8A23,U+8A2A-8A2B,U+8A2D,U+8A31,U+8A33-8A34,U+8A3A-8A3C,U+8A3E,U+8A55,U+8A5E,U+8A60,U+8A62,U+8A66,U+8A69,U+8A71-8A73,U+8A87,U+8A8C-8A8D,U+8A95,U+8A98,U+8A9E,U+8AA0,U+8AA4,U+8AAA,U+8AAC-8AAD,U+8AB0,U+8AB2,U+8ABC,U+8ABF,U+8AC7,U+8ACB,U+8AD2,U+8AD6,U+8ADC,U+8AE7,U+8AEE,U+8AF8,U+8AFE,U+8B00,U+8B02,U+8B07,U+8B0E,U+8B17,U+8B19,U+8B1B,U+8B1D,U+8B20,U+8B39,U+8B49,U+8B58,U+8B5A,U+8B5C,U+8B6F-8B70,U+8B77,U+8B7D,U+8B80,U+8B8A,U+8B93,U+8B9A,U+8BA6-8BA7,U+8BAA,U+8BB4,U+8BB7,U+8BC2-8BC3,U+8BCB,U+8BCF,U+8BD2-8BD3,U+8BD8-8BD9,U+8BDF-8BE0,U+8BE4,U+8BE8-8BE9,U+8BF0,U+8BF3,U+8BF6,U+8BF9,U+8BFF-8C00,U+8C02,U+8C04,U+8C0C,U+8C0F,U+8C11-8C12,U+8C14-8C15,U+8C18-8C19,U+8C1B,U+8C1F,U+8C21,U+8C25,U+8C27,U+8C2A,U+8C2F,U+8C32,U+8C36,U+8C47,U+8C49-8C4A,U+8C4E,U+8C50,U+8C54-8C55,U+8C5A,U+8C6C,U+8C78,U+8C82,U+8C85,U+8C93-8C94,U+8C98,U+8C9D-8C9E,U+8CA0-8CA2,U+8CA7-8CAC,U+8CB4,U+8CB7-8CB8,U+8CBB-8CBC,U+8CBF-8CC0,U+8CC7-8CC8,U+8CCA,U+8CD3,U+8CDB-8CDC,U+8CDE,U+8CE0,U+8CE2-8CE4,U+8CE6,U+8CEA,U+8CEC-8CED,U+8CF4,U+8CFA,U+8CFC-8CFD,U+8D08,U+8D0A,U+8D0F,U+8D32,U+8D3B,U+8D3D,U+8D45,U+8D48-8D49,U+8D53,U+8D5D,U+8D5F,U+8D67,U+8D6D,U+8D73,U+8D84,U+8D95,U+8D99,U+8DA8,U+8DB5,U+8DB8,U+8DBA,U+8DC4,U+8DC6,U+8DCE,U+8DD6-8DD7,U+8DDA-8DDB,U+8DE1,U+8DE4,U+8DF6-8DF7,U+8DF9,U+8DFB,U+8E09,U+8E1D,U+8E2E,U+8E31,U+8E35,U+8E39,U+8E42,U+8E47,U+8E49-8E4A,U+8E51-8E52,U+8E59,U+8E5F,U+8E64,U+8E69,U+8E74,U+8E76,U+8E7C,U+8E8D,U+8E8F,U+8EB6,U+8ECA,U+8ECC-8ECD,U+8ED2,U+8EDF,U+8EE2,U+8EF8,U+8EFD,U+8F03,U+8F09,U+8F14-8F15,U+8F1B,U+8F1D,U+8F29-8F2A,U+8F2F,U+8F38,U+8F49,U+8F5F,U+8F6B,U+8F6D,U+8F71-8F72,U+8F76,U+8F78,U+8F7C,U+8F84,U+8F87,U+8F8B,U+8F8D,U+8F94,U+8F98,U+8FA6,U+8FAD,U+8FAF,U+8FB2,U+8FBA-8FBC,U+8FE4-8FE6,U+8FE8-8FE9,U+8FF3-8FF4,U+9004-9005,U+900B,U+900D,U+9011,U+9019,U+9021,U+9023,U+9026,U+902F,U+9031-9032,U+9035-9036,U+904A-904B,U+904E,U+9050-9052,U+9054-9055,U+9059,U+905B-905C,U+905E,U+9060,U+9062,U+9068-9069,U+9072,U+9074,U+9077-9078,U+907A,U+907C-907D,U+9081-9084,U+9088,U+908A-908B,U+908F,U+9095,U+9097,U+9099,U+909B,U+909D,U+90A1,U+90A8,U+90AC,U+90B0,U+90B3,U+90B8,U+90BA,U+90C3-90C5,U+90C7,U+90CF,U+90D3,U+90D7,U+90DC,U+90DE,U+90E2,U+90E6,U+90EB,U+90EF,U+90F5,U+90F7,U+90FE,U+9104,U+9109,U+911E,U+9120,U+9122,U+9127,U+912D,U+912F-9131,U+9146,U+914A,U+9150,U+9154,U+9162,U+9169,U+916F-9170,U+918C-918D,U+9190,U+919C,U+91A3,U+91AA-91AC,U+91AE,U+91B4,U+91BA,U+91C6,U+91CB,U+91D8,U+91DD,U+91E3,U+921E,U+9225,U+9234,U+9244,U+9280,U+9285-9286,U+9298,U+92AE,U+92B7,U+92C6,U+92D2,U+92EA,U+92FC,U+9304,U+9322,U+9324,U+9326,U+932B,U+932F,U+9332,U+9336,U+933E,U+934A-934B,U+934F-9354,U+9356-935D,U+9365-9367,U+9369,U+9375,U+937E,U+938F,U+9396,U+93AC-93AF,U+93B4-93B8,U+93BA-93BB,U+93BE,U+93C0-93C4,U+93C7-93C9,U+93CB-93CD,U+93D6,U+93E1,U+9410-9411,U+9416-9418,U+941C,U+941E,U+9422-9423,U+9427-942A,U+942E,U+9435,U+9451-9452,U+946B,U+9470-9473,U+9477,U+9479,U+947B,U+947D-947E,U+9485,U+9487,U+948A,U+948F,U+9495,U+9497,U+949B-949C,U+94A3-94A4,U+94AC,U+94AF-94B0,U+94B4,U+94B9-94BA,U+94BC-94BD,U+94BF,U+94C4,U+94C8-94C9,U+94CB-94CE,U+94D0-94D1,U+94D6,U+94DB,U+94DF-94E0,U+94E2,U+94E4,U+94E7-94E9,U+94EE-94EF,U+94F3,U+94F5,U+94FF,U+9502-9503,U+9506,U+9509,U+950F,U+9512,U+9518,U+951B,U+951D,U+951F,U+9522,U+9532,U+9534-9537,U+953A,U+9542,U+9549,U+954C,U+9552-9557,U+955B,U+955D,U+9566-9567,U+956B-956C,U+956F,U+9573,U+9577,U+9580,U+9583,U+9589,U+958B,U+9591-9593,U+95A2-95A4,U+95A8,U+95AB,U+95AD-95AE,U+95B0-95B2,U+95BF-95C0,U+95C2-95C4,U+95C6-95C8,U+95CA,U+95D6,U+95D8,U+95DC,U+95E9,U+95EB,U+95F1,U+95F3,U+95F5,U+95FE,U+9606,U+960A,U+9615-9617,U+9619-961A,U+9621,U+962A,U+9642,U+9649,U+965E-965F,U+9663,U+9670,U+9672-9673,U+9678,U+967A,U+967D,U+9688,U+968A,U+968D-968E,U+9697,U+969B,U+96A0,U+96A3,U+96A8,U+96AA,U+96B0-96B1,U+96B7-96B9,U+96BB-96BD,U+96C9,U+96CE,U+96D1-96D2,U+96D6,U+96D9,U+96DB-96DC,U+96DE,U+96E2-96E3,U+96EB,U+96EF,U+96F2-96F3,U+96FB,U+9701,U+9706,U+9708,U+970A,U+970E-970F,U+9711,U+9727,U+972D,U+9730,U+973E,U+9748,U+9751,U+9753,U+975A,U+975C,U+9765,U+977C,U+9785,U+9791,U+97A3,U+97CB,U+97D3,U+97EA-97EC,U+97FB,U+97FF,U+9801-9803,U+9805-9806,U+9808,U+980C,U+9810-9814,U+9818,U+982B,U+982D,U+9838,U+983B-983C,U+9846,U+984C-984D,U+984F,U+9854,U+9858,U+985E,U+9867,U+986F,U+987C,U+9880,U+9889,U+988C-988D,U+988F,U+9894,U+989A-989B,U+989E,U+98A1-98A2,U+98A6,U+98A8,U+98B1,U+98C4,U+98CF,U+98D2-98D3,U+98D5,U+98D9-98DB,U+98E8,U+98EF,U+98F2,U+98FC-98FE,U+9905,U+990A,U+990C-990D,U+9913,U+9918,U+9928,U+992E,U+9945,U+9951,U+9955,U+9967-9968,U+996A,U+996C,U+9974,U+9977,U+997D,U+9980,U+9984,U+998A,U+998D,U+9990,U+9994-9995,U+9997,U+99A5,U+99A8,U+99AC,U+99AE,U+99B3-99B4,U+99C5,U+99D0,U+99D5,U+99DB,U+99E1,U+99FF,U+9A0E,U+9A12-9A13,U+9A19,U+9A30,U+9A37,U+9A45,U+9A57,U+9A5A,U+9A5F,U+9A77-9A78,U+9A7D,U+9A7F,U+9A81,U+9A85,U+9A88,U+9A8A,U+9A90,U+9A9B-9A9E,U+9AA0,U+9AA2,U+9AA5,U+9AA7,U+9AB0,U+9AB6-9AB7,U+9ABC,U+9AC1-9AC2,U+9AC5,U+9ACB-9ACC,U+9AD2,U+9AD4,U+9AD9,U+9AE6,U+9AEA,U+9AEE-9AEF,U+9AFB,U+9B06,U+9B13,U+9B1F,U+9B23,U+9B25,U+9B27,U+9B31,U+9B3B,U+9B43,U+9B45,U+9B47,U+9B49,U+9B4D,U+9B51,U+9B5A,U+9B5F,U+9B6F,U+9B91,U+9BAE,U+9C7F,U+9C85,U+9C87-9C88,U+9C91,U+9C94,U+9C9B,U+9C9F-9CA0,U+9CA2-9CA3,U+9CA8,U+9CAB,U+9CAD-9CAE,U+9CB1-9CB3,U+9CB5-9CB7,U+9CBD,U+9CC4-9CC5,U+9CCA,U+9CCC-9CCD,U+9CCF-9CD0,U+9CD4-9CD5,U+9CD7,U+9CD9,U+9CDC-9CDD,U+9CDF,U+9CE5,U+9CF3-9CF4,U+9D09,U+9D28,U+9D3B,U+9D5D,U+9D6C,U+9DB4,U+9DF9,U+9E20,U+9E22,U+9E28-9E2C,U+9E2E,U+9E30-9E31,U+9E36-9E37,U+9E3E,U+9E42,U+9E44,U+9E48-9E49,U+9E4C,U+9E51,U+9E55,U+9E57-9E58,U+9E5A,U+9E5C,U+9E5E,U+9E66-9E67,U+9E69,U+9E6B-9E6E,U+9E73,U+9E79,U+9E7D,U+9E82,U+9E8B,U+9E92,U+9E97,U+9E9D,U+9E9F,U+9EA5,U+9EB5,U+9EB8,U+9EBC-9EBE,U+9EC3,U+9EC9,U+9ECF,U+9ED2,U+9EDB-9EE0,U+9EE8,U+9EEF,U+9EFE,U+9F0B,U+9F10,U+9F2C,U+9F39,U+9F3E,U+9F41,U+9F4A-9F4B,U+9F52,U+9F61,U+9F85,U+9F87-9F88,U+9F8A,U+9F8C-9F8D,U+9F98,U+9F9B-9F9C,U+FE30-FE31,U+FE34-FE36,U+FE39,U+FE3D-FE41,U+FE43,U+FE4B-FE4C,U+FE4E-FE52,U+FE55-FE56,U+FE5A,U+FE5D-FE5E,U+FE61,U+FE63-FE65;
}

/* Bold 700 — 1438 字，226 KB */
@font-face {
  font-family: 'SourceHanSerif';
  src: url('/fonts/slices/SourceHanSerifSC-Bold-a.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+20-7E,U+A0-FF,U+2002,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+3000-3003,U+3005-301B,U+301D-301E,U+4E00-4E01,U+4E03,U+4E09-4E0B,U+4E0D-4E0E,U+4E13-4E14,U+4E16,U+4E22,U+4E24-4E25,U+4E2A,U+4E2D,U+4E32,U+4E38,U+4E3A-4E3B,U+4E45,U+4E48-4E49,U+4E4B,U+4E4E,U+4E50,U+4E54,U+4E5F,U+4E66,U+4E71,U+4E86,U+4E8B-4E8C,U+4E8E,U+4E92,U+4E94,U+4E9A-4E9B,U+4EA4,U+4EA7,U+4EAB,U+4EAE,U+4EBA,U+4EC0,U+4EC5,U+4ECA-4ECB,U+4ECD-4ECE,U+4ED6,U+4EE3,U+4EE5,U+4EF6-4EF7,U+4EFB,U+4EFD,U+4F18,U+4F1A,U+4F20,U+4F2A,U+4F38,U+4F3C,U+4F46,U+4F4D-4F4F,U+4F53,U+4F55,U+4F59,U+4F5C,U+4F60,U+4F7F,U+4F8B,U+4F9B,U+4F9D,U+4FA7,U+4FBF,U+4FDD,U+4FE1,U+4FEE,U+500D,U+5019,U+501F,U+503C,U+504F,U+505A,U+505C,U+507F,U+50A8,U+50CF,U+513F,U+5141,U+5143-5145,U+5148-5149,U+514B,U+514D,U+515C,U+5165,U+5168,U+516B-516D,U+5171,U+5173,U+5176-5177,U+517C,U+5185,U+518C-518D,U+5192,U+5199,U+51B2-51B3,U+51B5,U+51B7,U+51BB,U+51C0,U+51C6,U+51CF,U+51D1,U+51E0-51E1,U+51ED,U+51FA-51FB,U+51FD,U+5206-5207,U+5217,U+5219-521B,U+521D,U+5220,U+5224,U+5229,U+522B,U+5230,U+5236-5237,U+523B,U+524D,U+5254,U+5269-526A,U+526F,U+5272,U+529B,U+529F-52A1,U+52A8,U+52AA,U+52BF,U+52FE-52FF,U+5305,U+5316,U+5339-533A,U+5341,U+5343,U+5347-5348,U+534A,U+534F,U+5355,U+535A,U+5360-5361,U+536B,U+5373-5374,U+5378,U+5386,U+5389,U+538B,U+539F,U+53BB,U+53C2,U+53C9-53CD,U+53D1,U+53D6-53D8,U+53E0,U+53E3,U+53E5-53E6,U+53EA,U+53EF-53F0,U+53F2-53F3,U+53F7,U+5403-5404,U+5408,U+540C-540E,U+5411,U+5426,U+542B-542C,U+542F,U+5438,U+5446,U+544A,U+5458,U+5468,U+547C-547D,U+548C,U+54C1,U+54C8,U+54CD,U+54EA,U+5524,U+552F,U+5546,U+5565,U+5582,U+5668,U+566A,U+56CA,U+56DB,U+56DE,U+56E0,U+56E2,U+56F4,U+56FA,U+56FD-56FE,U+5706,U+570B,U+5728,U+5730,U+573A,U+5740,U+5747,U+574F-5750,U+5757,U+5768,U+5782,U+578B,U+57AB,U+57DF,U+57FA,U+584C,U+5854,U+585E,U+586B,U+5883,U+589E,U+58A8,U+58C1,U+58EB,U+58F0,U+58F3,U+5904,U+5907,U+590D,U+5916,U+591A,U+591C,U+591F,U+5927,U+5929-592A,U+5931,U+5934,U+5939,U+5948,U+594F,U+5954,U+5957,U+5962,U+5976,U+597D,U+5982,U+59CB,U+59D4,U+5A31,U+5A92,U+5B50,U+5B57-5B58,U+5B64,U+5B66,U+5B83,U+5B88-5B89,U+5B8B-5B8C,U+5B97-5B98,U+5B9A,U+5B9E,U+5BA2,U+5BB3,U+5BB9,U+5BBD,U+5BBF,U+5BC6,U+5BF8-5BF9,U+5BFB-5BFC,U+5C01,U+5C04,U+5C06,U+5C0A,U+5C0F,U+5C11,U+5C14,U+5C1A,U+5C1D,U+5C31,U+5C3A,U+5C3D-5C3E,U+5C40,U+5C42,U+5C45,U+5C4F,U+5C55,U+5C5E,U+5C65,U+5C71,U+5D4C,U+5DE5-5DE6,U+5DEE,U+5DF1-5DF2,U+5DF4,U+5E03,U+5E0C,U+5E26-5E27,U+5E2D-5E2E,U+5E38,U+5E42,U+5E45,U+5E55,U+5E72-5E74,U+5E76,U+5E78,U+5E8A,U+5E8F,U+5E93-5E95,U+5E97,U+5E9F,U+5EA6,U+5EF6,U+5EFA,U+5F00,U+5F02-5F03,U+5F0F,U+5F15,U+5F1F-5F20,U+5F31,U+5F39-5F3A,U+5F52-5F53,U+5F55,U+5F62,U+5F69,U+5F71,U+5F7B,U+5F80,U+5F84-5F85,U+5F88,U+5F8B,U+5F97,U+5FAA,U+5FAE,U+5FC3,U+5FC5-5FC6,U+5FEB,U+5FFD,U+6001,U+601D,U+6027,U+603B,U+6052,U+6062,U+606F,U+60AC,U+60C5,U+60EF,U+60F3,U+610F,U+611F,U+6123,U+613F,U+6162,U+61C2,U+61D2,U+6210,U+6216,U+622A,U+6233,U+6237,U+6240-6241,U+624B,U+624D,U+6253,U+6258,U+6267,U+6269,U+6270,U+6279,U+627E-627F,U+628A,U+6295-6298,U+629B,U+62A2,U+62A4-62A5,U+62AC,U+62B5,U+62B9,U+62BD,U+62C5-62C6,U+62C9,U+62CD,U+62D2,U+62D6,U+62DF,U+62E2-62E3,U+62E6,U+62E9,U+62EC,U+62F7,U+62FC-62FD,U+62FF,U+6301-6302,U+6307,U+6309,U+6311,U+6321,U+6324,U+632A,U+6355,U+635F,U+6362,U+6367,U+636E,U+6377,U+6388-6389,U+638F-6390,U+6392,U+63A2,U+63A5,U+63A7-63A8,U+63CF-63D0,U+63D2,U+63ED,U+641C,U+642C,U+6446,U+6458,U+6491,U+64A4,U+64AD,U+64C7,U+64CD-64CE,U+652F,U+6536,U+6539,U+653E,U+6545,U+6548,U+654F,U+655B,U+6570,U+6574,U+6587,U+65A5,U+65AD,U+65AF-65B0,U+65B9,U+65C1,U+65CF,U+65E0,U+65E2,U+65E5-65E7,U+65E9,U+65F6,U+660E,U+6613,U+661F-6620,U+6628,U+662F,U+663E,U+665A,U+666E-6670,U+6674,U+6682,U+6690,U+6696-6697,U+66B4,U+66F2,U+66F4,U+66FF-6700,U+6708-6709,U+670B,U+670D,U+6714,U+671B,U+671D,U+671F,U+672A-672C,U+673A,U+6743,U+674E,U+675F,U+6761,U+6765,U+677E-677F,U+6781,U+6784,U+6790,U+679A,U+679C,U+67B6,U+67D0,U+67D3-67D4,U+67E5,U+6807,U+680F,U+6811,U+6821,U+6837-6839,U+683C,U+6846,U+6848,U+684C,U+6863,U+6865,U+6876,U+68C0,U+68D5,U+68F5,U+690D,U+69FD,U+6A21,U+6A2A,U+6A59,U+6B21-6B22,U+6B3E,U+6B49,U+6B62-6B65,U+6B7B,U+6B8A-6B8B,U+6BB5,U+6BC1,U+6BCD,U+6BCF,U+6BD4-6BD5,U+6BDB,U+6C14,U+6C34,U+6C38,U+6C42,U+6C60-6C61,U+6C89,U+6C99,U+6CA1,U+6CB9,U+6CBF,U+6CD5,U+6CE2,U+6CE8,U+6D01,U+6D3B,U+6D41,U+6D45,U+6D4B,U+6D4F,U+6D53,U+6D6A,U+6D6E,U+6D77-6D78,U+6D88-6D89,U+6D9F,U+6DA8,U+6DE1,U+6DF1,U+6DF7,U+6DFB,U+6E05,U+6E10,U+6E21,U+6E29,U+6E32,U+6E38,U+6E43,U+6E90,U+6EA2,U+6ED1,U+6EDA,U+6EE1,U+6EE4,U+6F0F,U+6F2A-6F2B,U+6F8E,U+6FC0,U+7070,U+7075,U+70B9,U+70C1,U+70C8,U+70ED,U+7126,U+7136,U+7167,U+7206,U+7231,U+7236,U+7247-7248,U+724C,U+7269,U+7279,U+72B6,U+72E0,U+72EC,U+7387,U+73AB,U+73AF-73B0,U+73BB,U+73C0,U+7403,U+7406,U+7425,U+7470,U+7483,U+751F,U+7528,U+7531,U+7533,U+7535,U+753B,U+7545,U+754C,U+7559,U+7565,U+7591,U+767D-767E,U+7684,U+7686,U+76CA,U+76D1-76D2,U+76D6,U+76D8,U+76DB,U+76EE,U+76F4,U+76F8,U+7701,U+770B,U+771F,U+773C,U+7740,U+77AC,U+77E5,U+77E9,U+77ED-77EE,U+7801,U+780D,U+7814,U+7834,U+7840,U+786C,U+786E,U+788D,U+78B0,U+78C1,U+78E8,U+793A,U+793E,U+7956,U+7981,U+798F,U+79BB,U+79C1,U+79CD,U+79D2,U+79D8,U+79EF-79F0,U+79FB,U+7A0B,U+7A0D,U+7A33,U+7A7A,U+7A7F,U+7A81,U+7A84,U+7A97,U+7ACB,U+7AD6,U+7AD9,U+7AE0,U+7AEF,U+7B11,U+7B14,U+7B26,U+7B2C,U+7B49,U+7B56,U+7B5B,U+7B7E,U+7B80,U+7B97,U+7BA1,U+7BAD,U+7C27,U+7C73,U+7C7B,U+7C92,U+7C97-7C98,U+7CBE,U+7CCA,U+7CFB,U+7D20,U+7D22,U+7D27,U+7D2B,U+7EA2,U+7EA6-7EA7,U+7EAF,U+7EB3,U+7EB5,U+7EB8,U+7EBF,U+7EC4,U+7EC6,U+7EC8,U+7ECD,U+7ECF,U+7ED1,U+7ED3,U+7ED5,U+7ED8-7ED9,U+7EDC-7EDD,U+7EDF,U+7EE7,U+7EEA,U+7EED,U+7EF4,U+7EFF-7F00,U+7F13,U+7F16,U+7F18,U+7F1D,U+7F29,U+7F3A,U+7F51,U+7F69,U+7F6E,U+7F72,U+7F8E,U+7FFB,U+8001,U+8003,U+8005,U+800C,U+804C,U+8054,U+805A,U+8089,U+80CC,U+80DC,U+80F6,U+80FD,U+810F,U+811A,U+8131,U+817E,U+81EA,U+81F3-81F4,U+820D,U+821E,U+822A,U+8239,U+8272-8273,U+8282,U+82D4,U+82E5,U+82F1,U+8303,U+8340,U+8361,U+8367,U+836F,U+838E,U+83AB,U+83B7,U+83DC,U+843D,U+8499,U+84DD,U+8584,U+85CF,U+8651,U+865A,U+867D,U+884C-884D,U+8861,U+8865,U+8868,U+886C,U+88AB,U+88C1,U+88C5,U+88D5,U+88F8-88F9,U+8981,U+8986,U+89C1-89C2,U+89C4,U+89C6,U+89C8-89C9,U+89D2,U+89E3,U+89E6,U+8A00,U+8BA1-8BA2,U+8BA4,U+8BA9,U+8BAE-8BB0,U+8BB8,U+8BBA,U+8BBE-8BBF,U+8BC1,U+8BC6,U+8BC9,U+8BCD,U+8BD5,U+8BD7,U+8BDD,U+8BE2,U+8BE5-8BE6,U+8BED,U+8BEF,U+8BF4,U+8BF7,U+8BFB,U+8C03,U+8C10,U+8C22,U+8C41,U+8C61,U+8D1D,U+8D1F,U+8D23,U+8D25,U+8D27-8D28,U+8D34,U+8D39,U+8D44,U+8D56,U+8D70,U+8D74,U+8D76-8D77,U+8D85,U+8DB3,U+8DD1,U+8DDD,U+8DDF,U+8DE8,U+8DEC,U+8DEF,U+8DF3,U+8EAB,U+8F66,U+8F68,U+8F6C,U+8F6E,U+8F7B,U+8F7D,U+8F83,U+8F85,U+8F91,U+8F93,U+8FA8,U+8FB9,U+8FBE,U+8FC1,U+8FC7,U+8FCE,U+8FD0-8FD1,U+8FD4,U+8FD8-8FD9,U+8FDB-8FDC,U+8FDE-8FDF,U+8FF0,U+8FF7,U+8FF9,U+8FFD,U+9000-9003,U+9009,U+900F-9010,U+9012,U+9014,U+901A,U+901F-9020,U+9038,U+903B,U+904D,U+9053,U+906E,U+907F,U+90A3,U+90AE,U+90BB,U+90E8,U+90FD,U+914D,U+91C7,U+91CA,U+91CC-91CF,U+91D1,U+9488,U+949F,U+94A9,U+94AE,U+94BB,U+94FA,U+94FE,U+9500-9501,U+9510,U+9519-951A,U+952E,U+955C,U+957F,U+95EA,U+95ED-95EE,U+95F4,U+9605,U+9608,U+961F,U+9631-9632,U+9634-9636,U+963B,U+9644-9645,U+9648,U+964D,U+9650,U+9661,U+9664,U+9669,U+9677,U+968F-9690,U+9694,U+9699,U+969C,U+96BE,U+96C6,U+96E8,U+96F6,U+96FE,U+9700,U+9707,U+9732,U+9752,U+9759,U+975E,U+9760,U+9762,U+97F3,U+9875-9876,U+9879-987B,U+987F,U+9884,U+9891,U+9897-9898,U+989C-989D,U+98CE,U+98D8,U+98DE,U+9970-9971,U+9988,U+9996,U+9A71,U+9A7B,U+9A8C,U+9AA4,U+9AA8,U+9AD8,U+9C9C,U+9ED1,U+9ED8-9ED9,U+9F20,U+9F50,U+9F7F,U+FF01-FF49,U+FF4B-FF59,U+FF5B-FF5E,U+FFE0-FFE1,U+FFE3,U+FFE5;
}

/* Bold 700 — 64 字，13 KB */
@font-face {
  font-family: 'SourceHanSerif';
  src: url('/fonts/slices/SourceHanSerifSC-Bold-b.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+4E07,U+4E1A,U+4E1C,U+4E5D,U+4E60,U+4E89,U+4EAC,U+4EB2,U+4EEC,U+4F17,U+517B,U+519B-519C,U+5212,U+529E,U+52B3,U+5317,U+534E,U+5357,U+5382,U+53BF,U+53C8,U+53EB,U+571F,U+5BB6,U+5E02,U+5E7F,U+5E9C,U+5FD7,U+6211,U+6218,U+6280,U+653F,U+6559,U+6597,U+6599,U+6668,U+672F,U+6797,U+6C11,U+6C5F,U+6CBB,U+6D3E,U+6D4E,U+706B,U+738B,U+77F3,U+77FF,U+79D1,U+7A76,U+7EC7,U+7FA4,U+80B2,U+822C,U+82B1,U+897F,U+8D8A,U+9178,U+94C1,U+95E8,U+9662,U+9886,U+9A6C,U+9F99;
}

/* Bold 700 — 2595 字，503 KB */
@font-face {
  font-family: 'SourceHanSerif';
  src: url('/fonts/slices/SourceHanSerifSC-Bold-c.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+4E08,U+4E11,U+4E18-4E19,U+4E1B,U+4E1D,U+4E27,U+4E2B,U+4E30,U+4E34,U+4E39,U+4E3D-4E3E,U+4E43,U+4E4C-4E4D,U+4E4F,U+4E52-4E53,U+4E56,U+4E58-4E59,U+4E5E,U+4E61,U+4E70,U+4E73,U+4E7E,U+4E88,U+4E8F,U+4E91,U+4E95,U+4EA1-4EA2,U+4EA5-4EA6,U+4EA8-4EA9,U+4EAD,U+4EBF,U+4EC1,U+4EC6-4EC7,U+4ED1,U+4ED3-4ED5,U+4ED7-4ED9,U+4EDF,U+4EE4,U+4EEA,U+4EF0,U+4EF2,U+4EFF,U+4F01,U+4F0A,U+4F0D-4F11,U+4F19,U+4F1E-4F1F,U+4F24,U+4F26,U+4F2F-4F30,U+4F34,U+4F36,U+4F3A,U+4F43,U+4F50-4F51,U+4F5B,U+4F63,U+4F69,U+4F6C,U+4F6F-4F70,U+4F73,U+4F84,U+4F88,U+4F8D,U+4F97,U+4FA0,U+4FA3,U+4FA5-4FA6,U+4FA8-4FA9,U+4FAE-4FAF,U+4FB5,U+4FC3-4FC4,U+4FCA,U+4FCF-4FD0,U+4FD7-4FD8,U+4FDE,U+4FE9,U+4FED,U+4FEF,U+4FF1,U+4FFA,U+5012,U+5014,U+5018,U+501A,U+5021,U+5026,U+502A,U+503A,U+503E,U+5047,U+5065,U+5076-5077,U+5080,U+5085,U+5088,U+508D,U+50A3,U+50AC,U+50B2,U+50BB,U+50DA,U+50E7,U+50F3,U+50F5,U+50FB,U+5112,U+5121,U+5146,U+5151,U+5154,U+515A,U+5162,U+5170,U+5174-5175,U+5178-5179,U+517D,U+5180,U+5188-5189,U+5195,U+5197,U+51A0,U+51A4,U+51AC,U+51AF-51B0,U+51B6,U+51C4,U+51C9,U+51CB-51CC,U+51DB,U+51DD,U+51E4,U+51EF-51F0,U+51F3,U+51F6,U+51F8-51F9,U+51FF-5201,U+5203,U+520A,U+5211,U+5218,U+5228,U+522E,U+5238-523A,U+523D,U+5241-5243,U+524A,U+5250-5251,U+5256,U+5265,U+5267,U+527F,U+5288,U+529D,U+52A3,U+52A9,U+52AB,U+52B1-52B2,U+52C3,U+52C7,U+52C9,U+52CB,U+52D2,U+52D8,U+52DF,U+52E4,U+52FA,U+5300,U+5306,U+5308,U+5319,U+531D,U+5320-5321,U+5323,U+532A,U+533B,U+533F,U+5349,U+5351-5353,U+5356,U+535C,U+535E,U+5362,U+5364,U+5367,U+536F-5371,U+5375,U+5377,U+537F,U+5384-5385,U+538C,U+5395,U+5398,U+539A,U+53A2,U+53A6,U+53A8-53A9,U+53C1,U+53D4,U+53D9,U+53DB,U+53E4,U+53EC-53EE,U+53F6,U+53F8-53F9,U+53FC,U+5401,U+5409-540A,U+540F-5410,U+5413,U+5415,U+5417,U+541B,U+541D-5420,U+5427-5429,U+542D-542E,U+5431,U+5434-5435,U+5439,U+543B-543C,U+543E,U+5440,U+5448,U+5450,U+5455,U+545B-545C,U+5462,U+5473,U+5475,U+5478,U+547B,U+5480,U+5486,U+548B,U+548E-5490,U+5492,U+5495-5496,U+5499,U+54A8,U+54AC,U+54AF,U+54B1,U+54B3,U+54B8,U+54BD,U+54C0,U+54C4,U+54C6-54C7,U+54C9,U+54CE,U+54D1,U+54D7,U+54DF,U+54E5-54E6,U+54E8-54E9,U+54ED-54EE,U+54F2,U+54FA,U+54FC,U+5501,U+5506-5507,U+5509,U+5510,U+552C,U+552E,U+5531,U+553E,U+5543-5544,U+554A,U+5561,U+5564,U+5566,U+556A,U+556E,U+5578,U+557C,U+5580,U+5584,U+5587,U+5589-558A,U+5598,U+559C-559D,U+55A7,U+55B3,U+55B7,U+55BB,U+55C5,U+55D3,U+55DC,U+55E1,U+55E3,U+55FD,U+5609,U+560E,U+5618,U+561B,U+5631-5632,U+5634,U+5636,U+563B,U+563F,U+564E,U+566C,U+5676,U+568E-568F,U+56A3,U+56B7,U+56BC,U+56DA,U+56E4,U+56ED,U+56F0-56F1,U+5703,U+5708,U+5723,U+572D,U+573E,U+574A,U+574D-574E,U+5751,U+575A-575B,U+575D-5761,U+5764,U+5766,U+576A,U+576F,U+5777,U+5783-5784,U+5792,U+579B,U+57A2-57A3,U+57A6,U+57AE,U+57C2-57C3,U+57CB,U+57CE,U+57D4,U+57E0,U+57F9,U+5802,U+5806,U+5811,U+5815,U+5821,U+5824,U+582A,U+5830,U+5835,U+5851,U+5858,U+5885,U+5892-5893,U+5899,U+589F,U+58A9,U+58D5,U+58E4,U+58EC,U+58EE,U+58F6,U+58F9,U+590F,U+5915,U+592B,U+592E-592F,U+5937-5938,U+593A,U+5944,U+5947,U+5949,U+594B,U+594E,U+5951,U+5956,U+5960,U+5965,U+5973-5974,U+5978-5979,U+5984,U+5986-5988,U+598A,U+5992-5993,U+5996,U+5999,U+59A5,U+59A8,U+59AE,U+59B9,U+59BB,U+59C6,U+59D0-59D1,U+59D3,U+59DA,U+59DC,U+59E5,U+59E8,U+59EC,U+59FB,U+59FF,U+5A01,U+5A03-5A04,U+5A07,U+5A18,U+5A1C,U+5A1F-5A20,U+5A25,U+5A29,U+5A36,U+5A46,U+5A49,U+5A5A,U+5A6A,U+5A74,U+5A76,U+5A7F,U+5A9A,U+5AB3,U+5AC1-5AC2,U+5AC9,U+5ACC,U+5AE1,U+5AE9,U+5B54-5B55,U+5B59,U+5B5C-5B5D,U+5B5F,U+5B63,U+5B69-5B6A,U+5B70,U+5B75,U+5B7A,U+5B7D,U+5B81,U+5B85,U+5B87,U+5B8F,U+5B99,U+5B9B-5B9D,U+5BA0-5BA1,U+5BA3-5BA4,U+5BA6,U+5BAA-5BAB,U+5BB0,U+5BB4-5BB5,U+5BBE,U+5BC2,U+5BC4-5BC5,U+5BC7,U+5BCC,U+5BD0,U+5BD2-5BD3,U+5BDD-5BDF,U+5BE1,U+5BE5,U+5BE8,U+5BFA,U+5BFF,U+5C09,U+5C16,U+5C18,U+5C24,U+5C27,U+5C38-5C39,U+5C3C,U+5C3F,U+5C41,U+5C48-5C4B,U+5C4E,U+5C51,U+5C60-5C61,U+5C6F,U+5C79,U+5C7F,U+5C81-5C82,U+5C94,U+5C97,U+5C9B,U+5CA9,U+5CAD,U+5CB3,U+5CB8,U+5CBF,U+5CD9,U+5CE1,U+5CE6,U+5CE8,U+5CEA,U+5CED,U+5CF0,U+5CFB,U+5D07,U+5D0E,U+5D14,U+5D16,U+5D29,U+5D2D,U+5DCD,U+5DDD-5DDE,U+5DE1-5DE2,U+5DE7-5DE9,U+5DEB,U+5DF3,U+5DF7,U+5DFE,U+5E01,U+5E05-5E06,U+5E08,U+5E10,U+5E15-5E16,U+5E18,U+5E1A-5E1D,U+5E3D,U+5E4C,U+5E62,U+5E7B-5E7D,U+5E84,U+5E86-5E87,U+5E90,U+5E99-5E9A,U+5E9E,U+5EA7,U+5EAD,U+5EB6-5EB8,U+5EC9-5ECA,U+5ED3,U+5ED6,U+5EF7,U+5F04,U+5F0A,U+5F13,U+5F17-5F18,U+5F1B,U+5F25-5F27,U+5F2F,U+5F5D,U+5F64,U+5F66,U+5F6A,U+5F6C-5F6D,U+5F70,U+5F79,U+5F7C,U+5F81,U+5F8A,U+5F90,U+5F92,U+5F98,U+5FA1,U+5FB7,U+5FBD,U+5FCC-5FCD,U+5FD8-5FD9,U+5FE0,U+5FE7,U+5FF1,U+5FF5,U+5FFB,U+5FFF-6000,U+6002,U+600E,U+6012,U+6014-6016,U+601C,U+6020,U+6025,U+6028,U+602A,U+602F,U+6043,U+604B,U+604D,U+6050,U+6055,U+6064,U+6068-6069,U+606B-606D,U+6070,U+6073,U+6076,U+607C,U+607F,U+6084,U+6089,U+608D,U+6094,U+609F-60A0,U+60A3,U+60A6,U+60A8,U+60AF,U+60B2,U+60B8,U+60BC,U+60CA-60CB,U+60D1,U+60D5,U+60DC,U+60DF-60E0,U+60E6-60E9,U+60EB,U+60ED-60EE,U+60F0,U+60F6,U+60F9-60FA,U+6101,U+6108-6109,U+611A,U+6124,U+6127,U+6148,U+614C,U+614E,U+6151,U+6155,U+6167-6168,U+6170,U+6177,U+618B,U+618E,U+61A8,U+61BE,U+61C8,U+61CA,U+61E6,U+6208,U+620A,U+620C-620F,U+6212,U+621A,U+622E,U+6234,U+623F,U+6247,U+624E,U+6251-6252,U+6254,U+625B,U+6263,U+6266,U+626B-626F,U+6273,U+6276,U+627C,U+6284,U+6289,U+6291-6293,U+629A,U+62A0-62A1,U+62A8,U+62AB,U+62B1,U+62BC,U+62BF,U+62C2,U+62C4,U+62C7-62C8,U+62CC,U+62CE,U+62D0,U+62D3-62D4,U+62D8-62D9,U+62DB-62DC,U+62E5,U+62E7-62E8,U+62ED,U+62EF,U+62F1,U+62F3-62F4,U+62FE,U+630E,U+6316,U+631A-631B,U+631D-6320,U+6323,U+6325,U+6328,U+632B,U+632F,U+633A,U+633D,U+6342,U+6345-6346,U+6349,U+634C-6350,U+635E,U+6361,U+6363,U+6376,U+637B,U+6380,U+6382,U+6387,U+638C,U+6396,U+6398,U+63A0,U+63A3,U+63A9-63AA,U+63B3,U+63B7-63B8,U+63BA,U+63C9,U+63CD,U+63D6,U+63E1,U+63E3,U+63E9-63EA,U+63F4,U+63FD,U+6400-6402,U+6405,U+640F-6410,U+6413-6414,U+641E,U+642A,U+642D,U+643A,U+643D,U+6444,U+6447-6448,U+644A,U+6454,U+6467,U+6469,U+6478-6479,U+6482,U+6485,U+6487,U+6492,U+6495,U+649E,U+64A9,U+64AC,U+64AE,U+64B0,U+64B5,U+64BC,U+64C2,U+64C5,U+64D2,U+64DE,U+64E6,U+6500,U+6512,U+6518,U+652B,U+653B,U+654C,U+6551,U+6556,U+655D-655E,U+6562-6563,U+6566,U+656C,U+6572,U+6577,U+658B-658C,U+6591,U+659C,U+659F,U+65A1,U+65A4,U+65A7,U+65A9,U+65BD,U+65C5,U+65CB,U+65D7,U+65E8,U+65EC-65ED,U+65F1,U+65F7,U+65FA,U+6602,U+6606,U+660C,U+660F,U+6614,U+6625,U+6627,U+662D,U+663C,U+6643,U+664B-664C,U+6652-6653,U+6655,U+6664,U+6666,U+6676,U+667A,U+667E,U+6687,U+6691,U+66AE,U+66D9,U+66DD,U+66F0,U+66F3,U+66F9,U+66FC,U+66FE,U+6717,U+6728,U+672D,U+6731,U+6734-6735,U+673D,U+6740,U+6742,U+6746,U+6749,U+674F-6751,U+6756,U+675C,U+6760,U+6768,U+676D,U+676F-6770,U+6789,U+6795,U+679D,U+67A2-67A3,U+67AA-67AB,U+67AF,U+67B7,U+67C4,U+67CF,U+67D1-67D2,U+67DC,U+67DE,U+67E0,U+67EC,U+67EF,U+67F1,U+67F3-67F4,U+67FF,U+6805,U+6808,U+680B,U+6813,U+6816-6817,U+682A,U+683D,U+6842-6843,U+6845,U+6850-6851,U+6853-6854,U+6868-6869,U+6881,U+6885-6886,U+6897,U+68A2,U+68A6-68A8,U+68AD,U+68AF-68B0,U+68B3,U+68C9,U+68CB,U+68CD,U+68D2,U+68D8,U+68DA,U+68E0,U+68EE,U+68F1,U+68FA,U+6905,U+690E,U+6912,U+692D,U+6930,U+693D,U+693F,U+6954,U+695A,U+695E,U+6977,U+697C,U+6982,U+6986,U+6994,U+699C,U+69A8,U+69B4,U+69B7,U+69D0,U+69DB,U+6A0A,U+6A1F,U+6A31,U+6A47,U+6A61,U+6A71,U+6A80,U+6A84,U+6AAC,U+6B20,U+6B23,U+6B27,U+6B32,U+6B3A,U+6B47,U+6B4C,U+6B66-6B67,U+6B6A,U+6B79,U+6B7C,U+6B83,U+6B86,U+6B89,U+6B96,U+6BB4,U+6BB7,U+6BBF,U+6BC5,U+6BCB,U+6BD2,U+6BD7,U+6BD9,U+6BE1,U+6BEB,U+6BEF,U+6C0F,U+6C13,U+6C16,U+6C1B,U+6C1F,U+6C22,U+6C26-6C28,U+6C2E-6C30,U+6C40-6C41,U+6C47,U+6C49,U+6C50,U+6C55,U+6C57,U+6C5B,U+6C5D-6C5E,U+6C64,U+6C6A,U+6C70,U+6C72,U+6C79,U+6C7D-6C7E,U+6C81-6C83,U+6C88,U+6C8F,U+6C9B,U+6C9F,U+6CA4-6CA7,U+6CAA-6CAB,U+6CAE,U+6CB3,U+6CB8,U+6CBC-6CBE,U+6CC4-6CC5,U+6CC9-6CCA,U+6CCC,U+6CDB,U+6CDE,U+6CE1,U+6CE3,U+6CE5,U+6CEA,U+6CF0,U+6CF3,U+6CF5,U+6CFB-6CFD,U+6D0B,U+6D12,U+6D17,U+6D1B,U+6D1E,U+6D25,U+6D2A,U+6D31-6D32,U+6D3C-6D3D,U+6D46-6D47,U+6D4A,U+6D51,U+6D59-6D5A,U+6D66,U+6D69,U+6D74,U+6D82,U+6D85,U+6D8C,U+6D8E,U+6D95,U+6D9B,U+6D9D,U+6DA1,U+6DA3-6DA4,U+6DA6-6DA7,U+6DA9-6DAA,U+6DAF,U+6DB2,U+6DB5,U+6DB8,U+6DC0,U+6DC4,U+6DC6,U+6DCB-6DCC,U+6DD1,U+6DD6,U+6DD8,U+6DE4,U+6DEB-6DEC,U+6DEE,U+6DF3,U+6DF9,U+6E0A,U+6E0D,U+6E14,U+6E17,U+6E1D,U+6E20,U+6E23-6E24,U+6E2D,U+6E2F,U+6E34,U+6E3A,U+6E4D,U+6E56,U+6E58,U+6E5B,U+6E7E-6E7F,U+6E83,U+6E85,U+6E89,U+6E9C,U+6EAA,U+6EAF,U+6EB6,U+6EBA,U+6EC1,U+6EC7,U+6ECB,U+6ED3-6ED4,U+6EDE,U+6EE5-6EE6,U+6EE8-6EE9,U+6EF4,U+6F02,U+6F06,U+6F13-6F14,U+6F20,U+6F31,U+6F33,U+6F3E,U+6F4D,U+6F58,U+6F5C,U+6F5E,U+6F66,U+6F6D-6F6E,U+6F84,U+6F88,U+6F9C,U+6FA1,U+6FB3,U+6FD2,U+7011,U+704C,U+706D,U+706F,U+7076,U+7078,U+707C,U+707E-707F,U+7089-708A,U+708E,U+7092,U+7094-7095,U+7099,U+70AC-70AF,U+70B3,U+70B8,U+70BC-70BD,U+70C2-70C3,U+70D8-70D9,U+70DB,U+70DF,U+70E4,U+70E6-70E7,U+70E9,U+70EB-70EC,U+70EF,U+70F7,U+70F9,U+70FD,U+7109-710A,U+7115,U+7119-711A,U+7130,U+714C,U+714E,U+715E,U+7164,U+716E,U+717D,U+7184,U+718A,U+718F,U+7194,U+7199,U+719F,U+71AC,U+71C3,U+71CE,U+71D5,U+71E5,U+722A,U+722C,U+7235,U+7237-7239,U+723D,U+7259,U+725B,U+725F,U+7261-7262,U+7267,U+7272,U+7275,U+727A,U+7280-7281,U+728A,U+72AC,U+72AF,U+72B9,U+72C2,U+72C4,U+72C8,U+72D0,U+72D7,U+72D9,U+72DE,U+72E1,U+72ED-72EE,U+72F0-72F1,U+72F8,U+72FC,U+730E,U+7316,U+731B-731C,U+7329-732B,U+732E,U+7334,U+733E-733F,U+736D,U+7384,U+7389,U+7396,U+739B,U+73A9,U+73B2,U+73CA,U+73CD,U+73D0,U+73E0,U+73ED,U+7405,U+7409,U+7410,U+7422,U+7433-7436,U+743C,U+745A,U+745E-745F,U+7476,U+74DC,U+74E2-74E4,U+74E6,U+74EE,U+74F6-74F7,U+7504,U+7518,U+751A,U+751C,U+7525,U+7529,U+752B,U+752D,U+7530,U+7532,U+7537-7538,U+754F,U+7554,U+755C,U+7566,U+756A,U+7574,U+7578,U+7586,U+758F,U+7597,U+7599-759A,U+759F,U+75A1,U+75A4-75A5,U+75AB,U+75AE-75AF,U+75B2,U+75B5,U+75B9,U+75BC-75BE,U+75C5,U+75C7-75CA,U+75D2,U+75D4-75D5,U+75D8,U+75DB,U+75DE,U+75E2,U+75EA,U+75F0,U+75F4,U+75F9,U+7601,U+761F,U+7624,U+7626,U+7629-762B,U+7634,U+7638,U+764C,U+7663,U+7678,U+767B,U+7682,U+7687,U+768B,U+7691,U+7696,U+76AE,U+76B1,U+76BF,U+76C2,U+76C5-76C6,U+76C8,U+76CE-76D0,U+76D4,U+76D7,U+76DF,U+76EF,U+76F2,U+76FC,U+76FE,U+7709,U+7720,U+7728-7729,U+772F,U+7736-7737,U+773A,U+7741,U+775B,U+7761,U+7763,U+7766,U+776B-776C,U+7779,U+7784-7785,U+778E,U+7792,U+77A5,U+77A7,U+77A9-77AA,U+77B3,U+77BB,U+77D7,U+77DB,U+77E2-77E3,U+77EB,U+77FD-77FE,U+7802,U+780C,U+7812,U+7816,U+781A,U+7827,U+7830,U+7837-7838,U+783E,U+7845,U+7852,U+7855,U+785D,U+786B,U+7877,U+787C,U+7889,U+788C,U+788E,U+7891,U+7897-7898,U+789F,U+78A7,U+78B1,U+78B3-78B4,U+78BE,U+78C5,U+78CA-78CB,U+78D0,U+78D5,U+78F7,U+78FA,U+7901,U+793C,U+7941,U+7948,U+795D-795F,U+7965,U+7968,U+796D,U+7977-7978,U+7984,U+79B9,U+79BD-79BE,U+79C0,U+79C3,U+79C6,U+79C9,U+79CB,U+79DF,U+79E4,U+79E6-79E7,U+79E9,U+79F8,U+79FD,U+7A00,U+7A0E,U+7A17,U+7A1A,U+7A20,U+7A3B-7A3D,U+7A3F,U+7A46,U+7A57,U+7A74,U+7A77,U+7A83,U+7A8D,U+7A91-7A92,U+7A96,U+7A98,U+7A9C-7A9D,U+7A9F,U+7AA5,U+7ABF,U+7ADE-7ADF,U+7AE3,U+7AE5,U+7AED,U+7AF9,U+7AFF,U+7B06,U+7B0B,U+7B1B,U+7B28,U+7B3A,U+7B3C,U+7B4B,U+7B4F-7B52,U+7B54,U+7B77,U+7B79,U+7B8D,U+7B94-7B95,U+7BA9,U+7BB1,U+7BC6-7BC7,U+7BD3,U+7BD9,U+7BE1,U+7BEE,U+7BF1,U+7BF7,U+7C07,U+7C3F,U+7C4D,U+7C7D,U+7C89,U+7C95,U+7C9F,U+7CA4-7CA5,U+7CAA,U+7CAE,U+7CB1,U+7CB3,U+7CB9,U+7CD5-7CD6,U+7CD9,U+7CDC,U+7CDF-7CE0,U+7CEF,U+7D0A,U+7D2F,U+7D6E,U+7E41,U+7E82,U+7EA0,U+7EA4,U+7EAA-7EAC,U+7EB1-7EB2,U+7EB6-7EB7,U+7EB9-7EBA,U+7EBD,U+7EC3,U+7EC5,U+7ECA,U+7ECE,U+7ED2,U+7EDA,U+7EDE,U+7EE2-7EE3,U+7EE5-7EE6,U+7EE9,U+7EF0,U+7EF3,U+7EF5,U+7EF7-7EF8,U+7EFC-7EFD,U+7F04-7F06,U+7F09,U+7F0E,U+7F14-7F15,U+7F1A,U+7F20,U+7F28,U+7F2E,U+7F34,U+7F38,U+7F50,U+7F55,U+7F57,U+7F5A,U+7F62,U+7F6A,U+7F8A,U+7F8C,U+7F94,U+7F9A,U+7F9E,U+7FA1,U+7FB9,U+7FBD,U+7FC1,U+7FC5,U+7FCC,U+7FD4,U+7FD8,U+7FDF-7FE0,U+7FF0-7FF1,U+7FFC,U+8000,U+800D,U+8010,U+8015,U+8017-8019,U+8033,U+8036,U+8038,U+803B,U+803D,U+803F,U+8042,U+804A-804B,U+8058,U+806A,U+8083-8084,U+8086-8087,U+808B-808C,U+8096,U+8098,U+809A-809B,U+809D,U+80A0-80A2,U+80A4-80A5,U+80A9-80AA,U+80AE-80AF,U+80BA,U+80BE-80C1,U+80C3,U+80C6,U+80CE,U+80D6,U+80DA,U+80DE,U+80E1,U+80EF-80F0,U+80F3,U+80F8,U+80FA,U+8102,U+8106,U+8109-810A,U+8110-8111,U+8113,U+8116,U+812F,U+8138,U+813E,U+8146,U+814A-814B,U+8150-8151,U+8154-8155,U+8165,U+816E,U+8170,U+8179-817B,U+817F-8180,U+818A,U+818F,U+8198,U+819B-819D,U+81A8,U+81B3,U+81C0,U+81C2-81C3,U+81C6,U+81E3,U+81ED,U+81FB-81FC,U+8200,U+8205-8206,U+820C,U+8212,U+8214,U+821C,U+821F,U+8230-8231,U+8235-8237,U+8247,U+8258,U+826F-8270,U+827A,U+827E,U+828B,U+828D,U+8292,U+829C-829D,U+82A5-82A6,U+82AC-82AD,U+82AF,U+82B3,U+82B9,U+82BD,U+82C7,U+82CD,U+82CF,U+82D1,U+82D7,U+82DB,U+82DE-82DF,U+82E6,U+82EB,U+82EF,U+82F9,U+8301-8302,U+8304-8305,U+830E,U+8327-8328,U+832B-832C,U+8335-8336,U+8338-8339,U+8346,U+8349,U+8350,U+8352,U+8354,U+835A,U+8363-8364,U+836B,U+8377,U+8386,U+8389,U+83B1-83B2,U+83B9,U+83BD,U+83C7,U+83CA,U+83CC,U+83CF,U+83E0,U+83E9,U+83F1-83F2,U+8404,U+840C-840E,U+841D,U+8424-8425,U+8427-8428,U+8457,U+845B,U+8461,U+8463,U+846B-846C,U+8471,U+8475,U+8482,U+848B,U+849C,U+84B2,U+84B8,U+84C4,U+84C9,U+84D1,U+84D6,U+84DF,U+84EC,U+8511,U+8513,U+8517,U+851A,U+8521,U+852B-852C,U+8537,U+853C-853D,U+8549-854A,U+8574,U+857E,U+859B,U+85AA,U+85AF,U+85C9,U+85D0,U+85D5,U+85E4,U+85E9,U+85FB,U+8611,U+8638,U+864E-8650,U+865E,U+866B,U+8671,U+8679,U+867E,U+8680-8682,U+868A,U+868C,U+8695,U+869C,U+86A4,U+86C0,U+86C6-86C7,U+86CA-86CB,U+86D4,U+86D9,U+86DB,U+86E4,U+86EE,U+86F0,U+86F9,U+86FE,U+8700,U+8702,U+8712,U+8715,U+8717-8718,U+871C,U+8721,U+8747,U+8749,U+874E,U+8757,U+8774,U+8776,U+878D,U+879F,U+87BA,U+87F9,U+8815,U+8822,U+8840,U+8845,U+8854,U+8857,U+8859,U+8863,U+886B,U+8870,U+8877,U+8881,U+8884,U+888B,U+888D,U+8892,U+8896,U+889C,U+88AD,U+88B1,U+88C2,U+88D4,U+88D9,U+88E4,U+88F3-88F4,U+8902,U+8910,U+8912,U+8925,U+892A,U+8944,U+895F,U+89C5,U+8A79,U+8A89-8A8A,U+8A93,U+8B66,U+8B6C,U+8BA3,U+8BA5,U+8BA8,U+8BAB,U+8BAD,U+8BB2-8BB3,U+8BB6,U+8BB9,U+8BBC-8BBD,U+8BC0,U+8BC4-8BC5,U+8BC8,U+8BCA,U+8BCC,U+8BD1,U+8BDA-8BDB,U+8BDE,U+8BE1,U+8BE3,U+8BE7,U+8BEB-8BEC,U+8BF1-8BF2,U+8BF5,U+8BF8,U+8BFA,U+8BFD-8BFE,U+8C01,U+8C05-8C06,U+8C08,U+8C0A-8C0B,U+8C0D-8C0E,U+8C13,U+8C17,U+8C1A,U+8C1C,U+8C23-8C24,U+8C26,U+8C28-8C29,U+8C2C-8C2D,U+8C31,U+8C34,U+8C37,U+8C46,U+8C4C,U+8C62,U+8C6A-8C6B,U+8C79-8C7A,U+8C89,U+8C8C,U+8D1E,U+8D21-8D22,U+8D24,U+8D26,U+8D29-8D31,U+8D35,U+8D37-8D38,U+8D3A,U+8D3C,U+8D3E-8D3F,U+8D41-8D43,U+8D4A-8D4C,U+8D4E-8D50,U+8D54,U+8D58,U+8D5A-8D5B,U+8D5E,U+8D60-8D64,U+8D66,U+8D6B,U+8D75,U+8D81,U+8D8B,U+8D9F,U+8DA3,U+8DB4,U+8DBE,U+8DC3,U+8DCB-8DCC,U+8DEA,U+8DF5,U+8DFA,U+8E0A,U+8E0C,U+8E0F,U+8E1E,U+8E22,U+8E29-8E2A,U+8E44,U+8E48,U+8E4B,U+8E66,U+8E6C-8E6D,U+8E72,U+8E7F,U+8E81,U+8E87,U+8EAC,U+8EAF,U+8EB2,U+8EBA,U+8F67,U+8F69,U+8F6F-8F70,U+8F74,U+8F7F,U+8F86,U+8F88-8F8A,U+8F90,U+8F95-8F97,U+8F99,U+8F9B-8F9C,U+8F9E-8F9F,U+8FA3,U+8FA9,U+8FAB,U+8FB0-8FB1,U+8FBD,U+8FC2,U+8FC4-8FC5,U+8FC8,U+8FDD,U+8FE2,U+8FEA-8FEB,U+8FED,U+8FF8,U+9006,U+900A,U+9017,U+901B,U+901D-901E,U+9022,U+902E,U+903C,U+903E,U+9041-9042,U+9047,U+904F,U+9057,U+9063,U+9065,U+906D,U+9075,U+9080,U+9091,U+9093,U+90A2,U+90A6,U+90AA,U+90AF,U+90B1,U+90B5,U+90B9,U+90C1,U+90CA,U+90CE,U+90D1,U+90DD,U+90E1,U+90E7,U+90ED,U+90F4,U+90F8,U+9102,U+9119,U+9149,U+914B-914C,U+9152,U+9157,U+915A,U+915D-915E,U+9163,U+9165,U+916A,U+916C,U+916E,U+9171,U+9175-9177,U+917F,U+9187,U+9189,U+918B,U+9192,U+919A-919B,U+91C9,U+91DC,U+9274,U+9489,U+948E,U+9492-9493,U+9499,U+949D-949E,U+94A0-94A2,U+94A5-94A8,U+94B1,U+94B3,U+94B5,U+94BE,U+94C0,U+94C2-94C3,U+94C5-94C6,U+94DC-94DD,U+94E1,U+94E3,U+94EC-94ED,U+94F0-94F2,U+94F6,U+94F8,U+9504-9505,U+9508,U+950B-950C,U+9511,U+9517,U+9521,U+9523-9526,U+952D,U+952F-9530,U+9539,U+953B,U+9540-9541,U+9547,U+954A,U+954D,U+9550-9551,U+9563,U+956D,U+9570,U+9576,U+95EF-95F0,U+95F2,U+95F7-95FB,U+95FD,U+9600-9602,U+9609,U+960E,U+9610-9611,U+9614,U+961C,U+962E,U+9633,U+963F-9640,U+9646-9647,U+964B-964C,U+9655,U+965B,U+9668,U+966A,U+9675-9676,U+9685-9686,U+968B,U+9698,U+96A7,U+96B6,U+96C0-96C1,U+96C4-96C5,U+96C7,U+96CC-96CD,U+96CF,U+96D5,U+96EA,U+96F7,U+96F9,U+9704,U+9709,U+970D,U+9713,U+9716,U+971C,U+971E,U+9738-9739,U+9756,U+975B,U+9761,U+9769,U+9773-9774,U+9776,U+978B,U+978D,U+9798,U+97A0,U+97AD,U+97E6-97E7,U+97E9,U+97ED,U+97F5-97F6,U+9877,U+987D-987E,U+9881-9882,U+9885,U+9887-9888,U+988A,U+9890,U+9893,U+9896,U+98A0,U+98A4,U+98A7,U+98DF,U+9910,U+9965,U+996D-996F,U+9972,U+9975-9976,U+997A,U+997C,U+997F,U+9981,U+9985-9986,U+998B,U+998F,U+9992,U+9999,U+9A6D-9A70,U+9A73-9A74,U+9A76,U+9A79,U+9A7C,U+9A7E,U+9A82,U+9A84,U+9A86-9A87,U+9A8B,U+9A8F,U+9A91,U+9A97,U+9A9A,U+9AA1,U+9AB8,U+9AD3,U+9B03,U+9B3C,U+9B41-9B42,U+9B44,U+9B4F,U+9B54,U+9C7C,U+9C81,U+9C8D,U+9CA4,U+9CB8,U+9CC3,U+9CD6,U+9CDE,U+9E1F,U+9E21,U+9E23,U+9E25-9E26,U+9E2D,U+9E2F,U+9E33,U+9E35,U+9E3D,U+9E3F,U+9E43,U+9E45,U+9E4A,U+9E4F,U+9E64,U+9E70,U+9E7F,U+9E93,U+9EA6,U+9EBB,U+9EC4,U+9ECD-9ECE,U+9ED4,U+9F0E,U+9F13,U+9F3B,U+9F84,U+9F8B,U+9F9A,U+9F9F;
}

/* Bold 700 — 3849 字，857 KB */
@font-face {
  font-family: 'SourceHanSerif';
  src: url('/fonts/slices/SourceHanSerifSC-Bold-d.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+152-153,U+2BB,U+300-301,U+304,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+3041-3096,U+3099-30FF,U+3105-312F,U+3220-3224,U+32A3,U+339C-339D,U+33A1,U+4E05,U+4E10,U+4E15,U+4E1E-4E1F,U+4E21,U+4E26,U+4E28,U+4E36-4E37,U+4E3C,U+4E3F,U+4E42,U+4E44,U+4E57,U+4E5C,U+4E69,U+4E82,U+4E85,U+4E8D,U+4E93,U+4E98,U+4E9C,U+4E9E-4E9F,U+4EB3,U+4EB5,U+4EBB,U+4EBE,U+4EC3-4EC4,U+4EDD-4EDE,U+4EE1,U+4EE8,U+4EEE,U+4EF5,U+4F05,U+4F09,U+4F1D,U+4F22,U+4F27,U+4F2B,U+4F2D,U+4F31,U+4F3D,U+4F48,U+4F54,U+4F57-4F58,U+4F5A,U+4F5D-4F5F,U+4F62,U+4F64-4F65,U+4F75-4F7D,U+4F80,U+4F83,U+4F86,U+4F8F,U+4F91,U+4FA1,U+4FAA,U+4FAC,U+4FB6,U+4FC2,U+4FC5,U+4FCE,U+4FD1,U+4FDA,U+4FDF-4FE0,U+4FE3,U+4FE6,U+4FE8,U+4FEA,U+4FEC,U+4FF3,U+4FF6,U+4FF8,U+4FFE,U+5006,U+5009,U+500B-500C,U+500F,U+5011,U+5016,U+501C,U+5024,U+5028-5029,U+502B-502E,U+5036,U+5043,U+5048-5049,U+504C,U+504E,U+5055,U+5072,U+5074-5075,U+5078,U+507B,U+507D,U+5091,U+5098-509D,U+50A2,U+50A5,U+50A9,U+50B3,U+50B5,U+50B7,U+50BE,U+50C5,U+50CD,U+50D5-50D6,U+50ED-50EE,U+50F9,U+50FE,U+5100,U+5104,U+5106,U+510B,U+510F,U+5118,U+511F,U+512A,U+5132,U+5134,U+5140,U+5147,U+514C,U+514E,U+5150,U+5152,U+5156,U+5158,U+5167,U+5169,U+516E,U+5172,U+5186-5187,U+518A,U+51A2,U+51A5,U+51A7-51AB,U+51B4,U+51BC-51BD,U+51C7,U+51CD,U+51DC,U+51E6,U+51EA-51EB,U+51F1,U+51FC,U+5202,U+5208,U+520D-520E,U+5225,U+522A,U+5247,U+524C,U+524E,U+525B-525C,U+5263,U+5275,U+527D,U+5283,U+5287,U+5289,U+528D,U+5291,U+52AD,U+52B5,U+52B9,U+52BC,U+52BE,U+52C1,U+52D0,U+52D5-52D6,U+52D9,U+52DD-52DE,U+52E2,U+52EB-52F0,U+52F3,U+52F5,U+530D,U+530F-5310,U+5315,U+532E-532F,U+533E,U+5340,U+5345,U+534D,U+5350,U+5354,U+5358,U+535F,U+5366,U+5369,U+537B,U+538D,U+539D,U+53A5,U+53AD-53AE,U+53B2,U+53B6,U+53C3,U+53C6,U+53CE-53CF,U+53D2,U+53D5,U+53DF,U+53E1-53E2,U+53E7-53E9,U+53F1,U+53F5,U+53FB,U+53FD,U+5406,U+540B,U+5412,U+5414,U+5416,U+5421,U+5425,U+5432-5433,U+5436,U+543D,U+5442-5443,U+544B,U+544E,U+5453,U+5457,U+5464,U+5466,U+546D-5472,U+5477,U+5481-5482,U+5484,U+5494,U+5497-5498,U+549A-549B,U+54A3-54A4,U+54A6-54A7,U+54A9-54AB,U+54AD,U+54B2,U+54BB,U+54BF,U+54C2,U+54CB-54CC,U+54CF-54D0,U+54D2,U+54D4,U+54DA,U+54DD-54DE,U+54E1,U+54E7,U+54FD,U+5504,U+550F,U+5511,U+5514,U+551B,U+5520,U+5522,U+5527,U+5530,U+5533-5535,U+5537-5538,U+5541,U+5549,U+554F,U+5553,U+5555-5556,U+555C,U+555F,U+5567,U+556B-556D,U+5570-5572,U+5575-5577,U+557B,U+557E,U+5583,U+5586,U+558B,U+558F,U+5591,U+5594,U+5599-559A,U+559F,U+55AA-55AC,U+55AE,U+55B0-55B2,U+55B5-55B6,U+55B9-55BA,U+55BD,U+55CE,U+55D1-55D2,U+55D4-55DB,U+55DD,U+55DF,U+55E4,U+55E6,U+55E8,U+55EA,U+55ED-55F0,U+55F2-55F3,U+55F7,U+5600,U+5605-5606,U+5608,U+560C,U+5617,U+561A,U+561E-561F,U+5622-5624,U+5627,U+562C-562D,U+5639,U+5641,U+564C,U+564F,U+5654,U+5657-565A,U+565C,U+5662,U+5664,U+5669,U+566B,U+5671,U+5674,U+5678-5679,U+567B-567C,U+5687,U+5690,U+5693,U+569F,U+56AE-56AF,U+56B4,U+56C9,U+56CD,U+56D4,U+56D7,U+56DD,U+56DF,U+56E1,U+56E3,U+56E7-56E9,U+56EB,U+56EF,U+56F2-56F3,U+56F5,U+56F9,U+56FF,U+5704,U+570D,U+5712-5713,U+5716,U+5718,U+571C,U+5727,U+5729-572A,U+5733,U+573B,U+5742,U+5749,U+5769,U+576B,U+576D,U+5773,U+577B,U+5785,U+578E,U+5793,U+579A,U+579F-57A1,U+57A9,U+57AD,U+57B5,U+57C7,U+57CC,U+57D5,U+57D7,U+57D9-57DA,U+57ED,U+57F5,U+57F7-57F8,U+57FC,U+5800,U+5803,U+5805,U+5807,U+581D,U+581F,U+5831,U+5834,U+583A,U+584A,U+584D,U+5857,U+585A,U+5869,U+586C,U+5875,U+587E,U+5889-588A,U+5896-5897,U+589C,U+58A0,U+58A6,U+58AE,U+58C5,U+58C7,U+58CA,U+58D1,U+58D3,U+58DE,U+58EF,U+58F2,U+58FA,U+58FD,U+5909-590C,U+590E,U+5910,U+5914,U+5919,U+5920,U+5922,U+5925,U+592D,U+5932,U+593E,U+5942,U+5955,U+5958,U+595A,U+5967,U+596A,U+596D-596E,U+5977,U+5983,U+598D,U+5997,U+599D-599E,U+59A3-59A4,U+59A9-59AB,U+59AF,U+59B2-59B3,U+59BA,U+59BE,U+59C9-59CA,U+59D2,U+59D7-59D8,U+59DD-59DF,U+59E3-59E4,U+59E6-59E7,U+59E9-59EB,U+59F9,U+5A05-5A06,U+5A08-5A09,U+5A0C,U+5A11,U+5A13,U+5A1B,U+5A23,U+5A32,U+5A34,U+5A3C,U+5A40-5A43,U+5A4A,U+5A50,U+5A55,U+5A62,U+5A66-5A67,U+5A73,U+5A75,U+5A77,U+5A7A,U+5A9B,U+5A9E,U+5AB2,U+5AB8,U+5ABA,U+5ABD-5ABE,U+5AD2,U+5AD4,U+5AD6,U+5ADA,U+5AE3,U+5AE6,U+5AF0,U+5B05,U+5B09,U+5B0C,U+5B17,U+5B1B,U+5B22,U+5B29-5B2D,U+5B30,U+5B32,U+5B34,U+5B37,U+5B3F-5B40,U+5B51,U+5B53,U+5B56,U+5B5A-5B5B,U+5B62,U+5B6B-5B6C,U+5B71,U+5B73,U+5B78,U+5B80,U+5B93,U+5B95,U+5B9F,U+5BA5,U+5BAC,U+5BAE,U+5BB8,U+5BD4,U+5BE4,U+5BE6-5BE7,U+5BE9,U+5BEB-5BEC,U+5BEE,U+5BF0,U+5BF3,U+5BF5-5BF6,U+5BFE,U+5C02,U+5C07-5C08,U+5C0B,U+5C0D-5C0E,U+5C10,U+5C13,U+5C15,U+5C1B,U+5C2C,U+5C2F,U+5C34,U+5C3B,U+5C44,U+5C46,U+5C4C-5C4D,U+5C50,U+5C64,U+5C6C,U+5C7C-5C7E,U+5C80,U+5C83-5C84,U+5C8C,U+5C90-5C91,U+5C96,U+5C98-5C9A,U+5CA1-5CA2,U+5CAB-5CAC,U+5CB1,U+5CB7,U+5CC1,U+5CC4,U+5CC7,U+5CCB,U+5CD2,U+5CE4-5CE5,U+5CEF,U+5CF6,U+5CFD,U+5D02-5D03,U+5D06,U+5D11,U+5D17,U+5D1B,U+5D27,U+5D2E,U+5D34,U+5D3D,U+5D47,U+5D4A-5D4B,U+5D4E,U+5D50,U+5D58,U+5D5B,U+5D69,U+5D6C,U+5D6F,U+5D74,U+5D82,U+5D84-5D88,U+5D8B,U+5D99,U+5DB7,U+5DBA,U+5DBD,U+5DC5,U+5DEF,U+5DFB,U+5DFD,U+5DFF,U+5E0F,U+5E14,U+5E25,U+5E2B,U+5E2F-5E30,U+5E33,U+5E36-5E37,U+5E3C,U+5E44,U+5E54,U+5E61,U+5E63,U+5E6B,U+5E79-5E7A,U+5E7E,U+5E83,U+5E91,U+5E96,U+5E9D,U+5EA0-5EA3,U+5EAB,U+5EB5,U+5EB9,U+5EBE,U+5EC1,U+5EC8,U+5ECB,U+5EDA,U+5EDF-5EE0,U+5EE2-5EE3,U+5EEA,U+5EF3,U+5EFF,U+5F01,U+5F08,U+5F0B,U+5F11,U+5F22,U+5F29,U+5F2D,U+5F35,U+5F37,U+5F3C,U+5F3E,U+5F40,U+5F42,U+5F48,U+5F4C,U+5F4E,U+5F57-5F59,U+5F61,U+5F65,U+5F67,U+5F73,U+5F77,U+5F7F,U+5F83,U+5F87,U+5F89,U+5F8C,U+5F91,U+5F93,U+5F95,U+5F99,U+5F9C,U+5F9E,U+5FA8-5FA9,U+5FAD,U+5FB3,U+5FB5,U+5FB9,U+5FC4,U+5FCF-5FD4,U+5FD6,U+5FDA,U+5FDC-5FDD,U+5FE1,U+5FE4,U+5FEA,U+5FFE,U+6004-6006,U+600F,U+6019,U+601B,U+6021,U+6026,U+6035,U+603C,U+603F,U+6041-6042,U+6046,U+6059,U+6063,U+6065,U+606A,U+6075,U+6078,U+607A-607B,U+607D,U+6085,U+608A,U+608C,U+6096,U+609A,U+60A9-60AA,U+60AD,U+60B1,U+60B4,U+60B6,U+60BB,U+60C6-60C7,U+60D8,U+60DA,U+60E1-60E2,U+60EC,U+60F1,U+60F4,U+610D-610E,U+6115,U+611B,U+6120,U+612A-612E,U+614B,U+6158,U+615C,U+6163,U+616E,U+6175-6176,U+617E,U+6182,U+6190-6191,U+6194,U+61A1,U+61A3,U+61A7,U+61A9,U+61AC,U+61B2,U+61B6,U+61C6,U+61C9,U+61CB,U+61D1,U+61F2,U+61F5-61F8,U+61FF-6200,U+6215,U+621B-6220,U+6223,U+6226,U+622C,U+622F-6230,U+6232,U+6236,U+6238,U+623B,U+623E,U+6248-6249,U+624C,U+6255,U+626A,U+6271,U+629C,U+629F,U+62BB,U+62CB,U+62D7,U+62DA,U+62EE,U+62F0,U+6308,U+6313,U+6332,U+6339,U+633F,U+634B,U+635C,U+6368,U+636D,U+6370-6372,U+637A,U+6383,U+6391,U+639B,U+63A1,U+63AC,U+63AE,U+63B0,U+63B2,U+63B4,U+63BC,U+63C4,U+63C6,U+63DA-63DB,U+63E0,U+63EE,U+63F6,U+63F8,U+63FA,U+640D,U+6416,U+6421,U+6427,U+6434-6436,U+643E,U+6441,U+6452,U+645E,U+647A,U+6483,U+6490,U+64A5,U+64AB,U+64B2-64B4,U+64B7-64B8,U+64BA-64BB,U+64C0-64C1,U+64CA-64CB,U+64D4,U+64D8,U+64DA,U+64E0,U+64E2,U+64E4,U+64EC,U+64F4,U+64FA,U+64FC,U+64FE,U+651C-651E,U+6523-6525,U+6538,U+6553,U+6555,U+6557-6558,U+6564,U+6575,U+6578,U+6581-6582,U+6589,U+658E,U+6590,U+6593,U+659B,U+65AB-65AC,U+65B7,U+65BC,U+65BF,U+65C2-65C3,U+65CC,U+65CE,U+65D6,U+65EE-65EF,U+65F3,U+65F8,U+65FB-65FC,U+6600,U+6607,U+6609-660A,U+6615,U+6619,U+661D,U+6630-6631,U+6634-6636,U+6641-6642,U+6649,U+664F,U+6654,U+6656-6657,U+665E-665F,U+6669,U+6677,U+6680,U+6684,U+6688,U+668C,U+669D,U+66A2-66A3,U+66A7-66A8,U+66AB,U+66B1,U+66B9,U+66BB,U+66C6,U+66C8-66C9,U+66CC,U+66DC,U+66DE,U+66E0-66E1,U+66E6,U+66E9,U+66EC,U+66F8,U+66FD,U+6703,U+6710,U+6715,U+6725-6726,U+6748,U+674C,U+6753,U+675E,U+6769-676A,U+6771-6773,U+6775,U+6777,U+677C,U+6783,U+6787,U+678B,U+6793,U+679E,U+67A5,U+67A7,U+67AD,U+67B0-67B1,U+67B3,U+67B8,U+67CA,U+67D8,U+67DA,U+67DF,U+67E2,U+67E9,U+67F0,U+67FB,U+67FE,U+6800,U+6804,U+6809,U+680C,U+680E,U+681E,U+6822,U+6827-6829,U+682D,U+683E,U+6840-6841,U+6849,U+684E,U+6855-6856,U+685C,U+6860-6862,U+6866-6867,U+6877,U+687F,U+688F,U+6893,U+689D,U+68B1,U+68B5-68B6,U+68C2,U+68C4,U+68DF,U+68E3,U+68EC,U+68F0,U+68F2,U+68F4,U+68F9,U+68FF,U+6901-6902,U+6908,U+690B,U+691C,U+6924,U+6934,U+6939,U+693E,U+6940,U+6942,U+694A,U+6953,U+695D,U+6960,U+6963,U+6966,U+696B,U+696D-696E,U+6975,U+6978-6979,U+697D,U+6984,U+6988-698A,U+698E,U+6995,U+699B,U+69A7,U+69AB,U+69AD-69AE,U+69BB,U+69C1,U+69C3,U+69CA-69CE,U+69D1,U+69D8,U+69DF,U+69ED,U+69F2,U+69F8,U+69FB,U+69FF,U+6A02,U+6A0B,U+6A11,U+6A13,U+6A18-6A19,U+6A23,U+6A28-6A29,U+6A2F,U+6A35,U+6A38-6A3E,U+6A44,U+6A4B,U+6A58,U+6A5F,U+6A6B,U+6A79,U+6A7C,U+6A7E,U+6A8E,U+6A90,U+6A94,U+6A97,U+6AA2,U+6AA9,U+6AAB,U+6AAF,U+6AB3,U+6AB8,U+6AC3,U+6AFB,U+6B04,U+6B0A,U+6B0F-6B10,U+6B12,U+6B38,U+6B46,U+6B50,U+6B59,U+6B61,U+6B69,U+6B72-6B74,U+6B77-6B78,U+6B81,U+6B84,U+6B87,U+6B91-6B93,U+6B98,U+6B9A,U+6BA1,U+6BBA,U+6BBC,U+6BC0,U+6BC2,U+6BCE,U+6BD3,U+6BFD,U+6C10,U+6C17-6C19,U+6C21,U+6C23-6C24,U+6C29-6C2D,U+6C31-6C33,U+6C35-6C37,U+6C39-6C3A,U+6C3D-6C3E,U+6C46,U+6C4A,U+6C5A,U+6C5C,U+6C68-6C69,U+6C74,U+6C76,U+6C7A,U+6C84-6C86,U+6C8C,U+6C90,U+6C92-6C93,U+6C96,U+6CA2-6CA3,U+6CA9,U+6CAD,U+6CB1,U+6CC1,U+6CD3-6CD4,U+6CD7,U+6CE0,U+6CEB,U+6CEE-6CEF,U+6CF1,U+6CF7-6CF8,U+6CFA,U+6CFE,U+6D04,U+6D0C,U+6D19,U+6D27,U+6D29,U+6D2E,U+6D35,U+6D38-6D3A,U+6D3F,U+6D43-6D44,U+6D48-6D49,U+6D50,U+6D52,U+6D54,U+6D57-6D58,U+6D5C,U+6D60,U+6D63,U+6D6F,U+6D7C,U+6D93-6D94,U+6D98-6D99,U+6D9E,U+6DA0,U+6DAE,U+6DBC,U+6DBF,U+6DC5,U+6DC7,U+6DD9-6DDA,U+6DDD-6DDE,U+6DE6,U+6DE8-6DE9,U+6DF5,U+6DF8,U+6DFA,U+6DFC,U+6E08-6E09,U+6E0B-6E0C,U+6E0E,U+6E11,U+6E1A-6E1B,U+6E25,U+6E2C,U+6E36,U+6E39,U+6E41,U+6E44-6E45,U+6E49-6E4A,U+6E4E,U+6E51,U+6E5F,U+6E61,U+6E67,U+6E6A-6E6B,U+6E6E-6E6F,U+6E74,U+6E80,U+6E86,U+6E8F,U+6E96,U+6E9D,U+6E9F,U+6EA5,U+6EA7,U+6EAB,U+6EB1,U+6EB4,U+6EBC,U+6EC0,U+6EC2-6EC6,U+6ED5,U+6ED8-6ED9,U+6EDB,U+6EDD,U+6EDF,U+6EE2,U+6EFE-6EFF,U+6F01,U+6F09,U+6F15,U+6F22,U+6F29,U+6F2F,U+6F32,U+6F38,U+6F3F,U+6F43,U+6F47-6F48,U+6F4B,U+6F51,U+6F54,U+6F5B,U+6F5F,U+6F62,U+6F64,U+6F70,U+6F74,U+6F78,U+6F7A,U+6F7C,U+6F80,U+6F8D,U+6FA4,U+6FA7,U+6FAA,U+6FB6,U+6FB9,U+6FC1-6FC3,U+6FC6-6FC7,U+6FC9,U+6FCB,U+6FD1,U+6FD5,U+6FDB,U+6FDE-6FE1,U+6FE4,U+6FEB,U+6FEE-6FEF,U+6FF1,U+6FFE,U+700F,U+701A-701B,U+7028,U+702C,U+7035,U+7039,U+704F,U+7058,U+705E,U+7063,U+706C,U+707D,U+7080,U+7085-7086,U+7096,U+709C-709D,U+70A9,U+70AB,U+70B2,U+70B7,U+70BA,U+70CA,U+70CF,U+70DC,U+70E8,U+7113,U+7116-7118,U+711C,U+7121,U+712F,U+7131,U+713C,U+7144-7145,U+7149-714A,U+7159,U+715C,U+7166,U+7168-7169,U+7172,U+7178,U+7198,U+71A0,U+71A8,U+71B1,U+71B5,U+71B7-71BB,U+71C8,U+71CA,U+71D2,U+71DA,U+71DF,U+71E6-71E7,U+71EE,U+7210,U+721B,U+7228,U+722D,U+7230,U+7232,U+723A-723B,U+723E,U+7246,U+724D,U+7252,U+725D,U+7260,U+7266,U+726F,U+727D,U+7284,U+7287,U+728D,U+7292,U+729F,U+72B2-72B3,U+72B5,U+72B7-72B8,U+72C0,U+72CD-72CE,U+72D2,U+72E9,U+72F2,U+72F7,U+7301,U+730A,U+7315,U+7317,U+731D-731E,U+7325,U+732C,U+7336-7337,U+7344-7345,U+734E,U+7350,U+7352,U+7357,U+7360,U+7363,U+7368,U+7372,U+7375,U+7378,U+737B,U+737E,U+738F,U+7391,U+739F,U+73A5-73A7,U+73AE,U+73B3,U+73B7,U+73B9-73BA,U+73C2,U+73C5,U+73C8-73C9,U+73CF,U+73D1,U+73D9,U+73DE,U+73E3,U+73E5,U+73E9-73EA,U+73EE-73EF,U+73F2,U+73FA,U+73FE,U+7407,U+740A,U+740D,U+740F,U+741A-741B,U+7424,U+7426,U+7428,U+742A,U+742C,U+742E-7430,U+7440-7441,U+7444,U+744B,U+7455,U+7457,U+7459,U+745B-745C,U+7460,U+7463-7464,U+7469-746A,U+746D,U+7477,U+747E,U+7480-7481,U+7487,U+748B,U+748E,U+7490,U+7498,U+749C,U+749E-74A0,U+74A7-74A9,U+74B0,U+74BA,U+74CA,U+74D2,U+74D9,U+74E0,U+74EF,U+74F4,U+7511,U+7519,U+7522-7523,U+7526,U+752A,U+752C,U+752F,U+753A,U+753E,U+7540,U+7548,U+754A,U+7551,U+7562,U+7568,U+756B-756C,U+7570,U+7572,U+7576,U+7579,U+757E-757F,U+7583,U+758A,U+7594,U+7596,U+759D,U+75A3,U+75B1,U+75B3-75B4,U+75B8,U+75C2,U+75CD,U+75D9,U+75E3-75E4,U+75E7-75E8,U+75EB,U+75F1,U+75FC,U+75FF-7600,U+7606,U+760A-760B,U+7611,U+7618-7619,U+7620-7622,U+763D-7640,U+7642,U+7652,U+7654,U+7656,U+765C,U+765E,U+7661-7662,U+766B,U+767A,U+767C,U+7688,U+768E,U+7693,U+7699,U+76AF,U+76B2,U+76B4,U+76C3,U+76DC,U+76E1,U+76E3-76E5,U+76E7,U+76F1,U+76F9,U+7708,U+770C,U+7719,U+771E,U+7726,U+7738,U+773E,U+7747,U+7750-7751,U+775A,U+7762,U+7765,U+7768,U+777D-777F,U+778B-778C,U+7791,U+779F-77A0,U+77AD,U+77B0,U+77BF,U+77CD,U+77DC,U+77EC,U+77F6,U+77F8,U+7800,U+7817,U+781C-781D,U+7823,U+7825,U+782D,U+7832,U+783A-783C,U+784C,U+7850,U+7856,U+785A,U+7881,U+7887,U+7893,U+789A-789C,U+78A3,U+78A9,U+78BA,U+78BC,U+78E1,U+78EC,U+78EF,U+78F2,U+78F4,U+790E,U+7919,U+7926,U+7934,U+7940,U+7942,U+7947,U+7949,U+794E,U+7950,U+7955,U+7957,U+7959-795C,U+7960,U+7962,U+796F,U+797A,U+797C,U+7980,U+7985,U+798D,U+799B,U+79A6-79A7,U+79AA,U+79AE,U+79B3,U+79BA,U+79E3,U+79ED,U+7A05,U+7A14,U+7A1E,U+7A23,U+7A25,U+7A2E,U+7A31-7A32,U+7A37,U+7A39,U+7A40,U+7A42,U+7A4D-7A4E,U+7A62,U+7A69,U+7A70,U+7A79,U+7A88,U+7A93,U+7A95,U+7AA0,U+7AA6,U+7AA8-7AA9,U+7AAE,U+7ABA,U+7ADC,U+7AF4,U+7AF6-7AF7,U+7AFA,U+7AFD,U+7B02-7B05,U+7B08-7B09,U+7B0F,U+7B15,U+7B19,U+7B1E-7B20,U+7B2A-7B2B,U+7B33,U+7B39,U+7B46,U+7B5A,U+7B5D,U+7B60,U+7B71-7B72,U+7B75,U+7B85,U+7B90,U+7B93,U+7B9C,U+7BA7,U+7BAB-7BAC,U+7BB4,U+7BB8,U+7BC0-7BC1,U+7BC4,U+7BC9,U+7BCC,U+7BD1,U+7BDD,U+7BE0,U+7BE6,U+7BEA,U+7BFC,U+7BFE,U+7C0B-7C0C,U+7C1F,U+7C21,U+7C28,U+7C2A,U+7C2C,U+7C38,U+7C3D,U+7C41,U+7C43,U+7C4C,U+7C60,U+7C64,U+7C7C,U+7C8F,U+7C91,U+7CB2,U+7CB5,U+7CBC-7CBD,U+7CBF,U+7CC1,U+7CC5,U+7CCD,U+7CD7,U+7CF8,U+7D00,U+7D04-7D05,U+7D0B,U+7D0D,U+7D10-7D12,U+7D14,U+7D17-7D1B,U+7D1D,U+7D21,U+7D2C-7D2E,U+7D30,U+7D33,U+7D39,U+7D42,U+7D44,U+7D4C,U+7D50,U+7D55,U+7D61,U+7D66,U+7D71-7D72,U+7D75-7D76,U+7D81,U+7D89,U+7D8B,U+7D8D,U+7D93-7D94,U+7D9A,U+7D9C,U+7DA0,U+7DA6,U+7DAB,U+7DAD,U+7DB1-7DB2,U+7DBA,U+7DBE-7DBF,U+7DCA,U+7DCF,U+7DD1-7DD2,U+7DDA,U+7DE3,U+7DE8-7DE9,U+7DEC,U+7DF4,U+7DFB,U+7E04,U+7E1B,U+7E23,U+7E2B,U+7E2E,U+7E31,U+7E3D-7E3E,U+7E43,U+7E47,U+7E4B,U+7E54,U+7E5E,U+7E69-7E6B,U+7E79,U+7E7C-7E7D,U+7E8C,U+7E8F,U+7E96,U+7EA1,U+7EA3,U+7EA8,U+7EAD-7EAE,U+7EB0,U+7EBE,U+7EC0-7EC2,U+7EC9,U+7ECB-7ECC,U+7ED0,U+7ED4,U+7ED7,U+7EDB,U+7EE0-7EE1,U+7EEB,U+7EEE-7EEF,U+7EF1,U+7EF6,U+7EFA-7EFB,U+7EFE,U+7F01-7F03,U+7F07-7F08,U+7F19,U+7F1B-7F1C,U+7F1F,U+7F22,U+7F24-7F26,U+7F2A,U+7F2C-7F2D,U+7F30-7F31,U+7F36,U+7F42,U+7F44-7F45,U+7F52,U+7F54,U+7F58,U+7F61,U+7F70,U+7F75,U+7F79,U+7F81,U+7F85,U+7F9F,U+7FA3,U+7FA7,U+7FA9,U+7FAF-7FB0,U+7FB2,U+7FB8,U+7FBF-7FC0,U+7FCA,U+7FCE,U+7FD2,U+7FD5,U+7FE1,U+7FE5-7FE6,U+7FE9,U+7FF3,U+7FF9,U+8004,U+8006,U+800B,U+8012,U+8026,U+8037,U+8046,U+8052,U+8056,U+805E,U+8069,U+806F-8070,U+8072,U+8074,U+8077,U+807D,U+807F,U+808F,U+8093,U+809F,U+80B1,U+80B4,U+80BC-80BD,U+80C4,U+80CD,U+80D4,U+80D7,U+80DB,U+80DD,U+80E4-80E5,U+80E7,U+80EA-80EB,U+80ED,U+80F1,U+80F4,U+80FC,U+8105,U+8107-8108,U+810D,U+8114,U+8118,U+812B,U+8132-8133,U+8148,U+814C,U+814E,U+8153,U+8158,U+815A,U+8166-8167,U+8169,U+816B,U+816D,U+8171,U+8173-8174,U+8178,U+817C,U+8188,U+8191,U+819A,U+81A0,U+81A3,U+81A6,U+81A9,U+81BA-81BB,U+81BD,U+81C9-81CA,U+81D8,U+81DF,U+81E5,U+81E7-81E8,U+81EC,U+81FA,U+81FE,U+8202,U+8207-820A,U+820E,U+8210,U+8216,U+821B,U+822B,U+8238,U+823A,U+824B,U+8266,U+826E,U+8276-8279,U+827F,U+8283,U+8288,U+828A,U+828E,U+8297-8299,U+82A1,U+82A8-82AB,U+82AE,U+82B7-82B8,U+82BE,U+82C1,U+82C4,U+82CB-82CC,U+82CE,U+82D2-82D3,U+82D5,U+82DC,U+82E1,U+82E3,U+82F4,U+82F7,U+82FB,U+82FE,U+8306,U+8308-8309,U+830C,U+830F,U+8314-8315,U+8317,U+831B-831C,U+832D,U+832F,U+8331-8332,U+8334,U+833C,U+8343,U+8347,U+834F,U+835E-8360,U+8365,U+8368,U+836A,U+836D,U+8378,U+837B-837D,U+8385,U+838A,U+8392-8393,U+8396,U+8398,U+839C,U+839E,U+83A0,U+83A8,U+83AA,U+83B3-83B4,U+83BA,U+83BC,U+83C0-83C1,U+83C5,U+83C8,U+83D3-83D4,U+83D6,U+83D8,U+83DF,U+83E1,U+83EF-83F0,U+83F8,U+83FD,U+8401,U+8403,U+840A-840B,U+8418,U+841C,U+8426,U+8429,U+842C,U+8431,U+8438,U+843C,U+8446,U+8449,U+8451,U+845A,U+8469,U+846D,U+8473,U+8476,U+847A,U+848C,U+8490,U+8497,U+849F,U+84A1,U+84AF,U+84B4,U+84B9-84BD,U+84BF,U+84C1,U+84CB,U+84D3,U+84E5-84E6,U+84EE,U+84FC,U+84FF,U+8514,U+8523,U+8535,U+853A-853B,U+8543,U+8548,U+8556,U+8559,U+855E,U+8564,U+8568-8569,U+856D,U+8572,U+857B,U+8585,U+8587,U+858F,U+8599,U+859C,U+85A6,U+85A8-85A9,U+85AB-85AC,U+85AE,U+85B0,U+85B9,U+85C1,U+85CD,U+85D3,U+85DC-85DD,U+85E5,U+85FF,U+8605-8607,U+860B,U+8616,U+862D,U+863C,U+863F,U+8654-8655,U+865B,U+865F,U+8662,U+866C,U+867B,U+8693,U+869D,U+86A3,U+86A7,U+86A9-86AA,U+86AC,U+86AF,U+86B1,U+86B5-86B6,U+86C4,U+86C9,U+86CE-86D0,U+86DE-86DF,U+86E6,U+86ED,U+86F3,U+8703,U+8707-870A,U+870D,U+8713,U+871A,U+8722,U+8725,U+8731,U+8734,U+8737,U+873B,U+873F,U+8748,U+874C,U+8753,U+8759,U+8760,U+8763,U+8766,U+876E,U+8770,U+877C,U+877E,U+8782-8783,U+8788,U+87A2,U+87A8,U+87AD,U+87AF,U+87B3,U+87C0,U+87C6,U+87CB,U+87D1-87D2,U+87E0,U+87F2,U+87FE,U+881B,U+881F,U+8821,U+8839,U+883B,U+8844,U+8846,U+8853,U+885B,U+885D,U+8862,U+8869,U+886E,U+8872,U+887D-887F,U+8882,U+8885,U+8888,U+88A2,U+88A4,U+88AA,U+88C6,U+88CF,U+88D8,U+88DC-88DD,U+88DF,U+88E1,U+88E8,U+88F1,U+88FD-88FE,U+8907,U+8913-8914,U+891A-891B,U+8930,U+8932,U+8934,U+8936,U+8941,U+895E,U+8966,U+896A,U+8972,U+8983,U+898B,U+898F,U+8996,U+899A,U+89A1,U+89A7,U+89AA,U+89B3,U+89BA,U+89BD,U+89C0,U+89CA,U+89CE,U+89D0-89D1,U+89DA,U+89DE,U+89E5,U+89F8,U+8A02,U+8A08,U+8A0A,U+8A0E,U+8A13,U+8A15,U+8A17-8A18,U+8A23,U+8A2A-8A2B,U+8A2D,U+8A31,U+8A33-8A34,U+8A3A-8A3C,U+8A3E,U+8A55,U+8A5E,U+8A60,U+8A62,U+8A66,U+8A69,U+8A71-8A73,U+8A87,U+8A8C-8A8D,U+8A95,U+8A98,U+8A9E,U+8AA0,U+8AA4,U+8AAA,U+8AAC-8AAD,U+8AB0,U+8AB2,U+8ABC,U+8ABF,U+8AC7,U+8ACB,U+8AD2,U+8AD6,U+8ADC,U+8AE7,U+8AEE,U+8AF8,U+8AFE,U+8B00,U+8B02,U+8B07,U+8B0E,U+8B17,U+8B19,U+8B1B,U+8B1D,U+8B20,U+8B39,U+8B49,U+8B58,U+8B5A,U+8B5C,U+8B6F-8B70,U+8B77,U+8B7D,U+8B80,U+8B8A,U+8B93,U+8B9A,U+8BA6-8BA7,U+8BAA,U+8BB4,U+8BB7,U+8BC2-8BC3,U+8BCB,U+8BCF,U+8BD2-8BD3,U+8BD8-8BD9,U+8BDF-8BE0,U+8BE4,U+8BE8-8BE9,U+8BF0,U+8BF3,U+8BF6,U+8BF9,U+8BFF-8C00,U+8C02,U+8C04,U+8C0C,U+8C0F,U+8C11-8C12,U+8C14-8C15,U+8C18-8C19,U+8C1B,U+8C1F,U+8C21,U+8C25,U+8C27,U+8C2A,U+8C2F,U+8C32,U+8C36,U+8C47,U+8C49-8C4A,U+8C4E,U+8C50,U+8C54-8C55,U+8C5A,U+8C6C,U+8C78,U+8C82,U+8C85,U+8C93-8C94,U+8C98,U+8C9D-8C9E,U+8CA0-8CA2,U+8CA7-8CAC,U+8CB4,U+8CB7-8CB8,U+8CBB-8CBC,U+8CBF-8CC0,U+8CC7-8CC8,U+8CCA,U+8CD3,U+8CDB-8CDC,U+8CDE,U+8CE0,U+8CE2-8CE4,U+8CE6,U+8CEA,U+8CEC-8CED,U+8CF4,U+8CFA,U+8CFC-8CFD,U+8D08,U+8D0A,U+8D0F,U+8D32,U+8D3B,U+8D3D,U+8D45,U+8D48-8D49,U+8D53,U+8D5D,U+8D5F,U+8D67,U+8D6D,U+8D73,U+8D84,U+8D95,U+8D99,U+8DA8,U+8DB5,U+8DB8,U+8DBA,U+8DC4,U+8DC6,U+8DCE,U+8DD6-8DD7,U+8DDA-8DDB,U+8DE1,U+8DE4,U+8DF6-8DF7,U+8DF9,U+8DFB,U+8E09,U+8E1D,U+8E2E,U+8E31,U+8E35,U+8E39,U+8E42,U+8E47,U+8E49-8E4A,U+8E51-8E52,U+8E59,U+8E5F,U+8E64,U+8E69,U+8E74,U+8E76,U+8E7C,U+8E8D,U+8E8F,U+8EB6,U+8ECA,U+8ECC-8ECD,U+8ED2,U+8EDF,U+8EE2,U+8EF8,U+8EFD,U+8F03,U+8F09,U+8F14-8F15,U+8F1B,U+8F1D,U+8F29-8F2A,U+8F2F,U+8F38,U+8F49,U+8F5F,U+8F6B,U+8F6D,U+8F71-8F72,U+8F76,U+8F78,U+8F7C,U+8F84,U+8F87,U+8F8B,U+8F8D,U+8F94,U+8F98,U+8FA6,U+8FAD,U+8FAF,U+8FB2,U+8FBA-8FBC,U+8FE4-8FE6,U+8FE8-8FE9,U+8FF3-8FF4,U+9004-9005,U+900B,U+900D,U+9011,U+9019,U+9021,U+9023,U+9026,U+902F,U+9031-9032,U+9035-9036,U+904A-904B,U+904E,U+9050-9052,U+9054-9055,U+9059,U+905B-905C,U+905E,U+9060,U+9062,U+9068-9069,U+9072,U+9074,U+9077-9078,U+907A,U+907C-907D,U+9081-9084,U+9088,U+908A-908B,U+908F,U+9095,U+9097,U+9099,U+909B,U+909D,U+90A1,U+90A8,U+90AC,U+90B0,U+90B3,U+90B8,U+90BA,U+90C3-90C5,U+90C7,U+90CF,U+90D3,U+90D7,U+90DC,U+90DE,U+90E2,U+90E6,U+90EB,U+90EF,U+90F5,U+90F7,U+90FE,U+9104,U+9109,U+911E,U+9120,U+9122,U+9127,U+912D,U+912F-9131,U+9146,U+914A,U+9150,U+9154,U+9162,U+9169,U+916F-9170,U+918C-918D,U+9190,U+919C,U+91A3,U+91AA-91AC,U+91AE,U+91B4,U+91BA,U+91C6,U+91CB,U+91D8,U+91DD,U+91E3,U+921E,U+9225,U+9234,U+9244,U+9280,U+9285-9286,U+9298,U+92AE,U+92B7,U+92C6,U+92D2,U+92EA,U+92FC,U+9304,U+9322,U+9324,U+9326,U+932B,U+932F,U+9332,U+9336,U+933E,U+934A-934B,U+934F-9354,U+9356-935D,U+9365-9367,U+9369,U+9375,U+937E,U+938F,U+9396,U+93AC-93AF,U+93B4-93B8,U+93BA-93BB,U+93BE,U+93C0-93C4,U+93C7-93C9,U+93CB-93CD,U+93D6,U+93E1,U+9410-9411,U+9416-9418,U+941C,U+941E,U+9422-9423,U+9427-942A,U+942E,U+9435,U+9451-9452,U+946B,U+9470-9473,U+9477,U+9479,U+947B,U+947D-947E,U+9485,U+9487,U+948A,U+948F,U+9495,U+9497,U+949B-949C,U+94A3-94A4,U+94AC,U+94AF-94B0,U+94B4,U+94B9-94BA,U+94BC-94BD,U+94BF,U+94C4,U+94C8-94C9,U+94CB-94CE,U+94D0-94D1,U+94D6,U+94DB,U+94DF-94E0,U+94E2,U+94E4,U+94E7-94E9,U+94EE-94EF,U+94F3,U+94F5,U+94FF,U+9502-9503,U+9506,U+9509,U+950F,U+9512,U+9518,U+951B,U+951D,U+951F,U+9522,U+9532,U+9534-9537,U+953A,U+9542,U+9549,U+954C,U+9552-9557,U+955B,U+955D,U+9566-9567,U+956B-956C,U+956F,U+9573,U+9577,U+9580,U+9583,U+9589,U+958B,U+9591-9593,U+95A2-95A4,U+95A8,U+95AB,U+95AD-95AE,U+95B0-95B2,U+95BF-95C0,U+95C2-95C4,U+95C6-95C8,U+95CA,U+95D6,U+95D8,U+95DC,U+95E9,U+95EB,U+95F1,U+95F3,U+95F5,U+95FE,U+9606,U+960A,U+9615-9617,U+9619-961A,U+9621,U+962A,U+9642,U+9649,U+965E-965F,U+9663,U+9670,U+9672-9673,U+9678,U+967A,U+967D,U+9688,U+968A,U+968D-968E,U+9697,U+969B,U+96A0,U+96A3,U+96A8,U+96AA,U+96B0-96B1,U+96B7-96B9,U+96BB-96BD,U+96C9,U+96CE,U+96D1-96D2,U+96D6,U+96D9,U+96DB-96DC,U+96DE,U+96E2-96E3,U+96EB,U+96EF,U+96F2-96F3,U+96FB,U+9701,U+9706,U+9708,U+970A,U+970E-970F,U+9711,U+9727,U+972D,U+9730,U+973E,U+9748,U+9751,U+9753,U+975A,U+975C,U+9765,U+977C,U+9785,U+9791,U+97A3,U+97CB,U+97D3,U+97EA-97EC,U+97FB,U+97FF,U+9801-9803,U+9805-9806,U+9808,U+980C,U+9810-9814,U+9818,U+982B,U+982D,U+9838,U+983B-983C,U+9846,U+984C-984D,U+984F,U+9854,U+9858,U+985E,U+9867,U+986F,U+987C,U+9880,U+9889,U+988C-988D,U+988F,U+9894,U+989A-989B,U+989E,U+98A1-98A2,U+98A6,U+98A8,U+98B1,U+98C4,U+98CF,U+98D2-98D3,U+98D5,U+98D9-98DB,U+98E8,U+98EF,U+98F2,U+98FC-98FE,U+9905,U+990A,U+990C-990D,U+9913,U+9918,U+9928,U+992E,U+9945,U+9951,U+9955,U+9967-9968,U+996A,U+996C,U+9974,U+9977,U+997D,U+9980,U+9984,U+998A,U+998D,U+9990,U+9994-9995,U+9997,U+99A5,U+99A8,U+99AC,U+99AE,U+99B3-99B4,U+99C5,U+99D0,U+99D5,U+99DB,U+99E1,U+99FF,U+9A0E,U+9A12-9A13,U+9A19,U+9A30,U+9A37,U+9A45,U+9A57,U+9A5A,U+9A5F,U+9A77-9A78,U+9A7D,U+9A7F,U+9A81,U+9A85,U+9A88,U+9A8A,U+9A90,U+9A9B-9A9E,U+9AA0,U+9AA2,U+9AA5,U+9AA7,U+9AB0,U+9AB6-9AB7,U+9ABC,U+9AC1-9AC2,U+9AC5,U+9ACB-9ACC,U+9AD2,U+9AD4,U+9AD9,U+9AE6,U+9AEA,U+9AEE-9AEF,U+9AFB,U+9B06,U+9B13,U+9B1F,U+9B23,U+9B25,U+9B27,U+9B31,U+9B3B,U+9B43,U+9B45,U+9B47,U+9B49,U+9B4D,U+9B51,U+9B5A,U+9B5F,U+9B6F,U+9B91,U+9BAE,U+9C7F,U+9C85,U+9C87-9C88,U+9C91,U+9C94,U+9C9B,U+9C9F-9CA0,U+9CA2-9CA3,U+9CA8,U+9CAB,U+9CAD-9CAE,U+9CB1-9CB3,U+9CB5-9CB7,U+9CBD,U+9CC4-9CC5,U+9CCA,U+9CCC-9CCD,U+9CCF-9CD0,U+9CD4-9CD5,U+9CD7,U+9CD9,U+9CDC-9CDD,U+9CDF,U+9CE5,U+9CF3-9CF4,U+9D09,U+9D28,U+9D3B,U+9D5D,U+9D6C,U+9DB4,U+9DF9,U+9E20,U+9E22,U+9E28-9E2C,U+9E2E,U+9E30-9E31,U+9E36-9E37,U+9E3E,U+9E42,U+9E44,U+9E48-9E49,U+9E4C,U+9E51,U+9E55,U+9E57-9E58,U+9E5A,U+9E5C,U+9E5E,U+9E66-9E67,U+9E69,U+9E6B-9E6E,U+9E73,U+9E79,U+9E7D,U+9E82,U+9E8B,U+9E92,U+9E97,U+9E9D,U+9E9F,U+9EA5,U+9EB5,U+9EB8,U+9EBC-9EBE,U+9EC3,U+9EC9,U+9ECF,U+9ED2,U+9EDB-9EE0,U+9EE8,U+9EEF,U+9EFE,U+9F0B,U+9F10,U+9F2C,U+9F39,U+9F3E,U+9F41,U+9F4A-9F4B,U+9F52,U+9F61,U+9F85,U+9F87-9F88,U+9F8A,U+9F8C-9F8D,U+9F98,U+9F9B-9F9C,U+FE30-FE31,U+FE34-FE36,U+FE39,U+FE3D-FE41,U+FE43,U+FE4B-FE4C,U+FE4E-FE52,U+FE55-FE56,U+FE5A,U+FE5D-FE5E,U+FE61,U+FE63-FE65;
}


/* ==== css/wallpaper.css?v=2026110814 ==== */
/**
 * MoonFog - 壁纸个性化系统（Wallpaper Spec）
 * 1) 主页媒体层：#wallpaperMedia / #wallpaperMediaInner / #wallpaperRippleCanvas
 * 2) 设置 · 背景页：三入口摘要卡
 * 3) 设置 · L3 壁纸库：预览 / tabs / 网格 / 空态 / 添加弹层 / 播放 / 样式
 * 颜色一律走 tokens.css，暗色模式自动适配。
 */

:root {
  --wallpaper-media-z: 1;
  --wallpaper-ripple-z: 2;
  --wallpaper-wash-z: 1;
}

/* ============================================
   一、主页媒体层
   ============================================ */
/* 引擎已经把这层图显示出来了，旧背景层就不再画同一张：
   两份全屏图一起合成，等于解码两次 + 每帧多画一层，
   低端手机首屏会卡一下，滚动也掉帧。收起用 visibility，
   不占合成也不影响遮罩层 */
html.wp-media-live .page-bg-stack {
  visibility: hidden;
}

/* 旧层收起后，模糊与缩放得由引擎这层接过去 ——
   之前一直是 .page-bg-image 在做，不接的话用户设的壁纸模糊会凭空消失。
   范围取和旧层一样（--bg-blur / --bg-scale），低配档另有规则全部关掉 */
html.wp-media-live .wallpaper-media-inner {
  filter: blur(var(--bg-blur, 20px));
  transform: scale(var(--bg-scale, 1.04));
  transform-origin: center;
}

html.low-perf.wp-media-live .wallpaper-media-inner,
html.perf-low.wp-media-live .wallpaper-media-inner {
  filter: none;
  transform: none;
}

.wallpaper-media {
  position: absolute;
  inset: 0;
  z-index: var(--wallpaper-media-z, 1);
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.55s var(--ease),
    visibility 0.55s var(--ease);
}

.wallpaper-media.is-visible {
  opacity: 1;
  visibility: visible;
}

/* 模糊时媒体层超出 1.1 倍，避免边缘露底；无模糊时 cover 看不出差异 */
.wallpaper-media-inner {
  position: absolute;
  inset: -5%;
  z-index: 0;
  transition: filter 0.25s var(--ease);
}

.wallpaper-media-inner > img,
.wallpaper-media-inner > video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border: 0;
}

.wallpaper-media.is-blurred .wallpaper-media-inner {
  filter: blur(var(--wallpaper-blur, 20px));
}

.wallpaper-ripple-canvas {
  position: absolute;
  inset: 0;
  z-index: var(--wallpaper-ripple-z, 2);
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

/* wash 压暗/提亮蒙层（effects.js 写入 --wallpaper-wash） */
.wallpaper-wash {
  position: absolute;
  inset: 0;
  z-index: var(--wallpaper-wash-z, 1);
  pointer-events: none;
  background: var(--wallpaper-wash, transparent);
}

html.low-perf .wallpaper-media,
html.perf-low .wallpaper-media {
  transition: none !important;
}

html.low-perf .wallpaper-media-inner,
html.perf-low .wallpaper-media-inner {
  filter: none !important;
}

/* ============================================
   二、背景页 · 媒体摘要卡（卡片 E）
   ============================================ */
.bg-media-summary {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.bg-media-thumb {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  overflow: hidden;
  background-color: color-mix(in srgb, var(--text-primary) 6%, var(--bg-warm));
  background-size: cover;
  background-position: center;
  border: 1px solid var(--border);
  flex-shrink: 0;
  cursor: pointer;
}

.bg-media-summary-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.bg-media-summary-text .bg-extra-title,
.bg-media-summary-text .bg-extra-meta {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bg-media-summary .bg-action-btn {
  flex-shrink: 0;
}

/* ============================================
   三、L3 壁纸库页
   ============================================ */
.settings-page[data-page="wallpaper"] {
  gap: 12px;
}

.wallpaper-preview {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 8px;
  min-width: 0;
}

.wallpaper-preview-media {
  width: 84px;
  height: 56px;
  border-radius: 10px;
  overflow: hidden;
  background-color: color-mix(in srgb, var(--text-primary) 6%, var(--bg-warm));
  background-size: cover;
  background-position: center;
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-tertiary);
  font-size: 20px;
}

.wallpaper-preview-media.has-cover > span {
  display: none;
}

.wallpaper-preview-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.wallpaper-preview-title {
  font-size: 0.8125rem;
  font-weight: 550;
  color: var(--text-primary);
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wallpaper-preview-meta {
  font-size: 0.6875rem;
  color: var(--text-tertiary);
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wallpaper-shuffle-btn {
  flex-shrink: 0;
}

.wallpaper-load-error {
  padding: 12px;
  margin-bottom: 12px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--card-bg);
  color: var(--text-primary);
}

.wallpaper-load-error p {
  margin: 0 0 8px;
  font-size: 0.8125rem;
  line-height: 1.5;
}

/* tabs */
.wallpaper-tabs {
  display: flex;
  gap: 4px;
  padding: 6px;
  margin-bottom: 2px;
  overflow-x: auto;
  scrollbar-width: none;
}

.wallpaper-tabs::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.wallpaper-tab {
  flex: 0 0 auto;
  min-height: 28px;
  padding: 0 12px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--text-secondary);
  font: inherit;
  font-size: 0.75rem;
  font-weight: 550;
  cursor: pointer;
  white-space: nowrap;
  transition:
    background 0.18s var(--ease),
    color 0.18s var(--ease);
}

.wallpaper-tab:hover {
  color: var(--text-primary);
  background: color-mix(in srgb, var(--text-primary) 4%, transparent);
}

.wallpaper-tab.is-active {
  color: var(--text-primary);
  background: var(--card-bg);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--text-primary) 8%, transparent);
}

/* 2 列网格 */
.wallpaper-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  /* 与其它卡片的内容缩进对齐（12px） */
  padding: 12px;
}

.wallpaper-grid[hidden] {
  display: none !important;
}

.wallpaper-item {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  background: color-mix(in srgb, var(--text-primary) 5%, var(--bg-warm));
  cursor: pointer;
  font: inherit;
  text-align: left;
  aspect-ratio: 16 / 10;
  transition:
    border-color 0.18s var(--ease),
    box-shadow 0.18s var(--ease),
    transform 0.18s var(--ease);
}

.wallpaper-item:hover {
  border-color: var(--border-strong);
  box-shadow: var(--shadow);
}

.wallpaper-item:active {
  transform: scale(0.99);
}

.wallpaper-item.is-active {
  border-color: var(--text-primary);
  box-shadow: 0 0 0 1px var(--text-primary);
}

/* 当前使用的背景：与「界面色调」一致的勾选标记 */
.wallpaper-item-check {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--text-primary);
  color: var(--card-bg);
  font-size: 12px;
  line-height: 1;
  pointer-events: none;
}

.wallpaper-item-cover {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-color: color-mix(in srgb, var(--text-primary) 5%, var(--bg-warm));
}

.wallpaper-item-empty {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-tertiary);
  font-size: 20px;
}

.wallpaper-item-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 14px 8px 6px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.52), transparent);
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.3;
}

.wallpaper-item-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wallpaper-item-badge {
  flex: 0 0 auto;
  padding: 1px 5px;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.22);
  font-size: 0.625rem;
  font-weight: 500;
}

.wallpaper-item-more {
  position: absolute;
  top: 4px;
  right: 4px;
  z-index: 2;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.32);
  color: #fff;
  font-size: 13px;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.15s var(--ease), background 0.15s var(--ease);
}

.wallpaper-item:hover .wallpaper-item-more,
.wallpaper-item:focus-within .wallpaper-item-more,
.wallpaper-item-more:focus-visible {
  opacity: 1;
}

.wallpaper-item-more:hover {
  background: rgba(0, 0, 0, 0.5);
}

/* 条目菜单（动态挂到 body） */
.wallpaper-item-menu {
  position: fixed;
  z-index: 320;
  min-width: 104px;
  padding: 4px;
  border-radius: 10px;
  background: var(--card-bg);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-hover);
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.wallpaper-item-menu button {
  min-height: 28px;
  padding: 0 10px;
  border: none;
  border-radius: 7px;
  background: transparent;
  color: var(--text-primary);
  font: inherit;
  font-size: 0.75rem;
  text-align: left;
  cursor: pointer;
}

.wallpaper-item-menu button:hover {
  background: var(--settings-row-hover, var(--bg-warm-alt));
}

.wallpaper-item-menu button.is-danger {
  color: #d44;
}

/* 空态 */
.wallpaper-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 22px 14px 18px;
  text-align: center;
}

.wallpaper-empty[hidden] {
  display: none !important;
}

.wallpaper-empty-title {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 550;
  color: var(--text-primary);
}

.wallpaper-empty-desc {
  margin: 0;
  font-size: 0.6875rem;
  line-height: 1.4;
  color: var(--text-secondary);
}

.wallpaper-empty-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
}

.wallpaper-add-row {
  display: flex;
  padding: 4px 8px 8px;
}

.wallpaper-add-btn {
  flex: 1 1 auto;
  justify-content: center;
}

/* ============================================
   四、播放方式 / 样式
   ============================================ */
.wallpaper-playback-params,
.wallpaper-style-params {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.wallpaper-playback-params[hidden],
.wallpaper-style-params[hidden],
.wallpaper-style-field[hidden] {
  display: none !important;
}

.wallpaper-style-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.wallpaper-order-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* ============================================
   五、添加弹层
   ============================================ */
.wallpaper-add-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.wallpaper-add-option {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-height: 52px;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: color-mix(in srgb, var(--text-primary) 3.5%, var(--bg-warm));
  color: var(--text-primary);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition:
    border-color 0.15s var(--ease),
    background 0.15s var(--ease);
}

.wallpaper-add-option:hover {
  border-color: var(--border-strong);
  background: color-mix(in srgb, var(--text-primary) 6%, var(--bg-warm));
}

.wallpaper-add-option.is-active {
  border-color: var(--text-primary);
}

.wallpaper-add-option-title {
  font-size: 0.75rem;
  font-weight: 550;
  line-height: 1.3;
}

.wallpaper-add-option-desc {
  font-size: 0.625rem;
  color: var(--text-tertiary);
  line-height: 1.3;
}

.wallpaper-add-kind {
  display: flex;
  gap: 12px;
  padding-top: 2px;
}

.wallpaper-add-kind label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.75rem;
  color: var(--text-secondary);
  cursor: pointer;
}

.wallpaper-add-kind input {
  accent-color: var(--accent);
}

.wallpaper-add-group-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-height: 180px;
  overflow: auto;
}

.wallpaper-add-group-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 4px;
  border-radius: 7px;
  font-size: 0.75rem;
  color: var(--text-primary);
  cursor: pointer;
}

.wallpaper-add-group-item:hover {
  background: var(--settings-row-hover, var(--bg-warm-alt));
}

.wallpaper-add-group-item input {
  accent-color: var(--accent);
  flex-shrink: 0;
}

.wallpaper-add-group-thumb {
  width: 28px;
  height: 20px;
  border-radius: 5px;
  background-size: cover;
  background-position: center;
  background-color: color-mix(in srgb, var(--text-primary) 6%, var(--bg-warm));
  flex-shrink: 0;
}

/* 在线源卡 */
.wallpaper-catalog-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 8px;
}

.wallpaper-catalog-item {
  grid-column: 1 / -1;
  width: 100%;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: color-mix(in srgb, var(--text-primary) 3%, var(--bg-warm));
  color: var(--text-primary);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s var(--ease), background 0.15s var(--ease);
}

.wallpaper-catalog-item:hover {
  border-color: var(--border-strong);
}

.wallpaper-catalog-icon {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--card-bg);
  color: var(--text-secondary);
  font-size: 18px;
}

.wallpaper-catalog-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.wallpaper-catalog-name {
  font-size: 0.7813rem;
  font-weight: 550;
  line-height: 1.3;
}

.wallpaper-catalog-meta {
  font-size: 0.6563rem;
  color: var(--text-tertiary);
  line-height: 1.3;
}

.wallpaper-catalog-apply {
  flex-shrink: 0;
  font-size: 0.6875rem;
  font-weight: 550;
  color: var(--text-secondary);
}

/* 低性能 / 减少动效 */
@media (prefers-reduced-motion: reduce) {
  .wallpaper-media,
  .wallpaper-media-inner,
  .wallpaper-item,
  .wallpaper-tab,
  .wallpaper-add-option {
    transition: none !important;
  }
}

@media (max-width: 480px) {
  .wallpaper-grid {
    gap: 6px;
    padding: 12px;
  }

  .wallpaper-preview {
    grid-template-columns: 64px minmax(0, 1fr) auto;
  }

  .wallpaper-preview-media {
    width: 64px;
    height: 44px;
  }
}

/* 纯色背景：铺满页面底色（优先级高于 base.css 的 body 背景）
   兜底色跟随主题 --bg-warm，深色模式下不能落回浅色 */
html.wp-solid-bg,
html.wp-solid-bg body {
  background: var(--wp-solid-color, var(--bg-warm, #F5F0E8));
}

/* ============================================
   六、源列表
   ============================================ */
.wallpaper-source-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.wallpaper-source-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: color-mix(in srgb, var(--text-primary) 3%, var(--bg-warm));
}

.wallpaper-source-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.wallpaper-source-name {
  font-size: 0.7813rem;
  font-weight: 550;
  color: var(--text-primary);
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wallpaper-source-kind {
  font-size: 0.6563rem;
  color: var(--text-secondary);
  line-height: 1.3;
}

.wallpaper-source-actions {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}

/* ============================================
   七、打开策略
   ============================================ */
/* 3 个纯文字分段比带图标的分段更矮，字号也更小 */
#wpStrategySeg .mode-segment-btn {
  min-height: 34px;
  padding: 0 4px;
  font-size: 0.75rem;
}

/* ============================================
   八、页内分栏
   ============================================ */
/* 页内分栏：自研胶囊按钮组（role=tablist + button[role=tab]）。
   选中项把胶囊收成圆角方块并加宽，把右边的内容推过去；图标只在选中项出现 */
.wp-subnav {
  /* 块高的一半：胶囊圆角用它跟高度对齐 */
  --seg-cap: 16px;
  /* 四个胶囊在桌面 312px 面板里等分，不再横向滚动 */
  --subnav-gutter: 12px;
  display: flex;
  gap: 6px;
  margin-inline: 0;
  padding: 0;
  overflow: visible;
}

/* 与 .settings-view 的 18px 留白对齐（条件与 mobile.css 一致） */
@media (max-width: 600px), (pointer: coarse) and (hover: none) and (max-width: 915px) {
  .wp-subnav {
    --subnav-gutter: 18px;
  }
}

.wp-subnav-btn {
  /* 等分：四个胶囊始终同宽，切换时不跳动也不会溢出 */
  flex: 1 1 0;
  min-width: 0;
  min-height: 32px;
  box-sizing: border-box;
  padding: 0 2px;
  border: none;
  /* 常态：四角全圆的独立胶囊 */
  border-radius: var(--seg-cap, 16px);
  background: color-mix(in srgb, var(--text-primary) 8%, transparent);
  color: var(--text-primary);
  font: inherit;
  font-size: 0.72rem;
  font-weight: 550;
  white-space: nowrap;
  overflow: hidden;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* 图标绝对定位后不参与布局，间距由它自己的位移算。
     用 rem 不用 em：--seg-icon-w 会被 label 和 icon 两边读取，
     em 会各自按自己的字号解析，宽度对不上 */
  gap: 0;
  --seg-icon-w: 1.1875rem;
  --seg-icon-gap: 7px;
  /* 图标字形左右带透明边距，直接对齐会让「图标+文字」整组看着偏左 */
  --seg-icon-nudge: 2.5px;
  box-shadow: none;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  /* 宽度和圆角同一条时长同一条曲线：胶囊要在撑开的过程中一点点成形，
     任何一方先跑完都会看着像「先变完再挪」。底色、文字色仍是瞬时的 */
  transition:
    flex-grow calc(0.26s * var(--motion-scale, 1)) var(--ease),
    border-radius calc(0.26s * var(--motion-scale, 1)) var(--ease);
}

/* 选中：胶囊收成圆角方块并展开，其余几项平分剩下的宽度，总宽不变 */
.wp-subnav-btn.is-active {
  flex-grow: 1.6;
  border-radius: 12px;
  background: var(--accent);
  color: var(--bg-warm);
  box-shadow: none;
}

/* 深色底上浅填充更不显，抬一档才看得出是四个独立胶囊（排除选中项） */
html[data-mode="dark"] .wp-subnav-btn:not(.is-active) {
  background: color-mix(in srgb, var(--text-primary) 13%, transparent);
}

/* 只在真正有鼠标的设备上做 hover 加深：触屏按下时浏览器会给 sticky hover */
@media (hover: hover) and (pointer: fine) {
  .wp-subnav-btn:not(.is-active):hover {
    background: color-mix(in srgb, var(--text-primary) 10%, transparent);
  }

  html[data-mode="dark"] .wp-subnav-btn:not(.is-active):hover {
    background: color-mix(in srgb, var(--text-primary) 17%, transparent);
  }
}

.wp-subnav-btn:not(.is-active):active {
  border-radius: 12px;
  background: color-mix(in srgb, var(--text-primary) 14%, transparent);
}

.wp-subnav-btn.is-active:active {
  background: color-mix(in srgb, var(--accent) 84%, #000);
}

.wp-subnav-btn:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* tab 图标：MingCute 字形，只在激活（胶囊展开）时出现。
   不走 width 过渡——那会让文字每帧重排、字形被 overflow 裁一半。
   这里绝对定位 + transform，纯合成层动画，文字一点都不动 */
.wp-subnav .wp-subnav-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--seg-icon-w);
  height: var(--seg-icon-w);
  margin: 0;
  display: grid;
  place-items: center;
  overflow: visible;
  opacity: 0;
  pointer-events: none;
  font-size: 1.125rem;
  line-height: 1;
  /* 未选中时贴在文字左侧（透明不可见），选中时跟文字同步右移，
     两者位移量相同，所以一直是「一起动」的整体 */
  transform:
    translate(
      calc(
        -50% - var(--lab-half, 0px) - var(--seg-icon-gap) - var(--seg-icon-w) / 2 +
          var(--seg-icon-nudge, 0px)
      ),
      -50%
    )
    scale(0.45);
  transition:
    opacity calc(0.18s * var(--motion-scale, 1)) var(--ease),
    transform calc(0.26s * var(--motion-scale, 1)) var(--ease);
}

.wp-subnav-btn.is-active .wp-subnav-icon {
  opacity: 1;
  transform:
    translate(
      calc(-50% - var(--lab-half, 0px) - var(--seg-icon-gap) / 2 + var(--seg-icon-nudge, 0px)),
      -50%
    )
    scale(1);
}

/* 文字不做过渡，点下去直接换位；只有胶囊宽度和图标在动 */
.wp-subnav-text {
  transition: none;
}

.wp-subnav-btn.is-active .wp-subnav-text {
  transform: translateX(calc((var(--seg-icon-w) + var(--seg-icon-gap)) / 2));
}

/* 手机端宽度充裕，字与图标回到常规尺寸 */
@media (max-width: 600px), (pointer: coarse) and (hover: none) and (max-width: 915px) {
  .wp-subnav-btn {
    padding: 0 8px;
    font-size: 0.75rem;
    --seg-icon-w: 1.25rem;
    --seg-icon-gap: 7px;
  }

  .wp-subnav .wp-subnav-icon {
    font-size: 1.1875rem;
  }
}


.wp-panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.wp-panel[hidden] {
  display: none !important;
}

.wp-hidden-tab {
  display: none !important;
}

.wallpaper-select {
  width: 100%;
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--card-bg);
  color: var(--text-primary);
  font: inherit;
  font-size: 0.7813rem;
  cursor: pointer;
}

.wallpaper-select:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

.wallpaper-strategy-params {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px 10px 2px;
  border-top: 1px solid var(--border);
  margin-top: 8px;
}

.wallpaper-strategy-params[hidden],
.wallpaper-strategy-field[hidden] {
  display: none !important;
}

.wallpaper-strategy-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.wallpaper-source-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.wallpaper-pick-btn {
  min-height: 28px;
  max-width: 100%;
  padding: 0 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--text-primary) 3.5%, var(--bg-warm));
  color: var(--text-secondary);
  font: inherit;
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition:
    border-color 0.15s var(--ease),
    color 0.15s var(--ease),
    background 0.15s var(--ease);
}

.wallpaper-pick-btn:hover {
  border-color: var(--border-strong);
  color: var(--text-primary);
}

.wallpaper-pick-btn.is-active {
  border-color: var(--text-primary);
  color: var(--text-primary);
  background: color-mix(in srgb, var(--text-primary) 8%, var(--bg-warm));
}

/* 全局开关分段贴左，不撑满整行 */

@media (max-width: 480px) {
  #wpStrategySeg .mode-segment-btn {
    min-height: 40px;
    font-size: 0.75rem;
  }

  /* 顶部四 tab 压矮：44px 跟下面的卡片不是一个密度，38px 才像个 tab 条 */
  .wp-subnav {
    --seg-cap: 19px;
  }

  .wp-subnav-btn {
    min-height: 38px;
    font-size: 0.75rem;
  }
}

/* 触屏没有 hover，更多操作按钮常显 */
@media (hover: none) {
  .wallpaper-item-more {
    opacity: 1;
  }
}

@media (max-width: 480px) {
  .wallpaper-item-more {
    width: 28px;
    height: 28px;
    font-size: 15px;
  }
}


/* ==== icons/font/Mingcute.css?v=2026110814 ==== */
@font-face {
  font-family: 'MingCute';
  src: url('/icons/font/MingCute.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="mgc_"], [class*=" mgc_"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'MingCute' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.mgc_add_line:before{content:"\e90f"}
.mgc_arrow_down_line:before{content:"\e983"}
.mgc_arrow_left_line:before{content:"\e98b"}
.mgc_arrow_right_line:before{content:"\e997"}
.mgc_bookmark_fill:before{content:"\ea66"}
.mgc_bookmark_line:before{content:"\ea67"}
.mgc_bookmarks_line:before{content:"\ea6b"}
.mgc_calendar_fill:before{content:"\eaee"}
.mgc_calendar_line:before{content:"\eaef"}
.mgc_check_line:before{content:"\eb81"}
.mgc_close_line:before{content:"\ebc3"}
.mgc_color_picker_line:before{content:"\ebe9"}
.mgc_compass_line:before{content:"\ebfd"}
.mgc_computer_fill:before{content:"\ec04"}
.mgc_computer_line:before{content:"\ec05"}
.mgc_delete_2_line:before{content:"\ec93"}
.mgc_drop_fill:before{content:"\ed06"}
.mgc_edit_2_fill:before{content:"\ed32"}
.mgc_edit_2_line:before{content:"\ed33"}
.mgc_edit_line:before{content:"\ed3b"}
.mgc_emoji_fill:before{content:"\ed4a"}
.mgc_emoji_line:before{content:"\ed4b"}
.mgc_file_export_line:before{content:"\edb5"}
.mgc_file_import_line:before{content:"\edba"}
.mgc_folder_2_fill:before{content:"\ee30"}
.mgc_folder_2_line:before{content:"\ee31"}
.mgc_folder_line:before{content:"\ee3f"}
.mgc_font_fill:before{content:"\ee5c"}
.mgc_fullscreen_2_fill:before{content:"\ee82"}
.mgc_grid_fill:before{content:"\eeca"}
.mgc_information_fill:before{content:"\ef78"}
.mgc_information_line:before{content:"\ef79"}
.mgc_link_2_fill:before{content:"\f016"}
.mgc_moon_fill:before{content:"\f0de"}
.mgc_moon_line:before{content:"\f0e1"}
.mgc_more_2_fill:before{content:"\f0e8"}
.mgc_mosaic_fill:before{content:"\f0f0"}
.mgc_palette_fill:before{content:"\f158"}
.mgc_palette_line:before{content:"\f159"}
.mgc_pic_2_line:before{content:"\f1b7"}
.mgc_pic_fill:before{content:"\f1ba"}
.mgc_play_fill:before{content:"\f1d8"}
.mgc_plugin_2_fill:before{content:"\f1e2"}
.mgc_quote_left_fill:before{content:"\f21c"}
.mgc_quote_left_line:before{content:"\f21d"}
.mgc_radar_fill:before{content:"\f224"}
.mgc_refresh_2_line:before{content:"\f24d"}
.mgc_round_fill:before{content:"\f2a6"}
.mgc_search_2_fill:before{content:"\f302"}
.mgc_search_2_line:before{content:"\f303"}
.mgc_search_line:before{content:"\f30d"}
.mgc_settings_3_fill:before{content:"\f32c"}
.mgc_settings_3_line:before{content:"\f32d"}
.mgc_settings_5_fill:before{content:"\f330"}
.mgc_shield_line:before{content:"\f33f"}
.mgc_sparkles_fill:before{content:"\f3b6"}
.mgc_sparkles_line:before{content:"\f3b7"}
.mgc_sun_fill:before{content:"\f408"}
.mgc_sun_line:before{content:"\f40b"}
.mgc_time_fill:before{content:"\f484"}
.mgc_time_line:before{content:"\f485"}
.mgc_video_fill:before{content:"\f566"}
.mgc_warning_line:before{content:"\f5a1"}
.mgc_wave_fill:before{content:"\f5ac"}
