/* ============================================
   开放中国 - 商用风格优化
   ============================================ */

/* --- 设计系统变量 --- */
:root {
  /* 品牌色彩 */
  --brand-primary: #1e40af;      /* 深蓝 - 主品牌色 */
  --brand-secondary: #3b82f6;    /* 亮蓝 - 辅助色 */
  --brand-accent: #f59e0b;       /* 金色 - 强调色 */

  /* 中性色 */
  --bg-white: #ffffff;
  --bg-light: #f9fafb;
  --bg-gray: #f3f4f6;
  --bg-dark: #1f2937;

  /* 文字 */
  --text-heading: #111827;
  --text-body: #374151;
  --text-secondary: #6b7280;
  --text-muted: #9ca3af;
  --text-inverse: #ffffff;

  /* 边框 */
  --border-light: #e5e7eb;
  --border-medium: #d1d5db;

  /* 阴影 */
  --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);

  /* 圆角 */
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;

  /* 间距 */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;

  /* 过渡 */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* 夜间模式变量 */
body.io-black-mode {
  --bg-white: #111827;
  --bg-light: #1f2937;
  --bg-gray: #374151;

  --text-heading: #f9fafb;
  --text-body: #e5e7eb;
  --text-secondary: #9ca3af;
  --text-muted: #6b7280;

  --border-light: #374151;
  --border-medium: #4b5563;

  --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
  --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.6);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.7);
}

/* --- 基础重置 --- */
html {
  scroll-behavior: smooth;
}

