/* Calm motion (apps.core.theme): things fade and slide; nothing bounces, pings or springs.
   A device that asks for less motion gets none. */
.animate-bounce, .animate-ping { animation: none !important; }
.animate-pulse { animation-duration: 3s; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* The organization's logo beside its name in the top bar. */
.org-logo { height: 1.75rem; width: auto; max-width: 6rem; object-fit: contain; }
/* The primary as words on the page's ground (apps.core.theme, --color-primary-text): in dark
   the buttons keep the brand's mid tone with white words, and text in the brand color takes
   the lifted tone that reads at 4.5:1 or better on the ground; in light a pale brand color is
   deepened the same way. Buttons, badges and fills keep --color-primary. */
.text-primary, .link-primary { color: var(--color-primary-text, var(--color-primary)); }
.btn-link:not(.btn-secondary, .btn-accent, .btn-neutral, .btn-info, .btn-success, .btn-warning, .btn-error) { --btn-color: var(--color-primary-text, var(--color-primary)); }
.btn-primary:is(.btn-outline, .btn-ghost, .btn-soft, .btn-dash) { --btn-rest-fg: var(--color-primary-text, var(--color-primary)); }
.badge-primary:is(.badge-outline, .badge-soft, .badge-ghost, .badge-dash) { color: var(--color-primary-text, var(--color-primary)); }
