/* 风动导航 · 前台覆盖 + 深色模式变量理顺 */
:root {
  --fd-ink: #0B1220;
  --fd-purple: #7C3AED;
  --fd-purple-2: #A78BFA;
  --fd-mist: #F5F3FF;
  --fd-paper: #F8FAFC;
  --theme-color: var(--fd-purple);
  --main-bg-color: #ffffff;
  --main-text: #0f172a;
  --muted-text: #64748b;
  --card-bg: #ffffff;
  --card-border: rgba(124, 58, 237, 0.14);
  --qz-glow: 0 0 0 1px color-mix(in srgb, var(--theme-color) 28%, transparent),
    0 10px 36px -10px color-mix(in srgb, var(--theme-color) 45%, transparent);
  --qz-glass: color-mix(in srgb, var(--main-bg-color) 70%, transparent);
  --qz-glass-border: color-mix(in srgb, var(--theme-color) 26%, transparent);
  --qz-grid: color-mix(in srgb, var(--theme-color) 10%, transparent);
}

html.io-black-mode,
.io-black-mode,
body.io-black-mode,
html[data-theme="dark"] {
  --theme-color: #A78BFA;
  --main-bg-color: #0B1220;
  --main-text: #E2E8F0;
  --muted-text: #94A3B8;
  --card-bg: #111827;
  --card-border: rgba(167, 139, 250, 0.22);
  --qz-glass: rgba(17, 24, 39, 0.72);
  --qz-glass-border: rgba(167, 139, 250, 0.28);
  --qz-grid: rgba(167, 139, 250, 0.12);
  color: var(--main-text);
  background-color: var(--main-bg-color);
}

body.container-body {
  background-color: var(--main-bg-color);
  color: var(--main-text);
  background-image:
    radial-gradient(920px 380px at 12% -6%, color-mix(in srgb, var(--theme-color) 16%, transparent), transparent 62%),
    radial-gradient(720px 320px at 92% 8%, color-mix(in srgb, var(--theme-color) 10%, transparent), transparent 58%),
    linear-gradient(var(--qz-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--qz-grid) 1px, transparent 1px);
  background-size: auto, auto, 48px 48px, 48px 48px;
  background-attachment: fixed, fixed, fixed, fixed;
}

.io-black-mode body.container-body,
body.io-black-mode.container-body {
  background-color: var(--main-bg-color);
  color: var(--main-text);
}

/* 强制盖住 WP 默认块编辑器前台样式的突兀白底 */
.wp-site-blocks,
.entry-content,
.site-content,
#content,
.page-container,
.main-content {
  background: transparent;
  color: inherit;
}

.url-card,
.sites-card,
.card,
.aio-card,
.panel-card,
.ioui-aside .aside-card {
  background: var(--card-bg) !important;
  border: 1px solid var(--card-border) !important;
  color: var(--main-text);
  box-shadow: var(--qz-glow);
}

.io-black-mode .url-card,
.io-black-mode .sites-card,
.io-black-mode .card,
.io-black-mode .panel-card {
  background: var(--card-bg) !important;
  color: var(--main-text) !important;
}

.io-black-mode a { color: var(--fd-purple-2); }
.io-black-mode .text-muted,
.io-black-mode .overflowClip_1,
.io-black-mode .overflowClip_2 { color: var(--muted-text) !important; }

.header-nav.blur-bg {
  backdrop-filter: saturate(1.3) blur(14px);
  -webkit-backdrop-filter: saturate(1.3) blur(14px);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--theme-color) 18%, transparent);
}

.btn-primary,
.loading-btn,
.search-query.submit {
  background: var(--theme-color) !important;
  border-color: transparent !important;
}


/* fd-dark-v108 */
.io-black-mode .header-big,
.io-black-mode .header-nav,
.io-black-mode .navbar,
.io-black-mode .sidebar,
.io-black-mode .aside-content,
.io-black-mode footer,
.io-black-mode .footer {
  background-color: var(--card-bg) !important;
  color: var(--main-text) !important;
  border-color: var(--card-border) !important;
}
.io-black-mode .search-bar,
.io-black-mode .search-query,
.io-black-mode input.form-control,
.io-black-mode .form-control,
.io-black-mode textarea {
  background-color: #0f172a !important;
  color: var(--main-text) !important;
  border-color: var(--card-border) !important;
}
.io-black-mode .bg-light,
.io-black-mode .bg-white,
.io-black-mode .white-bg {
  background-color: var(--card-bg) !important;
  color: var(--main-text) !important;
}
.io-black-mode .text-dark,
.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(--main-text) !important;
}
.io-black-mode .ajax-search-list,
.io-black-mode .dropdown-menu,
.io-black-mode .popover {
  background: #111827 !important;
  color: var(--main-text) !important;
  border-color: var(--card-border) !important;
}

