/**
 * 全站交互节奏和历史分类栏的收起布局。
 * 动效只作为阅读辅助，不隐藏正文；触屏、键盘和减少动态效果使用同一套可操作结构。
 */
:root { --motion-fast: 140ms; --motion-normal: 220ms; --motion-slow: 280ms; --motion-ease: cubic-bezier(.22,.61,.36,1); }
.site-header { transition: box-shadow var(--motion-normal) var(--motion-ease), background-color var(--motion-normal) var(--motion-ease); }
.site-header.is-scrolled { box-shadow: 0 5px 22px rgb(32 46 77 / 6%); }
:is(.desktop-nav a,.site-footer a,.entry-content a,.category-index a,.article-toc a,.author-expertise-list a,.button-text) {
  transition: color var(--motion-fast) ease, background-color var(--motion-fast) ease, border-color var(--motion-fast) ease;
}
:is(.button-primary,.header-share,.nav-rss,.history-filter-submit,.project-show-more,.article-share-buttons button,.article-share-buttons a,.share-platforms button,.share-platforms a,.share-close,.share-copy-text,.share-link-row button,.share-poster-toggle,#share-poster-download,.history-quick-toggle,.history-quick-scroll-controls button) {
  transition: color var(--motion-fast) ease, background-color var(--motion-normal) ease, border-color var(--motion-normal) ease, box-shadow var(--motion-normal) ease, transform var(--motion-fast) var(--motion-ease);
}
:is(.post-card,.history-category-card,.translated-book-card,.project-shortcut-card,.section-card,.history-quick-card) {
  transition: border-color var(--motion-normal) ease, box-shadow var(--motion-normal) ease, transform var(--motion-normal) var(--motion-ease), background-color var(--motion-normal) ease;
}
:is(input,textarea,select) { transition: border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease; }
:is(input,textarea,select):focus { border-color: var(--accent-line); box-shadow: 0 0 0 3px rgb(66 92 149 / 7%); }
.mobile-menu summary span,.article-toc summary span,.project-source-articles summary>span { transition: transform var(--motion-normal) var(--motion-ease); }
.mobile-menu[open] summary span { transform: rotate(90deg); }
.article-toc[open] summary span { transform: rotate(180deg); }
.project-source-articles[open] summary>span { transform: rotate(45deg); }
.mobile-menu nav { transform-origin: top right; box-shadow: 0 12px 32px rgb(32 46 77 / 10%); }
.card-bottom a svg,.section-card-bottom svg,.translated-book-read svg,.project-shortcut-link svg,.author-profile-archive svg { transition: transform var(--motion-normal) var(--motion-ease); }
@media(hover:hover) and (pointer:fine) {
  :is(.post-card,.history-category-card,.translated-book-card,.project-shortcut-card,.section-card):hover { transform: translateY(-3px); box-shadow: 0 10px 28px rgb(32 46 77 / 7%); }
  .history-quick-card:hover { transform: translateY(-1px); }
  :is(.card-bottom a,.section-card,.translated-book-read,.project-shortcut-link,.author-profile-archive):hover svg { transform: translateX(2px); }
}
:is(.button-primary,.header-share,.nav-rss,.history-filter-submit,.project-show-more,.share-platforms button,.share-platforms a,.article-share-buttons button,.article-share-buttons a,.history-quick-toggle):active { transform: translateY(1px) scale(.985); }
@media(hover:none) {
  :is(.post-card,.history-category-card,.translated-book-card,.project-shortcut-card,.section-card,.history-quick-card):hover { transform: none; box-shadow: none; }
}
@keyframes qingyu-enter { from { opacity: .75; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media(prefers-reduced-motion:no-preference) {
  .hero-copy,.archive-heading,.article-header { animation: qingyu-enter 320ms var(--motion-ease); }
}

/* 哨点在分类条之外，收起高度不会改变吸顶阈值；关闭滚动锚定以免与高度动画互相拉扯。 */
.history-quick-sentinel { display: block; height: 1px; margin-bottom: -1px; pointer-events: none; }
.has-history-quick-filter .archive-section { overflow-anchor: none; }
.history-quick-filter { transition: box-shadow var(--motion-normal) ease, border-color var(--motion-normal) ease; }
.history-quick-filter[data-mode="compact"],.history-quick-filter[data-mode="expanded"] { box-shadow: 0 9px 18px -14px rgb(32 46 77 / 28%); }
.history-quick-filter[data-mode="compact"] .history-quick-heading>p,.history-quick-filter[data-mode="expanded"] .history-quick-heading>p { display: none; }
.history-quick-actions { display: flex; align-items: center; gap: 9px; margin-left: auto; }
.history-quick-actions .history-quick-scroll-controls { margin-left: 0; }
.history-quick-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 5px 9px; background: var(--accent-soft); color: var(--accent); border: 1px solid var(--accent-line); border-radius: 5px; font: inherit; font-size: 11px; line-height: 1.5; white-space: nowrap; }
.history-quick-toggle:hover { background: var(--accent); color: #fff; }
.history-quick-toggle svg { width: 14px; height: 14px; transition: transform var(--motion-normal) var(--motion-ease); }
.history-quick-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.history-quick-viewport { min-width: 0; overflow-x: hidden; }
.history-quick-filter .history-quick-grid { margin: 0; padding: 3px; }
.history-quick-filter[data-mode="compact"] .history-quick-grid { grid-template-columns: none; grid-template-rows: auto; grid-auto-flow: column; grid-auto-columns: calc((100% - 64px) / 9); }
.history-quick-filter[data-mode="expanded"] .history-quick-viewport { max-height: min(60vh,calc(100vh - var(--history-header-offset,92px) - 92px)); max-height: min(60dvh,calc(100dvh - var(--history-header-offset,92px) - 92px)); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.history-quick-filter.is-transitioning .history-quick-viewport { overflow-y: hidden; }
.history-quick-filter[data-mode="expanded"] .history-quick-grid { grid-template-columns: repeat(9,minmax(0,1fr)); grid-template-rows: none; grid-auto-flow: row; grid-auto-columns: auto; overflow-x: hidden; }
.history-initial-align { scroll-behavior: auto !important; }
@media(max-width:1100px) {
  .history-quick-filter[data-mode="compact"] .history-quick-grid { grid-auto-columns: 150px; }
  .history-quick-filter[data-mode="expanded"] .history-quick-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
}
@media(max-width:800px) {
  .history-quick-filter[data-mode="expanded"] .history-quick-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media(max-width:620px) {
  .history-quick-heading { flex-wrap: wrap; }
  .history-quick-heading>p { flex: 1 1 120px; }
  .history-quick-actions { gap: 7px; }
  .history-quick-filter[data-mode="compact"] .history-quick-grid { grid-auto-columns: 142px; }
  .history-quick-filter[data-mode="expanded"] .history-quick-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .history-quick-toggle { min-height: 30px; }
  .history-quick-scroll-controls button { min-height: 30px; width: 29px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto !important; }
  *,*::before,*::after { animation: none !important; transition: none !important; }
  :is(.button-primary,.post-card,.history-category-card,.translated-book-card,.project-shortcut-card,.section-card,.history-quick-card):hover { transform: none; }
  :is(.button-primary,.header-share,.nav-rss,.history-filter-submit,.project-show-more,.share-platforms button,.share-platforms a,.article-share-buttons button,.article-share-buttons a,.history-quick-toggle):active { transform: none; }
}
