/* =========================================================
 * BEACON Design Tokens — 基于 Together AI 设计语言规范化
 * 灯塔导航 · beaconmap 子主题 · 全局设计令牌与全局铬件
 *
 * 设计语言要点：
 *  - 双画布节奏：canvas-dark (#010120) ↔ canvas (#ffffff)，无中间灰
 *  - 发丝线 (1px #ebebeb) 承担层级，卡片不带投影
 *  - 唯一主 CTA：黑色 (#000) 4px 圆角矩形（非全圆药丸）
 *  - 品牌三色渐变 ribbon：橙 → 品红 → 长春花紫，仅作品牌铬件
 *  - 展示无衬线（负字距）承载标题与正文；等宽大写承载眉题/标签
 *  - 页尾巨型描边 wordmark 作为收尾签名
 * ======================================================= */:root{
  /* ---- 表面 ---- */
  --bc-canvas: #ffffff;
  --bc-canvas-dark: #010120;
  --bc-hairline: #ebebeb;
  --bc-surface-dark-soft: #26263a;

  /* ---- 文本 ---- */
  --bc-ink: #000000;
  --bc-body: #999999;
  --bc-on-dark: #ffffff;
  --bc-body-on-dark: rgba(255, 255, 255, 0.62);

  /* ---- 品牌 ---- */
  --bc-primary: #000000;
  --bc-accent-orange: #fc4c02;
  --bc-accent-magenta: #ef2cc1;
  --bc-accent-periwinkle: #bdbbff;
  --bc-accent-mint: #c8f6f9;
  --bc-gradient: linear-gradient(90deg, var(--bc-accent-orange) 0%, var(--bc-accent-magenta) 50%, var(--bc-accent-periwinkle) 100%);

  /* ---- 字体（开源替身，无外链依赖，适配国内访问） ---- */
  --bc-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;
  --bc-font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Mono", Consolas, "Courier New", monospace;

  /* ---- 圆角 ---- */
  --bc-rounded-xs: 3.25px;
  --bc-rounded-sm: 4px;
  --bc-rounded-md: 8px;
  --bc-shadow-float: 0 4px 10px rgba(1, 1, 32, 0.1);

  /* ---- 间距 ---- */
  --bc-space-section: 80px;
  --bc-space-2xl: 24px;
  --bc-space-3xl: 32px;

  /* ---- 等宽大写眉题（CJK 场景自动回退黑体，保留字距特征） ---- */
  --bc-eyebrow: 500 11px/1 var(--bc-font-mono);
  --bc-eyebrow-tracking: 0.05em;
}html:not(.io-black-mode) /* =========================================================
 * 1) 基础排版：展示无衬线 + 紧凑负字距
 * ======================================================= */
