/*
 * GENERATED by `npm run fonts-fix` from fonts.manifest.ts + fonts.lock.json.
 * Do not edit by hand. Declares the preloaded faces (Noto Sans, Noto Sans Mono)
 * and the emoji faces. The emoji section is a hand-authored island
 * (emoji-faces.css) inlined via the manifest `override`; its ranges are
 * cmap-guarded by the drift test. The lazy per-script fallback faces live in
 * the sibling fonts-fallback.css.
 */

@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-300-0.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-300-1.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-300-2.woff2) format('woff2');
    unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-300-3.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-300-4.woff2) format('woff2');
    unicode-range: U+0370-03FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-300-5.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-300-6.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-300-7.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-300-italic-0.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-300-italic-1.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-300-italic-2.woff2) format('woff2');
    unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-300-italic-3.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-300-italic-4.woff2) format('woff2');
    unicode-range: U+0370-03FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-300-italic-5.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-300-italic-6.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-300-italic-7.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-400-0.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-400-1.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-400-2.woff2) format('woff2');
    unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-400-3.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-400-4.woff2) format('woff2');
    unicode-range: U+0370-03FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-400-5.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-400-6.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-400-7.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-400-italic-0.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-400-italic-1.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-400-italic-2.woff2) format('woff2');
    unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-400-italic-3.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-400-italic-4.woff2) format('woff2');
    unicode-range: U+0370-03FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-400-italic-5.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-400-italic-6.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-400-italic-7.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-700-0.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-700-1.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-700-2.woff2) format('woff2');
    unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-700-3.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-700-4.woff2) format('woff2');
    unicode-range: U+0370-03FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-700-5.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-700-6.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-700-7.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-700-italic-0.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-700-italic-1.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-700-italic-2.woff2) format('woff2');
    unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-700-italic-3.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-700-italic-4.woff2) format('woff2');
    unicode-range: U+0370-03FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-700-italic-5.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-700-italic-6.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-700-italic-7.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-900-0.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-900-1.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-900-2.woff2) format('woff2');
    unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-900-3.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-900-4.woff2) format('woff2');
    unicode-range: U+0370-03FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-900-5.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-900-6.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-900-7.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-900-italic-0.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-900-italic-1.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-900-italic-2.woff2) format('woff2');
    unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-900-italic-3.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-900-italic-4.woff2) format('woff2');
    unicode-range: U+0370-03FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-900-italic-5.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-900-italic-6.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts/NotoSans/NotoSans-900-italic-7.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Noto Sans Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSansMono/NotoSansMono-400-0.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: 'Noto Sans Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSansMono/NotoSansMono-400-1.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Noto Sans Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSansMono/NotoSansMono-400-2.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
