/* 归档五页：通用导航、文章列表与分页直接沿用首页样式。 */
.brand-name { white-space: nowrap; }
.archive-frame { padding-top: 34px; padding-bottom: 34px; }
.archive-main { scroll-margin-top: 90px; }
.archive-stats { color: #8b949e; font-size: 12px; line-height: 1.9; }
.archive-stats .number, .number { font-family: Arial,sans-serif; font-weight: 400; font-variant-numeric: tabular-nums; }
.archive-stats .stats-separator { margin: 0 11px; color: #adb4bb; }
.archive-hero { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px 18px; margin-top: 13px; }
.archive-hero h1 { color: #30363d; font-family: var(--serif); font-size: 32px; font-weight: 400; line-height: 1.65; letter-spacing: .035em; overflow-wrap: anywhere; }
.archive-hero-meta { color: #8b95a0; font-size: 12px; line-height: 1.9; }
.archive-description { margin-top: 10px; color: #8b95a0; font-family: var(--serif); font-size: 14px; line-height: 1.9; letter-spacing: .02em; }
.archive-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 26px; margin-top: 30px; border-bottom: 1px solid var(--rule); }
.archive-modes { display: flex; flex: none; align-items: baseline; gap: 20px; }
.archive-mode { display: block; position: relative; padding: 14px 0 19px; color: #7c8997; font-family: var(--serif); font-size: 16px; font-weight: 400; line-height: 1.8; white-space: nowrap; }
.archive-mode.is-active { color: var(--seal-red); }
.archive-mode.is-active::after { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--seal-red); content: ""; }
.archive-mode:hover { color: var(--seal-red); }
.mode-slash { color: #9ba6b2; font-family: var(--serif); font-size: 14px; font-weight: 400; }
.archive-search { display: flex; align-items: center; gap: 16px; width: 264px; min-width: 0; margin: 0 0 13px auto; padding-bottom: 7px; border-bottom: 1px solid #d6dce2; }
.archive-search input, .tag-search input { display: block; flex: 1 1 0; width: 100%; min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0; outline: 0; background: none; box-shadow: none; color: #65727e; font-family: var(--serif); font-size: 13px; font-weight: 400; line-height: 1.9; appearance: none; -webkit-appearance: none; }
.archive-search input::placeholder, .tag-search input::placeholder { color: #a2acb7; opacity: 1; }
.archive-search input::-webkit-search-cancel-button, .tag-search input::-webkit-search-cancel-button { display: none; }
.archive-search:focus-within, .tag-search:focus-within { border-color: #ba867c; }
.text-search-button { display: block; flex: none; padding: 0; color: #7e8b99; font-family: var(--serif); font-size: 13px; font-weight: 400; line-height: 1.9; white-space: nowrap; cursor: pointer; }
.text-search-button:hover { color: var(--seal-red); }
.search-summary { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; margin-top: 25px; color: #8c96a1; font-size: 12px; line-height: 1.9; }
.archive-clear { color: var(--seal-red); font-size: 12px; line-height: 1.9; white-space: nowrap; }
.timeline { padding-top: 30px; }
.timeline-year + .timeline-year { margin-top: 35px; }
.timeline-year-heading { display: flex; align-items: baseline; gap: 14px; }
.timeline-year-heading h2 { color: #414b55; font-family: Arial,sans-serif; font-size: 28px; font-weight: 400; font-variant-numeric: tabular-nums; line-height: 1.5; }
.timeline-year-count { color: #a2abb4; font-size: 11px; line-height: 1.8; }
.timeline-month { margin-top: 20px; }
.timeline-month + .timeline-month { margin-top: 24px; }
.timeline-month h3 { padding-bottom: 11px; border-bottom: 1px solid var(--rule); color: #697681; font-family: var(--serif); font-size: 17px; font-weight: 400; line-height: 1.8; }
.timeline-list { list-style: none; padding: 0; margin: 0; }
.timeline-row { display: grid; grid-template-columns: 100px minmax(0,1fr) 68px; column-gap: 22px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--rule); }
.timeline-date { color: #8a95a0; font-family: Arial,sans-serif; font-size: 12px; font-weight: 400; font-variant-numeric: tabular-nums; line-height: 1.8; white-space: nowrap; }
.timeline-title { min-width: 0; color: #515b66; font-family: var(--serif); font-size: 16px; font-weight: 400; line-height: 1.85; letter-spacing: .02em; overflow-wrap: anywhere; }
.timeline-category { color: #929da8; font-size: 12px; font-weight: 400; line-height: 1.8; text-align: right; }
.timeline-category a:hover, a.post-category:hover { color: var(--seal-red); }
.taxonomy-grid { display: grid; width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 54px; margin-top: 29px; }
.taxonomy-link { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; min-width: 0; padding: 21px 0 17px; border-bottom: 1px solid var(--rule); color: #505c68; }
.taxonomy-name { min-width: 0; font-family: var(--serif); font-size: 21px; font-weight: 400; line-height: 1.8; letter-spacing: .025em; overflow-wrap: anywhere; }
.taxonomy-count { flex: none; color: #8e9baa; font-family: Arial,sans-serif; font-size: 12px; font-weight: 400; font-variant-numeric: tabular-nums; line-height: 1.8; }
.taxonomy-link:hover .taxonomy-name { color: var(--seal-red); }
.directory-return { padding-top: 39px; text-align: center; color: var(--seal-red); font-family: var(--serif); font-size: 13px; line-height: 1.9; }
.directory-return a:hover { color: #914f44; }
.tag-search { display: flex; align-items: center; gap: 24px; width: 100%; min-width: 0; margin-top: 27px; padding: 14px 0 18px; border-bottom: 1px solid var(--rule); }
.tag-search input { font-size: 15px; }
.tag-search .text-search-button { font-size: 14px; }
.tags-heading { display: flex; align-items: baseline; gap: 16px; margin-top: 27px; }
.tags-heading h2 { color: var(--seal-red); font-family: var(--serif); font-size: 15px; font-weight: 400; line-height: 1.9; }
.tags-heading p { color: #97a1ac; font-size: 12px; line-height: 1.9; }
.tag-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 36px; margin-top: 11px; }
.tag-grid .taxonomy-link { padding-top: 17px; padding-bottom: 13px; }
.tag-grid .taxonomy-name { font-size: 16px; }
.tag-grid .taxonomy-count { font-size: 11px; }
.term-posts { padding-top: 27px; }
.term-posts .post-list { border-top: 0; }
.term-posts .post:first-child { padding-top: 0; }
.term-posts .post:last-child { border-bottom: 0; padding-bottom: 0; }
.term-posts .post-title { font-weight: 400; }
.empty-results { padding: 45px 0 24px; text-align: center; }
.empty-results h2 { color: #6b7783; font-family: var(--serif); font-size: 18px; font-weight: 400; line-height: 1.8; }
.empty-results p { margin-top: 12px; color: #99a2ad; font-size: 12px; line-height: 1.9; }
.empty-results a { display: inline-block; margin-top: 21px; color: var(--seal-red); font-size: 12px; line-height: 1.9; }
@media (max-width:700px) {
  .archive-frame { padding-top: 28px; padding-bottom: 30px; }
  .archive-hero h1 { font-size: 29px; }
  .archive-toolbar { gap: 18px; }
  .archive-modes { gap: 13px; }
  .archive-mode { font-size: 15px; }
  .archive-search { width: 220px; gap: 12px; }
  .taxonomy-grid { column-gap: 32px; }
  .tag-grid { column-gap: 24px; }
  .taxonomy-name { font-size: 19px; }
}
@media (max-width:580px) {
  .archive-toolbar { display: block; margin-top: 23px; }
  .archive-modes { gap: 20px; }
  .archive-mode { padding-top: 10px; padding-bottom: 13px; }
  .archive-search { width: 100%; margin-top: 18px; margin-bottom: 13px; padding-bottom: 8px; }
  .tag-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:480px) {
  .archive-frame { padding-top: 24px; padding-bottom: 28px; }
  .archive-stats { font-size: 11px; }
  .archive-stats .stats-separator { margin: 0 8px; }
  .archive-hero { gap: 8px 13px; margin-top: 12px; }
  .archive-hero h1 { font-size: 26px; line-height: 1.65; }
  .archive-hero-meta { font-size: 11px; }
  .archive-description { margin-top: 8px; font-size: 13px; }
  .archive-mode { font-size: 14px; }
  .archive-search input, .text-search-button { font-size: 12px; }
  .timeline { padding-top: 24px; }
  .timeline-year-heading h2 { font-size: 24px; }
  .timeline-year-count { font-size: 10px; }
  .timeline-month { margin-top: 17px; }
  .timeline-month h3 { font-size: 16px; padding-bottom: 10px; }
  .timeline-row { grid-template-columns: 70px minmax(0,1fr) 34px; column-gap: 12px; padding: 15px 0; }
  .timeline-date, .timeline-category { font-size: 11px; }
  .timeline-title { font-size: 15px; line-height: 1.9; letter-spacing: .01em; }
  .taxonomy-grid { grid-template-columns: 1fr; margin-top: 18px; }
  .taxonomy-link { padding: 18px 0 14px; }
  .taxonomy-name { font-size: 18px; }
  .taxonomy-count { font-size: 11px; }
  .tag-grid { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 22px; margin-top: 10px; }
  .tag-grid .taxonomy-name { font-size: 14px; }
  .tag-grid .taxonomy-count { font-size: 10px; }
  .tag-search { margin-top: 20px; padding-top: 9px; padding-bottom: 15px; gap: 18px; }
  .tag-search input { font-size: 13px; }
  .tag-search .text-search-button { font-size: 12px; }
  .tags-heading { margin-top: 22px; gap: 13px; }
  .tags-heading h2 { font-size: 14px; }
  .tags-heading p { font-size: 11px; }
  .directory-return { padding-top: 31px; font-size: 12px; }
  .term-posts { padding-top: 23px; }
}
