/* ============================================================================
   OZ — TASARIM TOKEN'LARI
   ============================================================================
   Tek urun, ALTI ayri gorsel sistem kullaniyordu:

     index.php              -> css/main.css (3.700 satir)
     view.php               -> 400 satir KENDI inline CSS'i, main.css yuklemiyor
     drawing-register.php   -> 330 satir KENDI inline CSS'i, hicbir dis CSS yok
     login.php              -> css/login.css
     setup / set-password / reset-password -> css/auth-forms.css
     bugs.php               -> Bootstrap

   YEDINCISI SONRADAN GELDI VE BU LISTEYE GIRMEDI:
     sekiz hukuki .html     -> css/legal.css   (PT-22, 2026-09-08)

   Ve tam da bu yuzden ilk AA ihlalini uretti (CON-1): kapsam disinda oldugu
   icin asagidaki "en soluk izin verilen" kurali ona islemiyordu. 2026-09-09'da
   ACIK ZEMIN KATMANI eklendi ve legal.css ona baglandi.

   HALA DISARIDA: css/login.css ve css/auth-forms.css. Ikisinde de bugun
   olculmus bir ihlal YOK (bkz. ANALYSIS.md -> CON-1) — bu yuzden salt gorsel
   riskli bir refactor'a girilmedi. Birini elden gecirirken --ink-* / --surface-*
   katmanina baglayin; sekizinci sistem eklenirken de bu listeyi guncelleyin.

   Renk degiskenleri bu dosyalar arasinda KOPYALANMISTI ve kopyalar ayrisiyordu.
   Somut ornek: --warning main.css'te #f1c40f, view.php'de #f39c12 idi. Ayni
   isim, iki farkli renk; birini duzeltmek otekini duzeltmiyordu. Bu, APP.md'nin
   js/shared.js icin anlattigi "uc kopya ayristii" hikayesinin CSS tarafiydi.

   Bu dosya o kopyalarin TEK KAYNAGIDIR ve butun sayfalar tarafindan
   diger stil dosyalarindan ONCE yuklenir.

   NE BURAYA GIRER: renk, tipografi ve katman gibi ürün genelinde ayni olmasi
   gereken degerler.
   NE GIRMEZ: bir sayfaya ozgu olculer. Ornegin drawing-register.php'nin
   --u / --row-h / --b degiskenleri baski cikitisi icindir ve @media print
   tarafindan mm ile ezilir; onlar o dosyada kalir.
============================================================================ */