/* ==== 风动 1.0.23 首屏与卡片观感 ==== */
:root {
  --fd-radius: 14px;
  --fd-shadow: 0 8px 28px rgba(15, 23, 42, 0.08);
  --fd-shadow-hover: 0 14px 36px rgba(124, 58, 237, 0.18);
  --fd-accent: #7c3aed;
  --fd-accent-2: #06b6d4;
  --fd-gap: 1rem;
}

/* 首屏加载态：骨架微光 */
@keyframes fd-shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
.placeholder-posts .--image,
.placeholder-posts .--title,
.loading-anim {
  background: linear-gradient(90deg, rgba(124,58,237,.06), rgba(6,182,212,.12), rgba(124,58,237,.06));
  background-size: 200% 100%;
  animation: fd-shimmer 1.4s ease-in-out infinite;
  border-radius: 10px;
}

/* 卡片间距与圆角 */
.url-card,
.card,
.sites-card,
.ajax-item .card,
.io-card,
.list-item {
  border-radius: var(--fd-radius) !important;
  box-shadow: var(--fd-shadow);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  border-color: rgba(148, 163, 184, 0.25) !important;
}
.url-card:hover,
.card:hover,
.sites-card:hover,
.ajax-item .card:hover {
  transform: translateY(-3px);
  box-shadow: var(--fd-shadow-hover);
  border-color: rgba(124, 58, 237, 0.35) !important;
}

/* 搜索首屏 */
#search .search-query,
.search-bar .form-control,
.header-big .search-key {
  border-radius: 999px !important;
  border: 1px solid rgba(124, 58, 237, 0.25) !important;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06);
  min-height: 46px;
  padding-left: 1.1rem !important;
}
#search .search-submit-btn,
.search-submit-btn {
  border-radius: 999px !important;
}

/* 深色模式强化 */
.io-black-mode {
  --fd-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
  --fd-shadow-hover: 0 14px 36px rgba(124, 58, 237, 0.35);
}
.io-black-mode .url-card,
.io-black-mode .card,
.io-black-mode .sites-card,
.io-black-mode .ajax-item .card {
  background: #111827 !important;
  border-color: rgba(148, 163, 184, 0.18) !important;
}
.io-black-mode #search .search-query,
.io-black-mode .search-bar .form-control {
  background: #0f172a !important;
  border-color: rgba(124, 58, 237, 0.4) !important;
  color: #e5e7eb !important;
}

/* 移动端响应 */
@media (max-width: 767.98px) {
  :root { --fd-radius: 12px; --fd-gap: .75rem; }
  .url-card, .card, .sites-card {
    margin-bottom: .65rem;
  }
  .header-big, .search-body {
    padding-left: .75rem !important;
    padding-right: .75rem !important;
  }
  #search .search-query,
  .search-bar .form-control {
    min-height: 42px;
    font-size: 15px;
  }
  .aside-content, #layout_aside {
    max-width: 100%;
  }
}

/* 区块标题轻微品牌色 */
.content-title, .slug-name, .h4.cat-title, .d-flex .text-lg {
  letter-spacing: .02em;
}
.cat-title i.iconfont,
.content-title i.iconfont {
  color: var(--fd-accent);
}

/* 图片柔和裁切 */
.url-card img,
.sites-card img,
.card img.lazy,
.card img[loading="lazy"] {
  border-radius: 10px;
  object-fit: cover;
}