body {
  background: #f9f9f9;
  color: var(--text-body);
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.01em;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
               "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

/* --- 侧边栏优化 --- */
.sidebar-nav-inner {
  background: linear-gradient(180deg, #1f2937 0%, #111827 100%);
  box-shadow: 2px 0 16px rgba(0, 0, 0, 0.08);
}

.sidebar-logo {
  background: transparent !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.sidebar-menu-inner a {
  color: #9ca3af;
  border-radius: var(--radius-sm);
  margin: 2px 8px;
  padding: 10px 12px 10px 1.25rem;
  transition: var(--transition-base);
  font-weight: 500;
}

.sidebar-menu-inner a:hover {
  color: #ffffff;
  background: rgba(59, 130, 246, 0.1);
}

.sidebar-menu-inner a:active {
  background: rgba(59, 130, 246, 0.2);
}

.sidebar-item ul {
  background: rgba(0, 0, 0, 0.2);
  border-radius: var(--radius-sm);
  margin: 4px 8px;
  padding: 4px 0;
}

/* 折叠态 hover 弹出的二级菜单 - 浅色毛玻璃风格（日间） */
.sidebar-popup,
.sidebar-popup.second {
  border: none !important;
}

body.io-grey-mode .sidebar-popup div,
body.io-grey-mode .sidebar-popup.second div {
  background: rgba(255, 255, 255, 0.96) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  backdrop-filter: blur(12px) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12), 0 6px 16px rgba(0, 0, 0, 0.08), inset 0 0 0 1px rgba(0, 0, 0, 0.06) !important;
  padding: 8px 0 !important;
}

body.io-grey-mode .sidebar-popup::before,
body.io-grey-mode .sidebar-popup.second::before {
  border-color: transparent rgba(255, 255, 255, 0.96) transparent transparent !important;
}

body.io-grey-mode .sidebar-popup.sidebar-menu-inner li.sidebar-item > ul,
body.io-grey-mode .sidebar-popup.second.sidebar-menu-inner li.sidebar-item > ul {
  background: rgba(255, 255, 255, 0.96) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  backdrop-filter: blur(12px) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12), 0 6px 16px rgba(0, 0, 0, 0.08), inset 0 0 0 1px rgba(0, 0, 0, 0.06) !important;
  padding: 8px 0 !important;
}

body.io-grey-mode .sidebar-popup.sidebar-menu-inner ul,
body.io-grey-mode .sidebar-popup.sidebar-menu-inner ul li,
body.io-grey-mode .sidebar-popup.sidebar-menu-inner li.sidebar-item > ul,
body.io-grey-mode .sidebar-popup.sidebar-menu-inner li.sidebar-item > ul > li {
  background: transparent !important;
  width: auto !important;
  min-width: 140px !important;
  max-width: 220px !important;
}

body.io-grey-mode .sidebar-popup.sidebar-menu-inner li.sidebar-item > ul,
body.io-grey-mode .sidebar-popup.second.sidebar-menu-inner li.sidebar-item > ul {
  left: 100% !important;
}

body.io-grey-mode .sidebar-popup.sidebar-menu-inner a,
body.io-grey-mode .sidebar-popup.sidebar-menu-inner a span {
  color: #374151 !important;
  white-space: nowrap !important;
}

body.io-grey-mode .sidebar-popup.sidebar-menu-inner > div > a,
body.io-grey-mode .sidebar-popup.sidebar-menu-inner ul li a,
body.io-grey-mode .sidebar-popup.sidebar-menu-inner li.sidebar-item > ul > li a {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 10px 18px !important;
  margin: 2px 8px !important;
  border-radius: var(--radius-sm) !important;
  transition: all 0.2s ease !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.io-grey-mode .sidebar-popup.sidebar-menu-inner > div > a:hover,
body.io-grey-mode .sidebar-popup.sidebar-menu-inner > div > a:focus,
body.io-grey-mode .sidebar-popup.sidebar-menu-inner ul li a:hover,
body.io-grey-mode .sidebar-popup.sidebar-menu-inner ul li a:focus,
body.io-grey-mode .sidebar-popup.sidebar-menu-inner li.sidebar-item > ul > li a:hover,
body.io-grey-mode .sidebar-popup.sidebar-menu-inner li.sidebar-item > ul > li a:focus {
  color: #1e40af !important;
  background: rgba(59, 130, 246, 0.1) !important;
  transform: translateX(3px);
}

body.io-grey-mode .sidebar-popup.sidebar-menu-inner > div > a:active,
body.io-grey-mode .sidebar-popup.sidebar-menu-inner ul li a:active,
body.io-grey-mode .sidebar-popup.sidebar-menu-inner li.sidebar-item > ul > li a:active {
  background: rgba(59, 130, 246, 0.15) !important;
  transform: translateX(3px) scale(0.98);
}

/* 折叠态 hover 弹出的二级菜单 - 深色毛玻璃风格（夜间） */
body.io-black-mode .sidebar-popup div,
body.io-black-mode .sidebar-popup.second div {
  background: rgba(31, 41, 55, 0.96) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  backdrop-filter: blur(12px) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35), 0 6px 16px rgba(0, 0, 0, 0.22), inset 0 0 0 1px rgba(255, 255, 255, 0.08) !important;
  padding: 8px 0 !important;
}

body.io-black-mode .sidebar-popup::before,
body.io-black-mode .sidebar-popup.second::before {
  border-color: transparent rgba(31, 41, 55, 0.96) transparent transparent !important;
}

body.io-black-mode .sidebar-popup.sidebar-menu-inner li.sidebar-item > ul,
body.io-black-mode .sidebar-popup.second.sidebar-menu-inner li.sidebar-item > ul {
  background: rgba(31, 41, 55, 0.96) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  backdrop-filter: blur(12px) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35), 0 6px 16px rgba(0, 0, 0, 0.22), inset 0 0 0 1px rgba(255, 255, 255, 0.08) !important;
  padding: 8px 0 !important;
}

body.io-black-mode .sidebar-popup.sidebar-menu-inner ul,
body.io-black-mode .sidebar-popup.sidebar-menu-inner ul li,
body.io-black-mode .sidebar-popup.sidebar-menu-inner li.sidebar-item > ul,
body.io-black-mode .sidebar-popup.sidebar-menu-inner li.sidebar-item > ul > li {
  background: transparent !important;
  width: auto !important;
  min-width: 140px !important;
  max-width: 220px !important;
}