@font-face {
    font-family: 'Noto Sans Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSansMono/NotoSansMono-400-3.woff2) format('woff2');
    unicode-range: U+0370-03FF;
}
@font-face {
    font-family: 'Noto Sans Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSansMono/NotoSansMono-400-4.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
    font-family: 'Noto Sans Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSansMono/NotoSansMono-400-5.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Noto Sans Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/NotoSansMono/NotoSansMono-400-6.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Noto Sans Mono';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSansMono/NotoSansMono-700-0.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: 'Noto Sans Mono';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSansMono/NotoSansMono-700-1.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Noto Sans Mono';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSansMono/NotoSansMono-700-2.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
@font-face {
    font-family: 'Noto Sans Mono';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSansMono/NotoSansMono-700-3.woff2) format('woff2');
    unicode-range: U+0370-03FF;
}
@font-face {
    font-family: 'Noto Sans Mono';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSansMono/NotoSansMono-700-4.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
    font-family: 'Noto Sans Mono';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSansMono/NotoSansMono-700-5.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Noto Sans Mono';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/NotoSansMono/NotoSansMono-700-6.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/*
 * HAND-AUTHORED island (the one exception to generated font CSS). The emoji
 * @font-face structure is too bespoke to generate mechanically: a monochrome
 * font-display:block face, a Safari-only SVG @supports branch, ten color
 * slices, and a class-only keycap face. The generator (scripts/fonts) inlines
 * this verbatim into static/fonts/fonts.css via the manifest `override`;
 * its ranges are cmap-guarded by emojiRange.test.ts.
 */
@font-face {
    font-family: 'Noto Emoji';
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url(/fonts/NotoEmoji/NotoEmoji-400.woff2) format('woff2');
    /* Claim exactly the codepoints this font has glyphs for (its cmap ∩ the
       emoji blocks) plus the zero-width sequence format chars (ZWJ, VS15/16,
       keycap combiner, flag tag chars). A broad U+1F000-1FFFF (or whole-block)
       claim would shadow thousands of codepoints the font lacks — they'd tofu
       instead of falling through to a font that has them. ASCII/legacy
       keycap-base codepoints (U+23 #, U+2A *, U+30-39 digits, U+A9 ©, U+AE ®,
       U+203C ‼, U+2049 ⁉, U+2122 ™, U+2139 ℹ) stay excluded so this font
       doesn't shadow plain text/digits in a cascade that lists an emoji font
       before Noto Sans (PhraseView's CSSFallbackFaces, the MarkupHTMLView
       override); the Noto Emoji Keycap face below claims those. Regenerate
       from the font cmap per the derivation in emojiRange.test.ts if the
       bundled font changes. Trade-off: keycap emoji (1️⃣) render monochrome. */
    unicode-range:
        U+200d, U+20e3, U+2194-2199, U+21a9-21aa, U+231a-231b, U+2328, U+23cf,
        U+23e9-23f3, U+23f8-23fa, U+24c2, U+25aa-25ab, U+25b6, U+25c0,
        U+25fb-25fe, U+2600-2604, U+260e, U+2611, U+2614-2615, U+2618, U+261d,
        U+2620, U+2622-2623, U+2626, U+262a, U+262e-262f, U+2638-263a, U+2640,
        U+2642, U+2648-2653, U+265f-2660, U+2663, U+2665-2666, U+2668, U+267b,
        U+267e-267f, U+2692-2697, U+2699, U+269b-269c, U+26a0-26a1, U+26a7,
        U+26aa-26ab, U+26b0-26b1, U+26bd-26be, U+26c4-26c5, U+26c8, U+26ce-26cf,
        U+26d1, U+26d3-26d4, U+26e9-26ea, U+26f0-26f5, U+26f7-26fa, U+26fd,
        U+2702, U+2705, U+2708-270d, U+270f, U+2712, U+2714, U+2716, U+271d,
        U+2721, U+2728, U+2733-2734, U+2744, U+2747, U+274c, U+274e,
        U+2753-2755, U+2757, U+2763-2764, U+2795-2797, U+27a1, U+27b0, U+27bf,
        U+2934-2935, U+2b05-2b07, U+2b1b-2b1c, U+2b50, U+2b55, U+3030, U+303d,
        U+3297, U+3299, U+fe0e-fe0f, U+1f004, U+1f0cf, U+1f170-1f171,
        U+1f17e-1f17f, U+1f18e, U+1f191-1f19a, U+1f1e6-1f1ff, U+1f201-1f202,
        U+1f21a, U+1f22f, U+1f232-1f23a, U+1f250-1f251, U+1f300-1f321,
        U+1f324-1f393, U+1f396-1f397, U+1f399-1f39b, U+1f39e-1f3f0,
        U+1f3f3-1f3f5, U+1f3f7-1f4fd, U+1f4ff-1f53d, U+1f549-1f54e,
        U+1f550-1f567, U+1f56f-1f570, U+1f573-1f57a, U+1f587, U+1f58a-1f58d,
        U+1f590, U+1f595-1f596, U+1f5a4-1f5a5, U+1f5a8, U+1f5b1-1f5b2, U+1f5bc,
        U+1f5c2-1f5c4, U+1f5d1-1f5d3, U+1f5dc-1f5de, U+1f5e1, U+1f5e3, U+1f5e8,
        U+1f5ef, U+1f5f3, U+1f5fa-1f64f, U+1f680-1f6c5, U+1f6cb-1f6d2,
        U+1f6d5-1f6d7, U+1f6dc-1f6e5, U+1f6e9, U+1f6eb-1f6ec, U+1f6f0,
        U+1f6f3-1f6fc, U+1f7e0-1f7eb, U+1f7f0, U+1f90c-1f93a, U+1f93c-1f945,
        U+1f947-1f9ff, U+1fa70-1fa7c, U+1fa80-1fa88, U+1fa90-1fabd,
        U+1fabf-1fac5, U+1face-1fadb, U+1fae0-1fae8, U+1faf0-1faf8,
        U+e0020-e007f;
}

@supports (-webkit-hyphens: none) {
    @font-face {
        font-family: 'Noto Color Emoji';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url(/fonts/NotoColorEmoji/NotoColorEmoji.svg.ttf)
            format('truetype');
        /* Safari's color-emoji path (the SVG face). Claims exactly this
           font's cmap ∩ the emoji blocks plus the sequence format chars,
           mirroring the Chromium sliced faces below and excluding the same
           ASCII/legacy codepoints as Noto Emoji above. See that block's
           comment; regenerate per emojiRange.test.ts if the font changes. */
        unicode-range:
            U+200d, U+20e3, U+2194-2199, U+21a9-21aa, U+231a-231b, U+2328,
            U+23cf, U+23e9-23f3, U+23f8-23fa, U+24c2, U+25aa-25ab, U+25b6,
            U+25c0, U+25fb-25fe, U+2600-2604, U+260e, U+2611, U+2614-2615,
            U+2618, U+261d, U+2620, U+2622-2623, U+2626, U+262a, U+262e-262f,
            U+2638-263a, U+2640, U+2642, U+2648-2653, U+265f-2660, U+2663,
            U+2665-2666, U+2668, U+267b, U+267e-267f, U+2692-2697, U+2699,
            U+269b-269c, U+26a0-26a1, U+26a7, U+26aa-26ab, U+26b0-26b1,
            U+26bd-26be, U+26c4-26c5, U+26c8, U+26ce-26cf, U+26d1, U+26d3-26d4,
            U+26e9-26ea, U+26f0-26f5, U+26f7-26fa, U+26fd, U+2702, U+2705,
            U+2708-270d, U+270f, U+2712, U+2714, U+2716, U+271d, U+2721, U+2728,
            U+2733-2734, U+2744, U+2747, U+274c, U+274e, U+2753-2755, U+2757,
            U+2763-2764, U+2795-2797, U+27a1, U+27b0, U+27bf, U+2934-2935,
            U+2b05-2b07, U+2b1b-2b1c, U+2b50, U+2b55, U+3030, U+303d, U+3297,
            U+3299, U+fe0e-fe0f, U+1f004, U+1f0cf, U+1f170-1f171, U+1f17e-1f17f,
            U+1f18e, U+1f191-1f19a, U+1f1e6-1f1ff, U+1f201-1f202, U+1f21a,
            U+1f22f, U+1f232-1f23a, U+1f250-1f251, U+1f300-1f321, U+1f324-1f393,
            U+1f396-1f397, U+1f399-1f39b, U+1f39e-1f3f0, U+1f3f3-1f3f5,
            U+1f3f7-1f4fd, U+1f4ff-1f53d, U+1f549-1f54e, U+1f550-1f567,
            U+1f56f-1f570, U+1f573-1f57a, U+1f587, U+1f58a-1f58d, U+1f590,
            U+1f595-1f596, U+1f5a4-1f5a5, U+1f5a8, U+1f5b1-1f5b2, U+1f5bc,
            U+1f5c2-1f5c4, U+1f5d1-1f5d3, U+1f5dc-1f5de, U+1f5e1, U+1f5e3,
            U+1f5e8, U+1f5ef, U+1f5f3, U+1f5fa-1f64f, U+1f680-1f6c5,
            U+1f6cb-1f6d2, U+1f6d5-1f6d8, U+1f6dc-1f6e5, U+1f6e9, U+1f6eb-1f6ec,
            U+1f6f0, U+1f6f3-1f6fc, U+1f7e0-1f7eb, U+1f7f0, U+1f90c-1f93a,
            U+1f93c-1f945, U+1f947-1f9ff, U+1fa70-1fa7c, U+1fa80-1fa8a,
            U+1fa8e-1fac6, U+1fac8, U+1facd-1fadc, U+1fadf-1faea, U+1faef-1faf8,
            U+e0020-e007f;
    }
    @font-face {
        font-family: 'Noto Emoji Keycap';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url(/fonts/NotoColorEmoji/NotoColorEmoji.svg.ttf)
            format('truetype');
        /* Dedicated face that DOES claim the keycap-base and legacy
           text-default codepoints (U+23 #, U+2A *, U+30-39 digits,
           U+A9 ©, U+AE ®, U+203C ‼, U+2049 ⁉, U+2122 ™, U+2139 ℹ)
           plus U+FE0F and U+20E3. These were intentionally removed
           from the 'Noto Emoji'/'Noto Color Emoji' ranges above so
           those fonts don't shadow plain digits/text. This face must
           ONLY be referenced via the .emoji-keycap class (applied to
           runtime-detected emoji sequences), never in a general
           font-family cascade — otherwise the shadowing returns. It
           lets sequences like 2️⃣ #️⃣ ©️ shape as color emoji. */
        unicode-range:
            U+23, U+2A, U+30-39, U+A9, U+AE, U+203C, U+2049, U+2122, U+2139,
            U+FE0F, U+20E3;
    }
    body {
        --google-font-color-notocoloremoji: colrv1;
    }
}

@supports not (-webkit-hyphens: none) {
    @font-face {
        font-family: 'Noto Color Emoji';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url(/fonts/NotoColorEmoji/NotoColorEmoji-400-0.woff2)
            format('woff2');
        unicode-range: U+1f1e6-1f1ff;
    }
    @font-face {
        font-family: 'Noto Color Emoji';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url(/fonts/NotoColorEmoji/NotoColorEmoji-400-1.woff2)
            format('woff2');
        unicode-range:
            U+200d, U+2620, U+26a7, U+fe0f, U+1f308, U+1f38c, U+1f3c1,
            U+1f3f3-1f3f4, U+1f6a9, U+e0062-e0063, U+e0065, U+e0067, U+e006c,
            U+e006e, U+e0073-e0074, U+e0077, U+e007f;
    }
    @font-face {
        font-family: 'Noto Color Emoji';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url(/fonts/NotoColorEmoji/NotoColorEmoji-400-2.woff2)
            format('woff2');
        /* Trimmed: removed U+23 #, U+2A *, U+30-39 digits, U+A9 ©,
           U+AE ®, U+203C ‼, U+2049 ⁉, U+2122 ™, U+2139 ℹ. With
           MarkupHTMLView listing 'Noto Color Emoji' before Noto Sans,
           these ASCII/symbol codepoints would otherwise be drawn by
           the colored keycap-base glyphs from this slice (e.g. "#4"
           in plain text rendered as emoji-styled "#4"). They now fall
           through to Noto Sans. Trade-off: keycap emoji (1️⃣ #️⃣ etc.)
           no longer assemble in color in Chromium. Kept U+20E3 because
           it's harmless without a base. */
        unicode-range:
            U+200d, U+20e3, U+2194-2199, U+21a9-21aa, U+23cf, U+23e9-23ef,
            U+23f8-23fa, U+24c2, U+25aa-25ab, U+25b6, U+25c0, U+25fb-25fe,
            U+2611, U+2622-2623, U+2626, U+262a, U+262e-262f, U+2638, U+2640,
            U+2642, U+2648-2653, U+2660, U+2663, U+2665-2666, U+2668, U+267b,
            U+267e-267f, U+2695, U+269b-269c, U+26a0, U+26a7, U+26aa-26ab,
            U+26ce, U+26d4, U+2705, U+2714, U+2716, U+271d, U+2721, U+2733-2734,
            U+2747, U+274c, U+274e, U+2753-2755, U+2757, U+2764, U+2795-2797,
            U+27a1, U+27b0, U+27bf, U+2934-2935, U+2b05-2b07, U+2b1b-2b1c,
            U+2b55, U+3030, U+303d, U+3297, U+3299, U+fe0f, U+1f170-1f171,
            U+1f17e-1f17f, U+1f18e, U+1f191-1f19a, U+1f201-1f202, U+1f21a,
            U+1f22f, U+1f232-1f23a, U+1f250-1f251, U+1f310, U+1f3a6,
            U+1f3b5-1f3b6, U+1f3bc, U+1f3e7, U+1f441, U+1f499-1f49c,
            U+1f49f-1f4a0, U+1f4ac-1f4ad, U+1f4b1-1f4b2, U+1f4b9, U+1f4db,
            U+1f4f2-1f4f6, U+1f500-1f507, U+1f515, U+1f518-1f524, U+1f52f-1f53d,
            U+1f549, U+1f54e, U+1f5a4, U+1f5e8, U+1f5ef, U+1f6ab, U+1f6ad-1f6b1,
            U+1f6b3, U+1f6b7-1f6bc, U+1f6be, U+1f6c2-1f6c5, U+1f6d0-1f6d1,
            U+1f6d7, U+1f6dc, U+1f7e0-1f7eb, U+1f7f0, U+1f90d-1f90e,
            U+1f9d1-1f9d2, U+1f9e1, U+1fa75-1fa77, U+1faaf;
    }
    @font-face {
        font-family: 'Noto Color Emoji';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url(/fonts/NotoColorEmoji/NotoColorEmoji-400-3.woff2)
            format('woff2');
        unicode-range:
            U+200d, U+231a-231b, U+2328, U+23f0-23f3, U+2602, U+260e, U+2692,
            U+2694, U+2696-2697, U+2699, U+26b0-26b1, U+26cf, U+26d1, U+26d3,
            U+2702, U+2709, U+270f, U+2712, U+fe0f, U+1f302, U+1f321,
            U+1f392-1f393, U+1f3a9, U+1f3bd, U+1f3ee, U+1f3f7, U+1f3fa,
            U+1f451-1f462, U+1f484, U+1f489-1f48a, U+1f48c-1f48e, U+1f4a1,
            U+1f4a3, U+1f4a5, U+1f4b0, U+1f4b3-1f4b8, U+1f4bb-1f4da,
            U+1f4dc-1f4f1, U+1f4ff, U+1f508-1f514, U+1f516-1f517, U+1f526-1f529,
            U+1f52c-1f52e, U+1f550-1f567, U+1f56f-1f570, U+1f576, U+1f587,
            U+1f58a-1f58d, U+1f5a5, U+1f5a8, U+1f5b1-1f5b2, U+1f5c2-1f5c4,
            U+1f5d1-1f5d3, U+1f5dc-1f5de, U+1f5e1, U+1f5f3, U+1f6aa, U+1f6ac,
            U+1f6bd, U+1f6bf, U+1f6c1, U+1f6cb, U+1f6cd-1f6cf, U+1f6d2,
            U+1f6e0-1f6e1, U+1f6f0, U+1f97b-1f97f, U+1f9af, U+1f9ba,
            U+1f9e2-1f9e6, U+1f9ea-1f9ec, U+1f9ee-1f9f4, U+1f9f7-1f9ff,
            U+1fa71-1fa74, U+1fa79-1fa7b, U+1fa86, U+1fa8e-1fa8f, U+1fa91-1fa93,
            U+1fa96, U+1fa99-1faa0, U+1faa2-1faa7, U+1faaa-1faae;
    }
    @font-face {
        font-family: 'Noto Color Emoji';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url(/fonts/NotoColorEmoji/NotoColorEmoji-400-4.woff2)
            format('woff2');
        unicode-range:
            U+265f, U+26bd-26be, U+26f3, U+26f8, U+fe0f, U+1f004, U+1f0cf,
            U+1f380-1f384, U+1f386-1f38b, U+1f38d-1f391, U+1f396-1f397,
            U+1f399-1f39b, U+1f39e-1f39f, U+1f3a3-1f3a5, U+1f3a7-1f3a9,
            U+1f3ab-1f3b4, U+1f3b7-1f3bb, U+1f3bd-1f3c0, U+1f3c5-1f3c6,
            U+1f3c8-1f3c9, U+1f3cf-1f3d3, U+1f3f8-1f3f9, U+1f47e, U+1f4e2,
            U+1f4f7-1f4fd, U+1f52b, U+1f579, U+1f58c-1f58d, U+1f5bc, U+1f6f7,
            U+1f6f9, U+1f6fc, U+1f93f, U+1f941, U+1f945, U+1f947-1f94f,
            U+1f9e7-1f9e9, U+1f9f5-1f9f6, U+1fa70-1fa71, U+1fa80-1fa81,
            U+1fa83-1fa85, U+1fa87-1fa8a, U+1fa94-1fa95, U+1fa97-1fa98, U+1faa1,
            U+1faa9, U+1fadf;
    }
    @font-face {
        font-family: 'Noto Color Emoji';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url(/fonts/NotoColorEmoji/NotoColorEmoji-400-5.woff2)
            format('woff2');
        unicode-range:
            U+2693, U+26e9-26ea, U+26f1-26f2, U+26f4-26f5, U+26fa, U+26fd,
            U+2708, U+fe0f, U+1f301, U+1f303, U+1f306-1f307, U+1f309, U+1f310,
            U+1f3a0-1f3a2, U+1f3aa, U+1f3cd-1f3ce, U+1f3d5, U+1f3d7-1f3db,
            U+1f3df-1f3e6, U+1f3e8-1f3ed, U+1f3ef-1f3f0, U+1f488, U+1f492,
            U+1f4ba, U+1f54b-1f54d, U+1f5fa-1f5ff, U+1f680-1f6a2, U+1f6a4-1f6a8,
            U+1f6b2, U+1f6d1, U+1f6d5-1f6d6, U+1f6dd-1f6df, U+1f6e2-1f6e5,
            U+1f6e9, U+1f6eb-1f6ec, U+1f6f3-1f6f6, U+1f6f8, U+1f6fa-1f6fb,
            U+1f9bc-1f9bd, U+1f9ed, U+1f9f3, U+1fa7c;
    }
    @font-face {
        font-family: 'Noto Color Emoji';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url(/fonts/NotoColorEmoji/NotoColorEmoji-400-6.woff2)
            format('woff2');
        unicode-range:
            U+200d, U+2615, U+fe0f, U+1f32d-1f330, U+1f336, U+1f33d,
            U+1f344-1f37f, U+1f382, U+1f52a, U+1f7e9, U+1f7eb, U+1f942-1f944,
            U+1f950-1f96f, U+1f99e, U+1f9aa, U+1f9c0-1f9cb, U+1fad0-1fadc;
    }
    @font-face {
        font-family: 'Noto Color Emoji';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url(/fonts/NotoColorEmoji/NotoColorEmoji-400-7.woff2)
            format('woff2');
        unicode-range:
            U+200d, U+2600-2601, U+2603-2604, U+2614, U+2618, U+26a1,
            U+26c4-26c5, U+26c8, U+26f0, U+2728, U+2744, U+2b1b, U+2b50, U+fe0f,
            U+1f300, U+1f304-1f305, U+1f308, U+1f30a-1f30f, U+1f311-1f321,
            U+1f324-1f32c, U+1f331-1f335, U+1f337-1f33c, U+1f33e-1f344, U+1f3d4,
            U+1f3d6, U+1f3dc-1f3de, U+1f3f5, U+1f400-1f43f, U+1f490, U+1f4a7,
            U+1f4ae, U+1f525, U+1f54a, U+1f573, U+1f577-1f578, U+1f648-1f64a,
            U+1f6d8, U+1f940, U+1f980-1f9ae, U+1f9ba, U+1fa90, U+1faa8,
            U+1fab0-1fabf, U+1facd-1facf, U+1fae7;
    }
    @font-face {
        font-family: 'Noto Color Emoji';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url(/fonts/NotoColorEmoji/NotoColorEmoji-400-8.woff2)
            format('woff2');
        unicode-range:
            U+200d, U+2640, U+2642, U+2695-2696, U+26f7, U+26f9, U+2708, U+2764,
            U+27a1, U+fe0f, U+1f33e, U+1f373, U+1f37c, U+1f384-1f385, U+1f393,
            U+1f3a4, U+1f3a8, U+1f3c2-1f3c4, U+1f3c7, U+1f3ca-1f3cc, U+1f3eb,
            U+1f3ed, U+1f3fb-1f3ff, U+1f430, U+1f466-1f469, U+1f46b-1f478,
            U+1f47c, U+1f481-1f483, U+1f486-1f487, U+1f48b, U+1f48f, U+1f491,
            U+1f4bb-1f4bc, U+1f527, U+1f52c, U+1f574-1f575, U+1f57a,
            U+1f645-1f647, U+1f64b, U+1f64d-1f64e, U+1f680, U+1f692, U+1f6a3,
            U+1f6b4-1f6b6, U+1f6c0, U+1f6cc, U+1f91d, U+1f926, U+1f930-1f931,
            U+1f934-1f93a, U+1f93c-1f93e, U+1f977, U+1f9af-1f9b3, U+1f9b8-1f9b9,
            U+1f9bc-1f9bd, U+1f9cc-1f9cf, U+1f9d1-1f9df, U+1fa70, U+1fa82,
            U+1fac3-1fac5, U+1fac8, U+1faef;
    }
    @font-face {
        font-family: 'Noto Color Emoji';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url(/fonts/NotoColorEmoji/NotoColorEmoji-400-9.woff2)
            format('woff2');
        unicode-range:
            U+200d, U+2194-2195, U+2603, U+261d, U+2620, U+2639-263a, U+2665,
            U+26a1, U+26c4, U+270a-270d, U+2728, U+2763-2764, U+2b50, U+fe0f,
            U+1f31a-1f31f, U+1f32b, U+1f389-1f38a, U+1f3fb-1f3ff, U+1f440-1f450,
            U+1f463-1f465, U+1f479-1f47b, U+1f47d-1f480, U+1f485, U+1f48b-1f48c,
            U+1f493-1f49f, U+1f4a2, U+1f4a4-1f4a6, U+1f4a8-1f4ab, U+1f4af,
            U+1f525, U+1f573, U+1f590, U+1f595-1f596, U+1f5a4, U+1f5e3,
            U+1f600-1f644, U+1f648-1f64a, U+1f64c, U+1f64f, U+1f90c-1f925,
            U+1f927-1f92f, U+1f932-1f933, U+1f970-1f976, U+1f978-1f97a, U+1f9a0,
            U+1f9b4-1f9b7, U+1f9bb, U+1f9be-1f9bf, U+1f9d0, U+1f9e0-1f9e1,
            U+1fa75-1fa79, U+1fac0-1fac2, U+1fac6, U+1fae0-1fae6, U+1fae8-1faea,
            U+1faef-1faf8;
    }
    @font-face {
        font-family: 'Noto Emoji Keycap';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url(/fonts/NotoColorEmoji/NotoColorEmoji-400-2.woff2)
            format('woff2');
        /* Dedicated face that DOES claim the keycap-base and legacy
           text-default codepoints (U+23 #, U+2A *, U+30-39 digits,
           U+A9 ©, U+AE ®, U+203C ‼, U+2049 ⁉, U+2122 ™, U+2139 ℹ)
           plus U+FE0F and U+20E3 — slice 2 still ships these glyphs
           and the keycap GSUB ligatures; only its unicode-range
           declaration was trimmed. This face must ONLY be referenced
           via the .emoji-keycap class, never in a general font-family
           cascade — otherwise it shadows plain digits/text again (see
           the trimmed slice-2 range above). It lets sequences like
           2️⃣ #️⃣ ©️ shape as color emoji. */
        unicode-range:
            U+23, U+2a, U+30-39, U+a9, U+ae, U+203c, U+2049, U+2122, U+2139,
            U+fe0f, U+20e3;
    }
}
