/* ═══════════════════════════════════════════════════════════════════════
   MODULLER ARASI GECIS — UST BAR YERINDEN KIMILDAMAZ   (2026-08-11)
   ═══════════════════════════════════════════════════════════════════════
   Gokhan: "ust bar sabit kalsa ve modullere tiklandiginda baska sayfaya
   yonlendirmek yerine alt taraf degisse daha hos olmaz mi? cok zor mu?"

   ⛔ GERCEK SPA YAPILMADI. Bedeli OLCULDU, tahmin edilmedi:
        dosya         HTML satir   gomulu JS   gomulu CSS
        index.html         883          13           0
        kuru.html          769         489         125
        kan.html           433         253          52
        suru.html         2675        2242         359
      Cakisan `id`: index x kuru 6 (animalForm · engineStatus · feedcount ·
      indicators · notes · themeToggle) · kuru x kan 2 · index x kan 1.
      Tek belgede hepsi ayni kuresel kapsama duser; ~3000 satir gomulu JS
      elle ayristirilir ve arayuz icin test agi YOK.
   ⛔ VE KAN KAPISI KIRILIRDI — asil engel bu: kan.html sunucuda fail-closed
      (sifresiz 404 doner). Tek belgeye birlesirse kan'in isaretlemesi
      HERKESE gonderilir ve kapinin bastan yazilmasi gerekir. Kapi su an
      GERCEK koruma; dosyanin kendi notu eski istemci-tarafli perdenin
      "gercek koruma DEGILDI" oldugunu yaziyor. Onu tekrar kurmayiz.

   → AYNI HIS, MIMARIYE DOKUNMADAN. Tarayici eski sayfanin anlik goruntusunu
     tutar, yeni sayfayi yukler, AYNI ADI tasiyan ogeleri ust uste bindirip
     donusturur. Ust bar iki belgede de ayni adi tasidigi icin ekranda
     YERINDEN KIMILDAMAZ; yalniz altindaki govde degisir. Sayfalar ayri
     kalir, her sayfa kendi JS'ini yuklemeye devam eder, kan kapisi durur.

   OLCULDU (bu makinede, Chrome 148 — hepsi VAR):
     document.startViewTransition · @view-transition (belgeler arasi)
     view-transition-name · speculationrules
   ⚠️ Desteklemeyen tarayicida HICBIR SEY BOZULMAZ: gecis atlanir, gezinme
      bugunku gibi calisir. Yedek yol = MEVCUT davranis.
   ⛔ Giris sayfasi ETKILENMEZ: giris.html bu dosyayi yuklemiyor (server.py
      `_GIRIS_SERBEST_YOLLAR` yalniz styles.css ve fonts.css'i serbest
      birakiyor) — kimlik akisi gecise girmez.
   ⭐ GERI ALMA: BU BLOGU SIL. Baska hicbir yere dokunulmadi.               */

@view-transition { navigation: auto; }

/* ⚠️ Ad tasiyan oge kendi anlik goruntusune ayrilir ve eski-yeni ESLESIR.
   Bir ad bir belgede TEK olmali — `.topbar` ile `.ust-bar` ayni sayfada hic
   bulunmuyor (suru'de biri, digerlerinde oteki), carpisma yok.
   ⛔ Ic ogelere (logo · serit) AYRI ad VERILMEDI: adli oge atasinin anlik
      goruntusunden CIKARILIR, yani seridin `overflow-x:auto` kirpmasi gecis
      suresince kaybolurdu. Bar tek parca yakalaninca serit de icinde gelir
      ve aktif bolme yumusakca yerine gecer — ayni sonuc, daha az kirilma. */
.topbar,
.ust-bar { view-transition-name: ust-bar; }

/* Govde degisimi kisa: capa (bar) yerinde durdugu icin uzun gecis gereksiz. */
::view-transition-old(root),
::view-transition-new(root) { animation-duration: 0.22s; }

/* ⛔ Hareket hassasiyeti: gecis TAMAMEN kapanir, sayfa aninda degisir. */
@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*) { animation: none !important; }
}
