/* Motion confirms navigation and actions without moving the surrounding layout. */
@media (prefers-reduced-motion: no-preference) {
  body:not(.emergency-mode) :is(button, .button) {
    transition:
      transform 100ms ease-out,
      background-color 150ms ease,
      border-color 150ms ease;
  }
  body:not(.emergency-mode) :is(button, .button):not(:disabled):active {
    transform: translateY(1px);
  }
  .progress :is(.major-bar, .subprogress span) {
    transition: background-color 180ms ease;
  }
  .faq-list summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    list-style: none;
  }
  .faq-list summary::-webkit-details-marker {
    display: none;
  }
  .faq-list summary::after {
    content: '';
    flex: none;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 180ms ease;
  }
  .faq-list details[open] summary::after {
    transform: rotate(225deg);
  }
  .faq-list details[open] > p {
    animation: content-reveal 180ms ease-out;
  }
  #next[aria-busy='true']::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 10px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    vertical-align: -2px;
    animation: sending 800ms linear infinite;
  }
}
@keyframes content-reveal {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes sending {
  to {
    transform: rotate(360deg);
  }
}
