.card {
  transition: transform .18s, box-shadow .18s;
}
.card:hover {
  transform: translateY(-3px);
  box-shadow: 0 28px 76px #10384d29;
}
.card:focus-visible {
  outline: 3px solid var(--cyan);
  outline-offset: 3px;
}
.card h2 {
  min-height: 2.6em;
}
.card p {
  min-height: 3.3em;
}
.text-count {
  justify-self: end;
  color: #82929d !important;
  letter-spacing: 0 !important;
  font-size: 11px;
}
.save-status {
  min-height: 22px;
  margin: 8px 0;
  font-size: 13px;
}
.save-status.working {
  color: #376879;
}
.save-status.success {
  color: #087b43;
  font-weight: 700;
}
.save-status.error-status {
  color: #a52727;
}
.viewer-lang {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #ffffff80;
  font-size: 12px;
}
.viewer-lang a.active {
  color: var(--cyan);
  font-weight: 800;
}
.pdf-page img {
  display: block;
  width: 100%;
  height: auto;
  background: #fff;
}
.pdf-page.page-error {
  min-height: 40vh;
  display: grid;
  place-items: center;
}
.pdf-page.page-error::before {
  content: "页面加载失败，请刷新重试";
  color: #536571;
}
@media(max-width:599px) {
  .viewer-bar { flex-wrap: wrap; }
  .viewer-bar div { flex: 1 1 calc(100% - 52px); }
  .viewer-lang { margin-left: 50px; }
  .download { margin-left: auto; padding: 10px 12px; font-size: 12px; }
}
