/* Motion tokens shared by the family archive, including its protected frame. */
:root { --archive-motion-ease: cubic-bezier(.16,1,.3,1); --archive-motion-short: 180ms; --archive-motion-medium: 420ms; }
.portal-header .section-navigation > button,
.member-actions button,
.button,
.edition-nav button,
.desk-tools button,
.desk-index a,
.desk-find,
.chapter-controls button {
  transition: color var(--archive-motion-short), background var(--archive-motion-short), border-color var(--archive-motion-short), box-shadow var(--archive-motion-short), transform var(--archive-motion-short) var(--archive-motion-ease);
}
@media (hover: hover) {
  .portal-header .section-navigation > button:hover,
  .button:hover,
  .desk-tools button:hover,
  .chapter-controls button:hover { transform: translateY(-2px); }
  .desk-index a:hover .desk-index-arrow,
  .auth-history-link:hover > span:last-child { transform: translate(3px,-3px); }
  .photo-card:hover > img { transform: scale(1.035); }
}
.desk-index-arrow,.auth-history-link > span:last-child { transition: transform 220ms var(--archive-motion-ease); }
.photo-card { overflow: hidden; }
.photo-card > img { transition: transform 600ms var(--archive-motion-ease); }
.photo-card:focus-within > img { transform: scale(1.025); }
.directory-person { transition: background 220ms var(--archive-motion-ease), border-color 220ms var(--archive-motion-ease); }
.profile-cover, .profile-sheet, .family-paper, dialog { transform-origin: 50% 35%; }
.button:active,.desk-tools button:active,.edition-nav button:active { transform: translateY(0) scale(.98); }
.portal-header .section-navigation > button[aria-current] .nav-icon { filter: drop-shadow(0 0 5px #e0bf8335); }
/* A single light pass when opening a branch; the glow belongs to its medallion. */
.treeworkspace .treecenter .tree-avatar { box-shadow: 0 0 22px #e0bf831c; }
.treeworkspace .treeperson:hover .tree-medallion { border-color: #b99b62; }
.treeworkspace .tree-medallion { transition: border-color 220ms, box-shadow 220ms; }
.treeworkspace .treename:active { transform: none; }
.chapter.changing .chapter-copy { animation: archive-chapter-copy 720ms var(--archive-motion-ease) both; }
.chapter.changing .chapter-art { animation: archive-chapter-art 850ms var(--archive-motion-ease) both; }
@keyframes archive-chapter-copy { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes archive-chapter-art { from { opacity: .25; clip-path: inset(2% 2% 2% 2%); transform: translateY(8px); } to { opacity: 1; clip-path: inset(0); transform: none; } }
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print { *,*::before,*::after { animation: none !important; transition: none !important; } }
