@keyframes aura-page-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes aura-soft-rise {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes aura-breathe {
  0%,
  100% {
    transform: translateY(0);
    box-shadow: 0 18px 35px rgba(0, 0, 0, .42);
  }
  50% {
    transform: translateY(-4px);
    box-shadow: 0 22px 42px rgba(210, 173, 88, .14);
  }
}

body.tarot .tarot-shell {
  animation: aura-page-in .7s ease-out both;
}

.hero,
.library-head {
  animation: aura-soft-rise .75s .05s ease-out both;
}

.question-panel,
.spread-picker,
.spread-title,
.library-tools {
  animation: aura-soft-rise .68s .12s ease-out both;
}

.draw-button,
.spread-picker button,
.language-button,
.theme-button,
.library-filters button,
.related-row button {
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.draw-button:hover,
.spread-picker button:hover,
.language-button:hover,
.theme-button:hover,
.library-filters button:hover,
.related-row button:hover {
  transform: translateY(-1px);
}

.draw-button:active,
.spread-picker button:active,
.language-button:active,
.theme-button:active,
.library-filters button:active,
.related-row button:active {
  transform: translateY(0);
}

.deck-stage:not([hidden]) .card-back,
.reading-table:empty + .card-detail,
.mystic-card .card-back {
  animation: aura-breathe 3.8s ease-in-out infinite;
}

.flip-card {
  transition: transform .28s ease;
}

.card-slot:not(.revealed) .flip-card:hover {
  transform: translateY(-5px);
}

.meaning-card {
  animation: aura-soft-rise .56s ease-out both;
  animation-delay: calc(var(--i, 0) * 35ms);
}

.meaning-dialog[open] {
  animation: aura-soft-rise .24s ease-out both;
}

.tarot-footer {
  max-width: 720px;
  margin: 34px auto 0;
  padding-top: 20px;
  border-top: 1px solid rgba(210, 173, 88, .22);
  text-align: center;
  animation: aura-soft-rise .72s .18s ease-out both;
}

.tarot-footer p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

html[lang="en"] .tarot-footer p {
  font-family: Palatino, "Palatino Linotype", "Book Antiqua", Georgia, serif;
}

html[lang="zh-CN"] .tarot-footer p {
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "HarmonyOS Sans SC", Arial, sans-serif;
}

body.tarot[data-theme="light"] .tarot-footer {
  border-top-color: rgba(167, 122, 56, .2);
}

body.tarot[data-theme="light"] .mystic-card .card-back {
  box-shadow: 0 18px 35px rgba(130, 86, 76, .15);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
