/* KAYDIRILABİLİR SEKME ÇUBUĞU — TEK KAYNAK (kulvar hesap-liste, 2026-09-16)
   Emsal ve aynı gerekçe: `shared/govde-hizasi.css` — markanın TAMAMINI ilgilendiren
   bir karar dokuz sayfa CSS'ine dağılmasın diye tek dosyada durur ve kabuğun en
   sonunda yüklenir.

   ───────────────────────────────────────────────────────────────────────────────
   BEYAR KARARI 2026-09-16: "kaydırılabilir kategori sekmelerinin sonundaki koyu
   gradyan projenin tutarlılığıyla uyumsuz; kararma YOK, sonda BEYAZ YUVARLAK OK
   butonu." Doğru örnek olarak dadagastro.com/hesabim/mutfak-defterim gösterildi.

   KAYNAK (canlıya yalnız GET; sayfa giriş duvarında olduğu için ekran değil, kardeş
   deponun KANON DOSYASI okundu — aynı kalıbın yazılı hâli):
       DadaGastro · public/varliklar/reference/shared/dm-p3-a.css  "A6-BAS" bloğu
       DadaGastro · public/varliklar/reference/shared/dm-p3-a.js   "A6" bloğu
       markup    · resources/views/turetilmis/uye/g-mutfak-defterim.blade.php:463
   Orada şerh şöyle diyor: "SEKME ÖLÇÜSÜ DEĞİŞTİRİLMEDİ … taşmanın kendisi kanonun
   öngördüğü hâl, EKSİK OLAN kaydırma AFFORDANSIYDI." Burada da sekme kutularına
   DOKUNULMADI; yalnız affordans değişti.

   ───────────────────────────────────────────────────────────────────────────────
   KALDIRILAN KUSUR — `shared/t5d-e.css` (vendor, bayt bayt donörle aynı; DOSYAYA
   DOKUNULMADI, buradan örtülüyor). O dosya `#pageMain .sekmeler`e dört katmanlı bir
   "scroll shadow" basıyor:
       linear-gradient(to right, var(--cizgi-vurgu), transparent)   ← #dddddd
       linear-gradient(to left,  var(--cizgi-vurgu), transparent)
   İki `local` örtü katmanı gri katmanları taşma yokken gizliyor, taşma varken açığa
   çıkarıyor. Ölçülen taşma (2026-09-16, `scripts/olcum/cikti/hl-sekme-tara.mjs`):
       @1440  /hesabim/etkinlikler 84 · /hesabim/kesif-tercihleri 329
       @390   14 ekran, 108 … 1007 px
   Yani gri bant gerçekten çiziliyordu ve rayın sonunu karartıyordu.

   ⚠ NE YAPILMAMALI: t5d-e.css'e girip kuralı silmek ya da seçiciye önek eklemek
   SAHTE VENDOR olur (`.ai/rules/assets.md`; `node scripts/olcum/vendor-denetim.mjs`
   çıkış kodu 1 verir). Burada yalnız `background-image` sıfırlanıyor — `t5d-e.css`in
   `background-color: var(--kagit)` bildirimi kanonla aynı değer olduğu için DURUYOR.
   Özgüllük: t5d-e.css'inki de benimki de (1,1,0); bu dosya kabukta t5d-e.css'ten
   SONRA (gövde sonu, `govde-hizasi.css` komşuluğu) yüklendiği için kaynak sırası
   kazandırıyor. `sayfa_css`/`profil_css` yuvalarına basılsaydı ETKİSİZ kalırdı.

   TOKENLAR: bu dosya HER sayfada yüklendiği için yalnız `gourmet.css`in :root'unda
   bildirilen küresel tokenlar kullanıldı (`--paper · --line · --slate · --sh-md ·
   --ease · --tomato · --tomato-dark · --radius-circle`). `--cizgi-1 · --golge-md ·
   --yazi-12 · --sure · --yumusama` gibi adlar YALNIZ `dm-profil.css`/
   `gourmet-ortak.css` yüklüyken tanımlı; kaynağın adlarını birebir taşımak,
   o dosyaların yüklenmediği sayfalarda kuralı sessizce öldürürdü
   ("tanımsız var() başlangıca çeker" — t5d-d.css'in kayıtlı dersi). */

#pageMain .sekmeler {
  background-image: none;
}

