Design Specification — Foot en direct, Résultats Foot, Match en Direct Live | Flashscore.fr
| Field | Value |
| Site / Project | https://www.flashscore.fr/ |
| Analyzed on | 2026-08-07 |
| Analysis mode | Automated code extraction (no AI) |
Overview
This design system was extracted programmatically from the source page. It is built on a light canvas (#FFFFFF), ink text (#00141E), a vivid accent (#FF0046). All type is set in Livesport Finder LCGJK. Detected font weights: 400, 700, 800.
Logo asset(s): https://static.flashscore.com/res/_fs/image/4_favicons/_fs/favicon.ico?v=8
Color System
Detected palette (by frequency)
| Hex | RGB | HSL | Count |
#FFFFFF | 255, 255, 255 | 0° 0% 100% | 10 |
#656565 | 101, 101, 101 | 0° 0% 40% | 7 |
#D6033F | 214, 3, 63 | 343° 97% 43% | 6 |
#D5D5D5 | 213, 213, 213 | 0° 0% 84% | 2 |
#00141E | 0, 20, 30 | 200° 100% 6% | 2 |
#FF0046 | 255, 0, 70 | 344° 100% 50% | 2 |
#000000 | 0, 0, 0 | 0° 0% 0% | 2 |
#FFED00 | 255, 237, 0 | 56° 100% 50% | 1 |
#221F20 | 34, 31, 32 | 340° 5% 13% | 1 |
#B0B0B0 | 176, 176, 176 | 0° 0% 69% | 1 |
Assigned roles
Roles are taken from the page's own semantic CSS custom properties when present, otherwise inferred from usage frequency + luminance/saturation.
| Token | Hex | RGB | HSL |
--color-primary | #D6033F | 214, 3, 63 | 343° 97% 43% |
--color-accent | #FF0046 | 255, 0, 70 | 344° 100% 50% |
--color-background | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-surface | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-text-primary | #00141E | 0, 20, 30 | 200° 100% 6% |
--color-secondary | #00141E | 0, 20, 30 | 200° 100% 6% |
--color-text-secondary | #656565 | 101, 101, 101 | 0° 0% 40% |
--color-border | #D5D5D5 | 213, 213, 213 | 0° 0% 84% |
--color-on-primary | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-on-secondary | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-on-accent | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
Gradients
linear-gradient(to right, 0, 20%, 40%, 100%)
> 2 additional gradient definitions were framework utility templates (unresolvable var(--tw-gradient-stops)) and were omitted.
Typography
Primary typeface: Livesport Finder LCGJK — stack: Livesport Finder LCGJK
Font stacks (most used first)
Livesport Finder LCGJK
FS Numbers
LivesportFinderLatin
Roboto Condensed
Adjusted Arial Fallback
LivesportFinderLatin,Adjusted Arial Fallback,Arial,sans-serif
inherit
FS_Numbers
Derived type scale
| Token | Size |
| display | 46px |
| headline-lg | 40px |
| headline-md | 28px |
| title-lg | 22px |
| body-lg | 18px |
| body-md | 16px |
| label-md | 14px |
| label-sm | 12px |
Font sizes (by frequency)
| Size | Count |
| 12px | 13 |
| 13px | 12 |
| 10px | 7 |
| 16px | 7 |
| 14px | 7 |
| 18px | 6 |
| 22px | 4 |
| 20px | 4 |
| 11px | 4 |
| 9px | 3 |
| 28px | 3 |
| 8px | 2 |
| 38px | 2 |
| 32px | 2 |
| 26px | 2 |
| 24px | 2 |
| 46px | 1 |
| 40px | 1 |
| 15px | 1 |
| 17px | 1 |
Weights in use: 400, 700, 800
Line heights (by frequency)
| Value | Count |
| 14px | 8 |
| 18px | 7 |
| 12px | 5 |
| 16px | 4 |
| 10px | 3 |
| 22px | 3 |
| 46px | 3 |
| 24px | 2 |
| 20px | 2 |
| 0 | 1 |
Letter spacing (by frequency)
Spacing
Derived spacing scale
| Token | Value |
| xs | 2px |
| sm | 12px |
| md | 16px |
| lg | 52px |
| xl | 100px |
Raw values (by frequency)
| Value | Count |
| 2px | 3 |
| 6px | 3 |
| 16px | 2 |
| 12px | 2 |
| 4px | 2 |
| 24px | 1 |
| 14px | 1 |
| 100px | 1 |
| 52px | 1 |
| 5px | 1 |
| 13px | 1 |
| 30px | 1 |
| 15px | 1 |
Borders & Radius
Derived radius tokens
| Token | Value |
| sm | 2px |
| md | 8px |
| pill | 50% |
Raw values (resolved, by frequency)
| Radius | Count |
8px | 8 |
4px | 2 |
12px | 1 |
2px 2px 0 0 | 1 |
50% | 1 |
initial | 1 |
3px | 1 |
Layout
Container max-width: 768px
Breakpoints
- 425px
- 639px
- 640px
- 768px
- 800px
- 1024px
- 1047px
- 1187px
Animation & Motion
Transitions
background-color .3s,color .3s
translate .5s
Easing curves
Keyframes
@keyframes wcl-shimmer_Wo7Up { to{background-position-x:1000px} }
@keyframes wcl-rotation_lY0up { 0%{transform:rotate(0deg)}to{transform:rotate(1turn)} }
@keyframes wcl-bounceAnimation_PbdY3 { 0%{bottom:40px}30%{bottom:70px}50%{bottom:40px}70%{bottom:52px}85%{bottom:40px}90%{bottom:44px}to{bottom:40px} }
@keyframes wcl-scoresChanged_VOpPP { 0%{opacity:1;transform:translate(-50%,-50%) scale(0)}to{opacity:0;transform:translate(-50%,-50%) scale(1)} }
@keyframes wcl-highlightFade_AePwj { 0%{background-color:var(--color-container-general-secondary)}12%{background-color:var(--color-container-alert-informative)}68%{background-color:var(--color-container-alert-informative)}to{background-color:var(--color-container-general-secondary)} }
@keyframes wcl-fadeInWindow_1gDs7 { 0%{opacity:0}50%{opacity:0}to{opacity:1} }
@keyframes wcl-animateMoveLeft_sT0vo { 0%{left:50%;transform:translate(-50%,-50%)}to{left:36px;transform:translateY(-50%)} }
@keyframes wcl-animateMoveRight_kFrVW { 0%{width:0} }
@keyframes wcl-blinkingAnimation_nmWL0 { 0%,49%{opacity:1}50%,to{opacity:0} }
@keyframes wcl-fadeIn_TYVII { 0%{opacity:1}50%{opacity:0}to{opacity:1} }
@keyframes placeholderShimmer { 0%{background-position:-468px 0}to{background-position:468px 0} }
@keyframes spin { 0%{transform:rotate(0deg)}to{transform:rotate(1turn)} }
Animations
placeholderShimmer 1.5s linear infinite forwards
after
spin 1.8s ease-in-out infinite
CTA labels found on page
- ' + '' + '' + '' + (isLoggedIn ? '' + name + '' : 'Connexion
Source Design Tokens (CSS custom properties)
:root {
--item-padding: 6px;
--pulsing-icon-border-color: var(--navigation-pulsing-icon-border-color,var(--color-container-base));
--navigation-pulsing-icon-border-color: var(--color-container-navigationSub);
--dark: after,.ska__dib--dark:before,.ska__dip--dark:after,.ska__dip--dark:before,.ska__se--dark>*>*,.skeleton.dark;
--wcl-navigation-dropdown-zIndex: var(--zIndex-menuMinority);
--color-container-modal: var(--color-support-5);
--scores: after;
--width-layout: 1188px;
--height-oneline: 35px;
--width-rating: 52px;
--width-service: 0;
--width-logo: 23px;
--width-standings: 26px;
--width-tv: 24px;
--width-separator: 36px;
--width-spacer: 14px;
--width-rssNewsImg: 192px;
--width-rssNewsContentSeparator: 18px;
--width-rssNewsSeparator: 9px;
--zIndex-scrollTo: 2;
--zIndex-dropDown: 2;
--zIndex-boxUnderContent: 3;
--zIndex-boxOverContent: 4;
--zIndex-langBoxModule: 5;
--zIndex-langBox: 8;
--zIndex-loading: 8;
--zIndex-banner: 8;
--zIndex-legalAgeStickyBox: 9;
--zIndex-menuMinority: 10;
--zIndex-lsid-dropDown: 10;
--zIndex-contextMenu: 12;
--zIndex-myGames-notification: 15;
--zIndex-topBar: 20;
--zIndex-modalWindow: 100;
--wcl-radixComponent-zIndex: 250;
--zIndex-tooltip: 500;
--zIndex-onetrust: 501;
--wcl-gallery-zIndex: 1000000;
--zIndex-fixedHeader: 11;
--radius-elementBody-desktop: 8px;
--radius-modal-desktop: 12px;
--radius-image-desktop: 8px;
--radius-badgeLarge-desktop: 8px;
--radius-badgeSmall-desktop: 4px;
--radius-button-desktop: 8px;
--radius-divider-desktop: 2px;
--radius-elementBody-mobile: 0px;
--radius-highlights-desktop: 4px;
--radius-highlights-mobile: 0px;
--radius-general-none: 0px;
--radius-general-x-small: 2px;
--radius-general-small: 4px;
--radius-general-medium: 8px;
--radius-general-large: 12px;
--radius-general-x-large: 16px;
--radius-general-circle: 9000px;
--typography-desktop-scores-heading-01-font-family: Livesport Finder LCGJK;
--typography-desktop-scores-heading-01-font-size: 22px;
--typography-desktop-scores-heading-01-font-weight: 700;
--typography-desktop-scores-heading-01-line-height: 28px;
}
Do's and Don'ts
Do
- Do reserve the accent
#FF0046 for interactive highlights and key moments — it is used sparingly on the source page.
- Do keep the canvas at
#FFFFFF; surfaces should stay within the detected neutral ramp.
- Do stick to the detected font weight(s): 400, 700, 800.
Don't
- Don't introduce colors outside the detected palette — every hue above was found in the source.
- Don't add drop shadows; the source page relies on borders and surface shifts for depth, not elevation.
Design Tokens (copy-paste)
:root {
--color-primary: #D6033F;
--color-accent: #FF0046;
--color-background: #FFFFFF;
--color-surface: #FFFFFF;
--color-text-primary: #00141E;
--color-secondary: #00141E;
--color-text-secondary: #656565;
--color-border: #D5D5D5;
--color-on-primary: #FFFFFF;
--color-on-secondary: #FFFFFF;
--color-on-accent: #FFFFFF;
--font-sans: Livesport Finder LCGJK;
--font-size-display: 46px;
--font-size-headline-lg: 40px;
--font-size-headline-md: 28px;
--font-size-title-lg: 22px;
--font-size-body-lg: 18px;
--font-size-body-md: 16px;
--font-size-label-md: 14px;
--font-size-label-sm: 12px;
--radius-sm: 2px;
--radius-md: 8px;
--radius-pill: 50%;
--space-xs: 2px;
--space-sm: 12px;
--space-md: 16px;
--space-lg: 52px;
--space-xl: 100px;
--tracking-label: .4px;
--container-max: 768px;
}