/* 知时鉴全站动效层：保持内容可读，动效只负责建立层级与节奏。 */
.zsj-header {
  transition: background-color .32s ease, box-shadow .32s ease, border-color .32s ease;
}

.zsj-header.is-scrolled {
  background: color-mix(in srgb, #fffdf7 92%, transparent);
  border-bottom-color: rgba(164, 119, 42, .18);
  box-shadow: 0 14px 38px rgba(42, 34, 19, .08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
  backdrop-filter: blur(18px) saturate(1.08);
}

.zsj-scroll-progress {
  --scroll-progress: 0;
  position: absolute;
  z-index: 6;
  right: 0;
  bottom: -1px;
  left: 0;
  display: block;
  height: 2px;
  pointer-events: none;
  background: linear-gradient(90deg, #9a6b20, #d7b764 58%, #9a6b20);
  box-shadow: 0 0 14px rgba(185, 139, 54, .34);
  transform: scaleX(var(--scroll-progress));
  transform-origin: left center;
  will-change: transform;
}

.zsj-brand-seal,
.zsj-account-entry,
.zsj-nav-link,
.zsj-submenu a {
  transition: color .24s ease, background-color .24s ease, border-color .24s ease,
    box-shadow .24s ease, transform .24s cubic-bezier(.22, 1, .36, 1);
}

.zsj-brand:hover .zsj-brand-seal,
.zsj-brand:focus-visible .zsj-brand-seal {
  transform: rotate(-7deg) scale(1.04);
  box-shadow: 0 7px 20px rgba(154, 107, 32, .14);
}

.zsj-account-entry:hover,
.zsj-account-entry:focus-visible {
  transform: translateY(-2px);
}

/* JS 就绪后才隐藏，脚本失效时所有内容仍完整可见。 */
.site-motion-ready [data-site-reveal] {
  opacity: 0;
  transform: translate3d(0, 20px, 0) scale(.994);
  transition: opacity .68s cubic-bezier(.22, 1, .36, 1),
    transform .68s cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--site-delay, 0ms);
  will-change: opacity, transform;
}

.site-motion-ready [data-site-reveal].is-site-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.site-motion-ready [data-site-ink] {
  opacity: 0;
  transform: translate3d(0, 12px, 0);
  transition: opacity .52s cubic-bezier(.22, 1, .36, 1),
    transform .52s cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--ink-delay, 0ms);
}

.site-motion-ready [data-site-ink].is-site-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* 鼠标经过时的局部柔光，不改变卡片原有布局。 */
[data-site-glow] {
  --site-glow-x: 50%;
  --site-glow-y: 50%;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transition: border-color .28s ease, box-shadow .28s ease, transform .28s cubic-bezier(.22, 1, .36, 1);
}

[data-site-glow]::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(420px circle at var(--site-glow-x) var(--site-glow-y), rgba(211, 176, 99, .17), transparent 46%);
  transition: opacity .3s ease;
}

[data-site-glow] > * {
  position: relative;
  z-index: 1;
}

[data-site-glow]:hover {
  border-color: rgba(170, 125, 46, .3);
  box-shadow: 0 18px 45px rgba(61, 48, 26, .09);
  transform: translateY(-3px);
}

[data-site-glow]:hover::after {
  opacity: 1;
}

/* 标签页内容切换时建立轻微的纵深感。 */
.graph-panel.is-active,
.result-view-panel.is-active,
.source-card.is-active,
.notes-workbench-copy.is-active,
[data-reading-panel].is-active,
[data-professional-graph-panel].is-active {
  animation: zsj-panel-arrive .44s cubic-bezier(.22, 1, .36, 1) both;
}

.graph-tabs button,
.source-tabs button,
.reading-tabs button,
.result-switcher button,
.notes-workbench-tabs button {
  position: relative;
  transition: color .24s ease, background-color .24s ease, border-color .24s ease;
}

.graph-tabs button::after,
.source-tabs button::after,
.reading-tabs button::after,
.result-switcher button::after,
.notes-workbench-tabs button::after {
  content: "";
  position: absolute;
  right: 20%;
  bottom: 0;
  left: 20%;
  height: 2px;
  pointer-events: none;
  background: #b58a3c;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .3s cubic-bezier(.22, 1, .36, 1);
}

.graph-tabs button.is-active::after,
.source-tabs button.is-active::after,
.reading-tabs button.is-active::after,
.result-switcher button.is-active::after,
.notes-workbench-tabs button.is-active::after {
  transform: scaleX(1);
}

@keyframes zsj-panel-arrive {
  from { opacity: .2; transform: translate3d(0, 10px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@media (max-width: 760px) {
  .site-motion-ready [data-site-reveal] {
    transform: translate3d(0, 12px, 0);
    transition-duration: .52s;
  }

  [data-site-glow]:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .zsj-header,
  .zsj-brand-seal,
  .zsj-account-entry,
  .zsj-nav-link,
  .zsj-submenu a,
  [data-site-reveal],
  [data-site-ink],
  [data-site-glow],
  [data-site-glow]::after,
  .graph-panel.is-active,
  .result-view-panel.is-active,
  .source-card.is-active,
  .notes-workbench-copy.is-active,
  [data-reading-panel].is-active,
  [data-professional-graph-panel].is-active {
    animation: none !important;
    transition: none !important;
  }

  .site-motion-ready [data-site-reveal],
  .site-motion-ready [data-site-ink] {
    opacity: 1 !important;
    transform: none !important;
  }
}
