/* ── Mercedes-Benz Workbench bridge ──────────────────────────────────────────
   Source: @workbench/core 7.82.0 + workbench tokens 2.7.0 (brands/mercedes-benz)
   from assets.oneweb.mercedes-benz.com. Aeon doesn't run the wb-* web components
   — it adopts the Workbench THEME: genuine MB Corpo fonts (vendored locally so
   nothing depends on the CDN at runtime) and the brand's semantic colors, exposed
   as --wb-* custom properties that app.css's own tokens point at.

   Values are verbatim from the token sheet unless marked "derived" — the sheet is
   light-surface-first, so the on-dark accents reuse its `on-contrast` ramp.

   THIS FILE IS THE ONLY PLACE MB CORPO IS DECLARED. app.css used to carry its own
   @font-face copies pointing at a second set of woff2 under wwwroot/fonts/; every family
   was then declared twice, the browser fetched both copies, and the later-arriving one
   repainted text that had already painted — a visible flicker on every cold load. One
   declaration site, one set of files. If you add a face, add it here. */

/* MBCorpo A Title Cond is the Mercedes ANTIQUA — a SERIF display face, for campaign
   headlines. It is deliberately NOT wired to --font-display: this is a data-dense
   workspace, and a serif at an 17px h2 is what "the theme looks wrong" felt like.
   Declared (and so available) but unreferenced, which costs nothing — an unused
   @font-face is never fetched. Headings use MBCorpo S Title below. */
@font-face {
    font-family: "MBCorpo Title";
    font-weight: 400; font-style: normal; font-display: swap;
    src: url("fonts/MBCorpoATitleCond-Regular-Web.woff2") format("woff2");
}
/* MBCorpo S Title — the SANS title face, what Workbench and mercedes-benz.de set UI
   headings in. This is --font-display. Unlike A Title it has a real 700, so headings
   can take weight without the browser synthesizing a fake bold. */
@font-face {
    font-family: "MBCorpo S Title";
    font-weight: 400; font-style: normal; font-display: swap;
    src: url("fonts/MBCorpoSTitle-Regular-Web.woff2") format("woff2");
}
@font-face {
    font-family: "MBCorpo S Title";
    font-weight: 700; font-style: normal; font-display: swap;
    src: url("fonts/MBCorpoSTitle-Bold-Web.woff2") format("woff2");
}
@font-face {
    font-family: "MBCorpo Text";
    font-weight: 400; font-style: normal; font-display: swap;
    src: url("fonts/MBCorpoSText-Regular-Web.woff2") format("woff2");
}
@font-face {
    font-family: "MBCorpo Text";
    font-weight: 700; font-style: normal; font-display: swap;
    src: url("fonts/MBCorpoSText-Bold-Web.woff2") format("woff2");
}

/* The reader's own font (the footer Appearance panel, ThemeCatalog.Fonts). Fontsource's variable
   builds (OFL-1.1, licences in fonts/ui/licenses/), latin + latin-ext only (Noto also cyrillic and
   greek), self-hosted like MB Corpo: no CDN. None is preloaded, and an unused @font-face is never
   fetched, so a face costs bytes only for the person who picked it. */
