/* A small, shared motion vocabulary: press, choose, complete, unfold. */
:root {--motion-fast:140ms;--motion-response:220ms;--motion-panel:280ms;--motion-ease:cubic-bezier(.22,1,.36,1);}
.checklist-panel {transform-origin:bottom right;}
.checklist-launcher svg {transform-origin:center;}

@media(prefers-reduced-motion:no-preference) {
  a,button,input,select,textarea,summary,[role="button"] {
    transition:color var(--motion-fast) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease;
  }
  :is(button,.button,.contribute-button,.home-search button,.chips a,.journal-topics a,.guide-checklist-link,.guide-welcome-link) {
    transition:transform var(--motion-fast) var(--motion-ease),color var(--motion-fast) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease;
  }
  :is(button,.button,.contribute-button,.chips a,.journal-topics a,.guide-checklist-link,.guide-welcome-link):active:not(:disabled) {transform:translateY(1px);}
  :is(.guide-books a,.guide-place-list a,.guide-pager a) {
    transition:transform var(--motion-response) var(--motion-ease),border-color var(--motion-fast) ease,background-color var(--motion-fast) ease;
  }
  :is(.guide-region-art,.guide-topic-art,.journal-card img,.category-grid .icon,.region-list a>span:last-child,.card-read,.checklist-launcher svg) {
    transition:transform var(--motion-response) var(--motion-ease);
  }
  .checklist-launcher[aria-expanded="true"] svg {transform:rotate(-8deg);}
  .guide-stage input+span strong {transition:color var(--motion-fast) ease;}
  .guide-checklist-bar progress::-webkit-progress-value {transition:width var(--motion-response) var(--motion-ease);}
  .guide-checklist-bar progress::-moz-progress-bar {transition:width var(--motion-response) var(--motion-ease);}
  .checklist-panel[open]::backdrop {animation:panel-backdrop var(--motion-panel) ease both;}
  .checklist-panel[data-closing]::backdrop {animation:panel-backdrop-out 180ms ease both;}
  @keyframes panel-backdrop {from{background-color:transparent}to{background-color:#42283255}}
  @keyframes panel-backdrop-out {from{background-color:#42283255}to{background-color:transparent}}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine) {
  :is(.guide-books a,.guide-place-list a,.guide-pager a):hover {transform:translateY(-2px);}
  .guide-books a:hover .guide-region-art,.guide-docs a:hover .guide-topic-art {transform:translateY(-2px);}
  .journal-card:hover img {transform:scale(1.018);}
  .category-grid a:hover .icon {transform:translateY(-2px);}
  .region-list a:hover>span:last-child {transform:translateX(3px);}
}
/* Keyboard selection gets the same colour cue, without moving the focus target. */
:is(.guide-books a,.guide-place-list a,.guide-pager a):focus-visible {border-color:var(--green);}
:is(.category-grid a,.region-list a,.chips a,.journal-topics a):focus-visible {background-color:var(--green-tint);}
@media(max-width:640px) {.checklist-panel {transform-origin:bottom center;}}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
