/* Lacuna Software's typeface, served from this Server rather than from a font CDN (issue #106).
   Not a preference: an on-premises TrustBridge may be air-gapped, and the page shell already
   refuses fonts.googleapis.com for that reason, as the Scalar reference page refuses its own
   default fonts. A page that waits on a CDN is a page that takes seconds to paint or never does.

   Two files rather than one because Google's subsetting is per script, and the unicode-range
   below is what makes that better than a merged file: a browser fetches latin-ext only when a
   page actually contains a character from it. Both are variable fonts covering 400-700, so
   every weight the theme asks for comes out of the one file.

   Exo 2 is licensed under the SIL Open Font License 1.1 — see fonts/OFL.txt, which travels with
   the files because the licence requires it to. */

@font-face {
    font-family: 'Exo 2';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/exo2-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: 'Exo 2';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/exo2-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;
}

/* The wordmark: two weights of one word, "Trust" heavy and "Bridge" light (issue #109). Global
   rather than scoped because all three placements need it and two of them are layouts, which a
   component's scoped styles do not reach.

   The light half is 400 and not the 300 the brand sheet names, because 300 does not exist here.
   The two @font-face rules above declare Exo 2 across 400-700 — the range the variable files
   actually cover — and CSS clamps a weight outside a face's range rather than synthesizing a
   lighter one. `font-weight: 300` therefore renders identically to 400, which was harmless on
   the front door's 700 heading and not harmless at all on the app bar and the signed-out
   header: those inherit MudBlazor's 500 and 400 heading weights, so the "light" half came out
   the same weight as the heavy one and the wordmark rendered with no split in it.

   Both halves are set here rather than one, so a placement gets the pair whatever the heading
   weight around it happens to be. 700/400 is the same idea as 700/300 inside the range the
   font can draw. */
.tb-wordmark-heavy {
    font-weight: 700;
}

.tb-wordmark-light {
    font-weight: 400;
}

/* The drawer's active entry. MudBlazor colours both the label and its 2px end-border from
   --mud-palette-primary; only the border moves to the brand orange here.

   The label deliberately stays navy: an active nav label is small text on a white field, and
   the brand orange measures 3.76:1 there — under the 4.5:1 that WCAG AA asks of body text. The
   border is a UI component rather than text, where the threshold is 3:1 and the orange passes.
   So the entry is marked in the brand colour and still readable, which is the whole point of
   the rule in TrustBridgeTheme.Orange.

   This file is linked after MudBlazor's own stylesheet, which is what lets an equally specific
   selector win. */
.mud-nav-link.active:not(.mud-nav-link-disabled) {
    border-inline-end-color: var(--mud-palette-secondary);
    --mud-ripple-color: var(--mud-palette-secondary);
}
