/* 可访问性：仅供屏幕阅读器使用 */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: absolute;
  left: -9999px;
  top: 10px;
  padding: 8px 12px;
  background: #111;
  color: #fff;
  border-radius: 8px;
  z-index: 9999;
}
.skip-link:focus {
  left: 10px;
}

    :root {
      /* Notion / Medium 风格浅色主题 */
      --bg: #ffffff;
      --bg-secondary: #f7f7f5; /* 侧边栏/卡片微底色 */
      --border: #e0e0e0;
      --text: #37352f;
      --text-muted: #787774;
      --accent: #2e86de;       /* 清爽蓝 */
      --accent-soft: rgba(46, 134, 222, 0.08);
      --highlight: #fff9db;    /* 引用/高亮底色 */
      --orange: #e16b16;
      --shadow: rgba(0,0,0,0.05);
      --card-bg: #ffffff;
      --hover-bg: #f0f0f0;
    }

    /* 深色主题变量 */
    [data-theme="dark"] {
      --bg: #1a1a1a;
      --bg-secondary: #252525;
      --border: #3a3a3a;
      --text: #e8e8e8;
      --text-muted: #999999;
      --accent: #4aa8ff;
      --accent-soft: rgba(74, 168, 255, 0.15);
      --highlight: #3d3a2a;
      --orange: #ff9a44;
      --shadow: rgba(0,0,0,0.3);
      --card-bg: #2a2a2a;
      --hover-bg: #3a3a3a;
    }

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

    body {
      font-family: "Noto Sans SC", -apple-system, sans-serif;
      background: var(--bg);
      color: var(--text);
      min-height: 100vh;
      line-height: 1.6;
      transition: background-color 0.3s ease, color 0.3s ease;
    }

    .container {
      max-width: 1280px; /* 稍微加宽，容纳更宽的侧边栏 */
      margin: 0 auto;
      padding: 2rem 2rem;
    }
    
    /* 隐藏旧的 header，保留 SEO 价值（使用 visually-hidden 技术）*/
    .container > header {
      position: absolute;
      left: -9999px;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
    }

    /* 品牌标识样式 */
    .brand-wrap {
      display: flex;
      align-items: center;
      gap: 1rem;
      text-decoration: none;
      color: inherit;
      margin-bottom: 1rem;
    }

    .brand-logo {
      width: 48px;
      height: 48px;
      object-fit: contain;
      border-radius: 10px;
      box-shadow: 0 4px 12px var(--shadow);
    }

    .brand-info {
      display: flex;
      flex-direction: column;
    }

    .brand-text {
      font-size: 1.75rem;
      font-weight: 700;
      letter-spacing: -0.02em;
      color: var(--text);
      margin: 0;
    }

    header {
      margin-bottom: 2rem;
      padding-bottom: 1.5rem;
      border-bottom: 1px solid var(--border);
    }

    h1 {
      font-size: 1.75rem;
      font-weight: 700;
      display: flex;
      align-items: center;
      gap: 0.5rem;
      color: #000;
      margin: 0;
    }

    h1::before {
      display: none; /* 移除旧的侧边条 */
    }

    .page-context {
      color: var(--text-muted);
      font-size: 0.9rem;
      margin-bottom: 0.5rem;
    }
    .subtitle {
      color: var(--text-muted);
      font-size: 0.95rem;
      margin-top: 0.5rem;
    }

    /* ===== 提示条（官方跳转/重要提示） ===== */
    .notice-bar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      padding: 0.9rem 1rem;
      margin: 0.75rem 0 1.25rem;
      border: 1px solid var(--border);
      background: var(--accent-soft);
      border-radius: 12px;
    }

    .notice-bar-text {
      font-size: 0.92rem;
      color: var(--text);
      line-height: 1.4;
    }

    .notice-bar-btn {
      white-space: nowrap;
      padding: 0.55rem 0.9rem;
      font-size: 0.9rem;
    }

    @media (max-width: 720px) {
      .notice-bar {
        flex-direction: column;
        align-items: flex-start;
      }
      .notice-bar-btn {
        width: 100%;
        text-align: center;
      }
    }

    /* ===== Homepage answer-first block (en) ===== */
    .answer-first {
      border: 1px solid var(--border);
      border-radius: 14px;
      padding: 1.1rem;
      margin: 0 0 1.1rem;
      background: linear-gradient(180deg, var(--card-bg) 0%, var(--bg-secondary) 100%);
    }
    .answer-first-header h2 {
      font-size: 1.1rem;
      margin-bottom: 0.35rem;
    }
    .answer-first-header p {
      color: var(--text-muted);
      margin-bottom: 0.9rem;
      font-size: 0.95rem;
    }
    .answer-first-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0.75rem;
      margin-bottom: 0.8rem;
    }
    .answer-card {
      border: 1px solid var(--border);
      border-radius: 10px;
      padding: 0.7rem;
      background: var(--card-bg);
    }
    .answer-card h3 {
      font-size: 0.95rem;
      margin-bottom: 0.35rem;
    }
    .answer-card p {
      font-size: 0.88rem;
      color: var(--text-muted);
      margin: 0;
    }
    .answer-badges {
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem;
      margin-top: 0.6rem;
    }
    .answer-badges span {
      border: 1px solid var(--border);
      border-radius: 999px;
      padding: 0.1rem 0.55rem;
      font-size: 0.75rem;
      color: var(--text-muted);
      background: var(--bg-secondary);
    }
    .answer-proof-links {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 0.6rem;
      font-size: 0.86rem;
    }
    .answer-proof-links a {
      color: var(--accent);
      text-decoration: none;
    }
    .answer-proof-links a:hover {
      text-decoration: underline;
    }
    @media (max-width: 960px) {
      .answer-first-grid {
        grid-template-columns: 1fr;
      }
    }

    /* GEO homepage blocks (en): Why / What makes different / Example Brief */
    .geo-why .geo-why-p,
    .geo-diff .post-summary,
    .geo-example .post-summary {
      margin-bottom: 0.5rem;
    }
    .geo-ul {
      margin-top: 0.25rem;
      padding-left: 1.25rem;
    }

    .app-body {
      display: flex;
      gap: 0;
      align-items: flex-start;
    }

    /* 左侧折叠条：固定在视口最左侧，不占内容区 */
    .left-sidebar {
      position: fixed;
      left: 0;
      top: 0;
      bottom: 0;
      width: 48px;
      background: var(--bg-secondary);
      border-right: 1px solid var(--border);
      z-index: 200; /* 提升层级，确保覆盖 */
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .sidebar-rail {
      flex-shrink: 0;
      width: 48px;
      height: 48px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      color: var(--text-muted);
      transition: all 0.2s ease;
      margin-top: 1rem;
      border-radius: 8px;
    }
    .sidebar-rail:hover {
      color: var(--accent);
      background: rgba(0,0,0,0.03);
    }
    .sidebar-rail-icon {
      font-size: 1.4rem; /* 加大图标 */
      line-height: 1;
    }

    /* 展开时：上层浮层（B 方案） */
    .sidebar-overlay-backdrop {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,0.2);
      backdrop-filter: blur(2px); /* 增加背景模糊，更高级 */
      z-index: 199;
      animation: fadeIn 0.2s ease;
    }
    .left-sidebar.expanded .sidebar-overlay-backdrop {
      display: block;
    }
    
    .sidebar-panel {
      position: fixed;
      left: 48px; /* 紧贴左侧条 */
      top: 0;
      bottom: 0;
      width: 380px; /* 稍微调窄一点，更精致 */
      max-width: calc(100vw - 60px);
      background: var(--card-bg); /* 实色背景保证可读性 */
      border-right: 1px solid var(--border);
      box-shadow: 8px 0 24px -4px rgba(0,0,0,0.1); /* 更柔和的阴影 */
      z-index: 200;
      display: flex;
      flex-direction: column;
      padding: 1.5rem 1.2rem;
      transform: translateX(-100%);
      opacity: 0;
      pointer-events: none;
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease; /* iOS 风格动效 */
    }
    .left-sidebar.expanded .sidebar-panel {
      transform: translateX(0);
      opacity: 1;
      pointer-events: auto;
    }

    .sidebar-panel-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 1.2rem;
      font-weight: 700;
      font-size: 1rem;
      color: var(--text);
      padding-bottom: 0.8rem;
      border-bottom: 1px solid var(--border);
    }

    .sidebar-panel .search-box {
      margin-bottom: 1rem;
      width: 100%;
      max-width: none;
      flex: 0 0 auto; /* 关键修复：防止在纵向布局中被拉伸 */
      height: auto;
      padding: 0.7rem 0.9rem; /* 稍微舒服的内边距 */
      border-radius: 10px;
      background: var(--bg-secondary);
      border: 1px solid transparent;
      transition: all 0.2s;
      display: flex;
      align-items: center;
    }
    .sidebar-panel .search-box:focus-within {
      background: var(--card-bg);
      border-color: var(--accent);
      box-shadow: 0 0 0 3px var(--accent-soft);
    }
    
    .sidebar-panel .sidebar-list {
      flex: 1;
      min-height: 0; /* 关键：允许 flex 子项收缩，防止溢出 */
      overflow-y: auto;
      overflow-x: hidden;
      margin-top: 0.5rem;
      padding-right: 8px;
      padding-bottom: 0; /* 底部留白，防止最后一项被遮挡 */
      counter-reset: sidebar-idx;
    }
    
    .sidebar-panel .sidebar-list a {
      display: block; /* 改为块级布局，配合悬挂缩进 */
      padding: 0.65rem 0.8rem;
      padding-left: 2.2em; /* 为序号留出空间 */
      text-indent: -2.2em; /* 悬挂缩进：首行（含序号）左移，后续行保持缩进 */
      margin-bottom: 4px;
      font-size: 0.9rem;
      color: var(--text);
      text-decoration: none;
      border-radius: 8px;
      transition: all 0.15s;
      line-height: 1.6; /* 增加行高，多行时更透气 */
      word-break: break-word; /* 防止超长单词撑破布局 */
    }
    
    /* 自动序号：利用悬挂缩进自然对齐 */
    .sidebar-panel .sidebar-list a::before {
      counter-increment: sidebar-idx;
      content: counter(sidebar-idx) ". ";
      color: var(--text-muted);
      font-family: "JetBrains Mono", monospace;
      font-size: 0.82rem;
      opacity: 0.65;
      font-weight: 600;
    }
    
    .sidebar-panel .sidebar-list a:hover {
      background: var(--hover-bg);
      color: var(--accent);
    }
    
    .sidebar-panel .sidebar-list a:hover::before {
      color: var(--accent);
      opacity: 1;
    }
    
    /* 滚动条优化：细窄透明，悬停时显示 */
    .sidebar-panel .sidebar-list::-webkit-scrollbar {
      width: 5px;
    }
    .sidebar-panel .sidebar-list::-webkit-scrollbar-track {
      background: transparent;
    }
    .sidebar-panel .sidebar-list::-webkit-scrollbar-thumb {
      background: rgba(0,0,0,0.15);
      border-radius: 3px;
    }
    .sidebar-panel .sidebar-list::-webkit-scrollbar-thumb:hover {
      background: rgba(0,0,0,0.3);
    }

    /* 订阅速报推送（弹窗内） */
    .webhook-input {
      border: 1px solid var(--border);
      border-radius: 6px;
      background: var(--card-bg);
      color: var(--text);
    }
    .webhook-input:focus {
      outline: none;
      border-color: var(--accent);
    }
    .webhook-result {
      margin-top: 0.8rem;
      padding: 0.6rem;
      background: var(--accent-soft);
      border-radius: 6px;
      font-size: 0.8rem;
    }
    .webhook-success {
      color: var(--accent);
      margin-bottom: 0.4rem;
    }
    .webhook-unsub {
      margin: 0.5rem 0;
      word-break: break-all;
    }
    .webhook-unsub a {
      color: var(--accent);
      font-size: 0.75rem;
    }
    .btn-sm {
      padding: 0.35rem 0.6rem;
      font-size: 0.8rem;
    }

    [data-theme="dark"] .sidebar-panel .sidebar-list::-webkit-scrollbar-thumb {
      background: rgba(255,255,255,0.2);
    }
    [data-theme="dark"] .sidebar-panel .sidebar-list::-webkit-scrollbar-thumb:hover {
      background: rgba(255,255,255,0.35);
    }

    /* 主内容区为侧边栏留出空间（浮层展开时主内容不移动） */
    .main-wrap {
      margin-left: 48px;
      min-height: 100vh;
    }
    /* 无侧边栏页面（更新速报、Trends、Skills 等） */
    body.no-sidebar .main-wrap {
      margin-left: 0;
    }

    .layout {
      display: flex;
      gap: 3rem;
      align-items: flex-start;
      flex: 1;
      min-width: 0;
    }

    .left-col {
      flex: 1;
      min-width: 0;
    }

    .right-col {
      flex: 0 0 35%; /* 固定占 35% */
      position: sticky;
      top: 1.5rem;
      max-height: calc(100vh - 3rem);
      overflow-y: auto;
      padding-right: 4px;
    }

    /* 滚动条美化（浅色） */
    .right-col::-webkit-scrollbar {
      width: 6px;
    }
    .right-col::-webkit-scrollbar-thumb {
      background: #d0d0d0;
      border-radius: 3px;
    }

    /* 工具栏 */
    .toolbar {
      display: flex;
      align-items: center;
      gap: 0.8rem;
      margin-bottom: 1.5rem;
      flex-wrap: wrap;
    }

    .field {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      padding: 0.4rem 0.8rem;
      border: 1px solid var(--border);
      border-radius: 6px;
      background: var(--card-bg);
      color: var(--text-muted);
      font-size: 0.85rem;
      box-shadow: 0 1px 2px var(--shadow);
    }

    .field input {
      width: 50px;
      background: transparent;
      border: 0;
      outline: none;
      color: var(--text);
      font-family: "JetBrains Mono", monospace;
      font-weight: 600;
      text-align: center;
      font-size: 0.9rem;
    }

    /* 搜索框 */
    .search-box {
      display: flex;
      align-items: center;
      gap: 0.4rem;
      padding: 0.4rem 0.8rem;
      border: 1px solid var(--border);
      border-radius: 6px;
      background: var(--card-bg);
      font-size: 0.85rem;
      box-shadow: 0 1px 2px var(--shadow);
      flex: 1;
      min-width: 140px;
      max-width: 300px;
    }
    .search-box input {
      flex: 1;
      background: transparent;
      border: 0;
      outline: none;
      color: var(--text);
      font-size: 0.9rem;
      min-width: 80px;
    }
    .search-box .search-icon,
    .search-box .search-icon-svg {
      color: var(--text-muted);
      font-size: 0.9rem;
      flex-shrink: 0;
    }
    .search-icon-svg {
      opacity: 0.7;
    }
    .btn-icon {
      flex-shrink: 0;
    }
    .search-box .search-clear {
      color: var(--text-muted);
      cursor: pointer;
      font-size: 0.85rem;
      padding: 0.1rem 0.3rem;
      border-radius: 3px;
      display: none;
    }
    .search-box .search-clear:hover {
      background: rgba(0,0,0,0.05);
      color: var(--text);
    }
    .search-box .search-clear.visible {
      display: block;
    }
    .search-box.has-value {
      border-color: var(--accent);
    }
    .search-stats {
      font-size: 0.8rem;
      color: var(--accent);
      margin-left: 0.5rem;
      font-weight: 500;
    }
    .article-card.hidden {
      display: none;
    }
    .article-card.match-highlight .article-title {
      color: var(--accent);
    }
    .article-card.category-hidden {
      display: none;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      padding: 0.4rem 0.9rem;
      border: 1px solid var(--border);
      border-radius: 6px;
      font-size: 0.875rem;
      cursor: pointer;
      background: var(--card-bg);
      color: var(--text);
      box-shadow: 0 1px 2px var(--shadow);
      transition: all 0.2s;
    }

    .btn:hover {
      background: var(--hover-bg);
      border-color: var(--accent);
    }

    .btn.primary {
      background: var(--text);
      color: var(--bg);
      border-color: var(--text);
    }
    .btn.primary:hover {
      background: var(--accent);
      border-color: var(--accent);
    }
    
    .ghost-btn {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      padding: 0.3rem 0.6rem;
      background: transparent;
      color: var(--text-muted);
      border: 1px solid transparent;
      border-radius: 4px;
      font-size: 0.8rem;
      cursor: pointer;
      transition: all 0.2s;
    }
    .ghost-btn:hover {
      background: var(--hover-bg);
      color: var(--text);
    }

    .count-badge {
      font-family: "JetBrains Mono", monospace;
      font-size: 0.8rem;
      color: var(--text-muted);
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      flex-wrap: wrap;
    }
    .count-badge-sep {
      opacity: 0.55;
    }
    .count-badge-toggle {
      border: 1px solid var(--border);
      background: var(--bg-secondary);
      color: var(--accent);
      border-radius: 999px;
      padding: 0.1rem 0.55rem;
      font-size: 0.76rem;
      line-height: 1.35;
      cursor: pointer;
    }
    .count-badge-toggle:hover {
      border-color: var(--accent);
      background: var(--accent-soft);
    }
    .count-badge-toggle-active {
      border-color: var(--accent);
      background: var(--accent-soft);
      color: var(--accent);
      font-weight: 600;
    }
    .count-badge-toggle-muted {
      color: var(--text-muted);
      background: transparent;
    }
    .count-badge-toggle:disabled {
      cursor: default;
      opacity: 0.95;
    }

    /* 文章列表 */
    .article-list {
      display: flex;
      flex-direction: column;
      gap: 1.2rem;
    }

    .article-card {
      position: relative;
      background: var(--card-bg);
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 1.5rem;
      padding-right: 4rem; /* 为右上角按钮留空间 */
      box-shadow: 0 2px 4px var(--shadow);
      transition: all 0.2s;
    }
    
    /* 渡鸦日报卡片：轻紫色强调，便于扫读 */
    .article-card.raven-card {
      border-left: 4px solid rgba(124, 58, 237, 0.45);
    }
    .article-card.raven-card:hover {
      border-left-color: rgba(124, 58, 237, 0.8);
    }
    
    .article-category.raven-label {
      background: rgba(124, 58, 237, 0.1);
      color: #7c3aed;
      border-color: rgba(124, 58, 237, 0.2);
    }
    
    .archive-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      height: 28px;
      padding: 0 0.6rem;
      border-radius: 6px;
      border: 1px solid rgba(124, 58, 237, 0.25);
      background: rgba(124, 58, 237, 0.08);
      color: #7c3aed;
      font-size: 0.8rem;
      cursor: pointer;
      text-decoration: none;
      transition: all 0.2s;
      white-space: nowrap;
    }
    .archive-btn:hover {
      background: rgba(124, 58, 237, 0.14);
      border-color: rgba(124, 58, 237, 0.45);
    }
    .article-card-actions {
      position: absolute;
      top: 1rem;
      right: 1rem;
      display: flex;
      gap: 0.4rem;
      align-items: center;
    }
    .article-card-actions .share-btn {
      position: relative;
    }

    .article-card:hover {
      box-shadow: 0 4px 12px var(--shadow);
      border-color: var(--accent);
      transform: translateY(-1px);
    }

    .article-card a {
      color: inherit;
      text-decoration: none;
      display: block;
    }

    .article-title {
      font-size: 1.1rem;
      font-weight: 700;
      margin-bottom: 0.6rem;
      line-height: 1.4;
      color: var(--text);
    }

    .article-title:hover {
      color: var(--accent);
    }

    .article-summary {
      font-size: 0.95rem;
      color: var(--text-muted);
      margin-bottom: 0.8rem;
      line-height: 1.6;
      /* 多行省略 */
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .article-meta {
      display: flex;
      align-items: center;
      gap: 0.8rem;
      font-size: 0.8rem;
      color: var(--text-muted);
    }

    .article-date {
      font-family: "JetBrains Mono", monospace;
    }

    .article-author {
      padding: 0.1rem 0.4rem;
      background: var(--bg-secondary);
      color: var(--text-muted);
      border-radius: 4px;
      font-weight: 500;
    }

    .article-categories {
      display: flex;
      gap: 0.4rem;
      flex-wrap: wrap;
    }

    .article-category {
      display: inline-block;
      padding: 0.15rem 0.5rem; /* 稍微紧凑点 */
      background: var(--accent-soft);
      color: var(--accent);
      border: 1px solid rgba(46, 134, 222, 0.15);
      border-radius: 12px; /* 全圆角更现代 */
      font-size: 0.75rem;
      font-weight: 500;
      line-height: 1.3;
      margin: 0.1rem 0.2rem 0.1rem 0;
      white-space: nowrap; /* 关键：防止标签内断行 */
      vertical-align: middle;
    }

    /* 阅读时间标签 */
    .reading-time {
      display: inline-flex;
      align-items: center;
      gap: 0.2rem;
      padding: 0.2rem 0.5rem;
      background: var(--bg-secondary);
      color: var(--text-muted);
      border-radius: 6px;
      font-size: 0.78rem;
      font-weight: 500;
      white-space: nowrap;
    }

    /* 来源 favicon */
    .source-favicon {
      width: 16px;
      height: 16px;
      min-width: 16px;
      border-radius: 3px;
      vertical-align: middle;
      opacity: 0.9;
      transition: opacity 0.2s;
      object-fit: contain;
    }
    .source-favicon:hover {
      opacity: 1;
    }
    .article-title-wrap {
      display: flex;
      align-items: center;
      margin-bottom: 0.6rem;
      gap: 0.5rem;
      min-width: 0; /* 允许 flex 子项收缩，防止溢出 */
    }
    .article-title-wrap .source-favicon {
      flex-shrink: 0;
    }
    .article-title-wrap .article-title {
      min-width: 0;
      overflow-wrap: break-word;
    }

    /* 分享按钮 */
    .share-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 28px;
      height: 28px;
      padding: 0;
      background: transparent;
      color: var(--text-muted);
      border: none;
      border-radius: 6px;
      cursor: pointer;
      transition: all 0.2s;
    }
    .share-btn:hover {
      background: var(--accent-soft);
      color: var(--accent);
    }
    .share-btn.copied {
      color: #2e7d32;
      background: rgba(46, 125, 50, 0.12);
    }
    .share-btn svg {
      width: 16px;
      height: 16px;
    }

    /* 分享弹窗 */
    .share-menu {
      position: absolute;
      top: 100%;
      right: 0;
      margin-top: 0.25rem;
      background: var(--card-bg);
      border: 1px solid var(--border);
      border-radius: 6px;
      box-shadow: 0 4px 12px var(--shadow);
      padding: 0.5rem 0;
      min-width: 140px;
      z-index: 50;
      display: none;
    }
    .share-menu.show {
      display: block;
    }
    .share-menu-item {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.5rem 1rem;
      font-size: 0.85rem;
      color: var(--text);
      cursor: pointer;
      transition: background 0.15s;
      text-decoration: none;
    }
    .share-menu-item:hover {
      background: var(--hover-bg);
    }


    /* AI 分析栏（右侧） */
    .ai-summary-box {
      background: var(--bg-secondary); /* 浅灰底色 */
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 1.5rem;
    }
    
    /* AI 模块标题图标 */
    .ai-icon {
      display: inline-block;
      width: 20px;
      height: 20px;
      vertical-align: -4px;
      margin-right: 0.4rem;
      color: var(--accent);
    }
    .ai-icon svg {
      width: 100%;
      height: 100%;
    }

    .ai-summary-content {
      font-size: 0.92rem;
      line-height: 1.6;
      white-space: normal;
    }

    .hotspot {
      margin-bottom: 1.5rem;
      padding-bottom: 1.2rem;
      border-bottom: 1px solid #e0e0e0;
    }
    .hotspot:last-child {
      border-bottom: 0;
    }

    .hotspot-name {
      font-weight: 700;
      font-size: 0.98rem;
      color: var(--text);
      margin-bottom: 0.4rem;
    }

    .hotspot-why {
      color: var(--text);
      margin-bottom: 0.6rem;
    }

    .hotspot-why b {
      color: var(--orange);
    }

    /* 引用链接列表 */
    .evidences {
      display: flex;
      flex-direction: column;
      gap: 0.3rem;
      font-size: 0.85rem;
      margin-bottom: 0.6rem;
    }

    .evidences a {
      color: var(--accent);
      text-decoration: none;
      position: relative;
      padding-left: 12px;
    }

    .evidences a::before {
      content: "•";
      position: absolute;
      left: 0;
      color: #bbb;
    }

    .evidences a:hover {
      text-decoration: underline;
    }

    /* 引用摘录块 */
    .hotspot-quote {
      background: var(--bg);
      border-left: 3px solid var(--accent);
      padding: 0.6rem 0.8rem;
      color: var(--text-muted);
      font-size: 0.85rem;
      font-style: italic;
      border-radius: 0 4px 4px 0;
      box-shadow: 0 1px 2px var(--shadow);
    }

    .directions {
      margin-bottom: 1.5rem;
      padding-bottom: 1.2rem;
      border-bottom: 2px dashed #e0e0e0;
    }
    .directions ul {
      margin-left: 1.2rem;
      color: var(--text);
      margin-top: 0.5rem;
    }
    .directions li {
      margin-bottom: 0.4rem;
    }

    /* Modal 样式 */
    .modal-overlay {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0,0,0,0.6);
      z-index: 100;
      align-items: center;
      justify-content: center;
    }
    .modal {
      background: var(--card-bg);
      padding: 2rem;
      border-radius: 8px;
      width: 90%;
      max-width: 400px;
      box-shadow: 0 4px 20px var(--shadow);
      border: 1px solid var(--border);
    }
    .modal h3 {
      margin-bottom: 1rem;
    }
    .modal input {
      width: 100%;
      padding: 0.6rem;
      margin-bottom: 1rem;
      border: 1px solid var(--border);
      border-radius: 4px;
      font-family: "JetBrains Mono", monospace;
      background: var(--bg);
      color: var(--text);
    }
    .modal-actions {
      display: flex;
      justify-content: flex-end;
      gap: 0.5rem;
    }

    /* 移动端/窄屏适配 */
    .mobile-ai-container {
      display: none; /* 默认宽屏隐藏 */
      margin-bottom: 2rem;
    }

    @media (max-width: 900px) {
      .layout {
        display: block; /* 改为单列 */
      }
      .right-col {
        display: none; /* 隐藏右侧栏 */
      }
      .mobile-ai-container {
        display: block; /* 显示移动端容器 */
      }
      /* 移动端下 AI 分析块样式微调 */
      .ai-summary-box {
        border-left: 4px solid var(--accent);
      }
    }

    /* RSS 加载进度条：顶部 indeterminate 动画 */
    .rss-loading-bar {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, transparent, var(--accent), transparent);
      background-size: 200% 100%;
      background-position: 100% 0;
      z-index: 9999;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.2s;
    }
    .rss-loading-bar.active {
      opacity: 1;
      animation: rss-loading-slide 1.2s ease-in-out infinite;
    }
    @keyframes rss-loading-slide {
      0% { background-position: 200% 0; }
      100% { background-position: -200% 0; }
    }
    .loading-state {
      padding: 4rem;
      color: var(--text-muted);
      text-align: center;
    }
    .empty-state {
      padding: 3rem;
      text-align: center;
      background: var(--bg-secondary);
      border-radius: 8px;
      color: var(--text-muted);
    }

    /* 面包屑导航 */
    .breadcrumb {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      font-size: 0.85rem;
      color: var(--text-muted);
      margin-bottom: 1rem;
      padding: 0.5rem 0;
    }
    .breadcrumb a {
      color: var(--text-muted);
      text-decoration: none;
      transition: color 0.2s;
    }
    .breadcrumb a:hover {
      color: var(--accent);
    }
    .breadcrumb-separator {
      opacity: 0.5;
    }
    .breadcrumb-current {
      color: var(--text);
      font-weight: 500;
    }

    .sidebar-panel-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 0.75rem;
      font-weight: 600;
      font-size: 0.9rem;
      color: var(--text);
    }
    .sidebar-panel-close {
      background: none;
      border: none;
      font-size: 1.2rem;
      color: var(--text-muted);
      cursor: pointer;
      padding: 0.1rem 0.3rem;
      line-height: 1;
    }
    .sidebar-panel-close:hover {
      color: var(--text);
    }

    /* Skip Link - WCAG 2.4.1 Bypass Blocks（中性色，避免移动端蓝色条感） */
    .skip-link {
      position: absolute;
      top: -100%;
      left: 50%;
      transform: translateX(-50%);
      background: var(--text);
      color: var(--bg);
      padding: 0.75rem 1.5rem;
      border-radius: 0 0 8px 8px;
      text-decoration: none;
      font-weight: 500;
      z-index: 100;
      transition: top 0.2s;
      box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    }
    .skip-link:focus {
      top: 0;
      outline: 3px solid var(--text);
      outline-offset: 2px;
    }

    /* 页脚样式 */
    .site-footer {
      margin-top: 3rem;
      padding: 2.5rem 0;
      border-top: 1px solid var(--border);
      background: var(--bg-secondary);
    }
    .footer-content {
      max-width: 900px;
      margin: 0 auto;
      padding: 0 2rem;
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1rem;
    }
    .footer-brand {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      margin-bottom: 0.8rem;
      opacity: 0.85;
    }
    .footer-brand .brand-name {
      font-weight: 700;
      font-size: 1.1rem;
      color: var(--text);
    }
    .footer-links {
      display: flex;
      justify-content: center;
      gap: 1.5rem;
      margin-bottom: 0.5rem;
      flex-wrap: wrap;
    }
    .footer-links a {
      color: var(--text-muted);
      text-decoration: none;
      font-size: 0.85rem;
      transition: color 0.2s;
      display: inline-flex;
      align-items: center;
      gap: 0.3rem;
    }
    .footer-links a:hover {
      color: var(--accent);
    }
    .footer-links a.footer-link-secondary {
      font-size: 0.8rem;
      opacity: 0.9;
    }
    .footer-info {
      display: flex;
      flex-direction: column;
      gap: 0.4rem;
    }
    .footer-copy {
      font-size: 0.85rem;
      color: var(--text);
      font-weight: 500;
      margin: 0;
    }
    .footer-attribution {
      font-size: 0.75rem;
      color: var(--text-muted);
      margin: 0;
    }
    .footer-attribution a {
      color: inherit;
      text-decoration: underline;
    }
    .footer-contact {
      font-size: 0.75rem;
      color: var(--text-muted);
      margin: 0;
    }
    .footer-contact a {
      color: inherit;
      text-decoration: underline;
    }

    /* 返回顶部 */
    .back-to-top {
      position: fixed;
      bottom: 2rem;
      right: 2rem;
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: var(--card-bg);
      border: 1px solid var(--border);
      box-shadow: 0 2px 8px var(--shadow);
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.2rem;
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s;
      z-index: 40;
      color: var(--text);
    }
    .back-to-top.visible {
      opacity: 1;
      visibility: visible;
    }
    .back-to-top:hover {
      background: var(--accent-soft);
      border-color: var(--accent);
      transform: translateY(-2px);
    }

    /* 主题切换按钮 */
    .theme-toggle {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.4rem;
      padding: 0.4rem 0.9rem;
      border: 1px solid var(--border);
      border-radius: 6px;
      font-size: 0.875rem;
      cursor: pointer;
      background: var(--card-bg);
      color: var(--text);
      box-shadow: 0 1px 2px var(--shadow);
      transition: all 0.2s;
    }
    .theme-toggle:hover {
      background: var(--hover-bg);
      border-color: var(--accent);
    }

    /* 页脚导出与链接 */
    .footer-icon {
      vertical-align: -2px;
      margin-right: 0.2rem;
    }
    .footer-export-wrap {
      position: relative;
      display: inline-block;
    }
    .footer-export-btn,
    .footer-link-btn {
      background: none;
      border: none;
      color: var(--text-muted);
      font-size: 0.85rem;
      cursor: pointer;
      padding: 0;
      font-family: inherit;
    }
    .footer-export-btn:hover,
    .footer-link-btn:hover {
      color: var(--accent);
    }
    .footer-export-btn:disabled {
      opacity: 0.5;
      cursor: not-allowed;
    }
    .footer-export-menu {
      position: absolute;
      bottom: 100%;
      left: 0;
      margin-bottom: 0.5rem;
      background: var(--card-bg);
      border: 1px solid var(--border);
      border-radius: 6px;
      box-shadow: 0 4px 12px var(--shadow);
      padding: 0.4rem 0;
      min-width: 120px;
      display: none;
      z-index: 50;
    }
    .footer-export-menu.show {
      display: block;
    }
    .footer-export-item {
      display: block;
      width: 100%;
      padding: 0.5rem 1rem;
      font-size: 0.85rem;
      text-align: left;
      background: none;
      border: none;
      color: var(--text);
      cursor: pointer;
      font-family: inherit;
    }
    .footer-export-item:hover {
      background: var(--hover-bg);
    }

    /* 收藏功能样式 */
    .bookmark-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 28px;
      height: 28px;
      padding: 0;
      background: transparent;
      color: var(--text-muted);
      border: none;
      border-radius: 6px;
      cursor: pointer;
      transition: all 0.2s;
    }
    .btn.ghost {
      background: transparent;
      border: 1px solid var(--border);
      color: var(--text);
    }
    .btn.ghost:hover {
      border-color: var(--accent);
      color: var(--accent);
    }
    .bookmark-btn:hover {
      background: rgba(255, 193, 7, 0.15);
      color: #e6a800;
    }
    .bookmark-btn.bookmarked {
      color: #e6a800;
    }
    .bookmark-btn.bookmarked:hover {
      background: rgba(231, 76, 60, 0.12);
      color: #d32f2f;
    }
    .bookmark-btn svg {
      width: 16px;
      height: 16px;
    }
    .article-card.bookmarked-card {
      border-left: 3px solid #f39c12;
    }
    .bookmark-filter {
      display: inline-flex;
      align-items: center;
      gap: 0.3rem;
      padding: 0.3rem 0.8rem;
      background: var(--card-bg);
      border: 1px solid var(--border);
      border-radius: 16px;
      font-size: 0.8rem;
      color: var(--text-muted);
      cursor: pointer;
      transition: all 0.2s;
    }
    .bookmark-filter:hover, .bookmark-filter.active {
      border-color: #f39c12;
      color: #f39c12;
      background: rgba(255, 193, 7, 0.08);
    }
    .bookmark-filter .count {
      margin-left: 0.3rem;
      opacity: 0.7;
      font-size: 0.75rem;
      background: rgba(243, 156, 18, 0.15);
      padding: 0.1rem 0.4rem;
      border-radius: 10px;
    }
    .bookmark-empty-state {
      text-align: center;
      padding: 3rem;
      color: var(--text-muted);
    }
    .bookmark-empty-state-icon {
      font-size: 3rem;
      margin-bottom: 1rem;
      opacity: 0.5;
    }

    /* 键盘快捷键帮助面板样式 */
    .shortcuts-list {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }
    .shortcut-item {
      display: flex;
      align-items: center;
      gap: 1rem;
      padding: 0.4rem 0;
      border-bottom: 1px solid var(--border);
    }
    .shortcut-item:last-child {
      border-bottom: none;
    }
    .shortcut-key {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 32px;
      padding: 0.3rem 0.6rem;
      background: var(--bg-secondary);
      border: 1px solid var(--border);
      border-radius: 6px;
      font-family: "JetBrains Mono", monospace;
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--text);
      box-shadow: 0 2px 0 var(--border);
      transition: all 0.1s;
    }
    .shortcut-key:active {
      transform: translateY(2px);
      box-shadow: 0 0 0 var(--border);
    }
    .shortcut-desc {
      font-size: 0.9rem;
      color: var(--text-muted);
    }

    /* Toast 通知系统 */
    .toast-container {
      position: fixed;
      top: 1.5rem;
      right: 1.5rem;
      z-index: 1000;
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
      pointer-events: none;
    }
    .toast {
      background: var(--card-bg);
      border: 1px solid var(--border);
      border-left: 4px solid var(--accent);
      border-radius: 6px;
      padding: 0.8rem 1.2rem;
      box-shadow: 0 4px 12px var(--shadow);
      font-size: 0.9rem;
      color: var(--text);
      display: flex;
      align-items: center;
      gap: 0.6rem;
      transform: translateX(120%);
      opacity: 0;
      transition: all 0.3s ease;
      pointer-events: auto;
      max-width: 320px;
    }
    .toast.show {
      transform: translateX(0);
      opacity: 1;
    }
    .toast.success {
      border-left-color: #2e7d32;
    }
    .toast.error {
      border-left-color: #e74c3c;
    }
    .toast.info {
      border-left-color: var(--accent);
    }
    .toast-icon {
      font-size: 1.1rem;
      flex-shrink: 0;
    }
    .toast-message {
      flex: 1;
      line-height: 1.4;
    }
    @media (max-width: 600px) {
      .toast-container {
        top: auto;
        bottom: 1.5rem;
        left: 1.5rem;
        right: 1.5rem;
      }
      .toast {
        max-width: none;
      }
    }

    /* 外部聚合区块（GitHub Trend / Skills） */
    .mini-section {
      margin: 1.5rem 0 2rem;
      padding: 1rem;
      background: var(--card-bg);
      border: 1px solid var(--border);
      border-radius: 10px;
      box-shadow: 0 4px 12px var(--shadow);
    }
    .section-header {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 1rem;
      margin-bottom: 0.8rem;
    }
    .section-header h2 {
      font-size: 1.1rem;
      margin: 0;
    }
    .section-meta {
      font-size: 0.85rem;
      color: var(--text-muted);
    }
    .mini-list {
      display: flex;
      flex-direction: column;
      gap: 0.8rem;
    }
    .pagination {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 1.5rem;
      margin-top: 1.5rem;
      padding-top: 1.5rem;
      border-top: 1px solid var(--border);
    }
    .pagination a {
      color: var(--accent);
      text-decoration: none;
      font-size: 0.95rem;
    }
    .pagination a:hover {
      text-decoration: underline;
    }
    .pagination-info {
      font-size: 0.9rem;
      color: var(--text-muted);
    }
    .mini-item {
      padding-bottom: 0.8rem;
      border-bottom: 1px dashed var(--border);
    }
    .mini-item:last-child {
      border-bottom: none;
      padding-bottom: 0;
    }
    .mini-title {
      display: block;
      font-size: 0.98rem;
      font-weight: 600;
      color: var(--text);
      text-decoration: none;
      margin-bottom: 0.3rem;
    }
    .mini-title:hover {
      color: var(--accent);
    }
    .mini-meta {
      display: flex;
      gap: 0.6rem;
      align-items: center;
      font-size: 0.8rem;
      color: var(--text-muted);
      margin-bottom: 0.4rem;
      flex-wrap: wrap;
    }
    .mini-source {
      display: inline-flex;
      align-items: center;
      gap: 0.3rem;
      padding: 0.1rem 0.45rem;
      border-radius: 999px;
      background: rgba(46, 134, 222, 0.12);
      color: var(--accent);
      text-decoration: none;
      font-weight: 600;
    }
    .mini-date {
      color: var(--text-muted);
    }
    .mini-summary {
      margin: 0;
      color: var(--text-muted);
      font-size: 0.9rem;
      line-height: 1.45;
    }

    .card-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 0.8rem;
    }
    .mini-card {
      border: 1px solid var(--border);
      border-radius: 10px;
      padding: 1rem;
      background: var(--bg-secondary);
      box-shadow: 0 2px 6px var(--shadow);
      transition: all 0.2s;
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }
    .mini-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 12px var(--shadow);
      border-color: var(--accent);
    }
    .mini-card .mini-title {
      font-size: 1rem;
      font-weight: 600;
      color: var(--text);
      text-decoration: none;
      line-height: 1.4;
    }
    .mini-card .mini-title:hover {
      color: var(--accent);
    }



    .trend-sections {
      display: flex;
      flex-direction: column;
      gap: 1.5rem;
    }
    .trend-block {
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 1.25rem;
      background: var(--card-bg);
    }
    .trend-block.highlight {
      border: 2px solid var(--accent);
      background: linear-gradient(135deg, var(--card-bg) 0%, var(--accent-soft) 100%);
      box-shadow: 0 8px 24px var(--shadow);
      position: relative;
      overflow: hidden;
    }
    .trend-block.highlight::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 4px;
      background: linear-gradient(90deg, var(--accent), rgba(40, 200, 160, 0.8));
    }
    .trend-block-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 1rem;
      padding-bottom: 0.5rem;
      border-bottom: 1px solid var(--border);
    }
    .stat-row {
      display: flex;
      gap: 0.4rem;
      flex-wrap: wrap;
      min-height: 26px;
      align-items: center;
    }
    .stat-chip {
      padding: 0.2rem 0.7rem;
      border-radius: 6px;
      border: 1px solid var(--border);
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--text);
      background: var(--bg);
      display: inline-flex;
      align-items: center;
      gap: 0.25rem;
      white-space: nowrap;
    }
    [data-theme="dark"] .stat-chip {
      background: rgba(255,255,255,0.04);
    }
    .stat-chip.accent {
      border-color: var(--accent);
      color: var(--accent);
      background: var(--accent-soft);
      font-weight: 700;
    }
    /* 空状态占位，避免塌陷 */
    .stat-row:empty::after {
      content: "统计信息加载中...";
      font-size: 0.75rem;
      color: var(--text-muted);
      opacity: 0.5;
    }

    .filter-select {
      padding: 0.45rem 0.7rem;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--bg-secondary);
      color: var(--text);
      font-size: 0.9rem;
    }
    .section-hint {
      margin-top: 0.8rem;
      font-size: 0.85rem;
      color: var(--text-muted);
    }

    /* 单列布局 */
    .layout.single-col {
      grid-template-columns: 1fr;
    }
    .layout.with-side {
      grid-template-columns: minmax(0, 1fr) 220px;
      gap: 1.5rem;
      align-items: start;
    }
    .side-nav {
      position: sticky;
      top: 1.5rem;
      align-self: start;
      padding: 0.8rem;
      border: 1px solid var(--border);
      border-radius: 10px;
      background: var(--card-bg);
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
      font-size: 0.9rem;
    }
    .side-nav-title {
      font-weight: 600;
      color: var(--text);
      margin-bottom: 0.2rem;
    }
    .side-nav a {
      color: var(--text-muted);
      text-decoration: none;
    }
    .side-nav a:hover {
      color: var(--accent);
    }
    @media (max-width: 980px) {
      .layout.with-side {
        grid-template-columns: 1fr;
      }
      .side-nav {
        position: static;
        flex-direction: row;
        flex-wrap: wrap;
      }
    }

    /* 顶部导航 */
    .top-nav {
      margin-bottom: 2rem;
      border-bottom: 1px solid var(--border);
      padding-bottom: 0.75rem;
    }

    .top-nav-container {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 1rem;
    }

    .top-nav-right {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 0.6rem;
      flex-wrap: wrap;
    }

    .top-nav-brand {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      text-decoration: none;
      color: var(--text);
      font-weight: 700;
      font-size: 1.15rem;
    }

    .brand-logo-small {
      width: 28px;
      height: 28px;
      object-fit: contain;
      border-radius: 4px;
    }

    .top-nav-links {
      display: flex;
      gap: 0.6rem;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .top-nav-lang {
      font-weight: 700;
      letter-spacing: 0.02em;
    }

    /* EN: 两层导航更像“切换按钮 + 辅助入口” */
    .top-nav-links.is-en {
      flex-direction: column;
      align-items: flex-end;
      gap: 0.35rem;
    }

    .top-nav-links-primary {
      display: flex;
      gap: 0.6rem;
      flex-wrap: wrap;
      align-items: center;
    }

    /* EN: 主入口做成一组“切换按钮” */
    .top-nav-links.is-en .top-nav-links-primary {
      background: var(--bg-secondary);
      border: 1px solid var(--border);
      border-radius: 999px;
      padding: 0.18rem;
      gap: 0.25rem;
    }

    .top-nav-links.is-en .top-nav-links-primary .top-nav-link {
      border: 1px solid transparent;
      background: transparent;
    }

    .top-nav-links.is-en .top-nav-links-primary .top-nav-link:hover {
      border-color: transparent;
      background: var(--accent-soft);
      color: var(--accent);
    }

    .top-nav-links.is-en .top-nav-links-primary .top-nav-link.active,
    .top-nav-links.is-en .top-nav-links-primary .top-nav-link[aria-current="page"] {
      border-color: var(--border);
      background: var(--bg);
      color: var(--text);
      font-weight: 700;
      box-shadow: 0 1px 2px var(--shadow);
    }

    /* 英文站：次级入口（Methodology/Compare/Best/For/FAQ）视觉弱化，但仍可见可点 */
    .top-nav-links-secondary {
      display: flex;
      gap: 0.45rem;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      flex-basis: 100%;
      margin-top: 0;
    }

    .top-nav-links-secondary .top-nav-link {
      padding: 0.12rem 0.25rem;
      border: 1px solid transparent;
      border-radius: 6px;
      background: transparent;
      font-size: 0.78rem;
      color: var(--text-muted);
      opacity: 0.72;
    }

    .top-nav-links-secondary .top-nav-link:hover {
      border-color: transparent;
      background: transparent;
      color: var(--text);
      opacity: 1;
      text-decoration: underline;
    }

    .top-nav-links-secondary .top-nav-link.active,
    .top-nav-links-secondary .top-nav-link[aria-current="page"] {
      border-color: transparent;
      background: transparent;
      color: var(--text);
      opacity: 1;
      font-weight: 600;
      text-decoration: underline;
    }

    @media (max-width: 720px) {
      .top-nav-links.is-en {
        align-items: flex-start;
      }
      .top-nav-links-secondary {
        justify-content: flex-start;
        margin-top: 0.1rem;
      }
    }

    .top-nav-link {
      display: inline-flex;
      align-items: center;
      padding: 0.3rem 0.7rem;
      border-radius: 999px;
      border: 1px solid var(--border);
      color: var(--text-muted);
      text-decoration: none;
      font-size: 0.85rem;
      background: var(--bg-secondary);
      transition: all 0.2s;
    }

    .top-nav-link:hover {
      border-color: var(--accent);
      color: var(--accent);
      background: var(--accent-soft);
    }

    .top-nav-link.active,
    .top-nav-link[aria-current="page"] {
      border-color: var(--accent);
      color: var(--accent);
      background: var(--accent-soft);
      font-weight: 600;
    }

    .toolbar .field select {
      padding: 0.25rem 0.5rem;
      border-radius: 6px;
      border: 1px solid var(--border);
      background: var(--bg-secondary);
      color: var(--text);
      font-size: 0.85rem;
    }
    .toolbar .field {
      gap: 0.4rem;
    }

    /* 简易筛选输入 */
    .filter-row {
      display: flex;
      gap: 0.8rem;
      align-items: center;
      margin: 0 0 0.8rem;
      flex-wrap: wrap;
    }
    .filter-input {
      flex: 1 1 240px;
      min-width: 200px;
      padding: 0.45rem 0.7rem;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--bg-secondary);
      color: var(--text);
      font-size: 0.9rem;
      outline: none;
    }
    .filter-input:focus {
      border-color: var(--accent);
      box-shadow: 0 0 0 2px rgba(46, 134, 222, 0.15);
    }
    .filter-count {
      font-size: 0.85rem;
      color: var(--text-muted);
    }

    /* 速报与笔记 */
    .brief-actions {
      display: flex;
      gap: 0.8rem;
      align-items: center;
      flex-wrap: wrap;
      margin-bottom: 0.8rem;
    }
    .brief-hero {
      display: flex;
      gap: 1rem;
      align-items: center;
      margin-bottom: 0.8rem;
      flex-wrap: wrap;
    }
    .brief-cover {
      width: 140px;
      height: 80px;
      border-radius: 10px;
      background: linear-gradient(135deg, rgba(46, 134, 222, 0.35), rgba(40, 200, 160, 0.35));
      border: 1px solid var(--border);
    }
    .brief-info {
      display: flex;
      flex-direction: column;
      gap: 0.3rem;
      color: var(--text-muted);
      font-size: 0.9rem;
    }
    .brief-author {
      font-weight: 600;
      color: var(--text);
    }
    .brief-time {
      font-size: 0.85rem;
      color: var(--text-muted);
    }
    .brief-box {
      padding: 1rem;
      border-radius: 10px;
      border: 1px dashed var(--border);
      background: var(--bg-secondary);
      color: var(--text);
      line-height: 1.6;
    }
    .brief-text {
      font-size: 0.95rem;
      color: var(--text);
    }
    .notes-form {
      display: flex;
      flex-direction: column;
      gap: 0.7rem;
      margin-bottom: 1rem;
    }
    .notes-textarea {
      width: 100%;
      padding: 0.6rem 0.7rem;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--bg-secondary);
      color: var(--text);
      font-size: 0.92rem;
      outline: none;
      resize: vertical;
      min-height: 120px;
    }
    .notes-textarea:focus {
      border-color: var(--accent);
      box-shadow: 0 0 0 2px rgba(46, 134, 222, 0.15);
    }
    .note-item {
      padding: 0.8rem 0;
      border-bottom: 1px dashed var(--border);
    }
    .note-item:last-child {
      border-bottom: none;
    }
    .note-header {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 1rem;
      margin-bottom: 0.4rem;
    }
    .note-header h3 {
      margin: 0;
      font-size: 1rem;
    }
    .note-header time {
      font-size: 0.8rem;
      color: var(--text-muted);
    }
    .note-author {
      font-size: 0.85rem;
      color: var(--text-muted);
      margin-bottom: 0.4rem;
    }
    .note-content {
      margin: 0;
      color: var(--text-muted);
      line-height: 1.6;
    }

    /* 更新文章卡片 */
    .post-card {
      padding: 1.5rem;
      margin-bottom: 1.5rem;
      border: 1px solid var(--border);
      background: var(--card-bg);
      border-radius: 12px;
      display: grid;
      grid-template-columns: 180px 1fr;
      gap: 1.5rem;
      box-shadow: 0 4px 12px var(--shadow);
      transition: transform 0.2s, box-shadow 0.2s;
    }
    
    /* 渡鸦日报/详情页：不使用双栏网格，避免排版错乱 */
    .post-card.post-detail {
      display: block;
    }
    
    .post-meta-row {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      flex-wrap: wrap;
      margin-bottom: 0.75rem;
    }
    
    .post-date {
      font-size: 0.85rem;
      color: var(--text-muted);
      font-family: "JetBrains Mono", monospace;
    }
    
    .post-title {
      font-size: 1.55rem;
      font-weight: 800;
      margin: 0.4rem 0 1rem;
      line-height: 1.35;
      letter-spacing: -0.02em;
      color: var(--text);
    }
    
    .source-link-bar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.9rem;
      flex-wrap: wrap;
      padding: 0.85rem 1rem;
      background: var(--bg-secondary);
      border: 1px solid var(--border);
      border-radius: 10px;
      margin: 0.5rem 0 1.25rem;
    }
    
    .source-hint {
      font-size: 0.85rem;
      color: var(--text-muted);
    }
    
    .raven-content {
      line-height: 1.85;
      color: var(--text);
      white-space: pre-wrap;
      font-size: 1rem;
    }
    
    .raven-content p {
      margin-bottom: 1rem;
    }
    
    .empty-hint {
      color: var(--text-muted);
      font-style: italic;
    }
    
    .post-footer {
      margin-top: 1.5rem;
      padding-top: 1rem;
      border-top: 1px solid var(--border);
      display: flex;
      gap: 0.6rem;
      flex-wrap: wrap;
    }

    /* Compare page: feature comparison table (GEO) */
    .compare-table {
      width: 100%;
      border-collapse: collapse;
      margin: 1rem 0;
      font-size: 0.95rem;
    }
    .compare-table th,
    .compare-table td {
      border: 1px solid var(--border);
      padding: 0.6rem 0.75rem;
      text-align: left;
      vertical-align: top;
    }
    .compare-table th {
      background: var(--bg-secondary);
      font-weight: 600;
      color: var(--text);
    }
    .compare-table tbody tr:nth-child(even) {
      background: rgba(0,0,0,0.02);
    }

    .post-card.pinned {
      border-color: rgba(231, 76, 60, 0.35);
      box-shadow: 0 6px 18px rgba(231, 76, 60, 0.1);
    }
    .post-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 24px var(--shadow);
    }
    
    .post-cover {
      width: 180px;
      height: 120px;
      border-radius: 8px;
      background: linear-gradient(135deg, rgba(46, 134, 222, 0.35), rgba(40, 200, 160, 0.35));
      background-size: cover;
      background-position: center;
      box-shadow: inset 0 0 0 1px rgba(0,0,0,0.05);
    }
    
    .post-body {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }
    
    .post-header {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 1rem;
    }
    
    .post-header h3 {
      margin: 0;
      font-size: 1.2rem;
      font-weight: 700;
      color: var(--text);
      line-height: 1.3;
    }
    
    .post-card.pinned .post-header h3::before {
      content: "置顶";
      margin-right: 0.6rem;
      padding: 0.15rem 0.5rem;
      border-radius: 6px;
      background: rgba(231, 76, 60, 0.12);
      color: #e74c3c;
      font-size: 0.75rem;
      font-weight: 600;
    }
    
    .post-header time {
      font-size: 0.85rem;
      color: var(--text-muted);
    }
    
    .post-meta {
      display: flex;
      align-items: center;
      gap: 0.8rem;
      flex-wrap: wrap;
      color: var(--text-muted);
      font-size: 0.88rem;
    }
    
    .post-author {
      color: var(--text);
      font-weight: 600;
    }
    
    .pin-tag {
      padding: 0.1rem 0.4rem;
      border-radius: 6px;
      background: rgba(231, 76, 60, 0.12);
      color: #e74c3c;
      font-size: 0.75rem;
      font-weight: 600;
    }
    
    .post-tags {
      display: inline-flex;
      gap: 0.4rem;
      flex-wrap: wrap;
    }
    
    .post-tag {
      padding: 0.15rem 0.6rem;
      border-radius: 6px;
      background: rgba(46, 134, 222, 0.12);
      color: var(--accent);
      font-weight: 600;
      font-size: 0.75rem;
    }
    
    .post-summary {
      margin: 0.5rem 0;
      color: var(--text);
      font-weight: 500;
      line-height: 1.6;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
      overflow: hidden;
    }
    
    .post-content {
      margin-top: 0.8rem;
      padding-top: 0.8rem;
      border-top: 1px dashed var(--border);
      color: var(--text-muted);
      line-height: 1.7;
      white-space: pre-wrap;
    }
    
    .post-details summary {
      cursor: pointer;
      font-size: 0.85rem;
      color: var(--accent);
      font-weight: 600;
      user-select: none;
    }
    
    .post-details summary:hover {
      text-decoration: underline;
    }
    .post-summary {
      margin: 0;
      color: var(--text);
      font-weight: 500;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
      overflow: hidden;
    }
    .post-details {
      margin-top: 0.2rem;
      color: var(--text-muted);
    }
    .post-details summary {
      cursor: pointer;
      font-size: 0.85rem;
      color: var(--accent);
      margin-bottom: 0.4rem;
    }
    /* Markdown 内容渲染优化 (参考大黑AI速报风格) */
    .post-content-rendered {
      line-height: 1.8;
      color: var(--text);
      font-size: 1rem;
    }

    /* 文章详情页：更“长文阅读”的排版宽度与留白 */
    .post-detail .post-content-rendered {
      max-width: 920px;
      margin: 0 auto;
      overflow-x: hidden; /* 防止内容（尤其是表格/图片）溢出到右侧 */
    }
    
    /* 标题样式：简洁无边框，避免视觉过重 */
    .post-content-rendered h2 {
      font-size: 1.15rem;
      margin-top: 1.5rem;
      margin-bottom: 0.6rem;
      font-weight: 700;
      color: var(--text);
    }
    .post-content-rendered h3 {
      font-size: 1.05rem;
      margin-top: 1.2rem;
      margin-bottom: 0.5rem;
      font-weight: 600;
      color: var(--text);
    }
    
    /* 重点加粗：避免大面积橙色“廉价感”，改为更接近正文的强调 */
    .post-content-rendered strong {
      color: var(--text) !important;
      font-weight: 700;
    }
    
    /* 列表样式 */
    .post-content-rendered ul {
      padding-left: 1.2rem;
      margin-bottom: 1rem;
    }
    
    .post-content-rendered li {
      margin-bottom: 0.5rem;
    }
    
    /* 引用块优化 (核心洞察可能放在引用里，或者直接是段落) */
    .post-content-rendered p {
      margin-bottom: 1rem;
      text-align: left;
    }

    /* 图片：统一圆角、边框与阴影，避免“生硬贴图” */
    .post-content-rendered img {
      display: block;
      max-width: 100%;
      height: auto;
      border-radius: 14px;
      border: 1px solid rgba(0,0,0,0.08);
      box-shadow: 0 10px 30px rgba(0,0,0,0.08);
      margin: 0.9rem auto;
      background: var(--card-bg);
    }
    [data-theme="dark"] .post-content-rendered img {
      border-color: rgba(255,255,255,0.10);
      box-shadow: 0 10px 30px rgba(0,0,0,0.35);
    }

    /* 表格：更像“对比文章”的读感 */
    .post-content-rendered table {
      width: 100%;
      border-collapse: separate;
      border-spacing: 0;
      margin: 0.9rem 0 1.2rem;
      border: 1px solid var(--border);
      border-radius: 12px;
      overflow: hidden;
      background: var(--card-bg);
      font-size: 0.95rem;
    }
    .post-content-rendered thead th {
      text-align: left;
      padding: 0.7rem 0.85rem;
      background: var(--bg-secondary);
      border-bottom: 1px solid var(--border);
      font-weight: 700;
      color: var(--text);
    }
    .post-content-rendered tbody td {
      padding: 0.7rem 0.85rem;
      border-bottom: 1px solid rgba(0,0,0,0.06);
      vertical-align: top;
    }
    [data-theme="dark"] .post-content-rendered tbody td {
      border-bottom-color: rgba(255,255,255,0.08);
    }
    .post-content-rendered tbody tr:last-child td {
      border-bottom: 0;
    }
    .post-content-rendered code {
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      font-size: 0.92em;
      background: rgba(46, 134, 222, 0.08);
      border: 1px solid rgba(46, 134, 222, 0.12);
      padding: 0.1em 0.35em;
      border-radius: 8px;
    }

    /* 证据画廊：网格布局与卡片化 */
    .evidence-gallery {
      display: grid !important;
      grid-template-columns: repeat(2, 1fr) !important;
      gap: 1.25rem !important;
      margin: 1.5rem 0 !important;
      width: 100% !important;
      box-sizing: border-box !important;
    }
    @media (max-width: 820px) {
      .evidence-gallery { grid-template-columns: 1fr !important; }
    }
    .evidence-card {
      display: flex !important;
      flex-direction: column !important;
      text-decoration: none !important;
      color: inherit !important;
      border: 1px solid var(--border) !important;
      border-radius: 14px !important;
      overflow: hidden !important;
      background: var(--card-bg) !important;
      box-shadow: 0 4px 12px rgba(0,0,0,0.06) !important;
      transition: all 0.2s ease !important;
      height: 100% !important;
    }
    .evidence-card:hover {
      transform: translateY(-4px) !important;
      box-shadow: 0 12px 24px rgba(0,0,0,0.12) !important;
      border-color: var(--accent) !important;
    }
    .evidence-card img {
      margin: 0 !important;
      border: 0 !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      width: 100% !important;
      height: 180px !important; /* 再压缩一点，防止“太大” */
      object-fit: cover !important;
      background: #f8f8f8 !important;
    }
    .evidence-caption {
      display: block !important;
      padding: 0.75rem 1rem !important;
      font-size: 0.88rem !important;
      color: var(--text) !important;
      line-height: 1.4 !important;
      border-top: 1px solid var(--border) !important;
      background: var(--bg-secondary) !important;
    }

    .post-detail .post-header h1 { font-size: 1.6rem; margin: 0; font-weight: 800; letter-spacing: -0.5px; line-height: 1.3; }
    .post-detail .post-header h2 { font-size: 1.6rem; margin: 0; font-weight: 800; letter-spacing: -0.5px; }
    .post-title-link { color: inherit; text-decoration: none; }
    .post-title-link:hover { color: var(--accent); text-decoration: underline; }

    /* Make entire card clickable (stretched link).
       Fix: users couldn't discover detail pages from list views. */
    .mini-list .post-card { position: relative; }
    .mini-list .post-card .post-title-link::after {
      content: "";
      position: absolute;
      inset: 0;
      cursor: pointer;
    }
    .post-detail-link { margin: 0.5rem 0 0; font-size: 0.9rem; }
    .post-detail-link a { color: var(--accent); text-decoration: none; }
    .post-detail-link a:hover { text-decoration: underline; }
    .post-content-full { white-space: normal; }
    .post-back { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border); }
    .post-back a { color: var(--accent); text-decoration: none; }
    .post-back a:hover { text-decoration: underline; }
    @media (max-width: 720px) {
      .post-card {
        grid-template-columns: 1fr;
      }
      /* 移动端：移除蓝色封面，改用左侧细条（原生列表风格） */
      .post-card .post-cover {
        display: none;
      }
      .post-card {
        border-left: 4px solid var(--border);
        padding: 1rem 1rem;
        margin-bottom: 1rem;
        box-shadow: 0 1px 3px var(--shadow);
      }
      .post-card:hover {
        transform: none;
        box-shadow: 0 1px 3px var(--shadow);
      }
      .post-card.pinned {
        border-left-color: rgba(231, 76, 60, 0.5);
      }
      .top-nav-brand .brand-name {
        font-size: 1rem;
      }
      .brand-logo-small {
        width: 24px;
        height: 24px;
      }
      .footer-brand {
        transform: scale(0.9);
      }
    }

    /* ===== 移动端综合优化（颜色、阅读、布局） ===== */
    @media (max-width: 720px) {
      /* 安全区：适配刘海屏、圆角屏 */
      body { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
      .container { padding: 1rem 1rem; padding-top: max(1rem, env(safe-area-inset-top)); }
      .main-wrap { padding-bottom: env(safe-area-inset-bottom); }
      .back-to-top { right: max(1rem, env(safe-area-inset-right)); bottom: max(1.5rem, env(safe-area-inset-bottom)); }

      /* 颜色：提示条改为中性灰，避免蓝底刺眼 */
      .notice-bar {
        background: var(--bg-secondary);
        border-color: var(--border);
      }

      /* 阅读体验：正文字号、行高、留白 */
      .post-content-rendered {
        font-size: 1.05rem;
        line-height: 1.85;
        color: var(--text);
      }
      .post-content-rendered p { margin-bottom: 1.25rem; }
      .post-content-rendered h2 { font-size: 1.15rem; margin-top: 1.5rem; margin-bottom: 0.75rem; }
      .post-content-rendered strong { color: var(--text); font-weight: 700; }
      .post-body { padding: 1rem; }
      .post-detail .post-header h1,
      .post-detail .post-header h2 { font-size: 1.35rem; line-height: 1.4; }

      /* 文章卡片：移动端更紧凑、易读、标签中性色，防止图标/表情溢出 */
      .article-card {
        padding: 1rem 1rem 1rem 1.25rem;
        padding-right: 3rem;
        box-shadow: 0 1px 3px var(--shadow);
        border-left: 4px solid var(--border);
        overflow: hidden;
      }
      .article-card a {
        overflow: hidden;
      }
      .article-title-wrap {
        overflow: hidden;
      }
      /* 移动端 favicon 略小，减少视觉侵占，避免挤出边界 */
      .article-card .source-favicon {
        width: 14px;
        height: 14px;
        min-width: 14px;
      }
      .article-card:hover {
        transform: none;
        box-shadow: 0 1px 3px var(--shadow);
      }
      .article-title { font-size: 1.05rem; }
      .article-summary { -webkit-line-clamp: 4; font-size: 0.95rem; line-height: 1.55; }
      .article-card-actions { top: 0.75rem; right: 0.75rem; }
      .article-category {
        background: var(--bg-secondary);
        color: var(--text-muted);
        border: 1px solid var(--border);
      }

      /* 工具栏：换行、触控友好 */
      .toolbar { gap: 0.6rem; margin-bottom: 1rem; }
      .toolbar .btn, .toolbar .theme-toggle, .toolbar .bookmark-filter { padding: 0.5rem 0.8rem; min-height: 40px; }

      /* 左侧栏：移动端略窄 */
      .left-sidebar { width: 44px; }
      .main-wrap { margin-left: 44px; }
      .sidebar-rail { width: 44px; height: 44px; }
      .sidebar-panel { left: 44px; }

      /* 更新速报卡片：标签中性色、区块简化 */
      .post-tag {
        background: var(--bg-secondary);
        color: var(--text-muted);
        border: 1px solid var(--border);
      }
      .post-details summary, .post-detail-link a {
        color: var(--text);
        font-weight: 500;
      }
      .post-detail-link a:hover { color: var(--accent); }
      .mini-section {
        padding: 0.75rem;
        box-shadow: 0 1px 3px var(--shadow);
        border-radius: 12px;
      }
      .section-header { margin-bottom: 0.75rem; }
      .mini-list { gap: 0.5rem; }
    }

    .update-tag {
      padding: 0.04rem 0.35rem;
      border-radius: 6px;
      border: 1px solid rgba(39, 174, 96, 0.35);
      color: #2f7a4f;
      font-weight: 600;
      font-size: 0.68rem;
      background: transparent;
      vertical-align: middle;
      white-space: nowrap;
    }
    .update-tag.compact {
      margin-left: 0.35rem;
    }

