You have made great progress, learning about advanced UI to continue building the Little Lemon UI for Mario and Adrian. You previously learned about navigation lists, grids and lazy layouts, in compose. Now, you will learn how to style your UI with themes. In this video, you will learn to explain what themes are and why they are important. You will also learn, to identify what design aspects they cover. A typical application consists of multiple screens, each having its own set of components, like texts, lists, grids, buttons, and so on. You need a mechanism to unify and maintain the application look and feel across all these screens. Themes, allow you to separate application design details from the UI structure and behavior. You can have two screens containing the same composables, header text, description text image, and two buttons. Yet they may look different, the appearance is controlled by the application theme. A theme is composed of a collection of attributes. A single attribute can represent font size, shape, typography, color, spacing and more. These attributes are used by composables, styles, layouts, and so on. For example, a theme may specify a header text size of 10 sp, gray text color for regular text, and button height of 20dp, with the blue button background. Jetpack compose includes a material design implementation that you can use to create a base for the application UI. It contains components including cards, buttons, and switches. These components are taking advantage of the Android theme mechanism. And can be easily themed to better reflect a product's brand and create a unique app look and feel. Declaring all the attributes in a theme, allows you to reuse them across the entire application, leading to consistent component design. In other words, themes serve as a single source of truth regarding the application UI. Android material design, provides a dedicated build-in themes, including day night themes that automatically toggle between the light and dark modes of the application. The dark theme is applied to Android's UI as well as applications running on the device. Dark theme can reduce power usage and makes it easier for anyone to use a device in low-light conditions. Color schemes are designed to ensure accessible text and distinguish UI elements and surfaces from one another. Themes can also be used to style UI elements outside of the Android application, such as window background and system status bar colors. Themes define the look and feel for the entire application, activity, or view hierarchy. A theme is a collection of styles, the style specifies a collection of attributes for a particular type of component. Themes contain styles for buttons, lists, grids, images ,and many other composables. Themes contain styles for buttons, lists, grids, images, and many other composables. Instead of modifying the design of each composable individually, you should adjust the value of the attributes responsible for the composable by modifying it's style. This change will be applied to every screen in the application. For example, a new background color for a button will be applied to all buttons in every application screen. You may wonder what would happen if the same attribute is defined in the theme, in the style, and in the composable. Attributes, have priority hierarchy. The closer to the composable, the higher the priority of an attribute. If a given attribute is provided for the composable, then it overrides the same attribute defined in style. If an attribute is provided for the style, then it overrides the attribute to find in the theme. This hierarchy allows you to change the primary color for all components in the application, and at the same time, override it for a single type of component or even a single component instance. In this video, you learned to explain what themes are and why they are important. You also learned, to identify what design aspects they cover. Now you know what themes and styles are. You may use them in the Little Lemon app that you are creating for Mario and Adrian. Well done.