/*
 * Self-hosted MimWise web fonts.
 *
 * Replaces the previous third-party load from fonts.googleapis.com /
 * fonts.gstatic.com which transmitted visitor IP + UA to Google LLC before
 * consent (LG Munchen Az. 3 O 17493/20; UK ICO PECR guidance).
 *
 * Maintenance: run scripts/fetch_fonts.py to (re)download and subset the
 * .woff2 files into server/static/fonts/<family>/<weight-style>.woff2 .
 * All weights below are referenced from the production templates.
 *
 * font-display: swap ensures the system-font fallback renders instantly
 * while the .woff2 is downloading - no FOIT.
 */

/* ---------- Inter (sans, body text) ---------- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local('Inter Light'), local('Inter-Light'),
       url("/static/fonts/inter/inter-300.234452cac7e9.woff2") format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Inter Regular'), local('Inter-Regular'),
       url("/static/fonts/inter/inter-400.1945fa9b587a.woff2") format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local('Inter Medium'), local('Inter-Medium'),
       url("/static/fonts/inter/inter-500.8c7e9e529b8b.woff2") format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local('Inter SemiBold'), local('Inter-SemiBold'),
       url("/static/fonts/inter/inter-600.eaae2304b622.woff2") format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Inter Bold'), local('Inter-Bold'),
       url("/static/fonts/inter/inter-700.fc44a221f4ad.woff2") format('woff2');
}

/* ---------- Playfair Display (serif, marketing headings) ---------- */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local('Playfair Display Medium'), local('PlayfairDisplay-Medium'),
       url("/static/fonts/playfair-display/playfair-display-500.31e772dff33f.woff2") format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local('Playfair Display SemiBold'), local('PlayfairDisplay-SemiBold'),
       url("/static/fonts/playfair-display/playfair-display-600.ec57f3fabc3a.woff2") format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Playfair Display Bold'), local('PlayfairDisplay-Bold'),
       url("/static/fonts/playfair-display/playfair-display-700.3b6af9133f0b.woff2") format('woff2');
}

/* ---------- Caveat (handwritten accent) ---------- */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Caveat Regular'), local('Caveat-Regular'),
       url("/static/fonts/caveat/caveat-400.3e1f6d81912a.woff2") format('woff2');
}
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local('Caveat Medium'), local('Caveat-Medium'),
       url("/static/fonts/caveat/caveat-500.9af5c7816810.woff2") format('woff2');
}
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local('Caveat SemiBold'), local('Caveat-SemiBold'),
       url("/static/fonts/caveat/caveat-600.879aba9c7cc4.woff2") format('woff2');
}
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Caveat Bold'), local('Caveat-Bold'),
       url("/static/fonts/caveat/caveat-700.0f78190a2b33.woff2") format('woff2');
}

/* ---------- Kalam (lesson-player blackboard chalk) ---------- */
@font-face {
  font-family: 'Kalam';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Kalam Regular'), local('Kalam-Regular'),
       url("/static/fonts/kalam/kalam-400.15bf330708ad.woff2") format('woff2');
}
@font-face {
  font-family: 'Kalam';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Kalam Bold'), local('Kalam-Bold'),
       url("/static/fonts/kalam/kalam-700.73612a2e4567.woff2") format('woff2');
}

/* ---------- Fredoka (Dopanaire game UI) ---------- */
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Fredoka Regular'), local('Fredoka-Regular'),
       url("/static/fonts/fredoka/fredoka-400.00dff20a306b.woff2") format('woff2');
}
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local('Fredoka Medium'), local('Fredoka-Medium'),
       url("/static/fonts/fredoka/fredoka-500.0dca7b2c6b19.woff2") format('woff2');
}
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local('Fredoka SemiBold'), local('Fredoka-SemiBold'),
       url("/static/fonts/fredoka/fredoka-600.9c9dbf558354.woff2") format('woff2');
}
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Fredoka Bold'), local('Fredoka-Bold'),
       url("/static/fonts/fredoka/fredoka-700.765b0de8d2fe.woff2") format('woff2');
}