/* ══ OK KABI ═══════════════════════════════════════════════════════════════════
   Kancayı SÜRÜCÜ takar (`ray-kaydirma.js`), markup'a yazılmaz — `.sekmeler` kullanan
   28 blade'in hiçbirine dokunulmadı.

   🔴 SINIF DEĞİL ÖZNİTELİK, bilerek: `scripts/olcum/icerik-denetimi.mjs` yapısal
   imzayı her düğümün `tag.sınıf` zincirinden kuruyor (satır 160-172). Var olan bir
   kapsayıcıya SINIF eklemek altındaki her torunun imzasını değiştirir ve kapıda
   sahte kırmızı üretir — ölçüldü 2026-09-16: `.giris-kart`a takılan sınıf
   /hesabim raporunda beş bulgunun imza yoluna sızdı. Öznitelik imzaya girmez.
   ("ölçüm aracı ölçtüğünü değiştirmesin" — t5d-e.css'in kendi dersi.)

   `.sekmeler.ortali` `width:fit-content` taşıdığı için rayın kutusu kabından dar
   olabilir; bu yüzden kabın kendisine `inset:0` verilmedi, nav'ın kutusu sürücüde
   rayın `offsetLeft/Top/Width/Height` değerlerinden yazılıyor. */
[data-ray-kaydirma-kap] {
  position: relative;
}

.ray-kaydirma-nav {
  position: absolute;
  pointer-events: none;
  z-index: 2;
}

.ray-kaydirma-nav[hidden] {
  display: none;
}

/* Ölçüler kaynağın kendi değerleri (dm-p3-a.css: 34×34, kenardan -6px, 12px ikon). */
.ray-kaydirma-ok {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: auto;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-circle);
  background: var(--paper);
  color: var(--slate);
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
  box-shadow: var(--sh-md);
  transition: 0.2s var(--ease);
}

.ray-kaydirma-ok.geri {
  left: -6px;
}

.ray-kaydirma-ok.ileri {
  right: -6px;
}

/* OK İŞARETİ SÖZDE ÖĞEDEN — `<i class="fa-chevron-*">` DEĞİL, bilerek. Kapının ikon
   sayımı `i[class*="fa-"], span[class*="fa-"], svg` topluyor (icerik-denetimi.mjs:301)
   ve donörde ok olmadığı için her ikon DÜĞÜMÜ "İKON FAZLA" kırmızısı olurdu. `::before`
   DOM düğümü değildir, sayıma girmez. Klasik iki kenarlı chevron; rengi `currentColor`,
   yani düğmenin hover/odak rengini kendiliğinden izler. */
.ray-kaydirma-ok::before {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
}

.ray-kaydirma-ok.geri::before {
  transform: rotate(135deg);
  margin-left: 3px;
}

.ray-kaydirma-ok.ileri::before {
  transform: rotate(-45deg);
  margin-right: 3px;
}

.ray-kaydirma-ok:hover {
  color: var(--tomato-dark);
  border-color: var(--tomato);
}

.ray-kaydirma-ok:focus-visible {
  outline: 3px solid var(--tomato);
  outline-offset: 2px;
}

/* Uç yok olunca ok da yok — "sahte pozitif YOK" (scroll-affordance.css'in kaydettiği
   aynı kural). `display:none` değil `opacity:0`: kutu yerinde kalır, ok belirip
   kaybolurken ray kıpırdamaz. */
.ray-kaydirma-ok[disabled] {
  opacity: 0;
  pointer-events: none;
}

/* ══ KENAR SOLMASI ═════════════════════════════════════════════════════════════
   Kararma DEĞİL — rayın KENDİ pikselleri saydamlaşır, arkasındaki sayfa zemini
   görünür. Yalnız gerçekten kaydırılabilen yönde çizilir; kancayı sürücü takar.
   34px = okun çapı, kaynakla aynı.

   🔴 DURUM SINIF DEĞİL ÖZNİTELİK — yukarıdaki imza gerekçesinin aynısı, ölçüldü:
   sınıf kipinde `/sss @390` kapısında 5 SAHTE kırmızı doğuyordu (`nav.ortali.sekmeler`
   imzası `nav.ortali.<durum>` oluyor; `sinifIzi` sınıfları alfabetik sıralayıp ilk ÜÇÜNÜ
   aldığı için `sekmeler` imzadan düşüyor). Öznitelik kipinde fark 0. */
.sekmeler[data-ray-sol] {
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 34px);
  mask-image: linear-gradient(90deg, transparent 0, #000 34px);
}

.sekmeler[data-ray-sag] {
  -webkit-mask-image: linear-gradient(270deg, transparent 0, #000 34px);
  mask-image: linear-gradient(270deg, transparent 0, #000 34px);
}

.sekmeler[data-ray-sol][data-ray-sag] {
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 34px, #000 calc(100% - 34px), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 34px, #000 calc(100% - 34px), transparent 100%);
}