body.io-black-mode .sidebar-popup.sidebar-menu-inner li.sidebar-item > ul,
body.io-black-mode .sidebar-popup.second.sidebar-menu-inner li.sidebar-item > ul {
  left: 100% !important;
}

body.io-black-mode .sidebar-popup.sidebar-menu-inner a,
body.io-black-mode .sidebar-popup.sidebar-menu-inner a span {
  color: rgba(255, 255, 255, 0.85) !important;
  white-space: nowrap !important;
}

body.io-black-mode .sidebar-popup.sidebar-menu-inner > div > a,
body.io-black-mode .sidebar-popup.sidebar-menu-inner ul li a,
body.io-black-mode .sidebar-popup.sidebar-menu-inner li.sidebar-item > ul > li a {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 10px 18px !important;
  margin: 2px 8px !important;
  border-radius: var(--radius-sm) !important;
  transition: all 0.2s ease !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.io-black-mode .sidebar-popup.sidebar-menu-inner > div > a:hover,
body.io-black-mode .sidebar-popup.sidebar-menu-inner > div > a:focus,
body.io-black-mode .sidebar-popup.sidebar-menu-inner ul li a:hover,
body.io-black-mode .sidebar-popup.sidebar-menu-inner ul li a:focus,
body.io-black-mode .sidebar-popup.sidebar-menu-inner li.sidebar-item > ul > li a:hover,
body.io-black-mode .sidebar-popup.sidebar-menu-inner li.sidebar-item > ul > li a:focus {
  color: #ffffff !important;
  background: rgba(59, 130, 246, 0.2) !important;
  transform: translateX(3px);
}

body.io-black-mode .sidebar-popup.sidebar-menu-inner > div > a:active,
body.io-black-mode .sidebar-popup.sidebar-menu-inner ul li a:active,
body.io-black-mode .sidebar-popup.sidebar-menu-inner li.sidebar-item > ul > li a:active {
  background: rgba(59, 130, 246, 0.3) !important;
  transform: translateX(3px) scale(0.98);
}

/* 侧边栏滚动条弱化 */
.sidebar-scroll::-webkit-scrollbar {
  width: 4px;
}

.sidebar-scroll::-webkit-scrollbar-track {
  background: transparent;
}

.sidebar-scroll::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 2px;
}

/* --- 主内容区 --- */
.content-site {
  padding: var(--space-lg) var(--space-md);
  max-width: 1400px;
}

/* --- 搜索区域优化 --- */
.header-big {
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
  position: relative;
  overflow: hidden;
}

.header-big::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image:
    radial-gradient(circle at 20% 50%, rgba(255, 255, 255, 0.08) 0%, transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(255, 255, 255, 0.08) 0%, transparent 50%);
  pointer-events: none;
}

.io-black-mode .header-big {
  position: relative;
}

.io-black-mode .header-big::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(17, 24, 39, 0.65);
  pointer-events: none;
  z-index: 0;
}

.io-black-mode .header-big .s-search {
  position: relative;
  z-index: 1;
}

.header-big .s-search {
  position: relative;
  z-index: 1;
}

.header-big .s-input {
  border: 2px solid transparent !important;
  box-shadow: var(--shadow-md) !important;
  border-radius: var(--radius-lg) !important;
  padding: 14px 20px !important;
  font-size: 15px !important;
  height: auto !important;
  background: #ffffff !important;
  color: var(--text-heading) !important;
  transition: var(--transition-base) !important;
  font-weight: 400;
}

.header-big .s-input:focus {
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.3) !important;
  border-color: #ffffff !important;
}

/* 搜索按钮 - 仅美化颜色，不改变原始定位 */
.header-big .submit {
  background: transparent !important;
  border: none !important;
  transition: var(--transition-fast);
}

.header-big .submit:hover {
  color: var(--brand-primary);
}

