/* ════════════════════════════════════════════════════════════════
   GLOBUNI · YAZI TİPLERİ · KENDİ SUNUCUMUZDAN
   ────────────────────────────────────────────────────────────────
   ⚠ NEDEN GOOGLE FONTS'TAN TAŞINDI (01.11.2026 · kullanıcı kararı)
     Yazı tipleri 12 HTML dosyasında `fonts.googleapis.com` üzerinden
     yükleniyordu. Üç sorun:

       1 · GİZLİLİK. Her sayfa yüklemesinde öğrencinin IP adresi ve
           User-Agent'ı üçüncü bir tarafa gidiyordu. Bu, projenin
           kendi duruşuyla çelişiyor: dikkat analitiği hiçbir veriyi
           dışarıya göndermiyor, PDF bileşenleri için dış CDN bilerek
           reddedilmiş ("depoda tutulur ve KENDİ kaynağımızdan servis
           edilir · 05.09.2026").
       2 · KISITLI AĞ. Okul ağında CDN engellenirse tipografi
           SESSİZCE sistem fontuna düşüyor; kimse fark etmiyor.
       3 · HIZ. Ek DNS + TLS el sıkışması, hem de sınavın
           başlangıcında.

   ⚠ TEK DOSYA, TEK KAYNAK.
     Bu dosya tüm yüzeyler tarafından `/fonts/fonts.css` olarak
     yükleniyor. `tokens.css`'e gömülmedi: o dosya yalnızca DÖRT
     PANELE enjekte ediliyor, sınav ekranı ve yönetim paneli onu
     almıyor. Yazı tipi tanımını oraya koymak, iki yüzeyde fontun
     hiç yüklenmemesi demekti.

   ⚠ DEĞİŞKEN FONT · TEK DOSYADA BÜTÜN AĞIRLIKLAR.
     Eskiden beş ağırlık ayrı ayrı isteniyordu (400;500;600;700;800).
     Değişken font `font-weight: 200 800` aralığının tamamını tek
     dosyada veriyor. Toplam ~100 KB.

   ⚠ `latin-ext` ZORUNLU · TÜRKÇE.
     ğ (U+011F), ş (U+015F), ı (U+0131), İ (U+0130) hepsi
     U+0100-02BA aralığında, yani `latin` alt kümesinde DEĞİL.
     Yalnızca `latin` yüklenirse Türkçe harfler sistem fontuna düşer
     ve metin karışık görünür — ölçüldü.

   ⚠ AİLE ADLARI DEĞİŞTİRİLMEDİ.
     `tokens.css` içindeki `--sans` ve `--mono` jetonları
     'Plus Jakarta Sans' ve 'JetBrains Mono' diyor. @font-face
     bilerek bu adlarla tanımlandı; hiçbir jeton değişmedi.

   Lisans: SIL Open Font License 1.1 (her iki aile).
   Kopyaları: PLUS-JAKARTA-SANS-LICENSE.txt · JETBRAINS-MONO-LICENSE.txt
   Kaynak: npm @fontsource-variable/* · woff2 dosyaları depoda.
   ════════════════════════════════════════════════════════════════ */

/* ── Plus Jakarta Sans · arayüz ──────────────────────────────── */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(./plus-jakarta-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: 'Plus Jakarta Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(./plus-jakarta-sans-latin-ext-wght-normal.woff2) format('woff2-variations');
  /* Türkçe harfler burada. */
  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;
}

/* ── JetBrains Mono · sayısal ve kod ─────────────────────────── */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 100 800;
  src: url(./jetbrains-mono-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: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 100 800;
  src: url(./jetbrains-mono-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;
}
