Theme colors are semantic tokens that define the color language of UI elements. They reference global colors and adapt to different themes (light/dark). Yle services use both light and dark themes. Yle Areena uses only the dark theme. Tietäjä is built for Yle’s event betting games and is based on the YDS dark theme.
Background
Background tokens define the main surfaces of the UI: page backgrounds, surface variants, and overlay surfaces such as dialogs and backdrops. Use these tokens to structure layouts, separate sections, and create elevation through subtle surface changes.
| Preview | Token | Value | Description |
|---|
| background | #ffffff / white | Primary page background. |
| background-variant | #f8f9fa / gray-5 | Alternate background color for cards and sections. Elevates content blocks. |
| negative-background | #131415 / gray-95 | Inverted background for high-priority contrasting elements. |
| navigation-background | #ffffff / white | Navigation bar and header backgrounds (in Yle Areena). |
| control-background | rgba(0, 0, 0, 0.47) / black-opacity-50 | Unselected form control background (eg. Switch). |
| control-background-disabled | rgba(0, 0, 0, 0.15) / black-opacity-30 | Disabled form control background (eg. Switch). |
| input-background | #ffffff / white | Textual form field backgrounds (eg. TextInput, Textarea, Select). |
| highlight-background | #e8e9eb / gray-20 | Subtle highlighted or selected content background (in Yle Areena). |
| background-interactive | #f1f2f4 / gray-10 | Selectable list item background (eg. ChoiceBox and ChoiceButton). |
| dialog-background | #ffffff / white | Overlay content backgrounds (eg. Modal and BottomSheet). |
| dialog-overlay | rgba(0, 0, 0, 0.47) / black-opacity-50 | Backdrop of overlays, dimming rest of the page (eg. Modal and BottomSheet). |
| info-primary-background | #9fc8ee / blue-20 | Notification information, primary variant. |
| info-secondary-background | #f1f2f4 / gray-10 | Notification information, secondary variant. |
| success-background | #62f9c2 / green-20 | Notification of success background. |
| warning-background | #ffd199 / info-orange-20 | Notification of warning background. |
| error-background | #f99fb5 / red-20 | Notification of error background. |
| opinion-article-background | #3d5483 / info-deep-blue-60 | Opinion content background (eg. opinion articles). |
| background-list | #f8f9fa / gray-5 | Used as the background for lists, link lists, and tables. |
| background-dropdown | #f8f9fa / gray-5 | Overlaying menu and dropdown background. |
| Preview | Token | Value | Description |
|---|
| background | #131415 / gray-95 | |
| background-variant | #1f2123 / gray-90 | |
| negative-background | #ffffff / white | |
| navigation-background | #000000 / black | |
| control-background | rgba(255, 255, 255, 0.53) / white-opacity-50 | |
| control-background-disabled | rgba(255, 255, 255, 0.21) / white-opacity-30 | |
| input-background | #131415 / gray-95 | |
| highlight-background | #0b3f4b / turquoise-95 | |
| background-interactive | #292b2d / gray-80 | |
| dialog-background | #1f2123 / gray-90 | |
| dialog-overlay | rgba(0, 0, 0, 0.70) / black-opacity-60 | |
| info-primary-background | #d8d9db / gray-30 | |
| info-secondary-background | #292b2d / gray-80 | |
| success-background | #33d59b / info-green-40 | |
| warning-background | #feb054 / info-orange-40 | |
| error-background | #f5517a / red-40 | |
| opinion-article-background | #3d5483 / info-deep-blue-60 | |
| background-list | #131415 / gray-95 | |
| background-dropdown | #292b2d / gray-80 | |
Text
Text tokens define readable and consistent text colors across themes and surfaces. They cover default and inverted text, placeholder text, emphasis levels, and disabled states.
| Preview | Token | Value | Description |
|---|
| default-text | #131415 / gray-95 | Primary text color; Link text; form field descriptions. |
| negative-text | #f8f9fa / gray-5 | Text on inverted backgrounds (eg. Primary Button text). |
| input-placeholder-text | #4a4f54 / gray-60 | Textual form field placeholder text color. |
| high-emphasis-text | rgba(0, 0, 0, 0.79) / black-opacity-70 | Text color for important metadata. |
| medium-emphasis-text | rgba(0, 0, 0, 0.70) / black-opacity-60 | Text color for secondary metadata. |
| disabled-text | rgba(0, 0, 0, 0.29) / black-opacity-40 | Disabled control text color (eg. Button, Input, Checkbox, Radio). |
| light-text | #f8f9fa / gray-5 | Theme-independent light text for dark backgrounds. |
| dark-text | #131415 / gray-95 | Theme-independent dark text for light backgrounds. |
| light-high-contrast-text | #ffffff / white | Theme-independent light text for colored backgrounds (eg. Opinion and Yle Corporate Tag variants). |
| feedback-live-text | #ffffff / light-high-contrast-text | Text color for feedback-live background (eg. Live Tag text). |
| Preview | Token | Value | Description |
|---|
| default-text | #f8f9fa / gray-5 | |
| negative-text | #131415 / gray-95 | |
| input-placeholder-text | #878a8b / gray-50 | |
| high-emphasis-text | rgba(255, 255, 255, 0.85) / white-opacity-70 | |
| medium-emphasis-text | rgba(255, 255, 255, 0.71) / white-opacity-60 | |
| disabled-text | rgba(255, 255, 255, 0.30) / white-opacity-40 | |
| light-text | #f8f9fa / gray-5 | |
| dark-text | #131415 / gray-95 | |
| light-high-contrast-text | #ffffff / white | |
| feedback-live-text | #ffffff / light-high-contrast-text | |
Action
Action tokens are used for interactive elements and their states, such as buttons, checkboxes, radios, and selectable components. They define primary and secondary actions, hover/active variants, disabled states, and destructive actions.
| Preview | Token | Value | Description |
|---|
| primary-action | #131415 / gray-95 | Primary action background color (eg. Primary Button background; Checkbox/Radio). |
| primary-action-variant | rgba(0, 0, 0, 0.70) / black-opacity-60 | Primary action hover/active states background. |
| secondary-action | rgba(0, 0, 0, 0.05) / black-opacity-10 | Secondary action alternative state (eg. Secondary Button hover background). |
| secondary-action-variant | rgba(0, 0, 0, 0.09) / black-opacity-20 | Secondary hover/active states background (eg. MenuItem hover; Link hover; ButtonGroup hover). |
| disabled-action | rgba(0, 0, 0, 0.15) / black-opacity-30 | Disabled action color (eg. Primary Button). |
| danger-primary-action | #d10b3d / red-60 | Destructive action (eg. delete button background). |
| danger-primary-action-variant | #e90e43 / red-50 | Destructive action (eg. delete button hover/active states). |
| selected | #131415 / gray-95 | Togglable action selected state background (eg. ButtonGroup / SectionTab). |
| unselected | #e8e9eb / gray-20 | Togglable action unselected state background (eg. ButtonGroup / SectionTabs / TagFilter). |
| Preview | Token | Value | Description |
|---|
| primary-action | #f8f9fa / gray-5 | |
| primary-action-variant | rgba(255, 255, 255, 0.71) / white-opacity-60 | |
| secondary-action | rgba(255, 255, 255, 0.08) / white-opacity-5 | |
| secondary-action-variant | rgba(255, 255, 255, 0.17) / white-opacity-20 | |
| disabled-action | rgba(255, 255, 255, 0.21) / white-opacity-30 | |
| danger-primary-action | #f77898 / red-30 | |
| danger-primary-action-variant | #f5517a / red-40 | |
| selected | #f8f9fa / gray-5 | |
| unselected | #323639 / gray-70 | |
Border
Border tokens define outlines and separators used to structure UI components. They cover default and disabled borders, focus rings, separators, and borders for inverted surfaces.
| Preview | Token | Value | Description |
|---|
| border | #131415 / gray-95 | Default Input, Textarea, Select border |
| disabled-border | rgba(0, 0, 0, 0.29) / black-opacity-40 | Disabled Input, Checkbox border |
| primary-focus-border | #009cb5 / turquoise-60 | Focus ring for interactive elements |
| secondary-focus-border | #131415 / gray-95 | Alternative focus ring color |
| separator | rgba(0, 0, 0, 0.09) / black-opacity-20 | Menu separator lines; Dialog content borders |
| negative-border | #ffffff / background | Border for elements on inverted backgrounds |
| Preview | Token | Value | Description |
|---|
| border | #f8f9fa / gray-5 | |
| disabled-border | rgba(255, 255, 255, 0.30) / white-opacity-40 | |
| primary-focus-border | #29ccde / turquoise-40 | |
| secondary-focus-border | #f8f9fa / gray-5 | |
| separator | rgba(255, 255, 255, 0.13) / white-opacity-10 | |
| negative-border | #131415 / background | |
Illustrative icons
Illustrative icon tokens define the primary and secondary colors used in illustrative iconography and illustrations. Use them to keep illustration accents consistent with the theme.
| Preview | Token | Value | Description |
|---|
| illustrative-icon-primary | #131415 / gray-95 | Primary color for illustrative icons. Used as the background for illustrative icons. |
| illustrative-icon-secondary | #5ddbe9 / turquoise-30 | Secondary/accent color for illustrations. Used for the lines and other elements of illustrative icons, not for the background. |
| Preview | Token | Value | Description |
|---|
| illustrative-icon-primary | #f8f9fa / gray-5 | |
| illustrative-icon-secondary | #009cb5 / turquoise-60 | |
Player
Player tokens define colors used in media player UI elements, such as the progress track and the progress indicator.
| Preview | Token | Value | Description |
|---|
| player-progress-bar | rgba(255, 255, 255, 0.30) / white-opacity-40 | Media player progress bar track background |
| player-progress-indicator | #29ccde / turquoise-40 | Media player progress indicator/filled track |
| Preview | Token | Value | Description |
|---|
| player-progress-bar | rgba(255, 255, 255, 0.30) / white-opacity-40 | |
| player-progress-indicator | #29ccde / turquoise-40 | |
Spinner
Spinner tokens define spinner foreground and track colors across variants, including default, negative, and highlight variants. Use these tokens for loading indicators in different surface contexts.
| Preview | Token | Value | Description |
|---|
| default | #131415 / gray-95 | Spinner default variant foreground |
| negative | #ffffff / white | Spinner negative variant foreground |
| highlight-default | #009cb5 / turquoise-60 | Spinner highlight variant foreground |
| highlight-negative | #29ccde / turquoise-40 | Spinner highlight-negative variant foreground |
| background-default | #d8d9db / gray-30 | Spinner default variant track background |
| background-negative | #292b2d / gray-80 | Spinner negative variant track background |
| Preview | Token | Value | Description |
|---|
| default | #ffffff / white | |
| negative | #131415 / gray-95 | |
| highlight-default | #29ccde / turquoise-40 | |
| highlight-negative | #009cb5 / turquoise-60 | |
| background-default | #292b2d / gray-80 | |
| background-negative | #d8d9db / gray-30 | |
Feedback
Feedback tokens are used to communicate status and validation states in the UI. They cover highlight, error, warning, success, and live indicators for components and messages.
| Preview | Token | Value | Description |
|---|
| highlight | #009cb5 / turquoise-60 | Accent color; NavigationTab indicator; Switch checked. Guides the user forward in the user interface. |
| error | #d10b3d / red-60 | Error state for form controls and messages |
| warning | #f1722a / orange-60 | Warning state indicator |
| success | #058657 / green-70 | Success state for form controls |
| live | #e90e43 / red-50 | Live broadcast indicator |
| Preview | Token | Value | Description |
|---|
| highlight | #29ccde / turquoise-40 | |
| error | #f5517a / red-40 | |
| warning | #ff9c31 / orange-40 | |
| success | #03e592 / green-40 | |
| live | #e90e43 / red-50 | |
Logo
Logo tokens define colors used for Yle and channel logos, including background and text variants. Use these tokens for logo components and brand marks across themes.
| Preview | Token | Value | Description |
|---|
| yle-logo-background-brand | #00b4c8 / turquoise-50 | Yle logo background (brand variant) |
| tv1-logo | #3311aa / yle-tv-1 | Yle TV1 brand color |
| tv-2-logo | #cb0fd0 / yle-tv-2 | Yle TV2 brand color |
| yle-teema-logo | #fe8300 / yle-teema | Yle Teema brand color |
| yle-fem-logo | #a3bd2f / yle-fem | Yle Fem brand color |
| lastenareena-logo | #feb500 / lastenareena | Lasten Areena brand color |
| yle-radio-1-logo | #dc006a / yle-radio-1 | Yle Radio 1 brand color |
| yle-radio-suomi-logo | #0000e6 / yle-radio-suomi | Yle Radio Suomi brand color |
| yle-x-logo | #fd2b77 / yle-x | Yle X brand color |
| yle-x3m-logo | #ff4c20 / yle-x3m | Yle X3M brand color |
| yle-vega-logo | #169bd4 / yle-vega | Yle Vega brand color |
| yle-klassinen-logo | #0f7b87 / yle-klassinen | Yle Klassinen brand color |
| yle-sami-radio-logo | #0049bf / yle-sami-radio | Yle Sámi Radio brand color |
| areena-logo | #29ccde / turquoise-40 | Yle Areena brand color |
| yle-logo-background-default | #131415 / default-text | Yle logo background (default variant) |
| yle-logo-text | #f8f9fa / negative-text | Yle logo text color |
| logo-background | #000000 / black | Generic logo background color |
| logo-nega | #ffffff / white | Logo negative/inverted variant |
| logo-text | #ffffff / white | Logo text color |
| Preview | Token | Value | Description |
|---|
| yle-logo-background-brand | #f8f9fa / gray-5 | |
| tv1-logo | #3311aa / yle-tv-1 | |
| tv-2-logo | #cb0fd0 / yle-tv-2 | |
| yle-teema-logo | #fe8300 / yle-teema | |
| yle-fem-logo | #a3bd2f / yle-fem | |
| lastenareena-logo | #feb500 / lastenareena | |
| yle-radio-1-logo | #dc006a / yle-radio-1 | |
| yle-radio-suomi-logo | #00b9eb / yle-radio-suomi-2 | |
| yle-x-logo | #fd2b77 / yle-x | |
| yle-x3m-logo | #ff4c20 / yle-x3m | |
| yle-vega-logo | #169bd4 / yle-vega | |
| yle-klassinen-logo | #0f7b87 / yle-klassinen | |
| yle-sami-radio-logo | #0049bf / yle-sami-radio | |
| areena-logo | #29ccde / turquoise-40 | |
| yle-logo-background-default | #f8f9fa / default-text | |
| yle-logo-text | #131415 / negative-text | |
| logo-background | #ffffff / white | |
| logo-nega | #ffffff / white | |
| logo-text | #000000 / black | |
Brand
Yle’s brand color is used only in the logo and not in UI components. Turquoise is used in the user interface.
| Preview | Token | Value | Description |
|---|
| yle-brand | #00b4c8 / turquoise-50 | Used in the Yle logo and not as a user interface color. Primary Yle brand color. |
| Preview | Token | Value | Description |
|---|
| yle-brand | #00b4c8 / turquoise-50 | |
Tag
Tag tokens define background colors for different tag types and tag interaction variants. Use these tokens for tags such as live, default, opinion, corporate, neutral, and action-based tag styles.
| Preview | Token | Value | Description |
|---|
| live-tag | #e90e43 / red-50 | Live Tag Tag background.Used for live, right now, online, and chat content. Highlights time-sensitive or currently active events and updates. |
| default-tag | #131415 / gray-95 | Default Tag background. Used as the primary tag for content categorization, especially in editorial and Areena content such as new episodes, seasons, and curated highlights. |
| opinion-tag | #3d5483 / info-deep-blue-60 | Opinion Tag background. Used to mark opinion-based conten |
| yle-corporate-tag | #00809c / turquoise-70 | Yle Corporate Tag background. Used in Yle corporate and official communication content. |
| primary-action-tag | #131415 / gray-95 | TagLink primary variant background. Background for interactive TagLink primary variants used for navigation and filtering. |
| primary-action-variant-tag | rgba(0, 0, 0, 0.70) / black-opacity-60 | TagLink primary variant hover state. Hover and active state background for primary TagLink variants. |
| secondary-action-tag | rgba(0, 0, 0, 0.05) / black-opacity-10 | TagLink secondary variant background. Background for secondary or text-based TagLink variants used in less prominent interactions. |
| secondary-action-variant-tag | rgba(0, 0, 0, 0.02) / black-opacity-5 | TagLink secondary/text variant hover state. Hover and active state background for secondary or text-based TagLink variants. |
| neutral-tag | #e8e9eb / gray-20 | Neutral Tag background. Used when the tag should not visually dominate, such as user-selected filters, preferences, or contextual metadata. |
| Preview | Token | Value | Description |
|---|
| live-tag | #e90e43 / red-50 | |
| default-tag | #ffffff / white | |
| opinion-tag | #3d5483 / info-deep-blue-60 | |
| yle-corporate-tag | #00809c / turquoise-70 | |
| primary-action-tag | #f8f9fa / gray-5 | |
| primary-action-variant-tag | rgba(255, 255, 255, 0.71) / white-opacity-60 | |
| secondary-action-tag | rgba(255, 255, 255, 0.13) / white-opacity-10 | |
| secondary-action-variant-tag | rgba(255, 255, 255, 0.08) / white-opacity-5 | |
| neutral-tag | #323639 / gray-70 | |
Shadow
Shadow tokens define elevation through shadow color values. Use these tokens for layered surfaces and components that require visual separation from the background.
| Preview | Token | Value | Description |
|---|
| s | rgba(0, 0, 0, 0.15) | Small shadow color, subtle elevation |
| m | rgba(0, 0, 0, 0.15) | Medium shadow color, medium elevation |
| l | rgba(0, 0, 0, 0.41) | Large shadow color, high elevation |
| Preview | Token | Value | Description |
|---|
| s | rgba(0, 0, 0, 0.70) | |
| m | rgba(0, 0, 0, 0.70) | |
| l | rgba(0, 0, 0, 0.87) | |
Tietaja
Tietäjä tokens define theme colors specific to the Tietäjä game UI, built on top of the YDS dark theme. Use these tokens for Tietäjä-specific components such as player cards and score-related highlights.
| Preview | Token | Value | Description |
|---|
| background-player-card | rgba(0, 0, 0, 0.15) / black-opacity-30 | Tietäjä game player card background. |
| text-score | #009cb5 / highlight | Tietäjä game score text color. |
| border-highlight | #009cb5 / highlight | Tietäjä game highlighted border color. |
| Preview | Token | Value | Description |
|---|
| background-player-card | rgba(0, 0, 0, 0.29) / black-opacity-40 | |
| text-score | #29ccde / highlight | |
| border-highlight | #29ccde / highlight | |