/* Text and SVG colors use synchronized endpoint animations in theme.js to
   avoid cascading inherited-color transitions. Only surface color properties participate in a theme switch. Page interaction and
   navigation transitions retain their own rules outside this short window. */
html.theme-changing,
html.theme-changing *,
html.theme-changing *::before,
html.theme-changing *::after {
  transition-property: background-color, border-color !important;
  transition-duration: 225ms !important;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1) !important;
  transition-delay: 0s !important;
}
html.theme-initializing,
html.theme-initializing *,
html.theme-initializing *::before,
html.theme-initializing *::after {
  transition: none !important;
}
@media (prefers-reduced-motion: reduce) {
  html[data-theme], html[data-theme] *,
  html[data-theme] *::before, html[data-theme] *::after {
    transition: none !important;
  }
}