/* ===== 1.0.24 UI · Linear/Vercel 气质 · 上中下整体重做 ===== */
:root {
  --fd-space: 8px;
  --fd-radius: 14px;
  --fd-radius-lg: 20px;
  --fd-radius-pill: 999px;
  --fd-accent: #7C3AED;
  --fd-accent-2: #06B6D4;
  --fd-accent-soft: rgba(124, 58, 237, 0.14);
  --fd-success: #10B981;
  --fd-warn: #F59E0B;
  --fd-ink: #0B1220;
  --fd-paper: #F8FAFC;
  --fd-muted: #64748B;
  --fd-border: rgba(148, 163, 184, 0.22);
  --fd-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px -12px rgba(15, 23, 42, 0.12);
  --fd-shadow-hover: 0 2px 4px rgba(15, 23, 42, 0.05), 0 16px 40px -14px rgba(124, 58, 237, 0.28);
  --fd-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --fd-fs-xs: 12px;
  --fd-fs-sm: 13px;
  --fd-fs-md: 15px;
  --fd-fs-lg: 18px;
  --fd-fs-xl: 24px;
}

.io-black-mode,
html[data-theme="dark"] {
  --fd-paper: #0B1220;
  --fd-muted: #94A3B8;
  --fd-border: rgba(167, 139, 250, 0.18);
  --fd-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), 0 12px 32px -14px rgba(0, 0, 0, 0.55);
  --fd-shadow-hover: 0 4px 8px rgba(0, 0, 0, 0.35), 0 20px 48px -16px rgba(124, 58, 237, 0.4);
  --fd-accent-soft: rgba(167, 139, 250, 0.16);
}

body.container-body {
  font-family: var(--fd-font);
  letter-spacing: -0.01em;
}