body,
.container-body{
  font-family: var(--bc-font-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}html:not(.io-black-mode) h1, h2, h3, h4, h5, h6{
  font-family: var(--bc-font-sans);
  font-weight: 500;
  letter-spacing: -0.01em;
}html:not(.io-black-mode) /* =========================================================
 * 2) 全局按钮体系：黑色主 CTA + 发丝线次级
 *    （OneNav/Bootstrap 按钮 → 规范化形状与配色）
 * ======================================================= */
.btn{
  font-family: var(--bc-font-mono);
  font-weight: 500;
  letter-spacing: 0.02em;
  border-radius: var(--bc-rounded-sm) !important;
  border: 1px solid transparent;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}html:not(.io-black-mode) .btn-primary,
.btn-danger,
.btn-black{
  background-color: var(--bc-primary) !important;
  border-color: var(--bc-primary) !important;
  color: var(--bc-on-dark) !important;
  box-shadow: none !important;
}html:not(.io-black-mode) .btn-primary:hover, .btn-primary:focus,
.btn-danger:hover, .btn-danger:focus,
.btn-black:hover, .btn-black:focus{
  background-color: #1c1c1c !important;
  border-color: #1c1c1c !important;
}html:not(.io-black-mode) .btn-outline-primary,
.btn-outline-secondary,
.btn-light, .btn-default{
  background-color: var(--bc-canvas) !important;
  border-color: var(--bc-hairline) !important;
  color: var(--bc-ink) !important;
  box-shadow: none !important;
}html:not(.io-black-mode) .btn-outline-primary:hover, .btn-outline-primary:focus,
.btn-outline-secondary:hover, .btn-outline-secondary:focus,
.btn-light:hover, .btn-default:hover{
  border-color: var(--bc-ink) !important;
  background-color: var(--bc-canvas) !important;
}html:not(.io-black-mode) .btn-success, .btn-info, .btn-warning{
  border-radius: var(--bc-rounded-sm) !important;
  box-shadow: none !important;
}html:not(.io-black-mode) /* =========================================================
 * 3) 卡片 / 面板：发丝线承担层级，禁用投影
 * ======================================================= */
.card,
.panel{
  border-radius: var(--bc-rounded-sm) !important;
  border: 1px solid var(--bc-hairline) !important;
  box-shadow: none !important;
}html:not(.io-black-mode) .card > .card-header,
.card-header.widget-header{
  background: var(--bc-hairline) !important;
  border-bottom: 1px solid var(--bc-hairline) !important;
  border-radius: var(--bc-rounded-sm) var(--bc-rounded-sm) 0 0 !important;
  font-family: var(--bc-font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: var(--bc-eyebrow-tracking);
  text-transform: uppercase;
  color: var(--bc-body) !important;
}html:not(.io-black-mode) .card-body{ color: var(--bc-ink); }html:not(.io-black-mode) .card-footer{
  background: var(--bc-canvas) !important;
  border-top: 1px solid var(--bc-hairline) !important;
  color: var(--bc-body);
}html:not(.io-black-mode) /* =========================================================
 * 4) 数据表：mono 大写表头 + 发丝线行分隔
 * ======================================================= */
.table thead th,
.table-header-row .table-title,
.table > thead:first-child > tr > th{
  background: var(--bc-hairline);
  color: var(--bc-body) !important;
  font-family: var(--bc-font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: var(--bc-eyebrow-tracking);
  text-transform: uppercase;
  border-bottom: 1px solid var(--bc-hairline) !important;
}html:not(.io-black-mode) .table td, .table th{
  border-color: var(--bc-hairline) !important;
}html:not(.io-black-mode) /* =========================================================
 * 5) 表单输入：白底 + 发丝线 + 4px 圆角
 * ======================================================= */
.form-control,
input[type="text"], input[type="email"], input[type="url"],
input[type="search"], input[type="password"], textarea, select{
  border: 1px solid var(--bc-hairline) !important;
  border-radius: var(--bc-rounded-sm) !important;
  box-shadow: none !important;
  font-family: var(--bc-font-sans);
}html:not(.io-black-mode) .form-control:focus,
input:focus, textarea:focus, select:focus{
  border-color: var(--bc-ink) !important;
  outline: none;
  box-shadow: none !important;
}html:not(.io-black-mode) /* =========================================================
 * 6) 链接与次级文本
 * ======================================================= */
a{ color: inherit; }html:not(.io-black-mode) a:hover{ text-decoration: none; }html:not(.io-black-mode) .text-muted, .text-gray{ color: var(--bc-body) !important; }html:not(.io-black-mode) /* =========================================================
 * 7) 顶部导航栏：白底 + 发丝线下缘（滚动后形态统一为白）
 * ======================================================= */
.main-header.header-fixed .header-nav{
  background: var(--bc-canvas) !important;
  border-bottom: 1px solid var(--bc-hairline);
}html:not(.io-black-mode) .main-header.header-fixed .header-nav.blur-bg{
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background: var(--bc-canvas) !important;
}html:not(.io-black-mode) .main-header.header-fixed .navbar-header > li > a{
  font-family: var(--bc-font-sans);
  font-size: 15px;
  font-weight: 400;
  color: var(--bc-ink) !important;
  letter-spacing: -0.01em;
}html:not(.io-black-mode) .main-header.header-fixed .navbar-header > li > a:hover{
  color: var(--bc-ink) !important;
}
html:not(.io-black-mode) .main-header.header-fixed .navbar-header > li.current-menu-item > a,
.main-header.header-fixed .navbar-header > li.current_page_item > a{
  font-weight: 500;
  color: var(--bc-ink) !important;
}

/* ---- 页眉深度规范化（设计文档 nav-bar：logo 左 · 链接行 · 动作区，无杂件） ---- */
/* 杂件移除：天气挂件、一言（设计文档 nav 无此类内容） */
html:not(.io-black-mode) .main-header .header-weather,
.main-header .header-tools > li.d-none.d-xxl-block{
  display: none !important;
}
/* 链接行： siblings 24px 间距（spacing.2xl） */
html:not(.io-black-mode) .main-header .navbar-header > li{ margin-right: 0; }
.main-header .navbar-header > li > a{ padding-left: 12px; padding-right: 12px; }
/* 菜单图标弱化为次级灰（规范 nav-link 为纯文字层级的辅助） */
html:not(.io-black-mode) .main-header .navbar-header .iconfont{
  color: var(--bc-body);
  font-size: 14px;
}
/* 右侧动作区图标按钮：ink 黑，hover 保持黑 */
html:not(.io-black-mode) .main-header .header-icon-btn > a{
  color: var(--bc-ink) !important;
}
.main-header .header-icon-btn > a:hover{ color: var(--bc-ink) !important; }
/* 登录弹层彩色按钮 → 规范化（发丝线白底 / 黑色主按钮） */
html:not(.io-black-mode) .menu-user-btn.vc-l-blue,
.menu-user-btn.vc-l-green,
.menu-user-btn.vc-l-yellow{
  background: var(--bc-canvas) !important;
  border: 1px solid var(--bc-hairline) !important;
  color: var(--bc-ink) !important;
  box-shadow: none !important;
}
.menu-user-btn.vc-l-blue:hover, .menu-user-btn.vc-l-green:hover,
.menu-user-btn.vc-l-yellow:hover{ border-color: var(--bc-ink) !important; }
/* 移动端 header 同步白底 */
html:not(.io-black-mode) .mobile-header .mobile-nav{ background: var(--bc-canvas); }html:not(.io-black-mode) /* =========================================================
 * 8) 页脚：白底 + 发丝线上缘 + 巨型描边 wordmark 签名位
 * ======================================================= */
.main-footer.footer-stick{
  background: var(--bc-canvas) !important;
  border-top: 1px solid var(--bc-hairline);
  color: var(--bc-body);
}html:not(.io-black-mode) .main-footer a{ color: var(--bc-body); }html:not(.io-black-mode) .main-footer a:hover{ color: var(--bc-ink); }html:not(.io-black-mode) /* 页尾 wordmark（挂载点：body::after 由 single-site 等页面级启用；
   全局提供公共样式） */
.bc-wordmark{
  font-family: var(--bc-font-sans);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  font-size: clamp(48px, 11vw, 150px);
  color: var(--bc-hairline);
  text-align: center;
  user-select: none;
  white-space: nowrap;
  overflow: hidden;
  padding: 0 16px;
}html:not(.io-black-mode) /* =========================================================
 * 9) 品牌渐变 ribbon 公共件（仅品牌铬件，禁止缩至图标级）
 * ======================================================= */
.bc-gradient-ribbon{
  height: 6px;
  width: 100%;
  background: var(--bc-gradient);
  border-radius: 0;
}html:not(.io-black-mode) /* =========================================================
 * 10) 眉题公共件：mono 大写标签
 * ======================================================= */
.bc-eyebrow,
.bc-eyebrow-like{
  font: var(--bc-eyebrow);
  letter-spacing: var(--bc-eyebrow-tracking);
  text-transform: uppercase;
  color: var(--bc-body);
}/* =========================================================
 * 11) 父主题（OneNav）变量体系重映射 —— 全组件即时换肤
 *     父主题所有组件均消费以下变量，改一处即全局生效
 *     注意：使用 :root:root:not(.io-black-mode) 提升特异性，确保无视加载顺序覆盖父主题
 * ======================================================= */
:root:root:not(.io-black-mode){
  /* 品牌强调色：红 → BEACON 橙 */
  --theme-color: var(--bc-accent-orange);
  --theme-color-rgb: 252, 76, 2;
  --theme-color-bg: rgba(252, 76, 2, 0.08);
  --hover-color: var(--bc-ink);
  --focus-color: var(--bc-accent-orange);
  --focus-shadow-color: rgba(252, 76, 2, 0.35);

  /* 正文与圆角：灰 → 墨黑；12px → 4px */
  --main-color: var(--bc-ink);
  --main-radius: var(--bc-rounded-sm);
  --main-radius-bg: var(--bc-hairline);
  --main-shadow: rgba(1, 1, 32, 0.06);

  /* 次级色阶 → 设计文档 body 灰 + 发丝线 */
  --muted-color: var(--bc-body);
  --muted-color2: #7a7a7a;
  --muted-color3: #b9b9b9;
  --muted-bg-color: var(--bc-hairline);
  --muted-bg-color-l: var(--bc-canvas);
  --muted-shadow: rgba(1, 1, 32, 0.06);
  --muted-bg-a-color: transparent;

  /* 磨砂背景 → 纯净白画布（去中间灰，符合设计文档） */
  --main-blur-bg-color: var(--bc-canvas);
  --main-blur-bg-color2: var(--bc-canvas);
  --main-blur-bg-color3: var(--bc-canvas);
  --muted-blur-bg-color: var(--bc-hairline);

  /* 页面灰底 → 白画布（无中间灰） */
  --body-bg-color: var(--bc-canvas);
  --input-bg-color: var(--bc-canvas);

  /* 圆角派生系：全部收敛到 4px 规范 */
  --theme-border-radius: var(--bc-rounded-sm);
  --theme-border-radius-xxl: var(--bc-rounded-md);
  --theme-border-radius-xl: var(--bc-rounded-sm);
  --theme-border-radius-lg: var(--bc-rounded-sm);
  --theme-border-radius-md: var(--bc-rounded-sm);
  --theme-border-radius-sm: var(--bc-rounded-xs);
  --theme-border-radius-xs: var(--bc-rounded-xs);
}html:not(.io-black-mode) /* =========================================================
 * 12) 网址卡片 / 文章卡片（.sites-item / .posts-item）
 * ======================================================= */
.sites-item,
.posts-item,
.url-card,
.card.sites-item{
  background: var(--bc-canvas);
  border: 1px solid var(--bc-hairline);
  border-radius: var(--bc-rounded-sm);
  box-shadow: none !important;
  transition: border-color .16s ease;
}html:not(.io-black-mode) .sites-item:hover,
.posts-item:hover,
.url-card:hover{
  border-color: var(--bc-body) !important;
  box-shadow: none !important;
  transform: none !important;
}html:not(.io-black-mode) .sites-item .item-title,
.posts-item .item-title,
.--title{
  font-family: var(--bc-font-sans);
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--bc-ink);
}html:not(.io-black-mode) .sites-item .sites-tags,
.sites-item .is-views,
.p-meta,
.--meta{
  color: var(--bc-body);
  font-size: 12px;
}html:not(.io-black-mode) /* 卡片媒体区去磨砂 */
.sites-item .item-media,
.blur-img-bg{
  border-radius: 0;
}html:not(.io-black-mode) .sites-item .sites-icon img{
  border-radius: var(--bc-rounded-xs);
}html:not(.io-black-mode) /* =========================================================
 * 13) 首页分类区块（.content-card / 标签页 / 更多按钮）
 * ======================================================= */
.content-card{
  border: 1px solid var(--bc-hairline);
  border-radius: var(--bc-rounded-sm);
  background: var(--bc-canvas);
  box-shadow: none !important;
  overflow: hidden;
}html:not(.io-black-mode) /* 区块标题（tab-title）：display 无衬线 500 负字距 */
.content-card .tab-title,
.tab-title h2,
.tab-title h3,
.tab-title .h3{
  font-family: var(--bc-font-sans);
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--bc-ink);
}html:not(.io-black-mode) /* 分类 tab 药丸：发丝线轨道 + 黑色激活态（toggle-pill 体系） */
.slider-tab,
.tab-item,
.io-slider-tab .slider-li a{
  border-radius: var(--bc-rounded-sm);
  font-family: var(--bc-font-sans);
}html:not(.io-black-mode) .tab-item.active,
.slider-li .active,
.io-slider-tab .active a{
  background: var(--bc-primary) !important;
  color: var(--bc-on-dark) !important;
}html:not(.io-black-mode) /* 「更多+」链接 → mono 眉题风格 */
.btn-more,
.tab-to-more{
  font-family: var(--bc-font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: var(--bc-eyebrow-tracking);
  text-transform: uppercase;
  color: var(--bc-body) !important;
}html:not(.io-black-mode) .btn-more:hover,
.tab-to-more:hover{
  color: var(--bc-ink) !important;
}html:not(.io-black-mode) /* =========================================================
 * 14) 侧栏小工具 / 面板：去磨砂、发丝线
 * ======================================================= */
.card.io-sidebar-widget,
.sidebar-tools .card,
.sidebar .card{
  background: var(--bc-canvas) !important;
  border: 1px solid var(--bc-hairline) !important;
  border-radius: var(--bc-rounded-sm) !important;
  box-shadow: none !important;
}html:not(.io-black-mode) .blur-bg:not(.main-header .blur-bg):not(.header-nav){
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}html:not(.io-black-mode) /* 搜索框区域 */
.search-term,
.input-search{
  border: 1px solid var(--bc-hairline) !important;
  border-radius: var(--bc-rounded-sm) !important;
  background: var(--bc-canvas) !important;
}html:not(.io-black-mode) /* =========================================================
 * 15) 全站标题字体统一（父主题各页面 h1-h4）
 * ======================================================= */
.panel-body h1, .panel-body h2, .panel-body h3, .panel-body h4,
.content-area h1, .content-area h2, .content-area h3,
.entry-content h1, .entry-content h2, .entry-content h3{
  font-family: var(--bc-font-sans);
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--bc-ink);
}html:not(.io-black-mode) /* =========================================================
 * 16) 巨型 wordmark 签名：扩展到首页与其他长页面
 * ======================================================= */
.home main.container::after,
.archive main.container::after,
.search main.container::after{
  content: "BEACON.CN";
  display: block;
  font-family: var(--bc-font-sans);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  font-size: clamp(48px, 11vw, 150px);
  color: var(--bc-hairline);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  user-select: none;
  margin-top: var(--bc-space-section);
  pointer-events: none;
}html:not(.io-black-mode) /* =========================================================
 * 17) 分页与杂项
 * ======================================================= */
.pagination .page-link,
.nav-links .page-numbers{
  border-radius: var(--bc-rounded-sm) !important;
  border-color: var(--bc-hairline) !important;
  color: var(--bc-ink);
  box-shadow: none !important;
}html:not(.io-black-mode) .pagination .page-item.active .page-link{
  background: var(--bc-primary) !important;
  border-color: var(--bc-primary) !important;
  color: var(--bc-on-dark) !important;
}

/* =========================================================
 * 18) 页脚深度规范化（设计文档 footer：canvas 白底 · ink/999 双色 ·
 *     mono 大写眉题 · section 间距；覆盖后台设置的内联样式）
 * ======================================================= */
html:not(.io-black-mode) .main-footer.footer-stick{
  background: var(--bc-canvas) !important;
  border-top: 1px solid var(--bc-hairline);
  color: var(--bc-body);
  font-family: var(--bc-font-sans) !important;
  padding: 56px 32px 32px;
}
@media (max-width: 767.98px){
  .main-footer.footer-stick{ padding: 40px 16px 24px; }
}
html:not(.io-black-mode) .main-footer .footer-copyright{ margin-top: 0 !important; margin-bottom: 0 !important; }

/* ---- 友情链接：标题 mono 大写眉题，链接 #999 ---- */
html:not(.io-black-mode) .main-footer #friendlink h4{
  font: var(--bc-eyebrow);
  letter-spacing: var(--bc-eyebrow-tracking);
  text-transform: uppercase;
  color: var(--bc-body) !important;
  margin-bottom: 8px;
}
html:not(.io-black-mode) .main-footer .friend-link a,
.main-footer #friendlink a{
  color: var(--bc-body) !important;
  font-size: 14px;
  margin-right: 20px;
}
html:not(.io-black-mode) .main-footer .friend-link a:hover,
.main-footer #friendlink a:hover{ color: var(--bc-ink) !important; }