@font-face {
    font-family: "Inter Variable";
    font-weight: 100 900; font-style: normal; font-display: swap;
    src: url("fonts/ui/inter-latin-ext-wght-normal.woff2") format("woff2");
    unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
    font-family: "Inter Variable";
    font-weight: 100 900; font-style: normal; font-display: swap;
    src: url("fonts/ui/inter-latin-wght-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
    font-family: "IBM Plex Sans Variable";
    font-weight: 100 700; font-style: normal; font-display: swap;
    src: url("fonts/ui/ibm-plex-sans-latin-ext-wght-normal.woff2") format("woff2");
    unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
    font-family: "IBM Plex Sans Variable";
    font-weight: 100 700; font-style: normal; font-display: swap;
    src: url("fonts/ui/ibm-plex-sans-latin-wght-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
    font-family: "Roboto Variable";
    font-weight: 100 900; font-style: normal; font-display: swap;
    src: url("fonts/ui/roboto-latin-ext-wght-normal.woff2") format("woff2");
    unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
    font-family: "Roboto Variable";
    font-weight: 100 900; font-style: normal; font-display: swap;
    src: url("fonts/ui/roboto-latin-wght-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
    font-family: "Source Sans 3 Variable";
    font-weight: 200 900; font-style: normal; font-display: swap;
    src: url("fonts/ui/source-sans-3-latin-ext-wght-normal.woff2") format("woff2");
    unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
    font-family: "Source Sans 3 Variable";
    font-weight: 200 900; font-style: normal; font-display: swap;
    src: url("fonts/ui/source-sans-3-latin-wght-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
    font-family: "Noto Sans Variable";
    font-weight: 100 900; font-style: normal; font-display: swap;
    src: url("fonts/ui/noto-sans-cyrillic-wght-normal.woff2") format("woff2");
    unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
    font-family: "Noto Sans Variable";
    font-weight: 100 900; font-style: normal; font-display: swap;
    src: url("fonts/ui/noto-sans-greek-wght-normal.woff2") format("woff2");
    unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}
@font-face {
    font-family: "Noto Sans Variable";
    font-weight: 100 900; font-style: normal; font-display: swap;
    src: url("fonts/ui/noto-sans-latin-ext-wght-normal.woff2") format("woff2");
    unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
    font-family: "Noto Sans Variable";
    font-weight: 100 900; font-style: normal; font-display: swap;
    src: url("fonts/ui/noto-sans-latin-wght-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
    font-family: "Open Sans Variable";
    font-weight: 300 800; font-style: normal; font-display: swap;
    src: url("fonts/ui/open-sans-latin-ext-wght-normal.woff2") format("woff2");
    unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
    font-family: "Open Sans Variable";
    font-weight: 300 800; font-style: normal; font-display: swap;
    src: url("fonts/ui/open-sans-latin-wght-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
    font-family: "Atkinson Hyperlegible Next Variable";
    font-weight: 200 800; font-style: normal; font-display: swap;
    src: url("fonts/ui/atkinson-hyperlegible-next-latin-ext-wght-normal.woff2") format("woff2");
    unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
    font-family: "Atkinson Hyperlegible Next Variable";
    font-weight: 200 800; font-style: normal; font-display: swap;
    src: url("fonts/ui/atkinson-hyperlegible-next-latin-wght-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
    font-family: "DM Sans Variable";
    font-weight: 100 1000; font-style: normal; font-display: swap;
    src: url("fonts/ui/dm-sans-latin-ext-wght-normal.woff2") format("woff2");
    unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
    font-family: "DM Sans Variable";
    font-weight: 100 1000; font-style: normal; font-display: swap;
    src: url("fonts/ui/dm-sans-latin-wght-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {
    /* Brand blue — --wb-color-border-brand-(default|hover|active) */
    --wb-brand: #0078d6;
    --wb-brand-hover: #006abc;
    --wb-brand-active: #0060ab;
    --wb-brand-tint: #3395e0;      /* derived: +1 tint step for text/hover on dark surfaces */

    /* The neutral ramp Workbench builds every surface from (shape/surface tokens).
       MB dark is deliberately NEUTRAL — no blue cast. */
    --wb-black: #000;
    --wb-grey-95: #0e0e0e;         /* derived: between black and surface-main-selected #141414 */
    --wb-grey-90: #1a1a1a;
    --wb-grey-85: #262626;         /* --wb-color-shape-stronger-default */
    --wb-grey-80: #333;            /* --wb-color-shape-strong-default */
    --wb-grey-60: #4f4f4f;         /* --wb-color-border-on-contrast-dim-default */
    --wb-grey-40: #9f9f9f;         /* --wb-color-border-on-contrast-main-default */
    --wb-white-soft: #f4f4f4;      /* --wb-color-border-on-contrast-*-selected family */
}
