/*
  Copyright (c) 2026 Tayfun Şimşek. Tüm hakları saklıdır / All rights reserved.
  Proprietary and confidential. 5846 sayılı FSEK kapsamında korunan eserdir;
  bir hizmet sözleşmesi kapsamında DEĞİL, bağımsız olarak meydana getirilmiştir.
  İzinsiz kopyalanamaz, değiştirilemez, dağıtılamaz. Ayrıntı: LICENSE
*/

/* =====================================================================
   SenSight Sefer — TASARIM BELİRTEÇLERİ
   §30: renk, boşluk, yarıçap, süre değerleri BELİRTEÇtir.
   Ekran dosyasında sabit hex veya piksel YAZILAMAZ.

   Aile imzası §30 HouseStyle'dan devralınır ve DEĞİŞMEZ:
     --sight-red      aile kırmızısı, yalnızca marka vurgusu (hata rengi DEĞİL)
     --wordmark-ink   kelime işareti gövdesi
     nötr ölçek       slate — maviye çalar, saf gri kullanılmaz

   Üç tema durumu vardır (§30):
     1) bare :root                       → açık palet (varsayılan)
     2) @media(prefers-color-scheme:dark) → sistem koyu, kullanıcı seçmemiş
     3) :root[data-theme="dark"]          → kullanıcı açıkça koyu seçmiş
   ===================================================================== */