/* 搜索分类标签 - 仅美化样式，不改变原始布局 */
.header-big .s-type-list label {
  border-radius: 20px;
  transition: var(--transition-base);
  border: 1px solid rgba(255, 255, 255, 0.2);
  margin: 0 6px;
}

.header-big .search-type label {
  border-radius: 20px;
  transition: var(--transition-base);
  border: 1px solid rgba(255, 255, 255, 0.2);
  margin: 0 6px;
}

/* --- 分类标题优化 --- */
h4.text-gray {
  color: var(--text-heading) !important;
  font-weight: 600;
  font-size: 1.125rem;
  padding: var(--space-md) 0 var(--space-sm);
  margin-bottom: var(--space-lg);
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--border-light);
  position: relative;
}

h4.text-gray::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 48px;
  height: 3px;
  background: var(--brand-primary);
  border-radius: 2px;
}

h4.text-gray i {
  color: var(--brand-primary);
  margin-right: 8px;
  font-size: 1.25rem;
}

/* --- 卡片优化 --- */
.url-card {
  margin-bottom: var(--space-md);
}

.url-card .card {
  background: var(--bg-white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  transition: var(--transition-base);
  overflow: hidden;
  box-shadow: var(--shadow-xs);
}

.url-card .card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  border-color: var(--brand-secondary);
}

.url-card .card-body {
  padding: var(--space-md);
  display: flex;
  align-items: center;
}

.url-card .url-img {
  width: 40px;
  height: 40px;
  background: var(--bg-gray);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: var(--transition-base);
}

.url-card .card:hover .url-img {
  background: rgba(59, 130, 246, 0.1);
}

.url-card .url-img > img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  border-radius: 4px;
}

.url-card .url-info {
  padding-left: var(--space-sm);
  flex: 1;
  min-width: 0;
}

.url-card .text-sm {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-heading);
  transition: var(--transition-base);
}

.url-card .card:hover .text-sm {
  color: var(--brand-primary);
}

.url-card .text-muted {
  font-size: 12px;
  color: var(--text-muted) !important;
}

/* 描述/标题超长时显示省略号 */
/* 关键：flex item 默认 min-width:auto 会被长内容撑开，必须强制 min-width:0 */
.url-card .url-content,
.url-card .url-info,
.url-card .url-info .overflowClip_1 {
  min-width: 0 !important;
}

.url-card .url-info {
  max-width: 100% !important;
  overflow: hidden !important;
}

.url-card .url-info .overflowClip_1 {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
  width: 100%;
}

/* --- 直达按钮隐藏 --- */
.url-card .togo {
  display: none !important;
}

/* --- 搜索热词优化 --- */
.search-hot-text {
  background: var(--bg-white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  margin-top: var(--space-sm);
}

.search-hot-text ul li {
  color: var(--text-secondary);
  padding: 10px 20px;
  font-size: 13px;
  border-bottom: 1px solid var(--border-light);
}

.search-hot-text ul li:last-child {
  border-bottom: none;
}

.search-hot-text ul li:hover,
.search-hot-text ul li.current {
  background: rgba(59, 130, 246, 0.05);
  color: var(--brand-primary);
}

.search-hot-text ul li span {
  background: var(--bg-gray);
  color: var(--text-muted);
  border-radius: 4px;
  font-size: 11px;
  margin-right: 8px;
}

/* --- 友情链接优化 --- */
.friendlink {
  background: var(--bg-white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  box-shadow: var(--shadow-xs);
}

.friendlink a {
  display: inline-block;
  padding: 6px 12px;
  margin: 4px;
  color: var(--text-secondary);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm);
  font-size: 13px;
  transition: var(--transition-base);
  text-decoration: none;
}

.friendlink a:hover {
  color: var(--brand-primary);
  border-color: var(--brand-primary);
  background: rgba(59, 130, 246, 0.05);
}

/* --- 页脚优化 --- */
footer.main-footer {
  background: var(--bg-white);
  border-top: 1px solid var(--border-light);
  padding: var(--space-xl) 0;
  margin-top: var(--space-2xl);
}

footer.main-footer .footer-text {
  color: var(--text-muted);
  font-size: 13px;
  text-align: center;
}

footer.main-footer .footer-text a {
  color: var(--brand-primary);
  text-decoration: none;
  transition: var(--transition-fast);
}

footer.main-footer .footer-text a:hover {
  color: var(--brand-secondary);
}

/* --- 顶部导航优化 --- */
.page-header {
  background: var(--bg-white);
  border-bottom: 1px solid var(--border-light);
  box-shadow: var(--shadow-xs);
  position: sticky;
  top: 0;
  z-index: 1020;
}

.navbar-nav > li > a {
  color: var(--text-body);
  font-weight: 500;
  padding: 12px 16px !important;
  transition: var(--transition-base);
  border-radius: var(--radius-sm);
}

.navbar-nav > li > a:hover {
  color: var(--brand-primary);
  background: rgba(59, 130, 246, 0.08);
}

/* --- 按钮优化 --- */
.btn {
  border-radius: var(--radius-sm);
  transition: var(--transition-base);
  font-weight: 500;
  border: none;
}

.btn:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

/* --- 滚动条优化 --- */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--bg-gray);
}

