  /* ── Responsive ── */
  @media (max-width: 768px) {
    .header {
      padding: 0 12px;
      height: 50px;
      gap: 8px;
      /* 允许“更多”菜单溢出显示，避免被裁切 */
      overflow: visible;
    }
    .header-brand { flex: 0 1 auto; min-width: 0; }
    .header-brand h1 {
      font-size: 0.9rem;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      max-width: 48vw;
    }
    .lego .header-brand h1 {
      max-width: 48vw;
      padding: 4px 8px !important;
      font-size: 0.88rem !important;
    }
    .header-date { display: none; }
    .header-actions {
      min-width: 0;
      flex: 0 0 auto;
      overflow: visible;
      justify-content: flex-end;
      gap: 4px;
    }
    .header-more-btn.btn {
      display: inline-flex;
    }
    .header-secondary {
      display: none;
      position: absolute;
      top: calc(100% + 8px);
      right: 0;
      min-width: 176px;
      max-width: min(86vw, 280px);
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      padding: 6px 0;
      background: var(--panel-bg);
      color: var(--text);
      border: 1px solid var(--border);
      border-radius: var(--radius, 8px);
      box-shadow: var(--shadow-lg);
      z-index: 500;
    }
    .header-secondary.is-open {
      display: flex;
    }
    .header-secondary .theme-select-container,
    .header-secondary .push-wrap {
      display: block;
      width: 100%;
    }
    .header-secondary .btn,
    .header-secondary .btn-theme-trigger,
    .header-secondary a.btn {
      display: flex;
      width: 100%;
      justify-content: flex-start;
      border: none;
      border-radius: 0;
      background: transparent;
      color: var(--text);
      padding: 10px 14px;
      font-size: 0.84rem;
    }
    .header-secondary .btn:hover,
    .header-secondary .btn-theme-trigger:hover,
    .header-secondary a.btn:hover {
      background: var(--primary-light);
      color: var(--primary);
      border-color: transparent;
    }
    .header-secondary .push-menu {
      position: static;
      min-width: 0;
      width: 100%;
      box-shadow: none;
      border: none;
      border-top: 1px solid var(--border);
      border-radius: 0;
    }
    .status-wrap {
      margin-right: 0;
      max-width: 28vw;
    }
    .status-wrap #statusText {
      max-width: 4.5em;
    }
    .public-edition .status-wrap {
      display: none;
    }
    .public-edition #refreshBtn .refresh-label {
      display: none;
    }
    .public-edition .public-feature-label,
    .public-edition .public-feature-caret {
      display: none;
    }
    .btn { padding: 5px 10px; font-size: 0.72rem; }
    #refreshBtn { flex: 0 0 auto; }

    /*
     * NERV MAGI 面板：桌面端保持三列横排；窄屏改为纵向堆叠，
     * 状态块允许换行/占满行宽，避免 .magi-pc-cluster 撑开整页横向滚动。
     * 不用 body overflow-x:hidden 掩盖溢出。
     */
    .nerv .magi-dashboard-panel {
      flex-direction: column;
      align-items: stretch;
      justify-content: flex-start;
      gap: 8px;
      padding: 8px 12px;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      box-sizing: border-box;
    }
    .nerv .magi-brand,
    .nerv .magi-main-title,
    .nerv .magi-pc-cluster {
      min-width: 0;
      max-width: 100%;
    }
    .nerv .magi-main-title {
      text-align: left;
    }
    .nerv .magi-brand-title {
      font-size: 0.78rem;
      letter-spacing: 0.5px;
    }
    .nerv .magi-title-main {
      font-size: 0.82rem;
      letter-spacing: 1px;
      word-break: break-word;
    }
    .nerv .magi-title-sub {
      letter-spacing: 1px;
    }
    .nerv .magi-pc-cluster {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      width: 100%;
      box-sizing: border-box;
    }
    .nerv .magi-pc {
      flex: 1 1 calc(50% - 6px);
      min-width: 0;
      max-width: 100%;
      box-sizing: border-box;
    }
    .tabs {
      gap: 14px;
      padding: 0 12px;
      top: 50px;
      scroll-padding-inline: 12px;
    }
    .tab {
      flex: 0 0 auto;
      gap: 5px;
      padding: 10px 2px;
      font-size: 0.78rem;
    }
    .nerv .tabs {
      gap: 14px !important;
      padding: 0 12px !important;
    }
    .nerv .tab {
      flex: 0 0 auto;
      gap: 5px !important;
      padding: 10px 4px !important;
    }
    .lego .tabs {
      gap: 14px !important;
      padding: 8px 12px !important;
      overflow-x: auto !important;
      overflow-y: hidden !important;
    }
    .lego .tab {
      flex: 0 0 auto;
      gap: 5px !important;
      padding: 10px 8px !important;
    }
    .journal-nav {
      flex-wrap: nowrap;
      overflow-x: auto;
      overflow-y: hidden;
      scroll-padding-inline: 12px;
      scrollbar-width: none;
      -webkit-overflow-scrolling: touch;
    }
    .journal-nav::-webkit-scrollbar {
      display: none;
      width: 0;
      height: 0;
    }
    .journal-nav-btn {
      flex: 0 0 auto;
      white-space: nowrap;
    }
    .lego .journal-nav {
      flex-wrap: nowrap !important;
      overflow-x: auto !important;
      overflow-y: hidden !important;
    }
    .lego .journal-nav-btn {
      flex: 0 0 auto !important;
      white-space: nowrap !important;
    }
    .journal-paper-card.has-translated-title .paper-title-translated {
      font-size: 1.16rem;
      line-height: 1.45;
    }
    .journal-paper-card.has-translated-title .paper-title-original {
      font-size: 0.82rem;
    }
    .container { padding: 16px 10px 40px; }
    .card { padding: 12px 14px; }
    .journal-new-badge {
      padding: 1px 6px;
      font-size: 0.62rem;
    }
    .card-title-badges { gap: 3px; }
    .ai-summary-block,
    .abstract-zh.ai-analysis-block {
      margin-left: 0;
    }
    .lectures-layout, .lectures-layout.list-collapsed { grid-template-columns: 1fr; }
    .lectures-layout.list-collapsed .lecture-list { display: grid; }
    .lectures-layout.list-collapsed .lecture-reader { grid-column: auto; }
    .lecture-list { position: static; max-height: none; overflow: visible; }
    .lecture-list-restore, .lecture-list-collapse { display: none !important; }
    .lecture-reader { padding: 18px 16px; display: block; }
    .lecture-reader-outline { position: static; width: auto; }
    .lecture-reader.outline-collapsed .lecture-reader-outline { display: block; }
    .lec-outline-restore, .lec-outline-collapse { display: none !important; }
    .lec-outline-panel {
      position: fixed;
      bottom: -100%;
      left: 0;
      width: 100%;
      background: var(--panel-bg);
      border-radius: 16px 16px 0 0;
      box-shadow: 0 -4px 12px rgba(0,0,0,0.1);
      padding: 20px;
      transition: bottom 0.3s ease;
      z-index: 1000;
      max-height: 70vh;
      overflow-y: auto;
    }
    .lec-outline-wrap.active .lec-outline-panel {
      bottom: 0;
    }
    .lec-outline-close { display: block; }
    .lec-outline-fab {
      display: flex;
      align-items: center;
      gap: 6px;
      position: fixed;
      right: 20px;
      bottom: 20px;
      background: var(--primary);
      color: #fff;
      border: none;
      border-radius: 30px;
      padding: 10px 20px;
      font-size: 0.9rem;
      font-weight: 600;
      box-shadow: 0 4px 12px rgba(0,0,0,0.2);
      z-index: 999;
      cursor: pointer;
    }
    .lecture-reader h1 { font-size: 1.12rem; }
    .field-filter-bar { align-items: stretch; gap: 8px; }
    .field-filter-control { flex: 1 1 100%; min-width: 0; }
    .field-filter-search-btn, .field-filter-clear { flex: 0 0 auto; }
    .field-filter-count { flex: 1 1 auto; margin-left: 0; justify-content: flex-end; }
    /* 手机端: 隐藏左侧目录(顶部分领域按钮已可导航), 分区改单列 */
    .field-layout, .field-layout.toc-collapsed { grid-template-columns: 1fr; }
    .field-toc, .field-layout.toc-collapsed .toc-restore { display: none; }
    .field-layout.toc-collapsed .field-sections { grid-column: 1; }
  }

  /* 更窄屏：三个 MAGI 状态块改为纵向全宽，进一步保证 360px 不溢出 */
  @media (max-width: 420px) {
    .nerv .magi-pc {
      flex: 1 1 100%;
    }
  }

  /* ── 焦点可见（键盘） ── */
  :focus {
    outline: none;
  }
  :focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
  }
  .header :focus-visible,
  .btn:focus-visible,
  .btn-theme-trigger:focus-visible,
  .tab:focus-visible,
  .jump-top:focus-visible,
  .theme-dropdown-item:focus-visible,
  .push-menu-item:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
    box-shadow: 0 0 0 3px var(--primary);
  }
  .dark :focus-visible,
  .dark .tab:focus-visible,
  .dark .theme-dropdown-item:focus-visible {
    outline-color: #ff8a8a;
    box-shadow: 0 0 0 3px rgba(211, 56, 56, 0.55);
  }
  .nerv :focus-visible,
  .nerv .header :focus-visible,
  .nerv .tab:focus-visible,
  .nerv .theme-dropdown-item:focus-visible,
  .nerv .btn:focus-visible {
    outline: 2px solid #050505;
    box-shadow: 0 0 0 3px #FF6600;
  }
  .lego :focus-visible,
  .lego .tab:focus-visible,
  .lego .theme-dropdown-item:focus-visible,
  .lego .btn:focus-visible {
    outline: 3px solid #111111;
    outline-offset: 1px;
    box-shadow: 3px 3px 0 #F2CD37;
  }

  /* ── 减弱动效 ── */
  @media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
      scroll-behavior: auto !important;
    }
    .card,
    .card:nth-child(1),
    .card:nth-child(2),
    .card:nth-child(3),
    .card:nth-child(4) {
      animation: none !important;
      animation-delay: 0s !important;
    }
    .status-dot.loading {
      animation: none !important;
      opacity: 1;
      /* 静态可辨：双色边框代替脉冲 */
      box-shadow: 0 0 0 2px rgba(250, 204, 21, 0.85);
    }
    .spinner {
      animation: none !important;
      border-top-color: var(--primary);
      opacity: 0.9;
    }
    .skeleton-box::after {
      animation: none !important;
      display: none !important;
    }
    .lec-outline-panel {
      transition: none !important;
    }
    .btn:hover,
    .card:hover,
    .jump-top:hover {
      transform: none !important;
    }

    /*
     * 乐高主题大量使用 !important 的 transform/transition；
     * 通用 * 与 .btn:hover 无法压过，必须写更高优先级选择器。
     * 只取消交互位移与过渡，不改用于静态布局的样式。
     */
    .lego .btn,
    .lego .btn:hover,
    .lego .btn:active,
    .lego .btn-theme-trigger,
    .lego .btn-theme-trigger:hover,
    .lego .btn-theme-trigger:active,
    .lego .tab,
    .lego .tab:hover,
    .lego .tab.active,
    .lego .card,
    .lego .card:hover,
    .lego .cards-wrapper .card,
    .lego .cards-wrapper .card:hover,
    .lego .news-card,
    .lego .news-card:hover,
    .lego .news-summary-card,
    .lego .news-summary-card:hover,
    .lego .cluster-card,
    .lego .cluster-card:hover,
    .lego .lecture-card,
    .lego .lecture-card:hover,
    .lego .jump-top,
    .lego .jump-top:hover,
    .lego .journal-nav-btn,
    .lego .journal-nav-btn:hover,
    .lego .journal-nav-btn:active,
    .lego .journal-nav-btn.active,
    .lego .news-mode-btn,
    .lego .news-mode-btn:hover,
    .lego .news-mode-btn:active,
    .lego .news-mode-btn.active,
    .lego .subtab,
    .lego .subtab:hover,
    .lego .subtab:active,
    .lego .subtab.active,
    .lego .field-toc-item,
    .lego .field-toc-item:hover,
    .lego .field-toc-item.active,
    .lego .lecture-card,
    .lego .lecture-card:hover,
    .lego .lecture-card.active,
    .lego .ai-category-body .card,
    .lego .ai-category-body .card:hover,
    .lego .field-filter-search-btn,
    .lego .field-filter-search-btn:hover,
    .lego .field-filter-clear,
    .lego .field-filter-clear:hover {
      transform: none !important;
      transition: none !important;
      transition-duration: 0s !important;
      transition-property: none !important;
    }
  }

  /* ── 手机触控目标（尽量 ≥44px，同时避免顶栏横向溢出） ── */
  @media (max-width: 768px) {
    #refreshBtn.btn,
    #moreBtn.btn,
    .tab {
      min-height: 44px;
      min-width: 44px;
      box-sizing: border-box;
    }
    .header-secondary .btn,
    .header-secondary .btn-theme-trigger,
    .header-secondary a.btn,
    .theme-dropdown-item,
    .push-menu-item,
    .public-feature-trigger,
    .journal-nav-btn {
      min-height: 44px;
      box-sizing: border-box;
    }
    .public-feature-trigger {
      min-width: 44px;
      justify-content: center;
    }
    .jump-top {
      width: 44px;
      height: 44px;
    }
    .tab {
      padding-left: 2px;
      padding-right: 2px;
    }
  }
