/*
 * Assistant, served from this application instead of fonts.bunny.net.
 *
 * WHY THIS FILE EXISTS
 * Every page of the panel — including the login screen, before anyone has
 * authenticated — used to load CSS and woff2 from a third-party host. A
 * compromised font host could read the CSRF token and any server-rendered
 * `value` attribute character by character through attribute selectors; it
 * could not run JavaScript or read the httponly session cookie.
 *
 * That was left in place deliberately while the app was served over cleartext
 * HTTP, because an on-path attacker could already inject a full script and
 * self-hosting fonts would have been fixing the second-best door. TLS landed on
 * 2026-08-13 and inverted the reasoning: this became the largest remaining
 * third-party injection path, so it is gone.
 *
 * GENERATED, NOT HAND-WRITTEN
 * The @font-face blocks below were produced by taking Bunny's own stylesheet and
 * repointing each `src` at our copy. The unicode-range lines are theirs and are
 * load-bearing: they are what makes a browser fetch the 4 KB Hebrew subset for
 * Hebrew text instead of the whole family. Rewriting them by hand would have
 * been an easy way to quietly download three times as much.
 *
 * The .woff fallbacks were dropped — every browser this panel supports reads
 * woff2, and keeping them meant hosting a second set of files for nobody.
 *
 * LICENCE: Assistant is licensed under the SIL Open Font License 1.1, which
 * permits redistribution. See https://github.com/hafontia/Assistant.
 *
 * To refresh: re-fetch Bunny's stylesheet, re-run the same substitution, and
 * re-download the files it names.
 */

/* latin */
@font-face {
  font-family: 'Assistant';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('/fonts/assistant/assistant-latin-400-normal.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;
}

/* hebrew */
@font-face {
  font-family: 'Assistant';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('/fonts/assistant/assistant-hebrew-400-normal.woff2') format('woff2'); 
  unicode-range: U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;
}

/* latin-ext */
@font-face {
  font-family: 'Assistant';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('/fonts/assistant/assistant-latin-ext-400-normal.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;
}

/* latin */
@font-face {
  font-family: 'Assistant';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url('/fonts/assistant/assistant-latin-500-normal.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;
}

/* hebrew */
@font-face {
  font-family: 'Assistant';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url('/fonts/assistant/assistant-hebrew-500-normal.woff2') format('woff2'); 
  unicode-range: U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;
}

/* latin-ext */
@font-face {
  font-family: 'Assistant';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url('/fonts/assistant/assistant-latin-ext-500-normal.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;
}

/* latin */
@font-face {
  font-family: 'Assistant';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url('/fonts/assistant/assistant-latin-600-normal.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;
}

/* hebrew */
@font-face {
  font-family: 'Assistant';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url('/fonts/assistant/assistant-hebrew-600-normal.woff2') format('woff2'); 
  unicode-range: U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;
}

/* latin-ext */
@font-face {
  font-family: 'Assistant';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url('/fonts/assistant/assistant-latin-ext-600-normal.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;
}

/* latin */
@font-face {
  font-family: 'Assistant';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url('/fonts/assistant/assistant-latin-700-normal.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;
}

/* hebrew */
@font-face {
  font-family: 'Assistant';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url('/fonts/assistant/assistant-hebrew-700-normal.woff2') format('woff2'); 
  unicode-range: U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;
}

/* latin-ext */
@font-face {
  font-family: 'Assistant';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url('/fonts/assistant/assistant-latin-ext-700-normal.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;
}

