/* ── Faz 6 PT7c (2026-10-15): program-theme.css «ChatGPT HATTI DENEYİNDEN TAŞINANLAR» bölümünden EVRENSEL erişilebilirlik kuralları BAYT BAYT taşındı — hareket-azaltma anahtarı (`prefers-reduced-motion`) · dokunma gecikmesi (`touch-action`).
   Kural/seçici/değer/yorum/@media sarmalayıcısı/sıra aynı; kaynak: HEAD pt 751-764 (adım 2 · reduced-motion + tap-delay). pt'yi yükleyen 12 sayfanın HEPSİ bu dosyayı program-theme.css'ten HEMEN ÖNCE yükler (eskiden bölüm pt'nin 727. satırından SONRAydı: ters kaskad ölçüldü, 0 gerçek). PT7c anında KALDI (ters kaskad, K2): aynı bölümün odak halkası; Faz 6 PT11'de bu dosyanın SONUNA (`input:focus { outline: none }`in ARDINA) taşındı — pt'de KALAN YOK. Bekçi: tests/test_ortak_css_erisilebilirlik.py ── */

/* (adım 2 · `reduced-motion`) Ürün birkaç geçişi tek tek susturuyordu; ~25
   geçiş hareket azaltma isteyen kullanıcıda da oynuyordu. Tek anahtar. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* (adım 2 · `tap-delay`) Dokunmada çift-dokunuş yakınlaştırma beklemesi
   kalkar (yalnız kontrollerde; sayfa kıstırma yakınlaştırması AÇIK). */
a, button, summary, select, label, input, [role="button"] { touch-action: manipulation; }

/* Faz 6 PT9: pt:1 `[hidden]` → buraya (12 sayfanın 12'sinde yüklenen dosya; `!important` aynen); ters kaskad yok (en son değerler pt'den önce) → çözüm (c) */
/* ⚠️ `hidden` NİTELİĞİ HER ŞEYDEN ÜSTÜN.
   Tarayıcının kendi kuralı `[hidden]{display:none}` en zayıf seviyededir;
   bir sınıfa `display:flex` yazınca SESSİZCE eziliyor. Element JS tarafında
   "gizli" görünür (`el.hidden === true`) ama ekranda durur.

   ÖLÇÜLDÜ (2026-07-29, tarayıcıda): `#besinSerit` `hidden` iken bile
   `display:flex` ve 147px yer kaplıyordu — "Besin analizi" kutusu ilk
   değerlendirmeden ÖNCE boş boş duruyordu. Aynı tuzak yeni bayat şeridinde
   de anında ısırdı. Bu yüzden kural genel ve `!important`:
   `hidden` demek "bu element yok" demektir, pazarlık payı yok. */
[hidden] {
  display: none !important;
}

/* Faz 6 PT9: pt:73 `input, select, textarea, .act, .reportBtn, .themeToggle` köşe → buraya (erisilebilirlik.css pt'den HEMEN önce, 12 sayfa); ters kaskad: önceki dosyalardaki eşit özgüllük kuralları pt'den önce olduğu gibi erisilebilirlik'ten de önce → çözüm (c) */
input,
select,
textarea,
.act,
.reportBtn,
.themeToggle {
  border-radius: 11px;
}

/* Faz 6 PT9: pt:82 `input:focus, select:focus, textarea:focus` → buraya; ters kaskad: pt'de kalan/sonra gelen eşit özgüllük kuralları (pt:`.kiyim-*`) hâlâ SONRA → çözüm (c) */
input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px var(--focus);
}

/* Faz 6 PT10 (2026-10-15): pt:189-239 «DOKUNMA ERGONOMİSİ» başlığı + `@media (pointer: coarse)` bloğunun EVRENSEL 16 px girdi listesi (`input:not(checkbox/radio/range), select, textarea`) → buraya
   (erisilebilirlik.css pt'yi yükleyen 12 sayfada pt'den HEMEN önce). Ters kaskad: eşit özgüllükteki (0,0,1) `select`/`textarea` ve (0,3,1) `input:not×3` font-size kuralları
   dosyaların hepsinde pt'den ÖNCEYDİ; erisilebilirlik.css onlardan sonra, pt'den hemen önce → çözüm (c) sıra. Sınıf-nitelikli üç seçici (`.feedtable input.num` ·
   `.kiyim-secim select` · `.kiyim-elek .elek-alan input`) sahibi ui/ekranlar/yem/yem.css'e gitti (aşağıda PT10 künyesi). Bekçi: tests/test_hig_dokunma_ergonomisi.cjs + tests/test_pt10_sahibe_tasima.py */
