@layer pages {
  .doc-groups { display: grid; gap: var(--s-7); }
  .doc-group h2 { font-size: var(--t-lg); display: flex; align-items: center; gap: var(--s-3); padding-bottom: var(--s-3); border-bottom: 1px solid var(--line-strong); margin-bottom: var(--s-4); }
  .doc-group h2 .count { font-family: var(--font-mono); font-size: var(--t-xs); color: var(--muted); font-weight: 500; letter-spacing: .1em; }
  .doc-list { list-style: none; padding: 0; display: grid; gap: var(--s-3); }
  .doc-item { display: grid; grid-template-columns: 40px 1fr auto; gap: var(--s-4); align-items: center; padding: var(--s-4) var(--s-5); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-md); box-shadow: var(--hilite); }
  .doc-item .icon { color: var(--cyan-ink); width: 28px; height: 28px; }
  .doc-item h3 { font-size: var(--t-base); }
  .doc-item .meta { font-family: var(--font-mono); font-size: var(--t-xs); color: var(--muted); display: flex; gap: var(--s-3); margin-top: 2px; }
  .doc-item .actions { display: flex; gap: var(--s-2); flex-wrap: wrap; justify-content: end; }
  @media (max-width: 599px) { .doc-item { grid-template-columns: 1fr; } .doc-item .icon { display: none; } .doc-item .actions { justify-content: start; } }

  .doc-read-head { display: flex; justify-content: space-between; align-items: start; gap: var(--s-4); flex-wrap: wrap; margin-bottom: var(--s-6); padding-bottom: var(--s-5); border-bottom: 1px solid var(--line-strong); }
  .doc-read-head h1 { font-size: var(--t-xl); }
  .doc-read-head .meta { font-family: var(--font-mono); font-size: var(--t-xs); color: var(--muted); display: flex; gap: var(--s-3); flex-wrap: wrap; margin-top: var(--s-2); }

  /* FAQ 分组手风琴 */
  .faq-groups { display: grid; gap: var(--s-7); }
  .faq-group h2 { font-size: var(--t-lg); margin-bottom: var(--s-3); }
  .faq-item { border-bottom: 1px solid var(--line); }
  .faq-item:first-of-type { border-top: 1px solid var(--line-strong); }
  .faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); padding: var(--s-4) 0; font-weight: 600; list-style: none; min-height: 56px; }
  .faq-item summary::-webkit-details-marker { display: none; }
  .faq-item summary .icon { color: var(--cyan-ink); transition: transform var(--dur-fast) var(--ease-out); flex: none; }
  .faq-item[open] summary .icon { transform: rotate(45deg); }
  .faq-item summary:hover { color: var(--cyan-ink); }
  .faq-item .prose { padding: 0 0 var(--s-5); max-width: 68ch; color: var(--muted); }
  .faq-item .prose strong { color: var(--text); }
  .faq-item:target { background: color-mix(in oklab, var(--amber) 8%, transparent); }

  /* 新闻 */
  .news-list { display: grid; gap: var(--s-3); }
  .news-row { display: grid; grid-template-columns: 11ch 1fr auto; gap: var(--s-5); align-items: baseline; padding: var(--s-4) var(--s-5); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-md); text-decoration: none; color: inherit; transition: border-color var(--dur-fast); }
  .news-row:hover { border-color: var(--cyan-ink); }
  .news-row time { font-family: var(--font-mono); font-size: var(--t-xs); color: var(--muted); letter-spacing: .06em; }
  .news-row h3 { font-size: var(--t-base); }
  .news-row p { color: var(--muted); font-size: var(--t-sm); margin-top: var(--s-1); }
  .news-row .icon { color: var(--cyan-ink); }
  @media (max-width: 599px) { .news-row { grid-template-columns: 1fr; gap: var(--s-2); } .news-row .icon { display: none; } }
  .article-head { margin-bottom: var(--s-6); padding-bottom: var(--s-5); border-bottom: 1px solid var(--line-strong); display: grid; gap: var(--s-3); }
  .article-head time { font-family: var(--font-mono); font-size: var(--t-xs); color: var(--muted); letter-spacing: .08em; }
  .article-cover { border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--line); margin-bottom: var(--s-6); aspect-ratio: 21 / 9; }
  .article-cover img { width: 100%; height: 100%; object-fit: cover; }

  /* 搜索 */
  .search-groups { display: grid; gap: var(--s-6); }
  .search-group h2 { font-size: var(--t-sm); font-family: var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-weight: 500; display: flex; align-items: center; gap: var(--s-2); margin-bottom: var(--s-3); }
  .search-group h2 .count { color: var(--cyan-ink); }
  .search-hit { display: block; padding: var(--s-4) var(--s-5); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-md); text-decoration: none; color: inherit; transition: border-color var(--dur-fast); }
  .search-hit + .search-hit { margin-top: var(--s-2); }
  .search-hit:hover { border-color: var(--cyan-ink); }
  .search-hit h3 { font-size: var(--t-base); color: var(--cyan-ink); }
  .search-hit p { color: var(--muted); font-size: var(--t-sm); margin-top: var(--s-1); line-height: 1.5; }
  .search-hit .url { font-family: var(--font-mono); font-size: var(--t-xs); color: var(--muted); margin-top: var(--s-1); }
}