:root {
  /* ── Aile imzası (sabit) ── */
  --sight-red: #e53935;
  --wordmark-ink: #0D47A1;

  /* ── Nötr ölçek: slate ── */
  --gray-50:  #f8fafc;
  --gray-100: #f1f5f9;
  --gray-200: #e2e8f0;
  --gray-300: #cbd5e1;
  --gray-400: #94a3b8;
  --gray-500: #64748b;
  --gray-600: #475569;
  --gray-700: #334155;
  --gray-800: #1e293b;
  --gray-900: #0f172a;

  /* ── Yüzey ve metin ── */
  /* Zemin SICAK kırık beyaz (onaylı taslak, 21.09.2026). Önceki soğuk
     slate-100, beyaz kartlarla neredeyse aynı tondaydı ve kartlar zemine
     karışıyordu; sıcak zemin kartı ayırıyor. Nötr ölçek (metin, çizgi)
     slate kalıyor — §30'un «saf gri yok» kuralı etkilenmiyor. */
  --color-bg: #F4F1EC;
  --color-surface: #ffffff;
  --color-surface-raised: #ffffff;
  --color-line: var(--gray-200);
  --color-line-strong: var(--gray-300);
  --color-text: var(--gray-900);
  --color-text-muted: var(--gray-500);

  /* ── Ürünün kendi tohumu (core/identity.BRAND_SEED) ── */
  --brand: #B85C00;
  --brand-ink: #8F4700;
  --brand-soft: #FCEFDC;
  --brand-contrast: #ffffff;

  /* ── Anlam taşıyan renkler: paletten BAĞIMSIZ, kişiselleştirmeye kapalı ── */
  --state-ok: #1C6F47;
  --state-ok-soft: #E0F0E7;
  --state-pending: #96700A;
  --state-pending-soft: #FAF0D3;
  --state-info: #1F5FA8;
  --state-info-soft: #E4EDF8;
  --state-critical: #AF2318;
  --state-critical-soft: #FBE4E1;
  /* DÖRDÜNCÜ DURUM: bilinmiyor ≠ sorunsuz. Atlanamaz. */
  --state-unknown: var(--gray-500);
  --state-unknown-soft: var(--gray-100);

  /* ── Geri denetimi (§15.1 returnPath · PR-05) ──
     Renk BURADA YOK: denetim rengini zeminden alır (currentColor).
     Burada yalnızca ALFA oranları yaşar — her ekranda ayrı saydamlık olmasın. */
  --control-fill-alpha: 14%;
  --control-border-alpha: 30%;
  --control-size: 56px;          /* §15 tabanı 44px; sallantıda 56px */
  --control-idle-opacity: .45;   /* okuma sırasında geri çekilme */
  --control-disabled-opacity: .38;

  /* ── Boşluk: 4px katları ── */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;

  /* ── Yarıçap ── */
  --radius-sm: 4px; --radius-md: 8px; --radius-lg: 14px; --radius-full: 999px;

  /* ── Yazı ── */
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, Consolas, monospace;
  --font-size-xs: 12px; --font-size-sm: 14px; --font-size-base: 16px;
  --font-size-lg: 19px; --font-size-xl: 24px; --font-size-2xl: 32px;

  /* ── Hareket: bekletmez ── */
  --duration-fast: 120ms;
  --duration-base: 200ms;
  --ease: cubic-bezier(.2, .8, .3, 1);

  --shadow-sm: 0 1px 2px rgba(15,23,42,.06);
  --shadow-md: 0 2px 4px rgba(15,23,42,.06), 0 8px 24px -12px rgba(15,23,42,.24);

  /* ── Üst şerit (masthead) — onaylı Seferler taslağı (21.09.2026) ──────
     Şerit İKİ TEMADA DA koyu: gece aletinin yüzü. Açık temada sayfanın
     geri kalanı açık kalıyor; şerit, ekranın «şu an ne durumda» cevabını
     taşıyan tek yer ve bakışı oraya çekmek için koyu. */
  --masthead-bg: #1F2633;
  --masthead-text: #F8FAFC;
  --masthead-muted: #A7B1BE;
  --masthead-tile: color-mix(in srgb, #ffffff 7%, var(--masthead-bg));
  /* Yan menü (Tayfun 04.10: «parlak ekrana alınca menü de parlak ekrana
     geçsin»). Masthead iki temada da koyu kalır (onaylı taslak); menü
     temayı izler — açıkta sayfanın yüzeyi, koyuda masthead'in değerleri. */
  --yan-menu-bg: var(--color-surface);
  --yan-menu-text: var(--color-text);
  --yan-menu-muted: var(--color-text-muted);
  --yan-menu-tile: var(--gray-100);
  --masthead-tile-critical: color-mix(in srgb, var(--state-critical) 26%, var(--masthead-bg));

  /* ⚠️ Şeridin DURUM renkleri ayrı ve SABİT — temayla değişmezler.
     Sebep ölçülerek bulundu (23.09.2026, Muavin şeridi eklenirken):
     `--state-*` renkleri SAYFANIN zeminine göre seçiliyor ve temayla
     yer değiştiriyor. Şerit ise İKİ TEMADA DA koyu. Açık temada sayfa
     için seçilmiş koyu yeşil/kırmızı, koyu şeridin üstüne düşünce
     kontrast çöküyordu — ölçülen: «bindi» 3.41, ACİL 3.07 (koyu temada
     aynı kutucuklar 9.77 ve 8.22). Eşik büyük metin için 3.0; yani kusur
     testi geçiyor ama okunmuyordu.
     📌 ACİL kutucuğu Seferler ekranında da var: bu, yeni yazılan kodun
     değil 21.09'da «doğrulandı» denen kodun kusuruydu. İki temada BAKMAK
     yetmemiş, ÖLÇMEK gerekmiş. */
  --masthead-ok: #4ADE80;
  --masthead-pending: #FBBF24;
  --masthead-critical: #FCA5A5;

  /* ── Cinsiyet — ANLAM taşıyan renk, kişiselleştirmeye kapalı (§30) ────
     Önceden `muavin.css` içinde düz hex olarak yazılıydı (§30 ihlali);
     Seferler kartındaki doluluk çubuğu aynı iki rengi istediği için tek
     kaynağa taşındı. Renk yalnız HIZLANDIRIR: her yerde yanında SÖZ var
     («18 kadın · 19 erkek»), ekran okuyucu da onu okur (§15). */
  --cinsiyet-kadin: #E8589A;
  --cinsiyet-erkek: #3B82F6;

  /* ── Takograf faaliyetleri — kategorik, ANLAM DEĞİL KİMLİK (17.10) ────
     Sıra ve adımlar dataviz doğrulayıcısından geçti (açık #fff, koyu
     #151A21 üstünde; bitişik CVD ΔE ≥ 9.2). Açıkta yeşil 2.82:1 → lejant
     ve tablo HER ZAMAN yanında (rahatlatma kuralı). Mola/dinlenme
     bilerek NÖTR: «iş yok» geri çekilir, göz sürüşe ve ihlale gider.
     İhlal rengi buradan değil `--state-critical`ten gelir. */
  --takograf-surus: #2a78d6;
  --takograf-calisma: #eb6834;
  --takograf-hazir: #1baf7a;
  --takograf-mola: var(--gray-200);

  /* ── Alt menü payı (F-154, taslak 1. sayfa) ─────────────────────────
     Alt menünün ekranın dibinde KAPLADIĞI toplam yer — çubuk yüksekliği
     + telefonun güvenli alanı. Masaüstünde alt menü yok, pay yalnız
     güvenli alandır.

     ⚠️ TEK BELİRTEÇ ve bu pazarlıksız: dipte duran her sabit kap
     (`.geri`, `.cikis-uyarisi`, sayfa dolgusu) bu sayıyı OKUR. Sayı üç
     yere ayrı ayrı yazılsaydı, çubuğun yüksekliği bir gün değiştiğinde
     ikisi düzelir biri unutulur ve unutulan SESSİZCE bozulurdu.
     (KnowledgeBase: ui/mobil-sabit-serit-tuzaklari)

     📌 `env(safe-area-inset-bottom)` yalnız `viewport-fit=cover` varken
     gerçek bir sayı döner; yoksa SESSİZCE sıfırdır. Ölçüldü (23.09):
     `web/*.html` içindeki her viewport etiketinde `viewport-fit=cover`
     var. Yeni bir sayfa eklenirken bu unutulursa pay sessizce küçülür. */
  --alt-menu-payi: env(safe-area-inset-bottom, 0px);

  /* Kartlar: taslakta köşeler belirgin yuvarlak. `--radius-lg` (14px)
     düğme ve kutucuklar için kalıyor; büyük kartın kendi değeri var. */
  --radius-xl: 20px;
}

/* Sistem koyu, kullanıcı açıkça açık seçmemişse */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --sight-red: #ff8a80;
    --wordmark-ink: #e2e8f0;

    --color-bg: #0E1218;
    --color-surface: #151A21;
    --color-surface-raised: #1B212A;
    --color-line: #252D37;
    --color-line-strong: #333D49;
    --color-text: #E6EBF1;
    --color-text-muted: #9AA5B2;

    --brand: #F0A340;
    --brand-ink: #F5BC71;
    --brand-soft: #2C2013;
    --brand-contrast: #161006;

    --state-ok: #5FC48E;        --state-ok-soft: #12251C;
    --state-pending: #DDB43C;   --state-pending-soft: #26210F;
    --state-info: #79ACE8;      --state-info-soft: #16232F;
    /* Kritik koyu temada `#F0837A` idi ve `--sight-red` (`#ff8a80`) ile
       neredeyse AYNI renkti: marka vurgusu ile «acil» gece ekranında
       ayırt edilemiyordu — oysa §30 sight-red'in hata rengi OLMADIĞINI
       söylüyor. Turuncu-kırmızıya çekildi (26.09.2026, Tayfun onayı,
       «Gece kabini» tuvali). Kontrast hesaplandı: yüzeyde 5.7, kendi
       yumuşak zemininde 5.4 (AA 4.5). */
    --state-critical: #FF5D3A;  --state-critical-soft: #331710;
    --state-unknown: #6E7A88;   --state-unknown-soft: #1B212A;

    --shadow-sm: 0 1px 2px rgba(0,0,0,.4);
    --shadow-md: 0 2px 4px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.7);
    --masthead-bg: #10151C;
    --masthead-text: #E6EBF1;
    --masthead-muted: #8E99A6;
    --masthead-tile: color-mix(in srgb, #ffffff 6%, var(--masthead-bg));
    --yan-menu-bg: var(--masthead-bg);
    --yan-menu-text: var(--masthead-text);
    --yan-menu-muted: var(--masthead-muted);
    --yan-menu-tile: var(--masthead-tile);
    --masthead-tile-critical: color-mix(in srgb, var(--state-critical) 22%, var(--masthead-bg));
    /* Koyu zeminde doygun pembe/mavi göz yorar; bir ton açılıyor. */
    --cinsiyet-kadin: #F07AB2;
    --cinsiyet-erkek: #6AA5FF;
    --takograf-surus: #3987e5;
    --takograf-calisma: #d95926;
    --takograf-hazir: #199e70;
    --takograf-mola: #2A323D;
  }
}

