/*
 * Self-hosted Inter for both Filament panels.
 *
 * WHY THIS FILE EXISTS. Filament's default font provider is BunnyFontProvider, which emits a
 * <link> to https://fonts.bunny.net. That made the admin panel depend on a third party at
 * runtime, and it was ALSO the reason the panel could not render at all: the site's
 * Content-Security-Policy is `default-src 'self'`, so the browser blocked the stylesheet
 * outright. Self-hosting removes the third-party call and the CSP exception together — the
 * panel now loads nothing from outside this origin.
 *
 * PROVENANCE. Extracted from the npm package @fontsource-variable/inter@5.3.0 (Inter is
 * licensed under the SIL Open Font License 1.1). The package itself is NOT a dependency of
 * this project: the two .woff2 files were copied into public/fonts/ and committed as ordinary
 * static assets, so neither the dependency tree nor the audit surface grows for two font
 * files that never change. To refresh them, install that package at the desired version, copy
 * the same two files, and update the version and hashes here.
 *
 *   inter-latin-wght-normal.woff2      sha256 3100e775e8616cd2611beecfa23a4263d7037586789b43f035236a2e6fbd4c62
 *   inter-latin-ext-wght-normal.woff2  sha256 34b9c504cab7a73e37b746343a449132e56cf7b5481af2cb81dc74dcff25c956
 *
 * SUBSET CHOICE. Latin and Latin Extended only — the Cyrillic, Greek and Vietnamese subsets
 * in the upstream package are not shipped. Finnish and Swedish are fully covered by the latin
 * subset (ä U+00E4, ö U+00F6, å U+00E5 all sit inside U+0000–00FF), and latin-ext covers the
 * rest of European name spelling. A glyph outside both ranges falls back to the platform's
 * own UI font, which is a cosmetic difference in one word, not a broken page.
 *
 * These are VARIABLE fonts: one file serves the whole 100–900 weight axis, which is why
 * Filament's 400/500/600/700 all resolve without four separate downloads.
 */

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url('/fonts/inter-latin-wght-normal.woff2') format('woff2-variations');
    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: 'Inter';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url('/fonts/inter-latin-ext-wght-normal.woff2') format('woff2-variations');
    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;
}

/*
 * ── AYE MATEY -BRÄNDIFONTIT: Fraunces (display) + Work Sans (leipäteksti) ──
 *
 * MIKSI NÄMÄ OVAT TÄÄLLÄ. D&B:n ayematey-theme.css latasi nämä @importilla
 * fonts.googleapis.comista. Se ei voi toimia täällä: /app-polun CSP on
 * `style-src 'self'; font-src 'self'`, joten selain hylkäisi sekä
 * tyylitiedoston että fonttitavut — kirjaimet vaihtuisivat varafonttiin ilman
 * yhtään virheilmoitusta. Sama syy miksi Inter on itse isännöity.
 *
 * PROVENIENSSI. Sama reitti kuin Interillä: purettu npm-paketeista
 * @fontsource-variable/fraunces@5.3.0 ja @fontsource-variable/work-sans@5.3.0
 * (molemmat SIL Open Font License 1.1). Paketit EIVÄT ole projektin
 * riippuvuuksia — neljä .woff2-tiedostoa on kopioitu public/fonts/:iin ja
 * committoitu tavallisina staattisina asseteina, joten riippuvuuspuu ja
 * auditointipinta eivät kasva neljän muuttumattoman fonttitiedoston takia.
 * Päivitys: asenna paketit haluttuun versioon, kopioi samat tiedostot,
 * päivitä versio ja tiivisteet tähän.
 *
 *   fraunces-latin-full-normal.woff2       sha256 7e744849028e2219e2aa1bc467dc4032980dc4487c9c3da3010081cd72d3b103
 *   fraunces-latin-ext-full-normal.woff2   sha256 e9521563d0935c9bda4277e242cc88c75993a77878f5f7eed537989e94f976c9
 *   work-sans-latin-wght-normal.woff2      sha256 1dd49afc07fb2231b2ff686cbf007725fb2742271bb1f28ebd98f22a0d817343
 *   work-sans-latin-ext-wght-normal.woff2  sha256 2aa17fc7b072e46652e84bbe3dbba9ec57cdea320d89e8c951ed7cf3218c300b
 *
 * PERHEIDEN NIMET. Fontsource nimeää nämä 'Fraunces Variable' ja 'Work Sans
 * Variable'. Julistan ne tässä nimillä 'Fraunces' ja 'Work Sans' — samoilla
 * joilla Google Fonts ne tuntee — jotta D&B:stä portattu ayematey-theme.css
 * toimii KOSKEMATTOMANA. Fonttipino on portauksen tarkin osa; sen
 * uudelleenkirjoittaminen olisi ollut helpoin tapa saada aikaan hiljainen ero.
 *
 * FRAUNCESIN AKSELIT. D&B pyysi Googlelta muodon
 * `Fraunces:opsz,wght,SOFT,WONK@9..144,400..900,100,0`, eli SOFT=100 ja
 * WONK=0 KIINNITETTYINÄ ja opsz/wght muuttuvina. Google instansioi kiinnitetyt
 * akselit palvelimella; itse isännöity `full`-tiedosto sisältää kaikki neljä
 * akselia oletusarvoillaan (SOFT=0), joten kiinnitys on siirretty CSS:ään:
 * ayematey-theme.css asettaa otsikoille font-variation-settings: "SOFT" 100,
 * "WONK" 0. Ilman sitä kirjaintyyppi latautuisi oikein mutta piirtyisi
 * kovempana kuin D&B:ssä — juuri sellainen ero jota kukaan ei huomaa
 * katsomatta niitä rinnakkain. opsz jää selaimen hoidettavaksi
 * (font-optical-sizing: auto on oletus), kuten Googlen versiossakin.
 */

@font-face {
    font-family: 'Fraunces';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url('/fonts/fraunces-latin-full-normal.woff2') format('woff2-variations');
    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: 'Fraunces';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url('/fonts/fraunces-latin-ext-full-normal.woff2') format('woff2-variations');
    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: 'Work Sans';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url('/fonts/work-sans-latin-wght-normal.woff2') format('woff2-variations');
    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: 'Work Sans';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url('/fonts/work-sans-latin-ext-wght-normal.woff2') format('woff2-variations');
    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;
}
