/*
 * Atom Sans — the brand face, declared at the weights the ATOM design system declares
 * (see the design project's `_ds/.../colors_and_type.css`).
 *
 * IMPORTANT: the design system maps the files to these weights, and deliberately has
 * **no 400 face**:
 *     100 Thin · 200 Slim · 300 Light · 500 Medium · 600 DemiBold · 700 Bold · 800 Extra Bold
 *
 * We previously declared Slim as 400, so ordinary body text rendered two steps lighter than
 * the design, and 800 was never declared at all, so every `font-weight: 800` headline in the
 * comps was synthesised. Declaring the true weights and omitting 400 makes the browser
 * resolve 400 -> 500 (Medium) exactly the way the design does.
 *
 * Only weights with a real file are declared; anything else is synthesised.
 */

@font-face {
    font-family: 'Atom Sans';
    font-weight: 200;
    font-style: normal;
    font-display: swap;
    src: url('atom-sans/Atom_Sans_Slim.woff') format('woff');
}

@font-face {
    font-family: 'Atom Sans';
    font-weight: 200;
    font-style: italic;
    font-display: swap;
    src: url('atom-sans/Atom_Sans_Slim_Italic.woff') format('woff');
}

@font-face {
    font-family: 'Atom Sans';
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    src: url('atom-sans/Atom_Sans_Medium.woff') format('woff');
}

@font-face {
    font-family: 'Atom Sans';
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    src: url('atom-sans/Atom_Sans_DemiBold.woff') format('woff');
}

@font-face {
    font-family: 'Atom Sans';
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    src: url('atom-sans/Atom_Sans_Bold.woff') format('woff');
}

@font-face {
    font-family: 'Atom Sans';
    font-weight: 700;
    font-style: italic;
    font-display: swap;
    src: url('atom-sans/Atom_Sans_Bold_Italic.woff') format('woff');
}

/* Extra Bold (800) — the weight the comps use for headlines, big numbers, status chips and
   primary buttons. File pulled from the design system's own `fonts/` directory. */
@font-face {
    font-family: 'Atom Sans';
    font-weight: 800;
    font-style: normal;
    font-display: swap;
    src: url('atom-sans/Atom_Sans_Extra_Bold.woff') format('woff');
}

/*
 * Noto Sans Myanmar — the Burmese fallback in every font stack (see src/theme/font-stack.js).
 *
 * Atom Sans and most workspace fonts carry no Myanmar glyphs, and a stock Windows install has
 * no Myanmar font at all, so without this Burmese can render as boxes. One variable file covers
 * every weight. The `unicode-range` is Google's own for the Myanmar subset: the browser
 * downloads the file only when a page actually contains Burmese text.
 */
@font-face {
    font-family: 'Noto Sans Myanmar';
    font-style: normal;
    font-weight: 100 900;
    font-stretch: 100%;
    font-display: swap;
    src: url('noto-sans-myanmar/NotoSansMyanmar-myanmar.woff2') format('woff2');
    unicode-range: U+1000-109F, U+200C-200D, U+25CC, U+A92E, U+A9E0-A9FE, U+AA60-AA7F, U+116D0-116E3;
}

/*
 * Archivo Black — the logotype face.
 *
 * The design system sets `--font-logotype: 'Archivo Black', 'ATOM Absolute Geo', …`: Archivo
 * Black stands in for ATOM's proprietary Absolute Geo until the brand team supplies it, and it
 * is what the designer's comps actually render. It carries the "vibe" wordmark and every large
 * number (balances, leaderboard scores, ranks). Self-hosted rather than pulled from Google at
 * runtime so the app keeps working offline and adds no third-party request.
 */
@font-face {
    font-family: 'Archivo Black';
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: url('archivo/ArchivoBlack-latin.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: 'Archivo Black';
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: url('archivo/ArchivoBlack-latin-ext.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;
}