:root {
    /* ── Marka ─────────────────────────────────────────────────────── */
    --cream:  #f2ece4;
    --green:  #13322b;
    --black:  #181818;
    --white:  #ffffff;
    --accent: #13322b;   /* tema vurgusu — --green ile ayni, ayri isim cunku
                            drawing-register.php baski tarafinda bunu kullaniyor */

    /* Acik yesil — marka yesilinin ikinci tonu. Project Board'un DOLU
       dugmeleri bunu kullanir (2026-09-08 kullanici karari): tablo basligi,
       satir gorunumu ve hucre icerigi zaten --green ile ciziliyor ve o
       zeminde duran dolu bir dugme basliktan ayirt edilemiyordu.
       KURAL: --green tabakadir (baslik, avatar, ilerleme cubugu),
       --green-soft TABLONUN ICINDEKI veri dugmesidir (Button kolonu, oy,
       hucre duzenleyicisi). 2026-09-14: tablonun DISINDAKI denetimler
       (Save grouping, Reset view, Group by / A→Z) yeniden --green oldu.
       Bkz. css/status.css -> "Dugme rengi". */
    --green-soft: #335a46;

    /* Koyu zeminde YESIL MUREKKEP (2026-09-30). --green ve --green-soft
       ZEMIN renkleridir: #181818 ustunde metin/ikon olarak 1.3:1 ve 2.3:1
       verirler, yani okunmazlar. Bu, --green-soft'un AYNI tonunun (149°)
       okunur acikliga cikarilmis hali — koyu kartta 6.2:1.
       Ilk kullanicisi kolon tipi ikonlari: Project Board ve Folder System'in
       "Add column" izgarasi alti ayri renkle (mavi, pembe, mor, turuncu,
       kahve, yesil) ciziliyordu; kullanici karari "hepsi bizim yesilimizden
       olsun" (css/status.css -> .st-t-*, css/main.css -> .cde-t-*). */
    --green-ink: #5fa883;

    --border-alpha:  rgba(242, 236, 228, 0.1);
    --modal-overlay: rgba(0, 0, 0, 0.7);
    --card-bg:       #1a1a1a;   /* modal ici input/select arka plani */

    /* rgba() icinde kullanilmak icin --green'in bilesenleri (main.css ->
       @keyframes pulse). HIC TANIMLI DEGILDI; kullanim yerinde `19,80,63`
       fallback'i vardi ve o #135039, yani --green (#13322b) DEGIL — parlama
       efekti marka yesilinden baska bir yesille ciziliyordu. --green ile
       hizalandi; --green'i degistirirseniz burayi da degistirin. */
    --green-rgb: 19, 50, 43;

    /* ── Anlamsal ──────────────────────────────────────────────────── */
    --error:   #ff4d4d;
    --success: #2ecc71;
    --warning: #f1c40f;   /* view.php'de #f39c12 idi — tek degere indirildi */

    /* ── Ikincil metin ─────────────────────────────────────────────────
       opacity ile soluklastirilan metin WCAG'i gecmiyordu. Olculdu
       (cream #f2ece4 uzerinde zemin #181818):
         opacity 0.5 -> 4.64:1 (AA sinirinda)
         opacity 0.4 -> 3.44:1 (KALIR)
         opacity 0.3 -> 2.49:1 (KALIR)
       Bunlar hesaplanmis SABIT renkler; alt ogelere miras kalmazlar
       (opacity kaliyordu) ve koyu zeminde AA'yi gecerler.
       Yikici eylem uyarilarinda --text-muted'in altina inmeyin. */
    --text-muted:  #b9b3ab;   /* 8.54:1 — ikincil metin */
    --text-subtle: #948e87;   /* 5.48:1 — kabul edilebilir en soluk */

    /* ── ACIK ZEMIN PALETI BURADA DEGIL — css/legal.css'te (TOK-1) ─────
       Yukaridaki her sey KOYU ZEMIN icindir: --cream metin, #181818 zemin.
       Kokteki sekiz hukuki sayfa ACIK zeminlidir ve BU DOSYAYI YUKLEMEZ
       (olculdu 2026-09-09: sekizinin de <link>'i yalnizca vendor/fonts/fonts.css
       + css/legal.css). Gerekcesi legal.css'in kendi basliginda yazili ve
       gecerlidir: o metinler uygulamanin temasindan bagimsiz okunabilmeli.

       Bu yuzden --ink-* / --surface-* token'lari ORAYA yazildi, buraya degil.
       Buraya kopyalamak, yuklenmeyen bir dosyada duran olu bir palet olurdu.

       DIKKAT — buradaki token'lari acik zeminde KULLANMAYIN:
       --text-muted koyu zeminde 8.54:1, acik zeminde 1.9:1 eder. */

    /* ── Onizleme yorum balonu ─────────────────────────────────────────
       Cizimin ustunde duran TEK kirmizi bu olsun diye ayri: --error
       kullanilsaydi hata rengiyle ayrisamaz, biri degisince oteki sessizce
       kayardi. */
    --comment-red:      #a82222;
    --comment-red-soft: rgba(168, 34, 34, 0.16);
    --comment-done:     #6f6f6f;   /* kapatilmis madde: silinmez, soluk griye doner */
    /* Yorum yazarinin adi — ad metinden AYRILSIN diye (2026-09-27).
       2026-09-30: MAVI KALKTI (#8ab4f8 idi). Kullanici karari: "No blue
       colours, only greens — personal colour medium green, everyone else
       dark green, tagged individuals a complementary colour."

       Bunlar METIN degil CIP ZEMINI: koyu yesil (#13322b) bu ekranin
       zemininde (#181818) metin olarak 1.3:1 verir ve okunmaz. Ad krem
       metinle kendi yesil cipinde durur — baskasi marka yesilinde
       (--green, kremle 11.8:1), kendi adin orta yesilde (--green-soft,
       kremle 6.6:1). Etiketlenen kisi (@Ad) ayni ailenin ACIK tonunda:
       ucu yan yana durdugunda birbirinden ayrilir, ucu de yesildir.
       Degerler bilerek --green / --green-soft'un kendisi; marka rengi
       degisirse burasi da onunla degismeli. */
    --comment-author:     #13322b;                   /* baskasinin adi — koyu yesil cip */
    --comment-author-me:  #335a46;                   /* kendi adin — orta yesil cip */
    --comment-mention:    #c9efdc;                   /* @Ad metni — acik nane */
    --comment-mention-bg: rgba(95, 168, 131, 0.22);  /* @Ad cipi — --green-ink'in %22'si */

    /* ── Takvim kaynak renkleri (2026-09-23) ───────────────────────────
       Calendar UC KAYNAGI ayni ekranda ciziyor ve hangi ogenin nereden
       geldigi RENKLE okunuyor (gun hucresindeki noktalarda renk yalnizca
       3px'lik bir isarette; metin oralarda --green ile kaliyor). Renk bir
       KAYNAK etiketi, durum degil.
       2026-09-23'teki ilk uclu (#13322b · #2f5fd0 · #8a5a12, uce de beyaz
       metin) 2026-10-14'te asagidakilerle degisti. */
    /* 2026-10-14 — kullanıcının ön ayarları. Renk artık kaynak başına
       değiştirilebiliyor (Sources → noktaya tıkla); bu üçü varsayılan.
       Dolu zeminli öğenin metin rengi zeminden hesaplanıyor (readableOn —
       js/calendar.js → srcVars): #a9a5a0 koyu metin ister (beyaz 2.4:1).
       İKİ KOPYA: js/calendar.js → SRC_PRESETS. */
    --cal-custom: #a9a5a0;   /* --green ile 6.6:1 */
    --cal-board:  #528160;   /* siyahla 4.7:1 */
    --cal-folder: #a82222;   /* cream ile 6.0:1 */

    /* ── Tipografi ─────────────────────────────────────────────────────
       Urbanist vendor/fonts/fonts.css ile YUKLENIR; bu dosya yalnizca aileyi
       secer. O <link> olmadan zincir system-ui'ye duser.
       DIKKAT: 'Segoe UI' ve 'Inter' PAKETLI DEGIL — tek baslarina birakilirsa
       macOS/Linux jenerik sans-serif'e duser ve kolon otomatik sigdirma
       (piksel olcumu) isletim sistemine gore farkli sonuc verir. */
    --font-ui:   'Urbanist', 'Segoe UI', system-ui, -apple-system, sans-serif;
    --font-mono: ui-monospace, 'Consolas', Menlo, monospace;

    /* ── z-index olcegi ────────────────────────────────────────────────
       Onceden 25 farkli deger serbest dolasiyordu (1…10000) ve aralarinda
       yazili bir iliski yoktu. Bu SADECE gorsel bir konu degil:
       js/main.js -> initA11y() focus trap'i "en ustteki modal"i z-index
       OKUYARAK buluyor. Yanlis katmana konan bir modal, odagi sessizce yanlis
       yere hapseder. Yeni katman gerekirse buraya bir token ekleyin.

       1–6 arasi kucuk degerler BILEREK token degildir: onlar bir bilesenin
       KENDI yiginlama baglami icinde (3D goruntuleyici kaplamalari, yorum
       balonlari, izin matrisi baslıklari) birbirine gore siralanir. */
    --z-base:          1;
    --z-raised:        10;
    --z-sticky:        100;
    --z-dropdown:      200;
    --z-nav:           1000;
    --z-popover:       1100;
    --z-modal:         2000;
    --z-modal-nested:  2001;
    --z-modal-nested2: 2002;
    --z-toast:         3000;
    --z-tooltip:       3100;
    --z-session:       9998;
    --z-blocker:       9999;
}