/* ══════════════════════════════════════════════════════════════════════════
 * DOKUNMA ERGONOMİSİ — HIG denetimi 2026-09-20, maddeler 1·2·3
 *
 * SAHNE: PRODUCT.md'nin birinci kitlesi çiftçi ve ahırda TELEFONLA kullanıyor.
 * Ölçüldü (375×812, ürün yerelde koşarken):
 *   · görünen 23 girdinin 23'ü de 16px ALTINDA (12-14px)  → iOS Safari her
 *     odakta sayfayı kendiliğinden büyütüyor; altı yem satırı = altı zıplama
 *   · 98 etkileşimli öğenin 83'ü 44×44 ALTINDA; en küçüğü «ayrıntı» 31×16
 *   · satır silen «×» 28×28 ve en yakın komşusu («düzenle») yalnız 10px ötede
 * HIG: «a button needs a hit region of at least 44x44 pt»
 *   (components/menus-and-actions/buttons.md) · iOS gövde varsayılanı 17pt.
 *
 * ⭐ NEDEN GÖRÜNMEZ ÖRTÜ (::after) DEĞİL, GERÇEK KUTU:
 * HIG'in web çevirisi «görseli büyütme, dokunma alanını ::after ile genişlet»
 * diyor. BURADA ÇALIŞMAZ ve denenmeden elendi — iki sebep ÖLÇÜLDÜ:
 *   (a) komşu hedefler 10px aralıklı; iki 44px örtü ÜST ÜSTE biner ve sonraki
 *       öğe öncekinin tıklamasını çalar — «düzenle» tıklanamaz hâle gelirdi.
 *   (b) `.feedtable td.remove-cell` ve `.ezme-ac` `overflow:hidden` taşıyor
 *       (ellipsis için); örtü zaten kırpılırdı.
 * Bu yüzden kutular dokunmatikte GERÇEKTEN büyüyor.
 *
 * ⛔ KAPSAM `pointer: coarse` İLE SINIRLI — masadaki danışmanın yoğun tablosu
 * DEĞİŞMEZ. Fare kullanıcısında 44px zorlaması sütunları şişirir ve bu ekranın
 * asıl işi olan çok satırlı karşılaştırmayı bozar.
 * ⛔ `font:` KISAYOLU YOK (duve.html'de 14 kuralı sessizce öldüren vaka).
 * Bekçi: tests/test_hig_dokunma_ergonomisi.cjs
 * ═══════════════════════════════════════════════════════════════════════ */

@media (pointer: coarse) {
  /* ── 1. iOS otomatik yakınlaştırma eşiği: girdiler 16px ────────────────
     16px, Safari'nin odakta sayfayı büyütmeyi BIRAKTIĞI eşiktir; estetik
     bir seçim değil, davranış eşiğidir. Sayı kutuları mono yüzle yazıldığı
     için 16px'te «20,5» hâlâ sığıyor, ama kutular bir tık genişletiliyor. */
  /* ⚠️ `input[type="text"]` YAZILMAZ: yem adı girdilerinin `type` NİTELİĞİ
     YOK (`<input value="..." data-role="feed">`) ve nitelik seçicisi onları
     HİÇ görmez. İlk denemede 23 girdinin 8'i bu yüzden 13px'te kaldı —
     ölçüm yakaladı. Onay/seçim kutuları dışarıda: metin girilmediği için
     Safari onlarda zaten yakınlaştırmıyor. */
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea {
    font-size: 16px;
  }
}

/* Faz 6 PT11 (2026-10-15): pt:383-404 «ChatGPT HATTI … focus-states» odak halkası (`a/button/summary/select/input/textarea/[role=button]:focus-visible` + `.feedtable input.num` + `.feed-combobox input[data-role=feed]`) → buraya BAYT BAYT (dosya SONU, yukarıdaki `input:focus, select:focus, textarea:focus { outline: none }`in ARDINDA). Ters kaskad: `input:focus { outline: none }` ile eşit özgüllük (0,1,1) → çözüm (c): aynı dosyada sonra gelir; erisilebilirlik.css 12 sayfada pt'den HEMEN önce, aradaki dosya yok → kaskad sırası değişmedi. Bekçi: tests/test_pt11_sahibe_tasima.py */
/* ═══ ChatGPT HATTI DENEYİNDEN TAŞINANLAR (2026-10-09, Gökhan «birleştir») ═══
   Deney: frontend-design → UI/UX Pro Max (betiksiz) → impeccable cila, dal
   `deney/chatgpt-sirasi`. Yalnız BİZİM hattın bulmadığı bulgular taşındı;
   iki hattın ortak işlerinde (koyu rozet, çip ayracı, telefonda Çöz) bizim
   sürüm kaldı. Senaryolar kartını gizleme TAŞINMADI (Gökhan'a soruldu). */

/* (adım 2 · `focus-states`) Çerçevesiz kontrollerde klavye odağı yalnız %20
   saydam gölgeydi — krem zeminde görünmez. Yalnız :focus-visible (fare
   tıklaması halka çizmez), 2 px dolu halka mevcut dilin ÜSTÜNE biner.
   Koyu hero'da marka yeşili ayırt edilmez → beyaz. */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
select:focus-visible,
input:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
.feedtable input.num:focus-visible,
.feed-combobox input[data-role="feed"]:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
