/* Custom fonts — the one place to add your own.
   ---------------------------------------------------------------------------
   Every option in Account → Appearance → Typography is otherwise a SYSTEM font:
   it only renders for someone whose device already has it. A face declared here
   is shipped with the dashboard, so it looks the same everywhere, including the
   sibling apps (the shared theme kit links this file into them).

   TO ADD ONE, two steps:
     1. drop the file in dashboard/fonts/  — .ttf and .otf work as they are,
        which is handy because that is what a font you download usually is.
        .woff2 is the same font in a web wrapper, about half the size; worth
        converting for anything you keep, not worth blocking on.
     2. add a block below, with the `format()` matching what you dropped in:
        .ttf → format('truetype'), .otf → format('opentype'),
        .woff2 → format('woff2').

   That is all. The typography picker reads this file at runtime and lists what
   it finds, so nothing else needs editing — and the name you give `font-family`
   here is exactly the name that shows up in the picker.

   A worked example, left commented so nothing 404s until you add the file:

       @font-face {
           font-family: 'Atkinson Hyperlegible';   <-- CHANGE THIS to your font's
                                                       name; it is the name the
                                                       picker shows.
           src: url('fonts/AtkinsonHyperlegible-Regular.ttf') format('truetype');
           font-weight: 400;
           font-style: normal;
           font-display: swap;
       }

   Offering both, so the browser takes the small one and still has a fallback:

       @font-face {
           font-family: 'Atkinson Hyperlegible';
           src: url('fonts/AtkinsonHyperlegible-Regular.woff2') format('woff2'),
                url('fonts/AtkinsonHyperlegible-Regular.ttf')  format('truetype');
           font-weight: 400;
           font-display: swap;
       }

   To make a .woff2 from a .ttf, offline (fonts are licensed — think twice
   before posting one to a web converter):

       pip install fonttools brotli
       fonttools ttLib.woff2 compress "MyFont-Regular.ttf"

   Notes worth knowing:
   • font-display: swap draws in a fallback first and swaps the moment the file
     lands, so text is never invisible while it downloads. Keep it.
   • One block per weight you actually ship (400 and 700 is usually plenty);
     without a bold file the browser fakes bold by smearing, which looks worse
     than the real thing.
   • Fonts are licensed work. Check the licence allows self-hosting on a web
     server before adding it — that is a different permission from installing it
     on your PC. */


@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Same family, heavier file. Declaring both means anything asking for bold
   gets the real Medium rather than the browser smearing Regular to fake it. */
@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* And the same file again under a name of its own, purely so the picker can
   offer it as a choice — pick this one and the whole page sits at Medium
   instead of Regular. Declared as 400 because here it IS the normal weight. */
@font-face {
    font-family: 'Roboto Medium';
    src: url('fonts/Roboto-Medium.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* ── The house face ──────────────────────────────────────────────────────────
   Jost (SIL Open Font License — launcher/FONT-LICENSE-OFL.txt in the repo),
   an open geometric sans in the same Futura lineage as Century Gothic, which
   is a licensed Microsoft face that only ever rendered on machines that
   happened to ship it. One VARIABLE file carries every weight, so the single
   declaration below covers 100–900. The default stacks put Jost first with
   Century Gothic behind it; the Android launcher bundles the same file, so
   the phone and the web finally share one face (v4.48). */
@font-face {
    font-family: 'Jost';
    src: url('fonts/Jost.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}