/* ============================================================================
   HAREKET AZALTMA TERCIHI (U-9 / ARY-5)
   ============================================================================
   BURAYA 2026-09-05'TE TASINDI. 2026-09-04'te css/main.css'e yazilmisti ve
   oradaki not "main.css yedi sayfanin altisinda yuklu" diyordu.
   OLCULDU — YANLIS: `href="css/main.css"` depoda TEK bir yerde geciyor
   (index.php:92). Yani duzeltme sekiz sayfanin IKISINDE calisiyordu:
   index.php ve (kendi <style> blogundaki kopyasi sayesinde) view.php.

   Kapsam disinda kalanlarda animasyon VARDI:
     css/login.css      -> 3 transition · 1 animation · 1 @keyframes
     css/auth-forms.css -> 2 transition · 1 animation · 1 @keyframes
                           (setup · set-password · reset-password)
     drawing-register.php satir ici -> 10 transition · 1 animation

   "tokens.css DEGISKEN dosyasidir, kural icermez" ilkesi dogruydu ama bedeli
   ozelligin calismamasiydi. tokens.css SEKIZ sayfanin SEKIZINDE de yuklu
   (olculdu) — tek dogru yer burasi. main.css ve view.php'deki kopyalar
   kaldirildi; ikisi de zaten bu dosyayi once yukluyor.

   Bu blok BU DOSYADAKI TEK KURALDIR ve boyle kalmali: buraya baska kural
   eklemek yukaridaki ilkeyi gercekten cignemek olur.
============================================================================ */
@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;
    }
}