/* Kullanıcı açıkça koyu seçmişse — sistem ne derse desin */
:root[data-theme="dark"] {
  --sight-red: #ff8a80;
  --wordmark-ink: #e2e8f0;

  --color-bg: #0E1218;
  --color-surface: #151A21;
  --color-surface-raised: #1B212A;
  --color-line: #252D37;
  --color-line-strong: #333D49;
  --color-text: #E6EBF1;
  --color-text-muted: #9AA5B2;

  --brand: #F0A340;
  --brand-ink: #F5BC71;
  --brand-soft: #2C2013;
  --brand-contrast: #161006;

  --state-ok: #5FC48E;        --state-ok-soft: #12251C;
  --state-pending: #DDB43C;   --state-pending-soft: #26210F;
  --state-info: #79ACE8;      --state-info-soft: #16232F;
  --state-critical: #FF5D3A;  --state-critical-soft: #331710;
  --state-unknown: #6E7A88;   --state-unknown-soft: #1B212A;

  --shadow-sm: 0 1px 2px rgba(0,0,0,.4);
  --shadow-md: 0 2px 4px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.7);
  --masthead-bg: #10151C;
  --masthead-text: #E6EBF1;
  --masthead-muted: #8E99A6;
  --masthead-tile: color-mix(in srgb, #ffffff 6%, var(--masthead-bg));
  --yan-menu-bg: var(--masthead-bg);
  --yan-menu-text: var(--masthead-text);
  --yan-menu-muted: var(--masthead-muted);
  --yan-menu-tile: var(--masthead-tile);
  --masthead-tile-critical: color-mix(in srgb, var(--state-critical) 22%, var(--masthead-bg));
  /* Koyu zeminde doygun pembe/mavi göz yorar; bir ton açılıyor. */
  --cinsiyet-kadin: #F07AB2;
  --cinsiyet-erkek: #6AA5FF;
  --takograf-surus: #3987e5;
  --takograf-calisma: #d95926;
  --takograf-hazir: #199e70;
  --takograf-mola: #2A323D;
}

/* Tarayıcının KENDİ çizdiği parçalar (düğme yazısı, kaydırma çubuğu, form
   denetimleri) `color-scheme`e bakar, bizim belirteçlerimize değil. Tema
   elle seçildiğinde bu da söylenmezse, sistem koyuyken açık temada düğme
   yazıları BEYAZ kalır — ölçüldü (20.09.2026, muavin koltuk numaraları). */
:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"]  { color-scheme: dark; }