/* ---- 后台内联样式版权块整体覆盖 → 规范双色体系 ---- */
/* 容器：统一 sans 字体、间距（覆盖内联 20px/15px 等） */
html:not(.io-black-mode) .main-footer .footer-copyright footer{
  font-family: var(--bc-font-sans) !important;
  padding: 24px 0 0 !important;
  color: var(--bc-body) !important;
}
/* COPYRIGHT 行：mono 大写标签（设计文档 technical=uppercase mono） */
html:not(.io-black-mode) .main-footer .footer-copyright footer strong{
  font-family: var(--bc-font-mono) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  color: var(--bc-ink) !important;
}
html:not(.io-black-mode) .main-footer .footer-copyright footer span,
.main-footer .footer-copyright footer div,
.main-footer .footer-copyright footer p{
  color: var(--bc-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}
/* 「灯塔导航 版权所有」等说明文字 → caption 次级 */
html:not(.io-black-mode) .main-footer .footer-copyright footer span{ color: var(--bc-body) !important; }
/* 导航链接行（隐私政策/关于我们…）：#999 + hover ink */
html:not(.io-black-mode) .main-footer .footer-copyright footer a{
  color: var(--bc-body) !important;
  text-decoration: none !important;
}
.main-footer .footer-copyright footer a:hover{ color: var(--bc-ink) !important; }
/* 免责声明段落：左对齐 + caption 12px（设计文档禁止正文居中长段落） */
html:not(.io-black-mode) .main-footer .footer-copyright footer div:last-child p,
.main-footer .footer-copyright footer p{
  text-align: left !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
  margin-bottom: 8px !important;
}
html:not(.io-black-mode) .main-footer .footer-copyright footer p span{ font-size: 12px !important; }
/* 备案号行 */
html:not(.io-black-mode) .main-footer .footer-copyright footer div a[href*="beian"]{
  color: var(--bc-body) !important;
  font-size: 13px !important;
}

/* =========================================================
 * 19) 巨型 wordmark：扩展到文章页与独立页面（每页收尾签名）
 * ======================================================= */
html:not(.io-black-mode) .single main.container::after,
.page main.container::after{
  content: "BEACON.CN";
  display: block;
  font-family: var(--bc-font-sans);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  font-size: clamp(48px, 11vw, 150px);
  color: var(--bc-hairline);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  user-select: none;
  margin-top: var(--bc-space-section);
  pointer-events: none;
}


/* =========================================================
 * 20) 全站图标统一：Tabler Icons（MIT · 本地托管 woff2）
 *     纯 CSS content 覆盖父主题 iconfont/io 码点，零 JS 无闪烁；
 *     暗色模式自动继承颜色，两种模式统一生效（不加豁免前缀）
 * ======================================================= */
@font-face{
  font-family: "tabler-icons";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../fonts/tabler-icons.woff2") format("woff2");
}
html .iconfont[class*="icon-"]::before, html .io[class*="io-"]::before{
  font-family: "tabler-icons" !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}
html .iconfont.icon-home::before{ content: "\eac1" !important; }
html .iconfont.icon-jinbi::before{ content: "\eb82" !important; }
html .io.io-wuliuquanqiuwuliu::before{ content: "\ec4b" !important; }
html .iconfont.icon-app::before{ content: "\eb25" !important; }
html .iconfont.icon-random::before{ content: "\ebcb" !important; }
html .iconfont.icon-chart::before{ content: "\ea59" !important; }
html .iconfont.icon-creation-active::before{ content: "\eb04" !important; }
html .iconfont.icon-category::before{ content: "\f1f6" !important; }
html .iconfont.icon-folder::before{ content: "\eaad" !important; }
html .iconfont.icon-folder2::before{ content: "\eaae" !important; }
html .iconfont.icon-tag::before{ content: "\10096" !important; }
html .iconfont.icon-post::before{ content: "\eaa2" !important; }
html .iconfont.icon-sites::before{ content: "\eb54" !important; }
html .iconfont.icon-tools::before{ content: "\ebca" !important; }
html .iconfont.icon-tool::before{ content: "\eb40" !important; }
html .iconfont.icon-url::before{ content: "\eade" !important; }
html .iconfont.icon-wailian::before{ content: "\eade" !important; }
html .iconfont.icon-ziyuan::before{ content: "\ea88" !important; }
html .iconfont.icon-user::before{ content: "\eb4d" !important; }
html .iconfont.icon-register::before{ content: "\eb4b" !important; }
html .iconfont.icon-password::before{ content: "\eae2" !important; }
html .iconfont.icon-search::before{ content: "\eb1c" !important; }
html .iconfont.icon-refresh::before{ content: "\eb13" !important; }
html .iconfont.icon-goto::before{ content: "\ea99" !important; }
html .iconfont.icon-arrow-r::before{ content: "\ea61" !important; }
html .iconfont.icon-arrow-r-m::before{ content: "\ea61" !important; }
html .iconfont.icon-arrow-b::before{ content: "\ea5f" !important; }
html .iconfont.icon-to-up::before{ content: "\f703" !important; }
html .iconfont.icon-go-up::before{ content: "\f703" !important; }
html .iconfont.icon-share::before{ content: "\eb21" !important; }
html .iconfont.icon-shrink::before{ content: "\ea29" !important; }
html .iconfont.icon-expand::before{ content: "\ea28" !important; }
html .iconfont.icon-close::before{ content: "\eb55" !important; }
html .iconfont.icon-publish::before{ content: "\eb47" !important; }
html .iconfont.icon-dian::before{ content: "\ea95" !important; }
html .iconfont.icon-comment::before{ content: "\eaed" !important; }
html .iconfont.icon-like-line::before{ content: "\eabe" !important; }
html .iconfont.icon-collection::before{ content: "\ea3a" !important; }
html .iconfont.icon-collection-line::before{ content: "\ea3a" !important; }
html .iconfont.icon-chakan-line::before{ content: "\ea9a" !important; }
html .iconfont.icon-time-o::before{ content: "\ea70" !important; }
html .iconfont.icon-hot::before{ content: "\ec2c" !important; }
html .iconfont.icon-tishi::before{ content: "\ea05" !important; }
html .iconfont.icon-crying::before{ content: "\eaf6" !important; }
html .iconfont.icon-statement::before{ content: "\ebc0" !important; }
html .iconfont.icon-wechat::before{ content: "\f5f3" !important; }
html .iconfont.icon-qq::before{ content: "\f606" !important; }
html .iconfont.icon-alipay::before{ content: "\f7a2" !important; }
html .iconfont.icon-qr-sweep::before{ content: "\ebc8" !important; }
html .iconfont.icon-kejipeixun::before{ content: "\ecf7" !important; }
html .iconfont.icon-zouxiang::before{ content: "\eb43" !important; }
html .iconfont.icon-tubiaopeizhi::before{ content: "\ea03" !important; }
html .iconfont.icon-light::before{ content: "\ece7" !important; }

/* =========================================================
 * 22) 卡片直达按钮（.togo）规范化：external-link 语义 + 32px 热区
 *     父主题默认 opacity:0 悬停浮现、绝对定位垂直居中（不占布局）
 * ======================================================= */
html a.togo{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  min-height: 32px;
  border-radius: var(--bc-rounded-sm);
  color: var(--bc-body);
  cursor: pointer;
  transition: opacity .2s ease, color .16s ease;
}
html a.togo .iconfont.icon-goto{
  font-size: 15px;
  line-height: 1;
  transition: transform .16s ease;
}
html a.togo:hover{
  color: var(--bc-ink) !important;
}
html a.togo:hover .iconfont.icon-goto{
  transform: translate(1px, -1px);
}

/* =========================================================
 * 23) 暗色模式组件适配
 *     层级体系：画布 #010120 → 卡片 #26263a → 表头/输入框 #313641
 *     （设计文档 Surface Dark Soft 体系，逐级提亮，杜绝同色糊块）
 * ======================================================= */
/* 统一暗色画布（覆盖父主题杂色暗背景） */
html.io-black-mode body{
  background: var(--bc-canvas-dark) !important;
}
/* 卡片容器：surface-dark-soft 比画布亮一档 */
.io-black-mode .card,
.io-black-mode .panel,
.io-black-mode .sidebar .card,
.io-black-mode .card.io-sidebar-widget,
.io-black-mode .content-card,
.io-black-mode .sites-item,
.io-black-mode .posts-item,
.io-black-mode .url-card{
  background: var(--bc-surface-dark-soft) !important;
  border: 1px solid transparent !important;
  border-radius: var(--bc-rounded-sm) !important;
  box-shadow: none !important;
}
.io-black-mode .sites-item:hover,
.io-black-mode .posts-item:hover,
.io-black-mode .url-card:hover{
  border-color: var(--bc-body-on-dark) !important;
  box-shadow: none !important;
  transform: none !important;
}
/* 卡片标题栏（最新网址/热门网址等表头）：再亮一档 */
.io-black-mode .card > .card-header,
.io-black-mode .card-header.widget-header{
  background: #313641 !important;
  border-bottom: 1px solid transparent !important;
  border-radius: var(--bc-rounded-sm) var(--bc-rounded-sm) 0 0 !important;
  color: var(--bc-body-on-dark) !important;
}
.io-black-mode .card-header a{ color: var(--bc-body-on-dark) !important; }
.io-black-mode .card-header a:hover{ color: var(--bc-on-dark) !important; }
/* 卡片正文与链接 */
.io-black-mode .card-body{ color: var(--bc-on-dark); }
.io-black-mode .card a{ color: var(--bc-on-dark); }
.io-black-mode .card a:hover{ color: var(--bc-accent-orange); }
/* 卡片内的次级行（信息列表行等）：暗面次级文字 */
.io-black-mode .card .text-muted,
.io-black-mode .card .text-gray,
.io-black-mode .sites-item .sites-tags,
.io-black-mode .sites-item .is-views,
.io-black-mode .p-meta{
  color: var(--bc-body-on-dark) !important;
}
/* 磨砂/模糊背景组件：暗下去磨砂为卡片档深色 */
.io-black-mode .fx-bg,
.io-black-mode .blur-img-bg,
.io-black-mode .blur-bg:not(.main-header .blur-bg):not(.header-nav){
  background: var(--bc-surface-dark-soft) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
/* 顶部大搜索区（#search.big-search）：融入画布，白块消除 */
.io-black-mode #search.big-search{
  background: transparent !important;
  box-shadow: none !important;
}
.io-black-mode .search-box-big,
.io-black-mode .search-form{
  background: transparent !important;
}
/* 表单与搜索框：表头档深底 */
.io-black-mode .form-control,
.io-black-mode input[type="text"], .io-black-mode input[type="email"],
.io-black-mode input[type="url"], .io-black-mode input[type="search"],
.io-black-mode input[type="password"], .io-black-mode textarea, .io-black-mode select{
  background: #313641 !important;
  border: 1px solid transparent !important;
  color: var(--bc-on-dark) !important;
  box-shadow: none !important;
}
.io-black-mode .form-control:focus,
.io-black-mode input:focus, .io-black-mode textarea:focus, .io-black-mode select:focus{
  border-color: var(--bc-body-on-dark) !important;
}
.io-black-mode input::placeholder, .io-black-mode textarea::placeholder{
  color: var(--bc-body-on-dark);
}
/* 主按钮：暗色画布上黑按钮不可见 → 反转为白底黑字（on-dark 按钮逻辑） */
.io-black-mode .btn-primary,
.io-black-mode .btn-danger,
.io-black-mode .btn-black,
.io-black-mode .btn.vc-theme{
  background-color: var(--bc-on-dark) !important;
  border-color: var(--bc-on-dark) !important;
  color: var(--bc-canvas-dark) !important;
}
.io-black-mode .btn-primary:hover, .io-black-mode .btn-primary:focus,
.io-black-mode .btn-danger:hover, .io-black-mode .btn-danger:focus,
.io-black-mode .btn-black:hover, .io-black-mode .btn-black:focus,
.io-black-mode .btn.vc-theme:hover, .io-black-mode .btn.vc-theme:focus{
  background-color: #d9d9e3 !important;
  border-color: #d9d9e3 !important;
}
.io-black-mode .btn-outline-primary,
.io-black-mode .btn-outline-secondary,
.io-black-mode .btn-light, .io-black-mode .btn-default{
  background-color: transparent !important;
  border-color: var(--bc-surface-dark-soft) !important;
  color: var(--bc-on-dark) !important;
}
.io-black-mode .btn-outline-primary:hover, .io-black-mode .btn-outline-primary:focus,
.io-black-mode .btn-outline-secondary:hover, .io-black-mode .btn-outline-secondary:focus,
.io-black-mode .btn-light:hover, .io-black-mode .btn-default:hover{
  border-color: var(--bc-on-dark) !important;
  background-color: transparent !important;
}
/* 标题与次级文字 */
.io-black-mode h1, .io-black-mode h2, .io-black-mode h3, .io-black-mode h4, .io-black-mode h5, .io-black-mode h6{
  color: var(--bc-on-dark);
}
.io-black-mode .text-muted, .io-black-mode .text-gray{
  color: var(--bc-body-on-dark) !important;
}

/* =========================================================
 * 24) 暗色统一化：中和彩色元素，全站单色系（灰阶 + 品牌橙仅 hover）
 * ======================================================= */
/* favicon 灰度化：默认去色融入暗面，悬停卡片时恢复彩色（探索反馈） */
html.io-black-mode img.sites-icon{
  filter: grayscale(1);
  opacity: .88;
  transition: filter .2s ease, opacity .2s ease;
}
html.io-black-mode .sites-item:hover img.sites-icon,
html.io-black-mode .url-card:hover img.sites-icon{
  filter: none;
  opacity: 1;
}
/* favicon 背后的彩色磨砂底图：暗色下直接移除 */
html.io-black-mode .blur-img-bg{
  background-image: none !important;
}
/* 语义色文字：统一暗面次级（导航站无真语义需求，杜绝红绿黄杂色） */
.io-black-mode .text-success,
.io-black-mode .text-danger,
.io-black-mode .text-warning,
.io-black-mode .text-info,
.io-black-mode .text-primary{
  color: var(--bc-body-on-dark) !important;
}
/* 徽章：统一表头档底 */
.io-black-mode .badge{
  background: #313641 !important;
  border: 1px solid transparent !important;
  color: var(--bc-on-dark) !important;
  box-shadow: none !important;
}
/* tab/滑块激活态：黑底在暗面不可见 → 白底黑字（on-dark 反转） */
.io-black-mode .tab-item.active,
.io-black-mode .slider-li.active,
.io-black-mode .search-menu.active,
.io-black-mode .io-slider-tab .active a{
  background: var(--bc-on-dark) !important;
  color: var(--bc-canvas-dark) !important;
}
.io-black-mode .tab-item,
.io-black-mode .slider-li a,
.io-black-mode .search-menu{
  color: var(--bc-body-on-dark);
}
/* 卡片标题旁的小图标：跟随文字色（不独立彩色） */
.io-black-mode .card-header .iconfont,
.io-black-mode .tab-title .iconfont,
.io-black-mode .site-tag{
  color: var(--bc-body-on-dark) !important;
}
/* 输入聚焦不再有彩色光晕 */
.io-black-mode .form-control:focus,
.io-black-mode input:focus, .io-black-mode textarea:focus, .io-black-mode select:focus{
  box-shadow: none !important;
}
/* 彩底按钮变体（vc-l-* 之外的自定义彩色）：统一暗面板 */
.io-black-mode .btn[class*="vc-"]:not(.vc-theme):not(.active){
  background: #313641 !important;
  border-color: transparent !important;
  color: var(--bc-on-dark) !important;
  box-shadow: none !important;
}
.io-black-mode .btn[class*="vc-"]:not(.vc-theme):not(.active):hover{
  border-color: var(--bc-body-on-dark) !important;
}

/* =========================================================
 * 21) Tabler 图标 class 语言（预留集）
 *     全站任意位置可直接使用 <i class="ti ti-xxx"></i>
 *     与 iconfont 旧图标解耦，新增图标只需在 generate 脚本追加
 * ======================================================= */
html [class*=" ti-"]::before, html [class^="ti-"]::before{
  font-family: "tabler-icons" !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1;
  font-size: 1.15em;
  display: inline-block;
  -webkit-font-smoothing: antialiased;
}
html .ti-search::before{ content: "\eb1c" !important; }
html .ti-news::before{ content: "\eafd" !important; }
html .ti-message-circle::before{ content: "\eaed" !important; }
html .ti-messages::before{ content: "\eb6c" !important; }
html .ti-chart-bar::before{ content: "\ea59" !important; }
html .ti-chart-pie::before{ content: "\ea5d" !important; }
html .ti-chart-line::before{ content: "\ea5c" !important; }
html .ti-tool::before{ content: "\eb40" !important; }
html .ti-language::before{ content: "\ebbe" !important; }
html .ti-palette::before{ content: "\eb01" !important; }
html .ti-speakerphone::before{ content: "\ed61" !important; }
html .ti-bolt::before{ content: "\ea38" !important; }
html .ti-world::before{ content: "\eb54" !important; }
html .ti-users::before{ content: "\ebf2" !important; }
html .ti-video::before{ content: "\ed22" !important; }
html .ti-briefcase::before{ content: "\ea46" !important; }
html .ti-heart::before{ content: "\eabe" !important; }
html .ti-building-store::before{ content: "\ea4e" !important; }
html .ti-truck-delivery::before{ content: "\ec4b" !important; }
html .ti-credit-card::before{ content: "\ea84" !important; }
html .ti-shield-check::before{ content: "\eb22" !important; }
html .ti-app-window::before{ content: "\efe6" !important; }
html .ti-license::before{ content: "\ebc0" !important; }
html .ti-certificate::before{ content: "\ed76" !important; }
html .ti-cloud::before{ content: "\ea76" !important; }
html .ti-filter::before{ content: "\eaa5" !important; }
html .ti-photo::before{ content: "\eb0a" !important; }
html .ti-music::before{ content: "\eafc" !important; }
html .ti-player-play::before{ content: "\ed46" !important; }
html .ti-book-2::before{ content: "\efc5" !important; }
html .ti-school::before{ content: "\ecf7" !important; }
html .ti-scale::before{ content: "\ebc2" !important; }
html .ti-currency-yen::before{ content: "\ebae" !important; }
html .ti-trending-up::before{ content: "\eb43" !important; }
html .ti-trophy::before{ content: "\eb45" !important; }
html .ti-mail::before{ content: "\eae5" !important; }
html .ti-file-download::before{ content: "\ea9d" !important; }
html .ti-plug::before{ content: "\ebd9" !important; }
html .ti-server::before{ content: "\eb1f" !important; }
html .ti-route::before{ content: "\eb17" !important; }
html .ti-basket::before{ content: "\ebe1" !important; }
html .ti-wallet::before{ content: "\eb75" !important; }
html .ti-camera::before{ content: "\ea54" !important; }
html .ti-movie::before{ content: "\eafa" !important; }
html .ti-rss::before{ content: "\eb19" !important; }
html .ti-hash::before{ content: "\eabc" !important; }
html .ti-at::before{ content: "\ea2b" !important; }
html .ti-bell::before{ content: "\ea35" !important; }
html .ti-microphone::before{ content: "\eaf0" !important; }
html .ti-coins::before{ content: "\f65d" !important; }
html .ti-cash::before{ content: "\ea55" !important; }
html .ti-discount::before{ content: "\ebbd" !important; }
html .ti-receipt::before{ content: "\edfd" !important; }
html .ti-currency-dollar::before{ content: "\eb84" !important; }
html .ti-shopping-cart::before{ content: "\eb25" !important; }
html .ti-shopping-bag::before{ content: "\f5f8" !important; }
html .ti-gift::before{ content: "\eb68" !important; }
html .ti-crown::before{ content: "\ed12" !important; }
html .ti-diamond::before{ content: "\eb65" !important; }
html .ti-tag::before{ content: "\10096" !important; }
html .ti-tags::before{ content: "\ef86" !important; }
html .ti-ticket::before{ content: "\eb3d" !important; }
html .ti-barcode::before{ content: "\ebc6" !important; }
html .ti-qrcode::before{ content: "\eb11" !important; }
html .ti-chart-area::before{ content: "\ea58" !important; }
html .ti-chart-dots::before{ content: "\ee2f" !important; }
html .ti-activity::before{ content: "\ed23" !important; }
html .ti-trending-down::before{ content: "\eb42" !important; }
html .ti-report::before{ content: "\eece" !important; }
html .ti-table::before{ content: "\eba1" !important; }
html .ti-presentation::before{ content: "\eb70" !important; }
html .ti-target::before{ content: "\eb35" !important; }
html .ti-rocket::before{ content: "\ec45" !important; }
html .ti-bulb::before{ content: "\ea51" !important; }
html .ti-medal::before{ content: "\ec78" !important; }
html .ti-flag::before{ content: "\eaa6" !important; }
html .ti-database::before{ content: "\ea88" !important; }
html .ti-server-2::before{ content: "\f07c" !important; }
html .ti-cloud-up::before{ content: "\f85c" !important; }
html .ti-cloud-down::before{ content: "\f851" !important; }
html .ti-cpu::before{ content: "\ef8e" !important; }
html .ti-code::before{ content: "\ea77" !important; }
html .ti-terminal::before{ content: "\ebdc" !important; }
html .ti-settings::before{ content: "\eb20" !important; }
html .ti-adjustments::before{ content: "\ea03" !important; }
html .ti-shield-lock::before{ content: "\ed58" !important; }
html .ti-fingerprint::before{ content: "\ebd1" !important; }
html .ti-key::before{ content: "\eac7" !important; }
html .ti-lock::before{ content: "\eae2" !important; }
html .ti-lock-open::before{ content: "\eae1" !important; }
html .ti-eye::before{ content: "\ea9a" !important; }
html .ti-eye-off::before{ content: "\ecf0" !important; }
html .ti-shield::before{ content: "\eb24" !important; }
html .ti-shield-x::before{ content: "\eb23" !important; }
html .ti-file-text::before{ content: "\eaa2" !important; }
html .ti-file-check::before{ content: "\ea9c" !important; }
html .ti-file-upload::before{ content: "\ec91" !important; }
html .ti-clipboard-list::before{ content: "\ea6d" !important; }
html .ti-clipboard-check::before{ content: "\ea6c" !important; }
html .ti-notebook::before{ content: "\eb96" !important; }
html .ti-book::before{ content: "\ea39" !important; }
html .ti-calendar::before{ content: "\ea53" !important; }
html .ti-calendar-event::before{ content: "\ea52" !important; }
html .ti-send::before{ content: "\eb1e" !important; }
html .ti-archive::before{ content: "\ea0b" !important; }
html .ti-box::before{ content: "\ea45" !important; }
html .ti-packages::before{ content: "\f2c9" !important; }
html .ti-category::before{ content: "\f1f6" !important; }
html .ti-layout-grid::before{ content: "\edba" !important; }
html .ti-grid-dots::before{ content: "\eaba" !important; }
html .ti-list::before{ content: "\eb6b" !important; }
html .ti-list-check::before{ content: "\eb6a" !important; }
html .ti-sort-descending::before{ content: "\eb27" !important; }
html .ti-phone::before{ content: "\eb09" !important; }
html .ti-message::before{ content: "\eaef" !important; }
html .ti-user-plus::before{ content: "\eb4b" !important; }
html .ti-id::before{ content: "\eac3" !important; }
html .ti-gavel::before{ content: "\ef90" !important; }
html .ti-brand-wechat::before{ content: "\f5f3" !important; }
html .ti-brand-qq::before{ content: "\f606" !important; }
html .ti-brand-alipay::before{ content: "\f7a2" !important; }
html .ti-brand-google::before{ content: "\ec1f" !important; }
html .ti-brand-github::before{ content: "\ec1c" !important; }
html .ti-home::before{ content: "\eac1" !important; }
html .ti-user::before{ content: "\eb4d" !important; }
html .ti-refresh::before{ content: "\eb13" !important; }
html .ti-external-link::before{ content: "\ea99" !important; }
html .ti-arrow-up-right::before{ content: "\ea24" !important; }
html .ti-folder::before{ content: "\eaad" !important; }
html .ti-folders::before{ content: "\eaae" !important; }
html .ti-link::before{ content: "\eade" !important; }
html .ti-edit::before{ content: "\ea98" !important; }
html .ti-pencil::before{ content: "\eb04" !important; }
html .ti-wand::before{ content: "\ebcb" !important; }
html .ti-dots::before{ content: "\ea95" !important; }
html .ti-moon-stars::before{ content: "\ece7" !important; }
html .ti-sun::before{ content: "\eb30" !important; }
html .ti-chevron-right::before{ content: "\ea61" !important; }
html .ti-chevron-down::before{ content: "\ea5f" !important; }
html .ti-arrow-up::before{ content: "\ea25" !important; }
html .ti-circle-arrow-up::before{ content: "\f703" !important; }
html .ti-share::before{ content: "\eb21" !important; }
html .ti-arrows-minimize::before{ content: "\ea29" !important; }
html .ti-arrows-maximize::before{ content: "\ea28" !important; }
html .ti-x::before{ content: "\eb55" !important; }
html .ti-bookmark::before{ content: "\ea3a" !important; }
html .ti-star::before{ content: "\eb2e" !important; }
html .ti-clock::before{ content: "\ea70" !important; }
html .ti-flame::before{ content: "\ec2c" !important; }
html .ti-alert-circle::before{ content: "\ea05" !important; }
html .ti-info-circle::before{ content: "\eac5" !important; }
html .ti-mood-sad::before{ content: "\eaf6" !important; }
html .ti-scan::before{ content: "\ebc8" !important; }
html .ti-upload::before{ content: "\eb47" !important; }
html .ti-truck::before{ content: "\ebc4" !important; }
html .ti-package::before{ content: "\eaff" !important; }
html .ti-coin::before{ content: "\eb82" !important; }
