/* 资讯中心二版：封面承载主题、列表支持高密度阅读；语义色继续复用线上官网。 */
/* 独立资讯不依赖 Docusaurus bundle，导航却必须保持 MarketingSite/Header.tsx 的视觉契约。
   只限定 header，不改变文章列表排版；浏览器测试对照主站实测位置，防止两套渲染再次漂移。
   64px 高度、1200px 容器/24px 边距、112×34 Logo、1180px 菜单断点均与营销页一致。 */
.site-header {
  --header-border: rgba(16,24,40,.11);
  --header-strong: rgba(16,24,40,.2);
  --header-muted: #586274;
  --header-hover: #f7f8fa;
  --header-accent: #2c6ba6;
  --header-accent-hover: #1f5488;
  --header-shadow: 0 1px 2px rgba(16,24,40,.06), 0 12px 32px rgba(16,24,40,.08);
  position: sticky; top: 0; z-index: 60;
  background: rgba(244,245,247,.96);
  backdrop-filter: saturate(150%) blur(14px);
  -webkit-backdrop-filter: saturate(150%) blur(14px);
  border-bottom: 1px solid var(--header-border);
  font-family: -apple-system,BlinkMacSystemFont,"PingFang SC","HarmonyOS Sans SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  font-size: 16px; line-height: 1.7; letter-spacing: .01em;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
:root[data-theme="dark"] .site-header {
  --header-border: rgba(255,255,255,.09); --header-strong: rgba(255,255,255,.18);
  --header-muted: #9aa4b6; --header-hover: #1a212c;
  --header-accent: #5fa8e8; --header-accent-hover: #7fc3f2;
  --header-shadow: 0 1px 2px rgba(0,0,0,.4), 0 12px 32px rgba(0,0,0,.32);
  background: rgba(10,13,19,.96);
}
.site-header .header-inner { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: 24px; height: 64px; display: flex; align-items: center; gap: 24px; }
.site-header .brand { display: inline-flex; align-items: center; gap: 10px; flex: none; font-weight: 650; font-size: 17px; letter-spacing: -.01em; }
.site-header .brand img { display: block; width: 112px; height: 34px; object-fit: contain; }
.site-header .nav { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.site-header .nav > a { display: inline-block; padding: 8px 11px; font-size: 15px; color: var(--header-muted); border-radius: 6px; white-space: nowrap; }
.site-header .nav > a:hover { color: var(--ink); background: var(--header-hover); }
.site-header .nav > a[aria-current="page"] { color: var(--ink); background: var(--soft); }
.site-header .header-actions { display: flex; align-items: center; gap: 8px; flex: none; }
.site-header .icon-button { width: 44px; height: 44px; display: grid; place-items: center; flex: none; color: var(--header-muted); border: 1px solid var(--header-border); border-radius: 6px; background: transparent; }
.site-header .icon-button svg { display: block; width: 16px; height: 16px; }
.site-header .button { min-height: 0; padding: 8px 14px; font-size: 14px; font-weight: 500; border: 1px solid var(--header-strong); background: transparent; color: var(--ink); line-height: inherit; }
.site-header .button.primary { background: var(--header-accent); border-color: transparent; color: #fff; font-weight: 600; }
:root[data-theme="dark"] .site-header .button.primary { color: #06111c; }
.site-header .button:hover { transform: translateY(-1px); background: var(--soft); color: var(--header-accent); }
.site-header .button.primary:hover { background: var(--header-accent-hover); color: #fff; }
.site-header .menu-button, .site-header .nav-cta { display: none; }
/* 菜单锚定整个 sticky header，不能定位到内层 wrap，否则开合后左右边界仍会跳变。 */
@media(max-width:1180px) {
  .site-header .menu-button { display: grid; }
  .site-header .header-actions > .button { display: none; }
  .site-header .header-actions { margin-left: auto; }
  .site-header .nav { position: absolute; inset: 64px 0 auto; visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(-8px); flex-direction: column; align-items: stretch; gap: 2px; padding: 14px 24px 22px; background: var(--paper); border-bottom: 1px solid var(--header-border); box-shadow: var(--header-shadow); max-height: calc(100dvh - 64px); overflow-y: auto; }
  .site-header .nav.is-open { visibility: visible; opacity: 1; pointer-events: auto; transform: none; }
  .site-header .nav > a { padding: 12px 10px; font-size: 16px; }
  .site-header .nav-cta { display: grid; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--header-border); }
  .site-header .nav-cta .button { width: 100%; }
}
/* 未发布内容时沿用官网颜色与排版，独立于搜索无结果；hidden 必须优先于 flex/grid。 */
[hidden]{display:none!important}
.empty-library{padding:64px 24px 72px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.empty-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 24px;border:1px solid var(--line);border-radius:16px;background:var(--soft);color:var(--accent);font-size:32px;font-weight:650}
.empty-library .eyebrow{justify-content:center}.empty-library .eyebrow:before{display:none}
.empty-library h2{font-size:28px;line-height:1.5;margin:16px 0}.empty-library>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.9}
.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}
@media(max-width:580px){.empty-library{padding:40px 20px}.empty-library h2{font-size:24px}.empty-actions{flex-direction:column}}
.card,.feature{position:relative}.stretched::after{content:"";position:absolute;inset:0;z-index:1}.stretched:focus-visible{outline:none}.card:has(.stretched:focus-visible),.feature:has(.stretched:focus-visible){outline:3px solid var(--accent);outline-offset:4px}.cover{isolation:auto}.cover .art{opacity:.4}.cover-top{z-index:0}.cover-heading{position:absolute;left:24px;right:24px;top:34%;font-size:21px;line-height:1.55;font-weight:600;color:var(--cover-ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cover-keywords{position:absolute;bottom:16px;left:24px;right:24px;display:flex;align-items:center;gap:6px;z-index:2}.topic-chip{position:relative;z-index:2;max-width:100%;min-width:0;min-height:32px;padding:4px 8px;border:1px solid var(--line);border-radius:4px;background:var(--soft);color:var(--accent);font-size:11px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-chip:hover{border-color:var(--accent)}.cover-keywords .topic-chip{background:#10283ee6;color:#eaf4ff;border-color:#6f8ca4;max-width:46%}.cover-keywords .topic-chip:hover{background:#244866}.cover-image{z-index:0}.has-image .cover-heading,.has-image .cover-top{display:none}.has-image::after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#10283ed9);pointer-events:none}.inline-topics{display:none}.card .cover-heading{top:30%;font-size:20px;-webkit-line-clamp:2}.card .cover-top{inset:16px 24px auto}.card .summary{margin-bottom:20px}
/* 顶部保留标题和摘要的固定行数空间；轮换时列表的位置不因文字长短改变。 */
.feature-body{min-height:400px}.feature h2{font-size:25px;line-height:1.5;height:4.5em;flex:none;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.feature .summary{height:3.7em;flex:none}.feature .cover-heading{font-size:30px;top:32%;left:32px;right:40px;-webkit-line-clamp:3}.feature .cover-keywords{left:32px;right:32px;bottom:28px}.feature .topic-chip{font-size:12px;padding:7px 12px;min-height:36px}.feature-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;min-height:44px}.feature-controls p{font-size:12px;color:var(--muted)}.rotation-actions{display:flex;align-items:center;gap:8px}.rotation-actions button{background:var(--paper);border:1px solid var(--line);border-radius:6px;min-width:44px;min-height:44px;padding:8px 12px;font-size:13px}.rotation-actions button:hover{border-color:var(--accent);color:var(--accent)}.slide-counter{font-variant-numeric:tabular-nums;font-size:12px;color:var(--muted);min-width:40px;text-align:center}.library{padding-top:28px}
.filter-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-8px 0 24px}.topic-picker{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;min-width:0}.topic-picker select{max-width:260px;min-height:44px;padding:8px 32px 8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);min-width:0;font-size:13px}.clear-filters{min-height:44px;background:transparent;color:var(--accent);font-size:13px;padding:8px;white-space:nowrap}.view-switch{display:flex;gap:4px}.view-switch button{display:flex;align-items:center;gap:6px;background:transparent;padding:8px 12px;border:1px solid transparent;border-radius:6px;min-height:44px;color:var(--muted);font-size:13px}.view-switch button[aria-pressed="true"]{background:var(--paper);border-color:var(--line);color:var(--ink)}.view-switch svg{width:16px;height:16px}.results-line{padding-top:0}.library-tools{margin-bottom:20px}
/* 列表与卡片共用内容与筛选状态：缩略图在左，标题、摘要及完整主题在右。 */
.card-grid.list-view{grid-template-columns:1fr;gap:16px}.list-view .card{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;padding:20px;align-items:start}.list-view .card:hover{transform:none}.list-view .cover{border-radius:8px;aspect-ratio:4/3;width:100%}.list-view .cover-heading{font-size:16px;left:16px;right:16px;top:36%;-webkit-line-clamp:3}.list-view .cover-top{inset:16px 16px auto}.list-view .cover-top b{font-size:16px}.list-view .cover-keywords{display:none}.list-view .card-body{padding:0;min-width:0}.list-view .card h3{font-size:21px;margin:6px 0;display:block;overflow:visible}.list-view .summary{margin-bottom:12px}.list-view .inline-topics{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.list-view .meta{border:0;padding-top:0}.list-view .skeleton{display:grid;grid-template-columns:240px 1fr}.list-view .skeleton .picture{height:180px}
@media(max-width:850px){.feature h2{font-size:22px;height:6em;-webkit-line-clamp:4}.feature .cover-heading{font-size:25px}.feature-body{min-height:420px}.list-view .card{grid-template-columns:180px minmax(0,1fr);gap:20px;padding:16px}.list-view .card h3{font-size:19px}.list-view .cover-top span{display:none}.list-view .cover-heading{font-size:15px}.topic-picker select{max-width:220px}}
@media(max-width:580px){.feature h2{font-size:22px;height:7.5em;-webkit-line-clamp:5}.feature-body{min-height:408px}.feature .summary{height:5.55em;-webkit-line-clamp:3}.feature .cover-heading{font-size:23px;left:24px;right:24px;top:29%;-webkit-line-clamp:2}.feature .cover-top{inset:16px 24px auto}.feature .cover-top b{font-size:17px}.feature .cover-keywords{left:24px;right:24px;bottom:12px}.feature .topic-chip{min-height:36px;padding:4px 8px;font-size:11px}.feature-controls{gap:8px;flex-wrap:wrap}.rotation-actions{gap:4px}.rotation-actions button{padding:8px}.feature-controls p{font-size:11px}.filter-row{gap:12px;flex-wrap:wrap}.topic-picker{width:100%;gap:8px}.topic-picker select{flex:1;max-width:none;width:100%}.view-switch{margin-left:auto}.view-switch button{min-height:40px}.card .cover-heading{font-size:20px}.cover-keywords{bottom:12px}.cover-keywords .topic-chip{min-height:36px}.list-view .card{grid-template-columns:88px minmax(0,1fr);gap:12px;padding:16px;align-items:start}.list-view .cover{aspect-ratio:1}.list-view .cover-top{inset:8px}.list-view .cover-top b{font-size:13px}.list-view .cover-heading{display:none}.list-view .card h3{font-size:17px;line-height:1.6;margin:4px 0 8px}.list-view .summary{-webkit-line-clamp:2;font-size:13px}.list-view .inline-topics{gap:6px}.list-view .topic-chip{font-size:11px;min-height:36px}.list-view .meta{font-size:11px;gap:4px}.list-view .kicker{font-size:11px}.list-view .meta .external{display:none}.list-view .skeleton{grid-template-columns:88px 1fr}.list-view .skeleton .picture{height:88px}}
@media(pointer:coarse){.topic-chip,.cover-keywords .topic-chip,.feature .topic-chip,.list-view .topic-chip{min-height:44px}}

/* 所有标签完整呈现并按文字换行。封面改为正常文档流，标签多时自然增高，避免压住标题。
   列表视图仍在正文侧显示全部标签，缩略图保持紧凑；标签按钮保留独立点击层级。 */
.topic-chip{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;text-align:left}
.feature .cover,.card-grid:not(.list-view) .cover{display:flex;flex-direction:column;gap:20px;padding:24px;aspect-ratio:auto;min-height:250px}
.feature .cover{padding:32px;min-height:400px}
.feature .cover-top,.card-grid:not(.list-view) .cover-top{position:relative;inset:auto;flex-shrink:0}
.feature .cover-heading,.card-grid:not(.list-view) .cover-heading{position:relative;inset:auto;margin:auto 0;flex-shrink:0}
.feature .cover-keywords,.card-grid:not(.list-view) .cover-keywords{position:relative;inset:auto;display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0;margin-top:auto}
.cover-keywords .topic-chip{max-width:100%}
@media(max-width:580px){.feature .cover,.card-grid:not(.list-view) .cover{padding:24px;min-height:260px;gap:20px}}