/* —— 上：顶栏毛玻璃、干净工具区 —— */
.header-nav.blur-bg,
.header-nav {
  backdrop-filter: saturate(1.4) blur(18px) !important;
  -webkit-backdrop-filter: saturate(1.4) blur(18px) !important;
  background: color-mix(in srgb, var(--main-bg-color, #fff) 78%, transparent) !important;
  border-bottom: 1px solid var(--fd-border) !important;
  box-shadow: 0 1px 0 color-mix(in srgb, var(--fd-accent) 12%, transparent) !important;
  min-height: 56px;
}
.io-black-mode .header-nav.blur-bg,
.io-black-mode .header-nav {
  background: rgba(11, 18, 32, 0.72) !important;
}
.header-nav .navbar-brand img,
.header-nav .logo-img {
  max-height: 32px;
  width: auto;
}
.header-tools {
  gap: calc(var(--fd-space) * 0.5);
  align-items: center !important;
}
.header-tools .header-icon-btn > a,
.header-tools .nav-login > a {
  width: 36px;
  height: 36px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: var(--main-text, #0f172a) !important;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.header-tools .header-icon-btn > a:hover,
.header-tools .nav-login > a:hover {
  background: var(--fd-accent-soft);
  color: var(--fd-accent) !important;
  transform: translateY(-1px);
}
/* 彻底隐藏一言（DOM 可能仍短暂存在） */
.hitokoto-text,
#hitokoto,
.header-tools .nav-item .hitokoto-text,
li.nav-item:has(.hitokoto-text) {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Banner / 搜索：更大呼吸感 */
.header-banner.header-big,
.header-big {
  padding-top: calc(var(--fd-space) * 5) !important;
  padding-bottom: calc(var(--fd-space) * 4.5) !important;
  margin-bottom: calc(var(--fd-space) * 3) !important;
}
.header-banner.header-big::before {
  content: "";
  position: absolute;
  inset: 12% 18% auto;
  height: 42%;
  background: radial-gradient(ellipse at center, color-mix(in srgb, var(--fd-accent) 22%, transparent), transparent 68%);
  filter: blur(28px);
  pointer-events: none;
  z-index: 0;
}
.big-search {
  max-width: 720px;
  position: relative;
  z-index: 1;
}
.big-search .search-box-big,
.search-box-big {
  border-radius: var(--fd-radius-lg) !important;
  border: 1px solid color-mix(in srgb, var(--fd-accent) 22%, transparent) !important;
  box-shadow: var(--fd-shadow), 0 0 0 1px rgba(255,255,255,0.04) inset !important;
  background: color-mix(in srgb, var(--card-bg, #fff) 88%, transparent) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  overflow: hidden;
  transition: box-shadow .22s ease, border-color .22s ease, transform .22s ease;
}
.big-search .search-box-big:focus-within,
.search-box-big:focus-within {
  border-color: color-mix(in srgb, var(--fd-accent) 55%, transparent) !important;
  box-shadow: 0 0 0 4px var(--fd-accent-soft), var(--fd-shadow-hover) !important;
  transform: translateY(-1px);
}
#search .search-query,
.search-bar .form-control,
.header-big .search-key,
.big-search input {
  border: 0 !important;
  box-shadow: none !important;
  min-height: 52px !important;
  font-size: var(--fd-fs-md) !important;
  padding-left: 1.25rem !important;
  background: transparent !important;
  border-radius: var(--fd-radius-lg) !important;
}
.big-search .search-submit-btn,
#search .search-submit-btn {
  border-radius: 12px !important;
  margin: 6px;
  min-height: 40px;
  padding: 0 1.15rem !important;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* —— 中：侧栏 —— */
.ioui-aside .aside-card,
#sidebar .aside-card,
.sidebar .aside-card {
  border-radius: var(--fd-radius) !important;
  padding: calc(var(--fd-space) * 1.25) !important;
  border: 1px solid var(--fd-border) !important;
  box-shadow: var(--fd-shadow) !important;
}
.ioui-aside .aside-btn,
.aside-content .aside-btn {
  display: flex !important;
  align-items: center;
  gap: 10px;
  border-radius: 10px !important;
  padding: 9px 12px !important;
  margin: 2px 0 !important;
  font-size: var(--fd-fs-sm) !important;
  line-height: 1.35;
  border: 0 !important;
  position: relative;
  transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}
.ioui-aside .aside-btn i,
.aside-content .aside-btn i {
  width: 20px;
  height: 20px;
  font-size: 16px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.9;
  flex-shrink: 0;
}
.ioui-aside .aside-btn:hover,
.aside-content .aside-btn:hover {
  background: var(--fd-accent-soft) !important;
  color: var(--fd-accent) !important;
}
.ioui-aside .aside-btn.active,
.aside-content .aside-btn.active,
.ioui-aside .aside-item.active > .aside-btn {
  background: color-mix(in srgb, var(--fd-accent) 14%, transparent) !important;
  color: var(--fd-accent) !important;
  font-weight: 600;
  box-shadow: inset 3px 0 0 0 var(--fd-accent);
}

/* 站点卡片 */
.url-card,
.sites-card,
.card.sites-item,
.ajax-item .card,
.io-card,
.list-item.url-card,
.content-layout .url-card {
  border-radius: var(--fd-radius) !important;
  border: 1px solid var(--fd-border) !important;
  box-shadow: var(--fd-shadow) !important;
  background: var(--card-bg, #fff) !important;
  transition: transform .2s cubic-bezier(.22,.8,.28,1), box-shadow .2s ease, border-color .2s ease !important;
  overflow: hidden;
}
.url-card:hover,
.sites-card:hover,
.card.sites-item:hover,
.ajax-item .card:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--fd-shadow-hover) !important;
  border-color: color-mix(in srgb, var(--fd-accent) 42%, transparent) !important;
}
.url-card .url-body,
.url-card .card-body,
.sites-card .media,
.url-card .media {
  align-items: center !important;
  gap: 10px;
}
.url-card img,
.sites-card img,
.url-card .img-bg,
.sites-card .site-icon {
  width: 40px !important;
  height: 40px !important;
  border-radius: 10px !important;
  object-fit: cover;
  flex-shrink: 0;
}
.url-card .overflowClip_1,
.url-card h3,
.url-card .text-md,
.sites-card .overflowClip_1 {
  font-size: var(--fd-fs-sm) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0 !important;
}
.url-card .overflowClip_2,
.url-card .text-muted,
.sites-card .text-muted {
  font-size: var(--fd-fs-xs) !important;
  color: var(--fd-muted) !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 模块标题区 */
.tab-title,
.content-title,
.slug-name,
.h4.cat-title {
  font-size: var(--fd-fs-lg) !important;
  font-weight: 650 !important;
  letter-spacing: -0.02em;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.tab-title .site-tag,
.content-title i.iconfont,
.tab-title i {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, color-mix(in srgb, var(--fd-accent) 22%, transparent), color-mix(in srgb, var(--fd-accent-2) 14%, transparent));
  color: var(--fd-accent) !important;
  font-size: 14px !important;
  margin-right: 4px;
}

/* AI 科技 / 安全漏洞 标题轻渐变点缀 */
#term-188496 .tab-title,
[id*="term-"][id*="496"] .tab-title,
.module-ai-tech .tab-title {
  background: linear-gradient(90deg, color-mix(in srgb, var(--fd-accent) 8%, transparent), transparent 70%);
  border-radius: 10px;
  padding: 6px 10px 6px 4px;
}
#term-188497 .tab-title,
[id*="term-"][id*="497"] .tab-title,
.module-security-vuln .tab-title {
  background: linear-gradient(90deg, color-mix(in srgb, #10B981 10%, transparent), transparent 70%);
  border-radius: 10px;
  padding: 6px 10px 6px 4px;
}
#term-188497 .tab-title .site-tag {
  background: linear-gradient(135deg, rgba(16,185,129,.22), rgba(6,182,212,.12));
  color: #10B981 !important;
}

/* 内容区卡片栅格间距 */
.content-layout .content-card .row.io-mx-n2 > [class*="col-"],
.content-card .row > [class*="col-"] {
  padding-left: calc(var(--fd-space) * 1) !important;
  padding-right: calc(var(--fd-space) * 1) !important;
  margin-bottom: calc(var(--fd-space) * 2) !important;
}

/* 去重热门 */
.io-widget-big-posts-list ~ .io-widget-big-posts-list,
#iow_big_posts_max-2 ~ #iow_big_posts_max-2,
.tools-hotcontent + .tools-hotcontent {
  display: none !important;
}

/* —— 下：页脚克制 —— */
.main-footer,
footer.main-footer,
.footer-stick {
  border-top: 1px solid var(--fd-border) !important;
  background: color-mix(in srgb, var(--card-bg, #fff) 92%, transparent) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  margin-top: calc(var(--fd-space) * 4) !important;
}
.main-footer .footer,
.footer.row {
  gap: calc(var(--fd-space) * 2);
}
.footer-nav-links a,
.footer-links a,
.main-footer a {
  color: var(--fd-muted) !important;
  font-size: var(--fd-fs-sm);
  transition: color .15s ease;
}
.footer-nav-links a:hover,
.footer-links a:hover,
.main-footer a:hover {
  color: var(--fd-accent) !important;
}
.footer-copyright,
.footer-copyright.text-xs {
  color: var(--fd-muted) !important;
  opacity: 0.85;
  font-size: var(--fd-fs-xs) !important;
  letter-spacing: 0.01em;
}
.footer-social a {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--fd-accent-soft);
}
.footer-social a:hover {
  background: color-mix(in srgb, var(--fd-accent) 28%, transparent);
}

/* 移动端 */
@media (max-width: 767.98px) {
  :root { --fd-radius: 12px; --fd-radius-lg: 16px; }
  .header-banner.header-big,
  .header-big {
    padding-top: calc(var(--fd-space) * 3) !important;
    padding-bottom: calc(var(--fd-space) * 3) !important;
  }
  #search .search-query,
  .big-search input {
    min-height: 46px !important;
    font-size: 15px !important;
  }
  .content-layout .content-card .row.io-mx-n2 {
    display: flex;
    flex-direction: column;
  }
  .content-layout .content-card .row.io-mx-n2 > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }
  .ioui-aside .aside-btn {
    padding: 10px 12px !important;
  }
}


/* ===== 风动 1.0.25 顶栏导航 + Hero ===== */

/* —— 顶栏主导航 —— */
.navbar-header.fd-top-nav,
ul.nav.navbar-header.fd-top-nav {
  display: flex !important;
  align-items: center;
  gap: 0.15rem 0.35rem;
  flex-wrap: nowrap;
  max-width: min(720px, 52vw);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin-right: 0.75rem !important;
}
.navbar-header.fd-top-nav::-webkit-scrollbar { display: none; }
.fd-top-nav > .menu-item,
.fd-top-nav > .fd-top-nav-item {
  flex: 0 0 auto;
  list-style: none;
  margin: 0;
  padding: 0;
}
.fd-top-nav > .menu-item > a,
.fd-top-nav > .fd-top-nav-item > a {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--main-text, #E2E8F0) !important;
  text-decoration: none !important;
  white-space: nowrap;
  position: relative;
  transition: color .18s ease, background .18s ease, box-shadow .18s ease;
}
.fd-top-nav > .menu-item > a::after,
.fd-top-nav > .fd-top-nav-item > a::after {
  content: "";
  position: absolute;
  left: 18%;
  right: 18%;
  bottom: 4px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, transparent, var(--theme-color, #A78BFA), transparent);
  opacity: 0;
  transform: scaleX(0.4);
  transition: opacity .18s ease, transform .18s ease;
}
.fd-top-nav > .menu-item > a:hover,
.fd-top-nav > .fd-top-nav-item > a:hover,
.fd-top-nav > .menu-item.current-menu-item > a,
.fd-top-nav > .fd-top-nav-item.current-menu-item > a {
  color: #fff !important;
  background: color-mix(in srgb, var(--theme-color, #A78BFA) 18%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--theme-color, #A78BFA) 35%, transparent),
    0 0 18px -6px color-mix(in srgb, var(--theme-color, #A78BFA) 55%, transparent);
}
.fd-top-nav > .menu-item > a:hover::after,
.fd-top-nav > .fd-top-nav-item > a:hover::after,
.fd-top-nav > .menu-item.current-menu-item > a::after,
.fd-top-nav > .fd-top-nav-item.current-menu-item > a::after {
  opacity: 1;
  transform: scaleX(1);
}
@media (max-width: 991.98px) {
  .navbar-header.fd-top-nav { max-width: min(420px, 42vw); }
  .fd-top-nav > .menu-item > a,
  .fd-top-nav > .fd-top-nav-item > a { padding: 0.3rem 0.55rem; font-size: 0.85rem; }
}
@media (max-width: 767.98px) {
  .navbar-header.fd-top-nav { display: none !important; }
}

/* —— Hero 布局 —— */
.header-banner.fd-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 0.75rem !important;
  border-radius: 0 0 18px 18px;
  min-height: var(--fd-hero-h, 320px);
  background:
    radial-gradient(900px 280px at 18% 0%, rgba(124,58,237,.35), transparent 60%),
    radial-gradient(700px 240px at 88% 20%, rgba(167,139,250,.18), transparent 55%),
    linear-gradient(135deg, #0b1220 0%, #1e1b4b 48%, #0f172a 100%);
  box-shadow: 0 12px 36px -18px color-mix(in srgb, var(--theme-color, #A78BFA) 55%, transparent);
  padding: 0.85rem 0 0.55rem !important;
}
.header-banner.fd-hero .canvas-bg,
.header-banner.fd-hero .big-search,
.header-banner.fd-hero #search.big-search {
  display: none !important;
}
.fd-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(240px, 0.95fr);
  gap: 0.85rem;
  align-items: stretch;
  padding: 0 1rem;
  position: relative;
  z-index: 2;
}
.fd-hero-main {
  min-height: var(--fd-hero-h, 320px);
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  border: 1px solid color-mix(in srgb, #fff 12%, transparent);
  background: #111827;
}
.fd-hero-swiper,
.fd-hero-swiper .swiper-wrapper,
.fd-hero-swiper .swiper-slide {
  height: 100%;
  min-height: var(--fd-hero-h, 320px);
}
.fd-hero-slide {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: var(--fd-hero-h, 320px);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.fd-hero-slide-mask {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(105deg, rgba(11,18,32,.82) 0%, rgba(11,18,32,.45) 42%, rgba(11,18,32,.25) 100%),
    linear-gradient(0deg, rgba(11,18,32,.55) 0%, transparent 45%);
  pointer-events: none;
}
.fd-hero-slide-body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 1.35rem 1.5rem 1.7rem;
  max-width: 560px;
  color: #fff;
}
.fd-hero-title {
  margin: 0 0 0.4rem;
  font-size: clamp(1.25rem, 2.2vw, 1.85rem);
  font-weight: 750;
  letter-spacing: 0.04em;
  text-shadow: 0 2px 24px rgba(0,0,0,.45);
}
.fd-hero-desc {
  margin: 0 0 0.85rem;
  font-size: 0.92rem;
  line-height: 1.55;
  color: rgba(226,232,240,.88);
  max-width: 36em;
}
.fd-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  padding: 0.45rem 1rem;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 650;
  color: #fff !important;
  text-decoration: none !important;
  background: linear-gradient(135deg, #7C3AED, #A78BFA);
  box-shadow: 0 8px 24px -10px rgba(124,58,237,.8), 0 0 0 1px rgba(255,255,255,.12);
  transition: transform .15s ease, box-shadow .15s ease;
}
.fd-hero-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px -10px rgba(124,58,237,.95), 0 0 0 1px rgba(255,255,255,.2);
  color: #fff !important;
}
.fd-hero-pagination {
  bottom: 12px !important;
  z-index: 3;
}
.fd-hero-pagination .swiper-pagination-bullet {
  background: #fff;
  opacity: .4;
}
.fd-hero-pagination .swiper-pagination-bullet-active {
  opacity: 1;
  background: #A78BFA;
}
.fd-hero-prev,
.fd-hero-next {
  color: #fff !important;
  --swiper-navigation-size: 18px;
  width: 34px;
  height: 34px;
  margin-top: 0;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(15,10,40,.4);
  border-radius: 999px;
  backdrop-filter: blur(6px);
  z-index: 3;
}
.fd-hero-prev { left: 10px; }
.fd-hero-next { right: 10px; }

.fd-hero-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  min-height: var(--fd-hero-h, 320px);
}
.fd-hero-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.85rem 0.9rem;
  border-radius: 14px;
  text-decoration: none !important;
  color: #E2E8F0 !important;
  background: color-mix(in srgb, #111827 78%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-color, #A78BFA) 28%, transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 8px 22px -16px rgba(0,0,0,.55);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.fd-hero-card:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--theme-color, #A78BFA) 55%, transparent);
  background: color-mix(in srgb, #1e1b4b 70%, transparent);
  box-shadow: 0 14px 30px -14px color-mix(in srgb, var(--theme-color, #A78BFA) 55%, transparent);
  color: #fff !important;
}
.fd-hero-card-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--theme-color, #A78BFA) 22%, transparent);
  color: #C4B5FD;
  font-size: 0.95rem;
}
.fd-hero-card-title {
  display: block;
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.fd-hero-card-desc {
  display: block;
  font-size: 0.78rem;
  color: rgba(148,163,184,.95);
  line-height: 1.4;
}
.fd-hero-card:hover .fd-hero-card-desc { color: rgba(226,232,240,.82); }

.fd-hero-bulletin {
  position: relative;
  z-index: 2;
  max-width: 980px;
  margin: 0.55rem auto 0.15rem;
  padding: 0 1rem;
}
.fd-hero-bulletin #bulletin_box,
.fd-hero-bulletin .bulletin-big {
  max-width: 100%;
  margin: 0 auto !important;
  background: color-mix(in srgb, #0f0a28 48%, transparent) !important;
  border: 1px solid color-mix(in srgb, #fff 14%, transparent) !important;
  border-radius: 999px !important;
  backdrop-filter: blur(8px);
  padding: 0.28rem 0.85rem !important;
  font-size: 0.8rem;
  opacity: 0.92;
}

.fd-hero-fallback {
  min-height: var(--fd-hero-h, 320px);
  display: flex;
  align-items: flex-end;
  padding: 1.5rem;
  background: linear-gradient(135deg, #1e1b4b, #0b1220);
}
.fd-hero-fallback-copy h2 { color: #fff; margin: 0 0 .35rem; }
.fd-hero-fallback-copy p { color: rgba(226,232,240,.85); margin: 0; }

@media (max-width: 991.98px) {
  .fd-hero-inner {
    grid-template-columns: 1fr;
    gap: 0.7rem;
  }
  .fd-hero-main,
  .fd-hero-swiper,
  .fd-hero-swiper .swiper-slide,
  .fd-hero-slide,
  .fd-hero-cards {
    min-height: 220px;
  }
  .header-banner.fd-hero {
    --fd-hero-h: 240px;
    padding-bottom: 0.7rem !important;
  }
  .fd-hero-prev,
  .fd-hero-next { display: none; }
}
@media (max-width: 575.98px) {
  .fd-hero-slide-body { padding: 1rem 1rem 1.4rem; }
  .fd-hero-cards { gap: 0.5rem; }
  .fd-hero-card { padding: 0.7rem 0.75rem; }
}
