/* The app's typefaces, bundled.
 * ============================
 * Traces runs on 127.0.0.1 and works with no internet at all - except that
 * every page used to pull Inter, Oswald and Material Icons from
 * fonts.googleapis.com. Behind a firewall or a DNS filter the icon font
 * never arrived and every button rendered as an empty box, which looked
 * like the app was broken rather than like the network was.
 *
 * So the faces ship with the app. Inter and Oswald are the variable cuts,
 * one file per subset, covering the full weight range in one download;
 * latin and latin-ext only, which is every language Traces is translated
 * into that uses an alphabet Inter has. Japanese and Chinese fall through
 * to the system font, as they always did.
 *
 * Source: @fontsource-variable/inter, @fontsource-variable/oswald (SIL OFL
 * 1.1) and material-icons (Apache 2.0). Licences in /static/fonts.
 */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400 900;
  src: url('/static/fonts/inter-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: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400 900;
  src: url('/static/fonts/inter-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;
}

@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-display: swap;
  font-weight: 400 700;
  src: url('/static/fonts/oswald-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: 'Oswald';
  font-style: normal;
  font-display: swap;
  font-weight: 400 700;
  src: url('/static/fonts/oswald-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;
}

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  /* block, not swap: a ligature name rendered as the literal word
     "more_vert" for a beat is worse than an empty box for the same beat. */
  font-display: block;
  src: url('/static/fonts/material-icons.woff2') format('woff2');
}

/* Google's icon stylesheet carried this class as well as the face, so it
   has to come with it. Nothing here is ours; it is what they shipped.

   Except the size. Google's 24px is a default the pages override with
   Tailwind's text-sm / text-base, and those are single-class rules too, so
   which won was whichever sheet came later. Google's sheet sat in <head>
   and the play CDN injected its utilities after it; when the compiled
   tailwind.css took the CDN's place, this file — linked after it, and
   imported again by gt7-shell.css after that — beat every text-sm, and
   every icon in the app grew to 24px overnight. So the size lives in
   :where(), which has no specificity at all: any class on the icon wins,
   whatever order the sheets load in. */
:where(.material-icons) {
  font-size: 24px;
}
.material-icons {
  font-family: 'Material Icons';
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: 'liga';
}
