/* ================= 基础 ================= */
* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
/* 关键：防止自定义 display 规则覆盖 hidden 属性 */
[hidden] { display: none !important; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;
  color: #222; background: #fff; min-height: 100vh;
  display: flex; flex-direction: column; /* 首页/结果页铺满视口、页脚贴底 */
}
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
svg { display: block; flex: none; }

/* ================= 搜索框 ================= */
.searchbox {
  position: relative;
  display: flex; align-items: center;
  border: 2px solid #4E6EF2; border-radius: 12px;
  background: #fff; transition: box-shadow .18s;
}
.searchbox:focus-within { box-shadow: 0 0 0 5px rgba(78,110,242,.14); }
.searchbox input {
  flex: 1; min-width: 0; height: 46px; border: none; outline: none;
  padding: 0 16px; font-size: 16px; background: transparent; color: #222;
}
.searchbox input::placeholder { color: #b5b8c4; }
.searchbox button {
  width: 56px; height: 46px; border: none; background: #4E6EF2;
  border-radius: 0 9px 9px 0; /* 右侧圆角与容器对齐（容器不再 overflow:hidden） */
  display: flex; align-items: center; justify-content: center;
  transition: background .15s;
}
.searchbox button:hover { background: #4660e0; }

/* ---- 搜索联想下拉 ---- */
.suggest-wrap {
  position: absolute; top: calc(100% + 6px); left: 0; right: 0;
  background: #fff; border: 1px solid #eceef3; border-radius: 12px;
  box-shadow: 0 10px 32px rgba(30,40,90,.14); z-index: 60;
  padding: 6px; max-height: 320px; overflow-y: auto;
}
.suggest-item {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 12px; border-radius: 8px; font-size: 14px; color: #333;
  cursor: pointer; transition: background .1s; user-select: none;
}
.suggest-item svg { color: #9aa0b4; flex: none; }
.suggest-item:hover, .suggest-item.active { background: #f2f4fa; color: #4E6EF2; }
.suggest-item.active svg { color: #4E6EF2; }

/* ================= 首页（居中模式，整页一屏、页脚贴底无多余滚动条） ================= */
.home { flex: 1 0 auto; display: flex; padding: 18px 16px 26px; }
.home-inner { width: 100%; max-width: 600px; text-align: center; margin: auto; }
.home-logo { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 12px; }
.home-logo h1 { font-size: 44px; letter-spacing: 4px; color: #4E6EF2; font-weight: 600; }
.home-slogan { color: #9a9daa; font-size: 14.5px; margin-bottom: 24px; letter-spacing: 1px; }
.searchbox-home input { height: 50px; font-size: 17px; }
.searchbox-home button { height: 50px; width: 66px; }
.home-tip { margin-top: 16px; font-size: 13px; color: #a2a5b1; }
.home-tip a { color: #4E6EF2; }
/* 结果页容器同样伸展占满，保证页脚在视口底部 */
.page { flex: 1 0 auto; }

/* ================= 顶栏（结果页模式） ================= */
.topbar {
  position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96);
  backdrop-filter: blur(8px); border-bottom: 1px solid #f0f1f5;
}
.topbar-inner { max-width: 1680px; margin: 0 auto; padding: 14px 20px; display: flex; align-items: center; gap: 20px; }
.logo-small { display: flex; align-items: center; gap: 9px; font-size: 21px; font-weight: 600; color: #4E6EF2; letter-spacing: 2px; flex: none; }
.topbar .searchbox { flex: 1; max-width: 620px; border-width: 1.5px; border-color: #dcdfe6; }
.topbar .searchbox:focus-within { border-color: #4E6EF2; }
.topbar .searchbox input { height: 42px; font-size: 15px; }
.topbar .searchbox button { height: 42px; width: 52px; }
.usernav { display: flex; align-items: center; gap: 14px; flex: none; margin-left: auto; }
.nav-link { font-size: 14px; color: #555; padding: 6px 4px; }
.nav-link:hover { color: #4E6EF2; }
.nav-login { color: #4E6EF2; font-weight: 500; }

/* ---- 用户下拉菜单（头像 + 昵称，悬停展开：个人中心 / 退出） ---- */
.user-menu { position: relative; flex: none; }
.user-menu-btn {
  display: inline-flex; align-items: center; gap: 7px;
  border: 1px solid transparent; background: none; cursor: pointer;
  padding: 4px 8px; border-radius: 999px; color: #444; font-size: 14px;
  transition: background .15s, border-color .15s; font-family: inherit; max-width: 200px;
}
.user-menu-btn:hover { background: #eef0f6; border-color: #e0e3ec; }
.user-menu-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-menu-caret { color: #9aa0b4; transition: transform .15s; flex: none; }
.user-menu:hover .user-menu-caret, .user-menu.open .user-menu-caret { transform: rotate(180deg); }
.user-menu-drop {
  position: absolute; top: calc(100% + 8px); right: 0; min-width: 150px;
  background: #fff; border: 1px solid #eceef3; border-radius: 12px;
  box-shadow: 0 8px 28px rgba(30,40,90,.12); padding: 6px; z-index: 30;
  opacity: 0; visibility: hidden; transform: translateY(-6px); transition: all .15s;
}
.user-menu:hover .user-menu-drop, .user-menu.open .user-menu-drop { opacity: 1; visibility: visible; transform: translateY(0); }
.user-menu-drop a {
  display: flex; align-items: center; gap: 9px;
  padding: 9px 12px; border-radius: 8px; font-size: 13.5px; color: #444;
  text-decoration: none; transition: background .12s, color .12s;
}
.user-menu-drop a svg { color: #8b90a3; flex: none; }
.user-menu-drop a:hover { background: #f2f4fa; color: #4E6EF2; }
.user-menu-drop a:hover svg { color: #4E6EF2; }
.user-menu-drop .user-menu-logout { color: #d93026; }
.user-menu-drop .user-menu-logout svg { color: #d93026; }
.user-menu-drop .user-menu-logout:hover { background: #fdf0ef; color: #c22a1e; }
.user-menu-drop .user-menu-logout:hover svg { color: #c22a1e; }

/* ---- 导航按钮（登录/注册、我的收藏） ---- */
.nav-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 16px; border-radius: 8px; font-size: 14px;
  border: 1px solid #dcdfe6; color: #555; background: #fff;
  transition: all .15s; white-space: nowrap; line-height: 1.4;
}
.nav-btn:hover { border-color: #4E6EF2; color: #4E6EF2; }
.nav-btn-primary { background: #4E6EF2; border-color: #4E6EF2; color: #fff; }
.nav-btn-primary:hover { background: #4660e0; border-color: #4660e0; color: #fff; }

/* 首页右上角按钮 */
.home-corner { position: fixed; top: 22px; right: 26px; z-index: 20; display: flex; gap: 10px; }

/* ================= 结果页布局 ================= */
.page { background: #f5f6fa; min-height: calc(100vh - 72px); }
.layout {
  max-width: 1680px; margin: 0 auto; padding: 20px 20px 60px;
  display: flex; gap: 28px; align-items: flex-start;
}
.results-col { flex: 1; min-width: 0; }
.sidebar { width: 400px; flex: none; position: sticky; top: 88px; display: flex; flex-direction: column; gap: 16px; }

/* ---- 结果条目 ---- */
/* ---- 结果条目（卡片式） ---- */
.result { background: #fff; border: 1px solid #eceef3; border-radius: 14px; padding: 18px 22px; margin-bottom: 14px; transition: box-shadow .15s; }
.result:hover { box-shadow: 0 4px 16px rgba(30,40,90,.07); }
.result-bk { position: relative; padding-right: 128px; }
.bk-pic { position: absolute; top: 18px; right: 22px; width: 88px; height: 118px; border-radius: 8px; overflow: hidden; background: #f2f3f8; }
.bk-pic img { width: 100%; height: 100%; object-fit: cover; }
.result-title { font-size: 19px; line-height: 1.45; font-weight: 500; display: flex; align-items: flex-start; gap: 8px; }
.result-title a { color: #2440b3; }
.result-title a:visited { color: #6a34c9; }
.result-title a:hover { text-decoration: underline; }
.result-meta, .result-source { display: flex; align-items: center; gap: 8px; margin: 10px 0 0; font-size: 13px; color: #9aa0b4; flex-wrap: wrap; }
.favicon { width: 16px; height: 16px; border-radius: 3px; object-fit: cover; flex: none; }
.favicon-letter {
  width: 16px; height: 16px; border-radius: 3px; flex: none;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 10px; font-weight: 600; line-height: 1;
}
.result-source-name { color: #333; font-weight: 500; text-decoration: none; }
.result-source-name:hover { color: #4E6EF2; text-decoration: underline; }
.result-source-domain { color: #9aa0b4; }
.rs-spacer { flex: 1; }
.badge-official {
  display: inline-flex; align-items: center; gap: 3px;
  background: #4E6EF2; color: #fff; font-size: 11px; font-weight: 500;
  padding: 2px 7px 2px 5px; border-radius: 999px; letter-spacing: 1px; flex: none;
}
.badge-overseas {
  position: relative;
  display: inline-flex; align-items: center;
  background: #fff6e9; color: #e8930c; font-size: 11px; font-weight: 500;
  padding: 2px 7px; border-radius: 999px; letter-spacing: 1px; flex: none;
  border: 1px solid #f3d9a4; cursor: help;
}
.badge-submitted {
  display: inline-flex; align-items: center; gap: 3px;
  background: #ecf9f0; color: #23a55a; font-size: 11px; font-weight: 500;
  padding: 2px 7px; border-radius: 999px; letter-spacing: 1px; flex: none;
  border: 1px solid #bfe8cf;
}
.badge-recommended {
  display: inline-flex; align-items: center; gap: 3px;
  background: #4E6EF2; color: #fff; font-size: 11px; font-weight: 500;
  padding: 2px 7px; border-radius: 999px; letter-spacing: 1px; flex: none;
}
.badge-public {
  position: relative;
  display: inline-flex; align-items: center; gap: 3px;
  background: #f0edff; color: #6d5ae0; font-size: 11px; font-weight: 500;
  padding: 2px 7px; border-radius: 999px; letter-spacing: 1px; flex: none;
  border: 1px solid #d6ccff; cursor: help;
}
/* 悬浮提示：内容中心公共库条目（由其它站点提交、服务方审核后同步而来） */
.badge-public::after {
  content: '公共库：由其它站点提交、经服务方审核后同步到本站的结果';
  position: absolute; bottom: calc(100% + 7px); left: 50%;
  transform: translateX(-50%);
  background: rgba(22, 26, 42, .92); color: #fff;
  font-size: 12px; line-height: 1.5; letter-spacing: 0;
  padding: 6px 10px; border-radius: 6px; white-space: nowrap;
  z-index: 40; opacity: 0; visibility: hidden;
  transition: opacity .15s, visibility .15s; pointer-events: none;
}
.badge-public::before {
  content: ''; position: absolute; bottom: calc(100% + 2px); left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent; border-top-color: rgba(22, 26, 42, .92);
  z-index: 40; opacity: 0; visibility: hidden;
  transition: opacity .15s, visibility .15s; pointer-events: none;
}
.badge-public:hover::after, .badge-public:hover::before { opacity: 1; visibility: visible; }
/* 悬浮提示：请注意：国内可能无法正常打开 */
.badge-overseas::after {
  content: '请注意：国内可能无法正常打开';
  position: absolute; bottom: calc(100% + 7px); left: 50%;
  transform: translateX(-50%);
  background: rgba(22, 26, 42, .92); color: #fff;
  font-size: 12px; line-height: 1.5; letter-spacing: 0;
  padding: 6px 10px; border-radius: 6px; white-space: nowrap;
  z-index: 40; opacity: 0; visibility: hidden;
  transition: opacity .15s, visibility .15s; pointer-events: none;
}
.badge-overseas::before {
  content: ''; position: absolute; bottom: calc(100% + 2px); left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent; border-top-color: rgba(22, 26, 42, .92);
  z-index: 40; opacity: 0; visibility: hidden;
  transition: opacity .15s, visibility .15s; pointer-events: none;
}
.badge-overseas:hover::after, .badge-overseas:hover::before { opacity: 1; visibility: visible; }
.result-snippet { font-size: 14px; line-height: 1.75; color: #444; word-break: break-word; }
.result-snippet em, .result-title em { font-style: normal; color: #c9302c; }
.fav-btn {
  border: none; background: none; padding: 2px; margin-left: auto; flex: none;
  color: #c3c7d2; line-height: 0; border-radius: 5px; transition: color .12s, transform .12s;
}
.fav-btn:hover { color: #f5a623; transform: scale(1.12); }
.fav-btn.on { color: #f5a623; }
.fav-btn.on svg polygon { fill: currentColor; }

/* ---- 骨架屏 ---- */
.skeleton { background: #fff; border: 1px solid #eceef3; border-radius: 14px; padding: 18px 22px; margin-bottom: 14px; }
.sk-line { height: 14px; border-radius: 6px; background: linear-gradient(90deg,#f0f1f5 25%,#e6e8f0 37%,#f0f1f5 63%); background-size: 400% 100%; animation: sk 1.2s ease infinite; margin-bottom: 10px; }
.sk-line.t { width: 55%; height: 18px; }
.sk-line.u { width: 30%; height: 12px; margin: 12px 0; }
.sk-line.s { width: 92%; }
.sk-line.s2 { width: 78%; }
@keyframes sk { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }

/* ---- 分页 ---- */
.pager { display: flex; align-items: center; justify-content: center; gap: 20px; padding: 16px 0; }
.pager button {
  display: inline-flex; align-items: center; gap: 5px;
  border: 1px solid #dcdfe6; background: #fff; color: #555;
  border-radius: 8px; padding: 9px 18px; font-size: 14px; transition: all .15s;
}
.pager button:hover:not(:disabled) { border-color: #4E6EF2; color: #4E6EF2; }
.pager button:disabled { opacity: .4; cursor: default; }
#pageInfo { font-size: 14px; color: #888; }

/* ---- 状态提示 ---- */
.status-msg { text-align: center; padding: 70px 20px; color: #9a9daa; font-size: 15px; }
.status-msg .big { font-size: 40px; margin-bottom: 14px; color: #c3c7d2; }

/* ================= 右侧卡片 ================= */
.side-card { background: #fff; border: 1px solid #eceef3; border-radius: 14px; padding: 16px 18px; }
.side-head { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.side-head h3 { font-size: 15px; font-weight: 600; color: #333; flex: 1; display: flex; align-items: baseline; gap: 8px; }
.side-sub { font-size: 12px; font-weight: 400; color: #a2a5b1; }
.tabs { display: flex; gap: 4px; flex: none; }
.tab { border: none; background: #f2f3f8; color: #777; font-size: 12px; padding: 4px 10px; border-radius: 999px; transition: all .15s; }
.tab.active { background: #4E6EF2; color: #fff; }

.today-list {
  list-style: none;
  max-height: 330px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 3px;
  scrollbar-width: thin;
  scrollbar-color: #d5dae6 transparent;
}
.today-list::-webkit-scrollbar { width: 5px; }
.today-list::-webkit-scrollbar-thumb { background: #d5dae6; border-radius: 4px; }
.today-list::-webkit-scrollbar-thumb:hover { background: #b9c0d4; }
.today-list li { display: flex; gap: 10px; padding: 7px 0; font-size: 13.5px; line-height: 1.55; color: #444; border-bottom: 1px dashed #f2f3f7; }
.today-list li:last-child { border-bottom: none; }
.today-list li a { color: inherit; }
.today-list li a:hover { color: #4E6EF2; text-decoration: underline; }
.today-year { flex: none; font-weight: 600; color: #4E6EF2; font-variant-numeric: tabular-nums; min-width: 44px; }
.today-src { font-size: 11.5px; color: #c0c3cf; margin: 8px 0 0; text-align: right; }

.hot-list { list-style: none; counter-reset: hot; }
.hot-list li { display: flex; align-items: center; gap: 10px; padding: 7.5px 0; font-size: 13.5px; border-bottom: 1px dashed #f2f3f7; }
.hot-list li:last-child { border-bottom: none; }
.hot-list a { color: #333; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.hot-list a:hover { color: #4E6EF2; }
.hot-list a:visited { color: #333; }
.hot-num { flex: none; width: 19px; height: 19px; border-radius: 5px; background: #eef0f6; color: #8b90a3; font-size: 12px; font-weight: 600; display: flex; align-items: center; justify-content: center; font-style: normal; }
.hot-list li:nth-child(1) .hot-num { background: #f5222d; color: #fff; }
.hot-list li:nth-child(2) .hot-num { background: #fa541c; color: #fff; }
.hot-list li:nth-child(3) .hot-num { background: #faad14; color: #fff; }
.hot-score { flex: none; font-size: 11px; color: #c0c4d0; font-variant-numeric: tabular-nums; }
.side-loading { text-align: center; color: #b5b8c4; font-size: 13px; padding: 18px 0 !important; justify-content: center; }
.side-error { text-align: center; color: #b5b8c4; font-size: 13px; padding: 18px 0 !important; justify-content: center; }

/* ================= 响应式 ================= */
@media (max-width: 960px) {
  .layout { flex-direction: column; }
  .sidebar { width: 100%; position: static; }
  .topbar-inner { flex-wrap: wrap; gap: 10px; }
  .topbar .searchbox { order: 3; flex-basis: 100%; max-width: none; }
  .usernav { margin-left: auto; }
}
@media (max-width: 640px) {
  .home-logo h1 { font-size: 34px; }
  .home-logo svg { width: 60px; height: 60px; }
  .result { padding: 14px 16px; }
  .result-title { font-size: 17px; }
  .logo-small span { display: none; }
  .home-corner { top: 14px; right: 14px; }
  .nav-btn { padding: 7px 13px; font-size: 13px; }

  /* ---- 移动端强化：顶栏紧凑、弹窗抽屉化、防缩放、来源行可换行 ---- */
  .topbar-inner { padding: 10px 12px; gap: 8px; }
  .usernav { gap: 8px; }
  .user-menu-btn { padding: 2px; max-width: none; }
  .user-menu-name, .user-menu-caret { display: none; }
  .topbar .searchbox input,
  .searchbox-home input,
  .sub-card input, .sub-card textarea,
  .fb-note-wrap input,
  .auth-card input { font-size: 16px; } /* 16px 防止 iOS 聚焦自动缩放 */

  .fb-modal { padding: 0; align-items: flex-end; }
  .fb-dialog {
    max-width: none; padding: 18px 16px 22px;
    border-radius: 18px 18px 0 0;
    max-height: 88vh; overflow-y: auto;
  }
  .result-source { flex-wrap: wrap; }
  .rs-spacer { display: none; }
  .mc-episodes { gap: 5px; }
  .mc-ep { min-width: 30px; padding: 4px 2px; font-size: 12px; }
  .ad-pos-results_top .ad-item-image,
  .ad-pos-results_bottom .ad-item-image { height: 70px; }
  .home { padding: 18px 14px 6vh; }
}
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}

/* ================= 广告位（后台可配） ================= */
.ad-slot { position: relative; border: 1px dashed #d9dce6; border-radius: 12px; background: #fafbfe; }
.ad-slot .ad-tag {
  position: absolute; right: 8px; top: 8px;
  font-size: 10px; color: #a2a5b1; border: 1px solid #d9dce6;
  border-radius: 4px; padding: 0 4px; line-height: 16px; background: #fff;
}
.ad-item { display: block; }
.ad-item-image img { display: block; width: 100%; border-radius: 12px; }
.ad-item-text { display: flex; align-items: baseline; gap: 10px; padding: 14px 18px; flex-wrap: wrap; }
.ad-item-text strong { font-size: 15px; color: #2440b3; font-weight: 500; }
.ad-item-text span { font-size: 13px; color: #9aa0b4; }
.ad-pos-home_bottom { margin-top: 34px; }
.ad-pos-results_top { margin-bottom: 14px; }
.ad-pos-results_bottom { margin-top: 6px; }
.ad-pos-results_mid { margin: 14px 0 18px; } /* JS 克隆插入结果列表中间 */
.ad-pos-sidebar_top { margin-bottom: 0; }
.ad-pos-sidebar_mid { margin: 0; }

/* 结果页顶部 / 中间 / 底部横幅广告：限高成横条，避免图片过高占位太大 */
.ad-pos-results_top .ad-item-image,
.ad-pos-results_mid .ad-item-image,
.ad-pos-results_bottom .ad-item-image {
  height: 110px; overflow: hidden; border-radius: 12px;
}
.ad-pos-results_top .ad-item-image img,
.ad-pos-results_mid .ad-item-image img,
.ad-pos-results_bottom .ad-item-image img {
  width: 100%; height: 100%; object-fit: cover; border-radius: 0;
}

/* ---- 页面左右两侧悬挂广告（宽屏显示，无广告时自动隐形） ---- */
.side-ad { display: none; } /* 默认隐藏，宽屏媒体查询中开启 */
.side-ad .ad-slot { border: none; background: none; }
.side-ad .ad-item-image img { border-radius: 10px; }
@media (min-width: 2048px) {
  .side-ad {
    display: block; position: fixed; top: 50%; transform: translateY(-50%);
    width: 160px; z-index: 15;
  }
  .side-ad-left  { left: calc(50% - 1020px); }
  .side-ad-right { right: calc(50% - 1020px); }
  /* 每侧第二块悬挂：纵向错开到下方，与上方第一块保持间距 */
  .side-ad-2 { top: calc(50% + 240px); }
  .side-ad:empty { display: none; } /* 该位置无广告时不占位 */
}

/* ================= 结果反馈 ================= */
.fb-btn {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 12.5px; color: #9aa0b4; background: none; border: none;
  padding: 4px 8px; border-radius: 6px; cursor: pointer; transition: all .15s;
}
.fb-btn:hover { color: #4E6EF2; background: #eef2ff; }

/* 管理员「推荐」按钮 */
.rec-btn {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 12.5px; color: #9aa0b4; background: none; border: 1px solid transparent;
  padding: 3px 8px; border-radius: 999px; cursor: pointer; transition: all .15s;
}
.rec-btn:hover { color: #4E6EF2; background: #eef2ff; }
.rec-btn.on { color: #fff; background: #4E6EF2; border-color: #4E6EF2; }

/* 赞 / 踩投票（网页、资讯结果） */
.vote-box { display: inline-flex; align-items: center; gap: 2px; flex: none; }
.v-btn {
  display: inline-flex; align-items: center; gap: 4px;
  border: 1px solid #e3e6ef; background: #fafbfd; color: #a2a5b1;
  border-radius: 999px; padding: 2px 9px; font-size: 12px; cursor: pointer;
  transition: all .15s; line-height: 1.6;
}
.v-btn b { font-weight: 600; font-variant-numeric: tabular-nums; color: #8b90a3; transition: color .15s; }
.v-btn:hover { color: #4E6EF2; border-color: #cdd6f8; background: #f5f7ff; }
.v-btn:hover b { color: #4E6EF2; }
.v-btn.v-up.on { color: #fff; background: #23a55a; border-color: #23a55a; }
.v-btn.v-up.on b { color: #fff; }
.v-btn.v-down.on { color: #fff; background: #d93026; border-color: #d93026; }
.v-btn.v-down.on b { color: #fff; }
.v-btn:disabled { cursor: default; opacity: 1; }
.v-btn.v-down svg { transform: rotate(180deg); }

/* 弹窗 */
.fb-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.fb-mask { position: absolute; inset: 0; background: rgba(15,18,32,.45); }
.fb-dialog {
  position: relative; width: 100%; max-width: 420px; background: #fff;
  border-radius: 16px; padding: 22px 24px; box-shadow: 0 12px 40px rgba(15,18,32,.2);
  animation: fbIn .18s ease-out;
}
@keyframes fbIn { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: none; } }
.fb-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.fb-head h3 { font-size: 17px; font-weight: 600; }
.fb-close { background: none; border: none; color: #9aa0b4; cursor: pointer; padding: 6px; border-radius: 8px; }
.fb-close:hover { background: #f2f3f8; color: #555; }
.fb-info {
  font-size: 13px; color: #9aa0b4; background: #f7f8fb; border-radius: 8px;
  padding: 8px 12px; margin-bottom: 16px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.fb-reasons { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.fb-reason {
  flex: 1; min-width: 72px; cursor: pointer; border: 1.5px solid #dcdfe6; border-radius: 10px;
  padding: 10px 0; text-align: center; font-size: 14px; color: #555; transition: all .15s;
  display: flex; align-items: center; justify-content: center;
}
.fb-reason:hover { border-color: #b9c4f5; }
.fb-reason input { display: none; }
.fb-reason span { pointer-events: none; }
.fb-reason:has(input:checked) { border-color: #4E6EF2; background: #eef2ff; color: #4E6EF2; font-weight: 500; }
.fb-note-wrap { margin-bottom: 12px; }
.fb-note-wrap input {
  width: 100%; height: 42px; border: 1px solid #dcdfe6; border-radius: 8px;
  padding: 0 13px; font-size: 14px; outline: none; font-family: inherit;
}
.fb-note-wrap input:focus { border-color: #4E6EF2; box-shadow: 0 0 0 3px rgba(78,110,242,.1); }
.fb-tip { font-size: 13px; min-height: 18px; margin-bottom: 10px; }
.fb-tip-ok  { color: #23a55a; }
.fb-tip-err { color: #d93026; }
.fb-actions { display: flex; justify-content: flex-end; gap: 10px; }
.btn {
  display: inline-flex; align-items: center; gap: 6px; border-radius: 8px;
  padding: 9px 18px; font-size: 14px; border: 1px solid #dcdfe6; background: #fff; color: #555;
  cursor: pointer; transition: all .15s; font-family: inherit;
}
.btn:hover { border-color: #4E6EF2; color: #4E6EF2; }
.btn-primary { background: #4E6EF2; border-color: #4E6EF2; color: #fff; }
.btn-primary:hover { background: #4660e0; border-color: #4660e0; color: #fff; }

/* ================= 页脚（备案 / 版权 / 关于） ================= */
.site-footer {
  flex: none;
  border-top: 1px solid #eceef3; background: #fff;
  padding: 26px 20px 34px; text-align: center;
}
.footer-links { display: flex; justify-content: center; gap: 14px; margin-bottom: 12px; }
.footer-links a { font-size: 13.5px; color: #6b7180; }
.footer-links a:hover { color: #4E6EF2; }
.footer-sep { color: #d9dce6; font-size: 13px; }
.footer-stats {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
  column-gap: 4px; row-gap: 4px; font-size: 12.5px; color: #b0b4c0; margin: 0 0 10px;
}
.footer-stats b { color: #8b90a3; font-weight: 600; }
.footer-copy { font-size: 12.5px; color: #a2a5b1; margin-bottom: 6px; }
.footer-beian a { font-size: 12px; color: #b0b4c0; }
.footer-beian a:hover { color: #4E6EF2; }

/* ================= 文档页（关于我们 / 更新日志） ================= */
.doc-page { max-width: 760px; margin: 0 auto; padding: 48px 22px 70px; }
.doc-page h1 { font-size: 26px; color: #222; margin-bottom: 26px; }
.doc-content { font-size: 15px; line-height: 2; color: #444; word-break: break-word; }
.doc-content p { margin-bottom: 14px; }
.doc-back { margin-top: 40px; }
.doc-back a {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 14px; color: #555; border: 1px solid #dcdfe6;
  border-radius: 8px; padding: 9px 16px; background: #fff;
}
.doc-back a:hover { border-color: #4E6EF2; color: #4E6EF2; }
.cl-list { list-style: none; border-left: 2px solid #eef0f6; }
.cl-item { position: relative; padding: 0 0 26px 24px; }
.cl-item::before {
  content: ''; position: absolute; left: -6px; top: 5px;
  width: 10px; height: 10px; border-radius: 50%;
  background: #4E6EF2; border: 2px solid #fff; box-shadow: 0 0 0 2px #dfe4f7;
}
.cl-date { display: block; font-size: 13px; color: #4E6EF2; font-weight: 600; margin-bottom: 4px; font-variant-numeric: tabular-nums; }
.cl-text { font-size: 14.5px; color: #444; line-height: 1.8; }

/* ================= 影视卡片 ================= */
.movie-card {
  position: relative;
  background: #fff; border: 1px solid #e8eaf2; border-radius: 14px;
  padding: 18px 20px; margin-bottom: 16px; box-shadow: 0 2px 10px rgba(30,40,90,.04);
}
.mc-tools { position: absolute; top: 10px; right: 12px; display: flex; align-items: center; gap: 2px; }
.mc-tools .fb-btn { font-size: 12px; color: #9aa0b4; padding: 3px 6px; }
.mc-x {
  display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; border: none; background: none; cursor: pointer;
  color: #b3b8c6; border-radius: 6px; transition: all .15s; line-height: 0;
}
.mc-x:hover { color: #d93026; background: #fdf0ef; }
.mc-head { display: flex; gap: 16px; padding-right: 96px; }
.mc-poster { flex: none; width: 108px; height: 144px; object-fit: cover; border-radius: 8px; background: #f2f3f8; }
.mc-info { flex: 1; min-width: 0; }
.mc-title { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 18px; font-weight: 700; color: #222; }
.mc-badge {
  font-size: 11px; font-weight: 500; color: #23a55a; background: #ecf9f0;
  border: 1px solid #bfe8cd; border-radius: 20px; padding: 2px 9px;
}
.mc-rate { font-size: 13px; font-weight: 600; color: #f5a623; }
.mc-meta { margin: 8px 0 0; font-size: 13.5px; color: #555; }
.mc-actors { margin: 6px 0 0; font-size: 13.5px; color: #444; line-height: 1.7; }
.mc-actors b { color: #777; font-weight: 500; }
.mc-intro {
  margin: 8px 0 0; font-size: 13.5px; color: #666; line-height: 1.8;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.mc-plats { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.mc-plat {
  font-size: 12.5px; color: #4E6EF2; border: 1px solid #cdd6f8; background: #f5f7ff;
  border-radius: 20px; padding: 4px 12px; text-decoration: none;
}
.mc-plat:hover { background: #eef2ff; }
.mc-episodes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.mc-ep {
  min-width: 34px; text-align: center; font-size: 12.5px; color: #444;
  border: 1px solid #dcdfe6; border-radius: 6px; padding: 5px 4px; text-decoration: none; background: #fafbfd;
}
.mc-ep:hover { color: #fff; background: #4E6EF2; border-color: #4E6EF2; }
.mc-more {
  border: 1px dashed #b9c0d4; color: #4E6EF2; background: #fff; border-radius: 6px;
  padding: 5px 12px; font-size: 12.5px; cursor: pointer; display: inline-flex; align-items: center; gap: 4px;
}
.mc-more:hover { background: #f5f7ff; }
.mc-source { display: inline-block; margin-top: 12px; font-size: 12px; color: #a2a5b1; text-decoration: none; }
.mc-source:hover { color: #4E6EF2; }
@media (max-width: 640px) {
  .mc-head { flex-direction: column; padding-right: 0; }
  .mc-poster { width: 100%; max-width: 160px; height: auto; }
  .result-bk { padding-right: 22px; }
  .bk-pic { display: none; }
  .mc-tools { top: 8px; right: 10px; }
}

/* ================= 品牌专区（搜索品牌词时置顶的放大卡片） ================= */
.brand-card {
  position: relative; background: #fff; border: 1px solid #dfe5fb; border-radius: 16px;
  padding: 20px 24px 14px; margin-bottom: 16px;
  box-shadow: 0 2px 12px rgba(78, 110, 242, .07); overflow: hidden;
}
.brand-card::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
  background: linear-gradient(180deg, #4E6EF2, #8f6df0);
}
.bc-badge {
  position: absolute; top: 14px; right: 14px; font-size: 11px; letter-spacing: .5px;
  color: #4E6EF2; background: #eef2ff; border: 1px solid #cdd6f8;
  border-radius: 20px; padding: 2px 10px;
}
.bc-main { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding-right: 92px; }
.bc-logo {
  flex: none; width: 58px; height: 58px; border-radius: 14px; border: 1px solid #e4e8f6;
  background: #fff; display: flex; align-items: center; justify-content: center;
  overflow: hidden; box-shadow: 0 1px 4px rgba(30, 40, 90, .05);
}
.bc-logo img { width: 76%; height: 76%; object-fit: contain; display: block; }
.bc-letter { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 24px; font-weight: 700; }
.bc-info { flex: 1; min-width: 0; }
.bc-name { display: flex; align-items: center; gap: 8px; font-size: 22px; font-weight: 800; color: #1c2333; }
.bc-veri {
  flex: none; display: inline-flex; align-items: center; gap: 3px;
  font-size: 11px; font-weight: 600; color: #23a55a; background: #ecf9f0;
  border: 1px solid #bfe8cd; border-radius: 20px; padding: 2px 8px 2px 5px;
}
.bc-slogan { margin-top: 4px; font-size: 13px; color: #7a7f92; }
.bc-go {
  flex: none; display: inline-flex; align-items: center; gap: 6px;
  background: #4E6EF2; color: #fff; text-decoration: none;
  font-size: 14px; font-weight: 600; border-radius: 10px; padding: 10px 18px;
  transition: background .15s; box-shadow: 0 3px 10px rgba(78, 110, 242, .25);
}
.bc-go:hover { background: #3f5de0; color: #fff; }
.bc-intro {
  margin: 12px 0 0; font-size: 13.5px; color: #555; line-height: 1.8;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.bc-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.bc-link {
  font-size: 12.5px; color: #4E6EF2; background: #f5f7ff;
  border: 1px solid #cdd6f8; border-radius: 20px; padding: 5px 13px; text-decoration: none;
}
.bc-link:hover { background: #eef2ff; }
.bc-foot {
  margin: 14px 0 0; font-size: 12px; color: #a2a5b1;
  border-top: 1px dashed #e8eaf2; padding-top: 10px;
}
.bc-foot a { color: #4E6EF2; text-decoration: none; font-weight: 500; }
@media (max-width: 640px) {
  .bc-badge { top: 8px; right: 8px; }
  .bc-main { padding-right: 0; gap: 12px; }
  .bc-name { font-size: 19px; }
  .bc-go { width: 100%; justify-content: center; }
}

/* ================= AI 智能回答卡片 ================= */
.ai-card {
  background: linear-gradient(180deg, #f7f9ff, #fff);
  border: 1px solid #dfe5fb; border-radius: 14px;
  padding: 16px 18px; margin-bottom: 16px;
}
.ai-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.ai-title {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 14px; font-weight: 700; color: #4E6EF2;
}
.ai-answer {
  font-size: 14px; color: #333; line-height: 1.9;
  white-space: pre-wrap; word-break: break-word;
  max-height: 320px; overflow-y: auto;
}
.ai-toggle {
  border: 1px solid #cdd6f8; color: #4E6EF2; background: #fff;
  border-radius: 20px; font-size: 12px; padding: 3px 12px; cursor: pointer;
}
.ai-toggle:hover { background: #eef2ff; }
.ai-note { margin: 10px 0 0; font-size: 12px; color: #a2a5b1; }

/* ================= 搜索模式切换（网页/图片/网盘） ================= */
.search-modes { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.sm-tab {
  border: 1px solid #dcdfe6; background: #fff; color: #555; font-size: 13px;
  border-radius: 20px; padding: 6px 16px; cursor: pointer; font-family: inherit;
  transition: all .15s;
}
.sm-tab:hover { border-color: #4E6EF2; color: #4E6EF2; }
.sm-tab.active { background: #4E6EF2; border-color: #4E6EF2; color: #fff; font-weight: 500; }

/* ================= 图片搜索网格 ================= */
.img-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.img-item {
  position: relative; display: block; border-radius: 10px; overflow: hidden;
  background: #f2f3f8; aspect-ratio: 4 / 3;
}
.img-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .2s; }
.img-item:hover img { transform: scale(1.03); }
.img-item .img-title {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 8px 6px;
  font-size: 12px; color: #fff; line-height: 1.5;
  background: linear-gradient(transparent, rgba(0,0,0,.65));
  opacity: 0; transition: opacity .2s;
}
.img-item:hover .img-title { opacity: 1; }
.img-note { margin: 12px 0 0; font-size: 13px; line-height: 1.8; color: #8b90a3; }
.pan-note { font-size: 13.5px; color: #7a7f92; }

/* ================= 网盘资源列表 ================= */
.pan-item .pan-meta { font-size: 12.5px; color: #9aa0b4; }
.pan-open { font-size: 13px; color: #4E6EF2; font-weight: 500; text-decoration: none; white-space: nowrap; }
.pan-open:hover { text-decoration: underline; }
@media (max-width: 640px) {
  .img-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .search-modes { gap: 6px; }
  .sm-tab { padding: 5px 12px; font-size: 12.5px; }
}

/* ================= 首页本地搜索历史 ================= */
.his-box {
  width: 100%; max-width: 640px; margin: 12px auto 0; text-align: left;
  box-sizing: border-box; padding: 0 4px;
}
.his-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.his-title {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 13px; color: #9a9daa; font-weight: 500;
}
.his-title::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #cdd6f8; }
.his-clear {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 12px; color: #a6aab8; background: none; border: none;
  cursor: pointer; padding: 4px 6px; border-radius: 6px; transition: all .15s;
}
.his-clear:hover { color: #d93026; background: #fdf0ef; }
.his-list {
  display: flex; flex-wrap: wrap; gap: 8px;
  max-height: 104px; overflow-y: auto; /* 首页一屏显示：记录多时区内滚动，隐藏滚动条保持简约 */
  scrollbar-width: none;
}
.his-list::-webkit-scrollbar { display: none; }
.his-chip {
  display: inline-flex; align-items: center; max-width: 100%;
  background: #f2f4fa; border: 1px solid #e8eaf2; border-radius: 999px;
  padding: 3px 6px 3px 14px; transition: border-color .15s, background .15s;
}
.his-chip:hover { background: #eef1f9; border-color: #cdd6f8; }
.his-q {
  font-size: 13px; color: #4a4f5f; text-decoration: none;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 300px;
}
.his-q:hover { color: #4E6EF2; }
.his-x {
  flex: none; width: 22px; height: 22px; margin-left: 6px;
  display: inline-flex; align-items: center; justify-content: center;
  border: none; background: none; color: #b3b8c6; cursor: pointer;
  border-radius: 50%; transition: all .12s; line-height: 0;
}
.his-x:hover { color: #fff; background: #c3c7d2; }
@media (max-width: 640px) {
  .his-box { margin-top: 14px; }
  .his-q { max-width: 170px; }
}

/* ================= 资讯结果时间徽标 ================= */
.result-time {
  display: inline-flex; align-items: center; gap: 3px;
  font-size: 12px; color: #9aa0b4; background: #f5f6fa;
  border-radius: 20px; padding: 1px 9px; white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* ================= 小说 / 短剧：平台站内搜索直达卡 ================= */
.jump-card {
  background: #fff; border: 1px solid #e8eaf2; border-radius: 14px;
  padding: 18px 20px; margin-bottom: 16px;
  box-shadow: 0 2px 10px rgba(30, 40, 90, .04);
}
.jump-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.jump-title {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 15px; font-weight: 700; color: #1c2333;
}
.jump-title svg { color: #4E6EF2; flex: none; }
.jump-tag {
  flex: none; font-size: 11px; color: #4E6EF2; background: #eef2ff;
  border: 1px solid #cdd6f8; border-radius: 20px; padding: 2px 10px; white-space: nowrap;
}
.jump-desc { margin: 10px 0 0; font-size: 13px; color: #7a7f92; line-height: 1.8; }
.jump-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 14px; }
.jump-btn {
  display: flex; flex-direction: column; gap: 5px;
  border: 1px solid #e3e6ee; border-radius: 12px; padding: 12px 14px;
  text-decoration: none; background: #fbfcfe; transition: all .15s; min-width: 0;
}
.jump-btn:hover { border-color: #4E6EF2; background: #f5f7ff; transform: translateY(-1px); }
.jp-name { font-weight: 600; font-size: 14px; color: #1c2333; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jp-act {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 12px; color: #4E6EF2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.jump-note {
  margin: 14px 0 0; font-size: 12px; color: #a2a5b1; line-height: 1.7;
  border-top: 1px dashed #e8eaf2; padding-top: 10px;
}
.sub-res-head {
  display: flex; align-items: center; gap: 8px; margin: 4px 0 12px;
  font-size: 13.5px; font-weight: 700; color: #444;
}
.sub-res-head::after {
  content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, #e4e8f2, transparent);
}
.sub-res-head svg { color: #4E6EF2; }

/* ================= 短剧 / 视频结果卡片 ================= */
.video-list { display: flex; flex-direction: column; gap: 10px; }
.vd-item {
  display: flex; align-items: center; gap: 12px;
  background: #fff; border: 1px solid #e8eaf2; border-radius: 12px;
  padding: 10px 12px; text-decoration: none; transition: all .15s; min-width: 0;
}
.vd-item:hover { border-color: #4E6EF2; background: #f7f9ff; }
.vd-pic {
  flex: none; position: relative; width: 128px; height: 72px;
  border-radius: 8px; overflow: hidden; background: #eef0f6;
  display: flex; align-items: center; justify-content: center;
  color: #b5b8c4; font-size: 20px;
}
.vd-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vd-dur {
  position: absolute; right: 4px; bottom: 4px; background: rgba(0, 0, 0, .6);
  color: #fff; font-size: 11px; padding: 0 5px; border-radius: 4px; line-height: 1.6;
}
.vd-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.vd-title {
  font-size: 14.5px; font-weight: 600; color: #1c2333; line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.vd-meta { font-size: 12px; color: #9aa0b4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vd-go {
  flex: none; display: inline-flex; align-items: center; gap: 4px;
  font-size: 13px; font-weight: 600; color: #4E6EF2;
  border: 1px solid #cdd6f8; border-radius: 8px; padding: 7px 12px; background: #f5f7ff;
  transition: all .15s; white-space: nowrap;
}
.vd-item:hover .vd-go { background: #4E6EF2; color: #fff; border-color: #4E6EF2; }
@media (max-width: 640px) {
  .vd-pic { width: 100px; height: 60px; }
  .vd-go { padding: 6px 9px; font-size: 12px; }
}

/* ================= 翻译 ================= */
.tr-card {
  background: #fff; border: 1px solid #e8eaf2; border-radius: 14px;
  padding: 20px 22px; margin-bottom: 16px;
  box-shadow: 0 2px 10px rgba(30, 40, 90, .04);
}
.tr-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.tr-title {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 15px; font-weight: 700; color: #1c2333;
}
.tr-title svg { color: #4E6EF2; }
.tr-word { font-size: 26px; font-weight: 800; color: #1c2333; word-break: break-all; }
.tr-ph { font-size: 15px; color: #8b90a3; font-family: Georgia, serif; }
.tr-tag {
  flex: none; font-size: 11px; color: #23a55a; background: #ecf9f0;
  border: 1px solid #bfe8cd; border-radius: 20px; padding: 2px 10px;
}
.tr-means { list-style: none; margin: 14px 0 0; }
.tr-means li {
  position: relative; padding: 7px 0 7px 20px; font-size: 14.5px;
  color: #333; line-height: 1.8; border-bottom: 1px dashed #f2f3f7;
}
.tr-means li:last-child { border-bottom: none; }
.tr-means li::before {
  content: ''; position: absolute; left: 4px; top: 15px;
  width: 6px; height: 6px; border-radius: 50%; background: #4E6EF2;
}
.tr-src-text {
  margin: 12px 0 8px; padding: 10px 14px; font-size: 15px; color: #333;
  background: #f7f8fc; border: 1px solid #eceef3; border-radius: 10px; word-break: break-word; line-height: 1.7;
}
.tr-hint { margin: 0 0 6px; font-size: 12.5px; color: #9aa0b4; line-height: 1.7; }
.tr-exts { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; padding-top: 12px; border-top: 1px dashed #e8eaf2; }
.tr-ext {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 13px; font-weight: 600; color: #4E6EF2;
  border: 1px solid #cdd6f8; background: #f5f7ff; border-radius: 10px;
  padding: 8px 14px; text-decoration: none; transition: all .15s;
}
.tr-ext:hover { background: #4E6EF2; color: #fff; border-color: #4E6EF2; }

/* 网页搜索英文词顶部释义条 */
.tr-strip {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  background: linear-gradient(90deg, #f5f7ff, #fff); border: 1px solid #dde3f7;
  border-radius: 12px; padding: 9px 14px; margin-bottom: 14px;
}
.trs-word { font-size: 16px; font-weight: 800; color: #1c2333; }
.trs-ph { font-size: 13.5px; color: #8b90a3; }
.trs-mean { font-size: 13.5px; color: #555; flex: 1; min-width: 120px; }
.trs-more {
  flex: none; font-size: 12.5px; color: #4E6EF2; background: none;
  border: 1px solid #cdd6f8; border-radius: 20px; padding: 4px 12px;
  cursor: pointer; transition: all .15s; font-family: inherit;
}
.trs-more:hover { background: #eef2ff; }

/* 提交收录前置提示：先搜索再提交 */
.submit-hint {
  display: flex; gap: 8px; align-items: flex-start; text-align: left;
  background: #fff8e6; border: 1px solid #f3e2ae; color: #8a6d1a;
  font-size: 13px; line-height: 1.75; border-radius: 10px; padding: 10px 13px;
  margin: 0 0 16px;
}
.submit-hint svg { flex: none; margin-top: 3px; color: #e8930c; }
.submit-hint a { color: #b8860b; font-weight: 600; text-decoration: underline; }
.submit-hint a:hover { color: #4E6EF2; }

/* ================= 「明白」词条卡（搜索命中词条时置顶） ================= */
.term-card {
  position: relative; background: #fff; border: 1px solid #e5e9f7; border-radius: 16px;
  padding: 18px 22px 14px; margin-bottom: 16px;
  box-shadow: 0 2px 12px rgba(78, 110, 242, .06);
}
.tk-badge {
  position: absolute; top: 14px; right: 16px; z-index: 1;
  background: #4E6EF2; color: #fff; font-size: 11px; font-weight: 500;
  letter-spacing: 2px; border-radius: 999px; padding: 2px 10px;
}
.tk-main { display: flex; gap: 16px; align-items: flex-start; }
.tk-img {
  flex: none; width: 104px; height: 134px; object-fit: cover;
  border-radius: 10px; background: #f2f3f8; border: 1px solid #eceef3;
}
.tk-body { flex: 1; min-width: 0; }
.tk-title {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  font-size: 20px; font-weight: 700; color: #1c2333; padding-right: 70px;
}
.tk-cat {
  font-size: 11px; color: #6b83e8; background: #f0f4ff;
  border: 1px solid #d8e0fb; border-radius: 999px; padding: 1px 9px; font-weight: 500;
}
.tk-summary { margin: 8px 0 0; font-size: 14px; line-height: 1.8; color: #444; }
.tk-attrs {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 4px 14px; margin-top: 12px; padding: 10px 12px;
  background: #f7f9fe; border-radius: 10px; border: 1px solid #eef1fb;
}
.tk-attr { display: flex; gap: 8px; font-size: 13px; line-height: 1.8; min-width: 0; }
.tk-attr-k { flex: none; color: #8b90a3; max-width: 60px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.tk-attr-v { color: #333; word-break: break-word; }
.tk-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.tk-link {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 12.5px; color: #4E6EF2; border: 1px solid #cdd6f8;
  background: #f5f7ff; border-radius: 999px; padding: 4px 12px; text-decoration: none;
}
.tk-link:hover { background: #eef2ff; }
.tk-foot { display: flex; gap: 14px; align-items: center; margin-top: 12px; padding-top: 10px; border-top: 1px dashed #eef0f6; }
.tk-more { font-size: 13px; color: #4E6EF2; font-weight: 600; }
.tk-more:hover { text-decoration: underline; }
.tk-edit { font-size: 12.5px; color: #a2a5b1; }
.tk-edit:hover { color: #4E6EF2; }
@media (max-width: 640px) {
  .tk-main { flex-direction: row; }
  .tk-img { width: 74px; height: 96px; }
  .tk-title { padding-right: 0; font-size: 17px; }
  .tk-badge { position: static; display: inline-block; margin-bottom: 6px; }
}

/* ================= 「明白」搜索模式（筛选词条库） ================= */
.term-toolbar {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  background: #fff; border: 1px solid #eceef3; border-radius: 12px;
  padding: 10px 16px; margin-bottom: 14px;
}
.term-tb-title { font-size: 14px; color: #333; font-weight: 600; }
.term-tb-link { font-size: 12.5px; color: #4E6EF2; }
.term-tb-link:hover { text-decoration: underline; }
.term-hit {
  display: flex; gap: 16px; align-items: flex-start;
  background: #fff; border: 1px solid #eceef3; border-radius: 14px;
  padding: 18px 20px; margin-bottom: 12px; transition: box-shadow .15s, border-color .15s;
}
.term-hit:hover { box-shadow: 0 4px 16px rgba(30,40,90,.07); border-color: #cdd6f8; }
.th-pic { flex: none; width: 74px; height: 98px; object-fit: cover; border-radius: 8px; background: #f2f3f8; }
.th-body { flex: 1; min-width: 0; display: block; }
.th-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.th-badge {
  background: #4E6EF2; color: #fff; font-size: 11px; font-weight: 500;
  letter-spacing: 2px; border-radius: 999px; padding: 2px 10px; flex: none;
}
.th-title { font-size: 17.5px; font-weight: 600; color: #2440b3; word-break: break-word; }
.term-hit:hover .th-title { text-decoration: underline; }
.th-cat {
  font-style: normal; font-size: 11.5px; color: #6b83e8; background: #f0f4ff;
  border: 1px solid #d8e0fb; border-radius: 999px; padding: 1px 9px;
}
.th-sum { display: block; margin-top: 8px; font-size: 13.5px; color: #555; line-height: 1.75; }
.th-more { display: block; margin-top: 8px; font-size: 12.5px; color: #4E6EF2; }
.term-empty {
  text-align: center; background: #fff; border: 1px solid #eceef3; border-radius: 14px;
  padding: 46px 20px; color: #9a9daa;
}
.term-empty svg { margin: 0 auto 12px; }
.term-empty p { font-size: 15px; }
.term-empty-sub { font-size: 13px; color: #b0b4c0; margin-top: 6px; }
.term-empty-acts { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 18px; }
.term-create {
  display: inline-block; background: #4E6EF2; color: #fff; border-radius: 10px;
  padding: 11px 22px; font-size: 14.5px; font-weight: 500;
}
.term-create:hover { background: #4660e0; }
.term-empty-acts .term-tb-link {
  display: inline-flex; align-items: center; border: 1px solid #dcdfe6; color: #555;
  border-radius: 10px; padding: 10px 18px; font-size: 13.5px;
}
.term-empty-acts .term-tb-link:hover { color: #4E6EF2; border-color: #4E6EF2; text-decoration: none; }
@media (max-width: 640px) {
  .term-hit { gap: 12px; padding: 14px 16px; }
  .th-pic { width: 58px; height: 78px; }
}
@media (max-width: 640px) {
  .jump-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .jump-card { padding: 15px 14px; }
  .jump-title { font-size: 14px; }
}

/* ================= 客服聊天浮窗 ================= */
#chatApp { font-family: inherit; }
.chatWidget-launcher {
  position: fixed; right: 20px; bottom: 20px; z-index: 9999;
  width: 54px; height: 54px; border-radius: 50%; border: 0; cursor: pointer;
  background: linear-gradient(135deg, #4E6EF2, #3b5bdb); color: #fff;
  box-shadow: 0 6px 18px rgba(78, 110, 242, .38);
  display: flex; align-items: center; justify-content: center; transition: transform .15s;
}
.chatWidget-launcher:hover { transform: scale(1.06); }
.chatWidget-launcher svg { width: 26px; height: 26px; }
.chatWidget-dot {
  position: absolute; top: -2px; right: -2px; min-width: 19px; height: 19px; padding: 0 5px;
  border-radius: 10px; background: #ef4444; color: #fff; font-size: 11px; line-height: 19px;
  border: 2px solid #fff; box-sizing: border-box; font-weight: 700;
}
.chatWidget-panel {
  position: fixed; right: 20px; bottom: 86px; z-index: 9998;
  width: 372px; max-height: min(600px, calc(100vh - 120px));
  background: #fff; border-radius: 16px; box-shadow: 0 12px 40px rgba(20, 30, 70, .22);
  display: flex; flex-direction: column; overflow: hidden;
}
.chatWidget-hd {
  background: linear-gradient(135deg, #4E6EF2, #3b5bdb); color: #fff; padding: 13px 16px;
  display: flex; align-items: center; justify-content: space-between; flex: none;
}
.chatWidget-hd .tt { font-size: 15px; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.chatWidget-hd .tt svg { width: 17px; height: 17px; }
.chatWidget-hd .x { background: none; border: 0; color: rgba(255,255,255,.85); font-size: 20px; cursor: pointer; line-height: 1; padding: 2px 6px; border-radius: 6px; }
.chatWidget-hd .x:hover { background: rgba(255,255,255,.16); color: #fff; }
.chatWidget-body { flex: 1; overflow-y: auto; display: flex; flex-direction: column; min-height: 0; background: #f6f7fb; }
.chatWidget-ft { flex: none; border-top: 1px solid #edf0f7; background: #fff; padding: 9px 12px; }
.chatWidget-ft textarea {
  width: 100%; box-sizing: border-box; border: 1px solid #e2e6f0; border-radius: 10px;
  padding: 8px 10px; font-size: 13.5px; font-family: inherit; resize: none; height: 40px; line-height: 20px; outline: none;
}
.chatWidget-ft textarea:focus { border-color: #4E6EF2; }
.cw-actions { display: flex; align-items: center; gap: 8px; margin-top: 7px; }
.cw-actions .tip { font-size: 11.5px; color: #9aa0b4; margin-right: auto; }
.cw-actions .img-add { border: 0; background: none; cursor: pointer; color: #6b7280; display: inline-flex; align-items: center; gap: 4px; font-size: 12px; padding: 2px 4px; }
.cw-actions .img-add:hover { color: #4E6EF2; }
.cw-send {
  background: #4E6EF2; color: #fff; border: 0; border-radius: 9px; padding: 7px 17px; cursor: pointer; font-size: 13.5px; font-weight: 600;
}
.cw-send:hover { background: #3b5bdb; }
.cw-send:disabled { background: #c7cef5; cursor: not-allowed; }
.chatWidget-ft .pend { display: inline-flex; align-items: center; gap: 6px; background: #eef3ff; border-radius: 8px; padding: 3px 8px; margin-bottom: 6px; font-size: 11.5px; color: #4E6EF2; max-width: 100%; box-sizing: border-box; }
.chatWidget-ft .pend b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 220px; font-weight: 500; }
.chatWidget-ft .pend a { color: #ef4444; text-decoration: none; font-weight: 700; }
/* 发起表单 */
.cw-form { padding: 13px 14px 4px; }
.cw-form label { display: block; font-size: 12px; color: #6b7280; margin: 9px 0 4px; }
.cw-form .req { color: #ef4444; }
.cw-type { display: flex; flex-wrap: wrap; gap: 7px; }
.cw-type button {
  border: 1px solid #dfe3ee; background: #fff; color: #555; border-radius: 20px; padding: 5px 13px;
  font-size: 12.5px; cursor: pointer;
}
.cw-type button.on { border-color: #4E6EF2; background: #eef3ff; color: #4E6EF2; font-weight: 600; }
.cw-form input[type=text], .cw-form input[type=email] {
  width: 100%; box-sizing: border-box; border: 1px solid #e2e6f0; border-radius: 9px; padding: 8px 10px; font-size: 13px; outline: none;
}
.cw-form input:focus { border-color: #4E6EF2; }
.cw-online { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; color: #8a90a5; margin: 10px 0 2px; }
.cw-online .dot { width: 7px; height: 7px; border-radius: 50%; background: #9ca3af; }
.cw-online.on .dot { background: #22c55e; }
.cw-online.on { color: #16a34a; }
.cw-note { font-size: 11.5px; color: #b0b4c2; line-height: 1.6; margin: 6px 0 0; }
.cw-note strong { color: #8b5cf6; }
/* 「我的咨询」入口 */
.cw-my { margin: 10px 0 2px; }
.cw-my a { font-size: 12px; color: #8b5cf6; text-decoration: none; font-weight: 600; }
.cw-my a:hover { text-decoration: underline; }
.st-my { margin-top: 8px; }
.st-my a { font-size: 11.5px; color: #8b5cf6; text-decoration: none; }
.st-my a:hover { text-decoration: underline; }
.cw-mytk {
  margin: 8px 14px 0; background: #f5f3ff; border: 1px solid #e0d7fd; color: #5b21b6;
  border-radius: 9px; padding: 7px 10px; font-size: 12px; line-height: 1.5;
}
.cw-mytk a { color: #7c3aed; font-weight: 600; text-decoration: none; }
.cw-mytk a:hover { text-decoration: underline; }
/* 消息流 */
.cw-msg { display: flex; margin: 4px 14px 10px; }
.cw-msg.admin { justify-content: flex-start; }
.cw-msg.me { justify-content: flex-end; }
.cw-msg .bub { max-width: 78%; border-radius: 13px; padding: 8px 12px; font-size: 13.5px; line-height: 1.6; word-break: break-word; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.cw-msg.admin .bub { background: #fff; border: 1px solid #e6e9f2; color: #2b3350; border-top-left-radius: 3px; }
.cw-msg.me .bub { background: #4E6EF2; color: #fff; border-top-right-radius: 3px; }
.cw-msg img { max-width: 210px; max-height: 170px; border-radius: 8px; display: block; margin-bottom: 4px; cursor: zoom-in; }
.cw-msg .mt { font-size: 10px; opacity: .6; margin-top: 3px; }
.cw-msg.me .mt { text-align: right; }
/* 在线起始身份卡（客服在线时出现在对话流内） */
.cw-msg .bub.st { background: #f4f7ff; border: 1px solid #dce4f7; color: #33405e; max-width: 86%; }
.cw-msg .bub.st .st-t { font-size: 13.5px; line-height: 1.7; }
.cw-msg .bub.st .st-row input { display: block; width: 100%; box-sizing: border-box; border: 1px solid #d6dce9; border-radius: 8px; padding: 7px 10px; font-size: 13px; margin-top: 7px; outline: none; background: #fff; color: #2b3350; }
.cw-msg .bub.st .st-row input:focus { border-color: #4E6EF2; }
.cw-msg .bub.st .cw-send { margin-top: 9px; padding: 7px 22px; font-size: 13px; }
/* 状态横幅 / 空态 */
.cw-banner { margin: 10px 14px 0; background: #fffbeb; border: 1px solid #fde68a; color: #92400e; border-radius: 9px; padding: 8px 11px; font-size: 12.5px; line-height: 1.6; }
.cw-banner.ended { background: #f0fdf4; border-color: #bbf7d0; color: #166534; }
.cw-empty { text-align: center; color: #b3b8c6; font-size: 12.5px; padding: 26px 16px; }
.cw-msgs-wrap { flex: 1; overflow-y: auto; padding-top: 6px; }
.cw-msgs-wrap .sys { text-align: center; font-size: 11px; color: #aab; padding: 4px 0 2px; }
#chatApp .wait-spin { text-align:center; color:#9aa0b4; font-size:12px; padding:8px; }
@media (max-width: 640px) {
  .chatWidget-launcher { right: 14px; bottom: 14px; width: 48px; height: 48px; }
  .chatWidget-panel { right: 8px; bottom: 72px; width: calc(100% - 16px); max-height: calc(100vh - 90px); }
}
@media (prefers-reduced-motion: reduce) {
  .chatWidget-launcher, .chatWidget-panel { transition: none; }
}


/* 热榜来源切换（百度 / 微博 / B站） */
.hot-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-2px 0 10px}
.hot-tab{border:1px solid #e3e6ef;background:#f7f8fb;color:#6b7280;border-radius:99px;font-size:12px;padding:3px 12px;cursor:pointer;transition:all .15s;font-family:inherit}
.hot-tab:hover{color:#4E6EF2;border-color:#c6d2ff;background:#eef2ff}
.hot-tab.active{background:#4E6EF2;border-color:#4E6EF2;color:#fff;font-weight:600}

/* ================= 日夜切换按钮（右下角，客服浮窗上方） ================= */
.theme-fab {
  position: fixed; right: 20px; bottom: 86px; z-index: 9996;
  width: 50px; height: 50px; border-radius: 50%; border: 1px solid #e3e6ef;
  background: #fff; color: #55607a; cursor: pointer;
  box-shadow: 0 6px 18px rgba(20, 26, 46, .16);
  display: flex; align-items: center; justify-content: center;
  transition: background .15s, color .15s, border-color .15s, transform .15s;
}
.theme-fab:hover { transform: scale(1.06); }
.theme-fab svg { width: 24px; height: 24px; }
.theme-fab .i-sun { display: none; }
html.dark .theme-fab { background: #1e2633; border-color: #374152; color: #eef1f6; box-shadow: 0 6px 18px rgba(0,0,0,.4); }
html.dark .theme-fab .i-moon { display: none; }
html.dark .theme-fab .i-sun { display: block; }
@media (max-width: 640px) {
  .theme-fab { right: 14px; bottom: 74px; width: 46px; height: 46px; }
  .theme-fab svg { width: 22px; height: 22px; }
}

/* ================= 暗黑模式（html.dark 前缀，保证覆盖各页面局部样式） ================= */
html.dark { color-scheme: dark; }
html.dark body { background: #0f131a; color: #eef1f6; }
html.dark input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]):not([type=button]):not([type=range]):not([type=color]),
html.dark textarea,
html.dark select { background-color: #151b25 !important; border-color: #333c4f; color: #eef1f6 !important; }
html.dark input::placeholder, html.dark textarea::placeholder { color: #7c8597; }

/* 通用内容文字：卡片内正文偏灰 → 提亮 */
html.dark .today-list li,
html.dark .tr-means li,
html.dark .bd-summary,
html.dark .bd-body,
html.dark .dash-vers a,
html.dark .pf-user b,
html.dark .card label,
html.dark .sub-card label,
html.dark .favm-field label,
html.dark .qm-field label,
html.dark .mt-summary,
html.dark .wk-form label,
html.dark .bd-card > h3,
html.dark .bd-attrs span,
html.dark .mt-sec,
html.dark .wk-back,
html.dark .mc-t2,
html.dark .side-head h3,
html.dark .doc-content,
html.dark .cl-text { color: #cdd4e0; }
html.dark .ms-desc, html.dark .ms-url { color: #b9c1cf; }

/* 白色/浅色大面容器 → 深色卡片 */
html.dark .topbar { background: rgba(15, 19, 26, .94); border-bottom-color: #222a38; }
html.dark .searchbox,
html.dark .ms-search,
html.dark .mt-search,
html.dark .fav-search,
html.dark .result,
html.dark .side-card,
html.dark .skeleton,
html.dark .movie-card,
html.dark .jump-card,
html.dark .vd-item,
html.dark .tr-card,
html.dark .tr-src-text,
html.dark .term-card,
html.dark .term-toolbar,
html.dark .term-hit,
html.dark .term-empty,
html.dark .brand-card,
html.dark .fb-dialog,
html.dark .favm-url,
html.dark .qm-fav-list,
html.dark .site-footer,
html.dark .suggest-wrap,
html.dark .user-menu-drop,
html.dark .fav-item,
html.dark .wk-item,
html.dark .wk-top,
html.dark .bd-main,
html.dark .bd-card,
html.dark .wk-form,
html.dark .mt-card,
html.dark .mc-home,
html.dark .mt-back,
html.dark .mc-panel,
html.dark .mc-head,
html.dark .ms-card,
html.dark .card,
html.dark .pf-side,
html.dark .pt-home,
html.dark .mt-empty,
html.dark .email-current,
html.dark .doc-back a { background: #161c26; border-color: #273040; color: #e6eaf2; }
html.dark .tr-strip { background: linear-gradient(90deg, #1a212c, #161c26); border-color: #2f3a54; }
html.dark .ai-card { background: linear-gradient(180deg, #181f2b, #161c26); }
html.dark .ai-card, html.dark .brand-card { border-color: #2b3444; }

/* 顶栏 / 搜索 / 菜单 */
html.dark .searchbox input, html.dark .ms-search input, html.dark .mt-search input, html.dark .fav-search input, html.dark .wk-qform input { color: #eef1f6; }
html.dark .topbar .searchbox, html.dark .suggest-wrap { border-color: #3a4356; }
html.dark .suggest-item { color: #d6dbe5; }
html.dark .suggest-item:hover, html.dark .suggest-item.active { background: #242e3d; }
html.dark .user-menu-btn { color: #d6dbe5; }
html.dark .user-menu-btn:hover { background: #242c3a; border-color: #323b4d; }
html.dark .user-menu-drop { box-shadow: 0 8px 28px rgba(0,0,0,.45); }
html.dark .user-menu-drop a { color: #d6dbe5; }
html.dark .user-menu-drop a:hover { background: #242e3d; color: #9db4ff; }
html.dark .user-menu-drop a:hover svg { color: #9db4ff; }
html.dark .user-menu-drop .user-menu-logout:hover, html.dark .user-menu-drop .user-menu-logout:hover svg { background: #3a2526; color: #ff8f86; }
html.dark .nav-btn, html.dark .btn, html.dark .wk-btn-line, html.dark .btn-cancel, html.dark .fav-rcancel, html.dark .code-btn, html.dark .avatar-remove-btn, html.dark .avatar-upload-btn { background: #1a212c; border-color: #333c4f; color: #d6dbe5; }
html.dark .nav-btn:hover, html.dark .btn:hover { color: #9db4ff; border-color: #4E6EF2; }
html.dark .nav-btn-primary, html.dark .btn-primary, html.dark .wk-btn-primary, html.dark .btn-save, html.dark .mc-new, html.dark .mt-new, html.dark .wk-new { background: #4E6EF2; border-color: #4E6EF2; color: #fff; }
html.dark .nav-btn-primary:hover, html.dark .btn-primary:hover { background: #3f5de0; color: #fff; }
html.dark #unlicBar { background: #3a2f14; color: #f2cf7d; border-bottom-color: #5a4718; }
html.dark .home-tip, html.dark .home-slogan { color: #a7aeba; }
html.dark .submit-hint { background: rgba(255, 248, 230, .08); border-color: rgba(243, 226, 174, .28); color: #e6c56b; }
html.dark .submit-hint a { color: #f0ce6d; }
html.dark .sub-card .fetch-btn, html.dark .mt-go, html.dark .ms-edit-btn { background: #1c2432; border-color: #33405a; color: #9db4ff; }
html.dark .sub-card .fetch-btn:hover, html.dark .mt-go:hover, html.dark .ms-edit-btn:hover { background: #4E6EF2; color: #fff; }
html.dark .q-tool:hover, html.dark .q-tool.q-on { background: #242e3d; color: #9db4ff; }
html.dark .q-link:hover { background: #242e3d; }
html.dark .q-ico { background: #273040; }
html.dark .q-ico img, html.dark .bc-logo { background: #1d2531; }
html.dark .q-name { color: #cdd4e0; }
html.dark .q-del { background: #323b4d; color: #c9d0db; }
html.dark .q-add-tile { border-color: #3a4256; background: #151b25; color: #8f98a9; }
html.dark .q-add-tile:hover { color: #9db4ff; border-color: #4E6EF2; background: #1d2634; }
html.dark .qm-tabs { background: #1a212c; }
html.dark .qm-tab { color: #aab2c0; }
html.dark .qm-tab.active { background: #232c3a; color: #9db4ff; }
html.dark .qm-fav-item { border-bottom-color: #273040; }
html.dark .qm-fav-item:hover { background: #232c3a; }
html.dark .qm-fav-t b { color: #e0e5ee; }
html.dark .qm-fav-t span, html.dark .qm-empty, html.dark .favm-note { color: #9aa3b3; }

/* 标题 / 链接 */
html.dark .doc-page h1, html.dark .fav-head h1, html.dark .mt-head h1, html.dark .wk-head h1,
html.dark .profile-head h1, html.dark .mc-head h1, html.dark .card h2, html.dark .ms-title,
html.dark .mt-title, html.dark .bd-title, html.dark .bd-body h2, html.dark .bd-body h3, html.dark .bd-body h4,
html.dark .mc-title, html.dark .jump-title, html.dark .tr-title, html.dark .tr-word, html.dark .vd-title,
html.dark .jp-name, html.dark .bc-name, html.dark .trs-word { color: #eef1f6; }
html.dark .result-title a, html.dark .fav-item h3 a, html.dark .mt-title a, html.dark .wk-item h3,
html.dark .ms-title a, html.dark .th-title, html.dark .ad-item-text strong { color: #8fb0ff; }
html.dark .result-title a:visited, html.dark .fav-item h3 a:visited, html.dark .mt-title a:visited { color: #bd9bff; }
html.dark .result-snippet { color: #c9d0db; }
html.dark .result-snippet em, html.dark .result-title em { color: #ff8a80; }
html.dark .result-source-name { color: #e0e5ee; }
html.dark .result-meta, html.dark .result-source, html.dark .result-source-domain { color: #a3abba; }
html.dark .mc-meta, html.dark .mc-intro { color: #b9c1cf; }
html.dark .mc-actors { color: #c9d0db; }
html.dark .mc-actors b { color: #8f98a9; }
html.dark .fav-meta, html.dark .side-sub, html.dark .side-loading, html.dark .side-error { color: #a3abba; }
html.dark .wk-item p, html.dark .bd-meta, html.dark .mt-meta, html.dark .ms-meta, html.dark .mt-sec .cnt,
html.dark .cl-date, html.dark .fav-head .count, html.dark .mt-head p, html.dark .profile-head p,
html.dark .mc-head p, html.dark .card .tip { color: #9aa3b3; }
html.dark .fav-empty, html.dark .mc-empty, html.dark .status-msg, html.dark .term-empty,
html.dark .empty-box, html.dark .mt-empty { color: #9aa3b3; }

/* 小标签 / 徽章：浅底改半透明，暗底文字提亮 */
html.dark .fav-q, html.dark .wk-cat, html.dark .bd-cat, html.dark .tk-cat, html.dark .th-cat,
html.dark .mt-tag, html.dark .mt-cat, html.dark .mc-kind.chat, html.dark .mc-tag.k-chat { background: rgba(78, 110, 242, .16); border-color: rgba(122, 147, 255, .38); color: #a8bbff; }
html.dark .mc-kind.tk, html.dark .mc-tag.k-tk, html.dark .mc-head .ic { background: rgba(139, 92, 246, .16); color: #c5b0ff; }
html.dark .badge-overseas { background: rgba(255, 246, 233, .1); color: #f2b04c; border-color: rgba(243, 217, 164, .38); }
html.dark .badge-submitted, html.dark .mc-badge, html.dark .tr-tag, html.dark .bc-veri { background: rgba(35, 165, 90, .14); color: #58cf8e; border-color: rgba(63, 191, 120, .35); }
html.dark .badge-public { background: rgba(124, 92, 240, .16); color: #b2a1ff; border-color: rgba(140, 120, 255, .38); }
html.dark .mt-off, html.dark .mc-st.pending, html.dark .bd-warn-off { background: rgba(239, 68, 68, .13); color: #ff9494; border-color: rgba(240, 196, 189, .3); }
html.dark .mt-pending, html.dark .mc-st.track, html.dark .bd-warn-draft, html.dark .ms-note-wait { background: rgba(255, 244, 224, .09); color: #e8c06a; border-color: rgba(242, 223, 174, .3); }
html.dark .mt-draft { background: rgba(29, 111, 224, .14); color: #7db0ff; border-color: rgba(207, 224, 251, .3); }
html.dark .mc-st.doing { background: rgba(37, 99, 235, .14); color: #7db0ff; }
html.dark .mc-st.done, html.dark .ms-note-ok { background: rgba(22, 163, 74, .13); color: #6fce93; }
html.dark .notice-ok, html.dark .rob { background: rgba(31, 122, 68, .16); color: #6fce93; }
html.dark .notice-err, html.dark .erb, html.dark .db-err { background: rgba(217, 48, 38, .14); color: #ff928b; }
html.dark .ms-badge.ms-wait, html.dark .ms-wait { background: rgba(224, 123, 26, .14); color: #efae57; border-color: rgba(245, 217, 174, .35); }
html.dark .ms-ok, html.dark .ms-badge.ms-ok { background: rgba(35, 165, 90, .14); color: #58cf8e; border-color: rgba(63, 191, 120, .35); }
html.dark .ms-no, html.dark .ms-badge.ms-no { background: rgba(217, 48, 38, .13); color: #ff9494; border-color: rgba(240, 196, 189, .3); }
html.dark .ms-rec, html.dark .ms-badge.ms-rec { background: rgba(78, 110, 242, .16); color: #a8bbff; border-color: rgba(122, 147, 255, .38); }
html.dark .ms-audit { background: #242d3b; border-color: #36405a; color: #aab6c9; }
html.dark .ms-note-no { background: rgba(253, 244, 243, .07); color: #ff9b92; }
html.dark .ms-edit-tip { background: rgba(255, 248, 230, .08); border-color: rgba(243, 226, 174, .25); color: #e6c56b; }

/* 可点浅蓝描边胶囊（mc-plat / tk-link / bc-link / tr-ext / vd-go / ai-toggle / bd-links / jump…） */
html.dark .mc-plat, html.dark .tk-link, html.dark .bc-link, html.dark .tr-ext, html.dark .vd-go,
html.dark .ai-toggle, html.dark .bd-links a, html.dark .jump-tag, html.dark .bc-badge,
html.dark .jump-btn, html.dark .mc-more, html.dark .fav-search button { background: rgba(78, 110, 242, .14); border-color: rgba(122, 147, 255, .38); color: #a8bbff; }
html.dark .mc-plat:hover, html.dark .tk-link:hover, html.dark .bc-link:hover, html.dark .tr-ext:hover,
html.dark .vd-go:hover, html.dark .ai-toggle:hover, html.dark .bd-links a:hover, html.dark .fav-search button:hover,
html.dark .mc-more:hover { background: #4E6EF2; color: #fff; }
html.dark .fav-search button, html.dark .fav-search button:hover { background: rgba(78, 110, 242, .16); color: #a8bbff; }
html.dark .vd-item:hover { border-color: #4E6EF2; background: #1b2432; }
html.dark .vd-item:hover .vd-go { background: #4E6EF2; color: #fff; }
html.dark .mc-ep { background: #1a212c; border-color: #333c4f; color: #c9d0db; }
html.dark .mc-more, html.dark .mc-more:hover { border-color: #3a4a7a; }
html.dark .like-heart { background: #1c222d; border-color: #7a4a42; color: #ff8f86; }
html.dark .like-heart:hover { background: #3a2526; }
html.dark .bc-logo { border-color: #2e3a52; }
html.dark .bc-slogan, html.dark .bc-foot, html.dark .ai-note, html.dark .jump-desc, html.dark .jump-note,
html.dark .tr-hint, html.dark .tk-edit, html.dark .pan-note, html.dark .img-note { color: #8f98a9; }
html.dark .bc-foot, html.dark .jump-note { border-top-color: #242c3a; }
html.dark .bc-intro { color: #b9c1cf; }

/* 分割线 / 虚线 / 分组底色 */
html.dark .today-list li, html.dark .hot-list li, html.dark .tr-means li,
html.dark .mc-row, html.dark .bd-hd, html.dark .bd-links, html.dark .dash-sec,
html.dark .ms-actions, html.dark .ms-edit-form, html.dark .mc-detail, html.dark .mc-replybox { border-color: #242c3a; }
html.dark .bd-attrs, html.dark .tk-attrs, html.dark .dash-stats > div, html.dark .dash-top li,
html.dark .mc-detail, html.dark .favm-url { background: #12181f; border-color: #232c3a; }
html.dark .wk-gal-add { border-color: #3a4256; background: #151b25; color: #8f98a9; }
html.dark .wk-gal-item { border-color: #2b3444; }
html.dark .cl-list { border-left-color: #2b3444; }
html.dark .cl-item::before { border-color: #161c26; box-shadow: 0 0 0 2px #35405c; }
html.dark .sub-res-head::after { background: linear-gradient(90deg, #2b3444, transparent); }
html.dark .sub-res-head { color: #cdd4e0; }

/* 结果页小件 */
html.dark .hot-num { background: #29323f; color: #aab2c0; }
html.dark .hot-tab, html.dark .tab { background: #1a212c; border-color: #333c4f; color: #aab2c0; }
html.dark .pager button { background: #1a212c; border-color: #333c4f; color: #d6dbe5; }
html.dark .pager button:hover:not(:disabled) { color: #9db4ff; border-color: #4E6EF2; }
html.dark #pageInfo { color: #8f98a9; }
html.dark .sk-line { background: linear-gradient(90deg, #202734 25%, #2a3344 37%, #202734 63%); }
html.dark .result-time { background: #1d2531; color: #aab2c0; }
html.dark .his-chip { background: #1d2531; border-color: #2b3444; }
html.dark .his-chip:hover { background: #242e3d; border-color: #3f4f8f; }
html.dark .his-q { color: #cdd4e0; }
html.dark .his-q:hover { color: #9db4ff; }
html.dark .his-x:hover { background: #3a4356; }
html.dark .sub-count, html.dark .side-sub { color: #a3abba; }

/* 页脚 */
html.dark .footer-links a { color: #a7aeba; }
html.dark .footer-links a:hover { color: #9db4ff; }
html.dark .footer-sep { color: #3a4254; }
html.dark .footer-stats, html.dark .footer-copy { color: #8f98a9; }
html.dark .footer-stats b { color: #a7aeba; }
html.dark .footer-beian a { color: #8f98a9; }
html.dark .footer-note { color: #8f98a9; }

/* 个人页通用小件 */
html.dark .mt-nav a, html.dark .mc-nav a, html.dark .pt-nav a, html.dark .pt-nav a:link, html.dark .mt-nav a:link { color: #d6dbe5; }
html.dark .mt-nav a:hover, html.dark .mc-nav a:hover, html.dark .pt-nav a:hover { color: #9db4ff; background: #232c3a; border-color: #333c4f; }
html.dark .mc-row:hover { background: #1b212b; }
html.dark .mc-t1 .nm { color: #e0e5ee; }
html.dark .mc-t3, html.dark .mc-hint, html.dark .mc-endtip { color: #9aa3b3; }
html.dark .mc-m.admin .bub { background: #1e2733; border-color: #2e3949; color: #e2e7f0; }
html.dark .pf-menu a { color: #cdd4e0; }
html.dark .pf-menu a:hover, html.dark .pf-menu a.active { background: #232c3a; color: #9db4ff; }
html.dark .pf-menu a:hover svg, html.dark .pf-menu a.active svg { color: #9db4ff; }
html.dark .pf-user { border-bottom-color: #242c3a; }
html.dark .pf-user span { color: #9aa3b3; }
html.dark .pf-div { color: #8f98a9; }
html.dark .badge-adm { background: rgba(78, 110, 242, .16); color: #a8bbff; }
html.dark .badge-no { background: #242d3b; color: #9aa3b3; }
html.dark .badge-ok { background: rgba(31, 122, 68, .16); color: #6fce93; }
html.dark .email-current { background: #12181f; }
html.dark .code-btn:disabled, html.dark .sub-card .fetch-btn:disabled { background: #232c3a; border-color: #333c4f; color: #8f98a9; }
html.dark .view-switch .vs-btn { background: #1a212c; border-color: #333c4f; color: #aab2c0; }
html.dark .view-switch .vs-btn.active { background: #4E6EF2; border-color: #4E6EF2; color: #fff; }
html.dark .tag-chip { background: #242d3b; color: #cdd4e0; }
html.dark .dash-vers a:hover, html.dark .bd-toc a:hover { background: rgba(78, 110, 242, .14); color: #a8bbff; }
html.dark .dash-vers b { color: #a8bbff; }
html.dark .dash-vers .vv, html.dark .dash-sec h4 small, html.dark .wk-form .hint, html.dark .icon-tools .hint { color: #8f98a9; }
html.dark .dash-stats dd { color: #cfd9ff; }
html.dark .dash-top .nm, html.dark .dash-vers em { color: #d6dbe5; }
html.dark .dash-top .rk { background: #29323f; color: #aab2c0; }
html.dark .bd-toc a { color: #b9c1cf; }
html.dark .bd-verinfo { color: #8f98a9; }
html.dark .empty-box, html.dark .mt-empty, html.dark .fav-empty, html.dark .mc-empty { color: #9aa3b3; }
html.dark .btn-back, html.dark .doc-back a, html.dark .wk-btn-line { color: #d6dbe5; }

/* 弹窗输入类（index 提交收录 / 收藏 / 常用） */
html.dark .fb-reason { border-color: #333c4f; color: #c9d0db; }
html.dark .fb-reason:has(input:checked) { border-color: #4E6EF2; background: rgba(78, 110, 242, .2); color: #aebdff; }
html.dark .fb-info { background: #1d2531; color: #aab2c0; }
html.dark .fb-close:hover { background: #242c3a; color: #d6dbe5; }
html.dark .v-btn { background: #202734; border-color: #333c4f; color: #aab2c0; }
html.dark .v-btn b { color: #c9d0db; }
html.dark .v-btn:hover { color: #9db4ff; border-color: #4E6EF2; background: #232d3f; }
html.dark .fb-mask, html.dark #subMask, html.dark #quickMask, html.dark #favMask, html.dark #fbMask { background: rgba(0, 0, 0, .55); }
html.dark .skeleton { background: #161c26; }

/* 客服聊天浮窗 */
html.dark .chatWidget-panel { background: #161c26; box-shadow: 0 12px 40px rgba(0,0,0,.5); }
html.dark .chatWidget-body { background: #10151d; }
html.dark .chatWidget-ft { background: #161c26; border-top-color: #2b3444; }
html.dark .cw-type button { background: #1a212c; border-color: #333c4f; color: #cdd4e0; }
html.dark .cw-type button.on { background: rgba(78, 110, 242, .2); border-color: #4E6EF2; color: #aebdff; }
html.dark .cw-msg.admin .bub, html.dark .cw-msg .bub.st { background: #1e2733; border-color: #2e3949; color: #e2e7f0; }
html.dark .cw-banner { background: rgba(255, 251, 235, .07); border-color: rgba(253, 230, 138, .3); color: #e3bd6b; }
html.dark .cw-banner.ended { background: rgba(240, 253, 244, .07); border-color: rgba(187, 247, 208, .3); color: #6fce93; }
html.dark .cw-mytk { background: rgba(245, 243, 255, .06); border-color: rgba(224, 215, 253, .25); color: #c9b8ff; }
html.dark .cw-mytk a { color: #b69eff; }
html.dark .cw-empty, html.dark .chatWidget-ft .pend { color: #8f98a9; }
html.dark .cw-actions .img-add { color: #aab2c0; }