::-webkit-scrollbar-thumb {
  background: var(--border-medium);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--text-muted);
}

/* --- Logo图标优化 --- */
.url-card .url-img > img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  border-radius: 4px;
}

.url-card .max .url-img > img {
  width: 32px;
  height: 32px;
}

.url-card .mini .url-img > img {
  width: 20px;
  height: 20px;
}

.url-card .post-min .url-img > img {
  width: 16px;
  height: 16px;
}

/* --- 响应式优化 --- */
@media (max-width: 767.98px) {
  .content-site {
    padding: var(--space-md) var(--space-sm);
  }

  .header-big {
    padding: var(--space-lg) var(--space-md) !important;
  }

  .url-card .card-body {
    padding: var(--space-sm);
  }

  .url-card .url-img {
    width: 32px;
    height: 32px;
  }

  .url-card .url-img > img {
    width: 20px;
    height: 20px;
  }

  .friendlink {
    padding: var(--space-md);
  }
}

/* --- 加载动画 --- */
.loader {
  display: flex;
  align-items: center;
  justify-content: center;
}

.loader::before {
  content: '';
  width: 40px;
  height: 40px;
  border: 3px solid var(--border-light);
  border-top-color: var(--brand-primary);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

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

/* --- 工具类 --- */
.text-primary-custom {
  color: var(--brand-primary) !important;
}

.bg-primary-custom {
  background-color: var(--brand-primary) !important;
}

/* --- 打印样式 --- */
@media print {
  .sidebar-nav,
  .page-header,
  #footer-tools {
    display: none !important;
  }

  .main-content {
    margin-left: 0 !important;
  }
}

/* --- 搜索框光标优化 --- */
/* 默认隐藏搜索输入框的文本光标，避免页面静态时出现闪烁的 caret */
.search-key,
#search-text,
#m_search-text {
  caret-color: transparent;
}

/* 用户真实聚焦输入时恢复光标 */
.search-key:focus,
#search-text:focus,
#m_search-text:focus {
  caret-color: currentColor;
}

/* ============================================
   日间模式精调 (仅装饰性样式，不影响布局)
   ============================================ */

/* 日间：页面背景增加极轻微的纵向层次 */
body:not(.io-black-mode) {
  background: linear-gradient(180deg, #f6f8fa 0%, #f9f9f9 320px);
}

/* 日间：卡片默认态更柔和，hover 带品牌色光晕 */
body:not(.io-black-mode) .url-card .card {
  border-color: #edf0f4;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

body:not(.io-black-mode) .url-card .card:hover {
  border-color: rgba(59, 130, 246, 0.35);
  box-shadow: 0 10px 24px -8px rgba(30, 64, 175, 0.18);
}

/* 日间：Logo 容器浅色底 + 细边框，hover 变品牌浅蓝 */
body:not(.io-black-mode) .url-card .url-img {
  background: #f4f6f9;
  border: 1px solid #edf0f4;
}

body:not(.io-black-mode) .url-card .card:hover .url-img {
  background: #eff5ff;
  border-color: rgba(59, 130, 246, 0.25);
}

/* 日间：站点描述文字对比度微调 */
body:not(.io-black-mode) .url-card .text-muted {
  color: #98a2b3 !important;
}

/* 日间：分类标题图标底色块 */
body:not(.io-black-mode) h4.text-gray i {
  background: rgba(59, 130, 246, 0.1);
  border-radius: 8px;
  padding: 4px 6px;
}

/* 日间：搜索热词面板与页面融合更好 */
body:not(.io-black-mode) .search-hot-text {
  border-color: #edf0f4;
  box-shadow: 0 12px 32px -12px rgba(16, 24, 40, 0.15);
}

body:not(.io-black-mode) .search-hot-text ul li span {
  background: #f1f3f7;
  color: #8492a6;
}

/* 日间：顶部导航始终白色背景 + 深色文字，确保可读 */
body:not(.io-black-mode) .big-header-banner .page-header {
  color: var(--text-body) !important;
  background: rgba(255, 255, 255, 0.95) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow-xs) !important;
}

body:not(.io-black-mode) .big-header-banner .page-header .navbar-nav > li > a,
body:not(.io-black-mode) .big-header-banner .page-header .navbar-menu a:not(.dropdown-item),
body:not(.io-black-mode) .big-header-banner .page-header #hitokoto_text {
  color: var(--text-body) !important;
}

body:not(.io-black-mode) .big-header-banner .page-header .navbar-nav > li > a:hover,
body:not(.io-black-mode) .big-header-banner .page-header .navbar-menu a:not(.dropdown-item):hover,
body:not(.io-black-mode) .big-header-banner .page-header #hitokoto_text:hover {
  color: var(--brand-primary) !important;
}

body:not(.io-black-mode) .big-header-banner .page-header .header-mini-btn path {
  stroke: var(--text-body) !important;
}

body:not(.io-black-mode) .big-header-banner .page-header .header-mini-btn label:hover path {
  stroke: var(--brand-primary) !important;
}

body:not(.io-black-mode) .page-header {
  border-bottom-color: #edf0f4;
}

/* 日间：友情链接默认更轻，hover 浮起 */
body:not(.io-black-mode) .friendlink a {
  background: #fafbfc;
  border-color: #edf0f4;
  color: #667085;
}

body:not(.io-black-mode) .friendlink a:hover {
  background: #eff5ff;
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(30, 64, 175, 0.12);
}

/* 日间：页脚与内容区衔接更自然 */
body:not(.io-black-mode) footer.main-footer {
  background: #fbfcfd;
  border-top-color: #edf0f4;
}

/* 日间：回到顶部等悬浮按钮 */
body:not(.io-black-mode) #footer-tools a,
body:not(.io-black-mode) #footer-tools .tool-item {
  box-shadow: 0 4px 12px rgba(16, 24, 40, 0.1);
}

/* 侧边栏弹出菜单点击后目标分类高亮脉冲 */
.opencn-cat-pulse {
  animation: opencn-pulse 1.4s ease-in-out;
}

@keyframes opencn-pulse {
  0%   { transform: scale(1);   text-shadow: 0 0 0 rgba(59, 130, 246, 0); }
  25%  { transform: scale(1.04); text-shadow: 0 0 8px rgba(59, 130, 246, 0.35); }
  50%  { transform: scale(1);   text-shadow: 0 0 16px rgba(59, 130, 246, 0.2); }
  75%  { transform: scale(1.02); text-shadow: 0 0 8px rgba(59, 130, 246, 0.25); }
  100% { transform: scale(1);   text-shadow: 0 0 0 rgba(59, 130, 246, 0); }
}