/* ============================================================================
   PredictorV8 — kanonik tasarım token'ları. TEK kaynak (docs/plans/UIUX_RAPOR_PLAN-2026-09-10.md §0.2, §7 F3; op 10-Eyl 14:30 karar 2/3/6).
   Tema: [data-theme="dark"|"light"] — theme-init.js çerezden (kokpit_theme) atar; :root varsayılanı koyu.
   YÖN ÇİFTİ (op karar 3, uygulama geneli): --bull = fiyat yukarı / uzun kazanır = TEK YEŞİL · --bear = fiyat aşağı = TEK KIRMIZI ·
   --accent = TEK AMBER (etkileşim + güncel fiyat). Likidasyon haritası da aynı anlamda: kısa tasfiye (fiyat yükselirken) yeşil, uzun tasfiye kırmızı.
   DURUM (--success/--warn/--danger/--info): AYRI token, ayrı anlam (canlı/bayat/hata/bilgi); değerleri yön çiftiyle AYNI tutulur ki ekranda
   tek yeşil / tek kırmızı / tek amber olsun. *-rgb üçlüleri tuval (canvas) ve rgba(<token>-rgb, a) yazımı için; *-on = o renk zemin olduğunda üstündeki metin.
   e11 adları (--text/--text-dim/--text-faint/--surface) alias (rapor §8-2 karar (a)); E11'in ikinci paleti pano_e11.css'ten kaldırıldı (10-Eyl F3).
   Açık tema değerleri 10-Eyl F3'te kontrast için koyulaştırıldı (metin token × yüzey, iki tema, hepsi ≥ 4,5:1 — ölçüm F3 raporunda):
   success/bull #059669→#047857 · danger/bear #dc2626→#b91c1c · accent/warn #d97706→#b45309 · neutral = fg-faint · purple temaya göre.
   ========================================================================== */

/* ---- Yazı tipleri: kendi sunumumuz (op 10-Eyl 14:30 karar 2; F1 doğrulayıcı bulgu 1). Dosyalar web/static/fonts/ (Google Fonts CSS2 API
   Chrome UA alt kümeleri, ölçülen unicode-range aynen): Inter v20 DEĞİŞKEN (wght@100 ve @900 aynı dosya → 100 900) latin + latin-ext;
   IBM Plex Mono v20 400/500 latin + latin-ext. Türkçe: ı latin'de, ğ ş İ Ğ Ş latin-ext'te. Lisans OFL 1.1: LICENSE-Inter-OFL.txt,
   LICENSE-IBMPlex-OFL.txt. CSP: default-src 'self' yazı tipini kapsar (web/app.py:67; font-src ayrı yazılmadı). Dış bağlantı YOK. ---- */
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/IBMPlexMono-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/IBMPlexMono-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/IBMPlexMono-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/IBMPlexMono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/fonts/Inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/fonts/Inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root {
  /* ---- TEMADAN BAĞIMSIZ: yazı tipi, tip ölçeği, boşluk, yarıçap, satır yüksekliği, hareket ---- */
  --font-sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,'SF Mono','JetBrains Mono','Cascadia Code',monospace;
  /* tip ölçeği 4 basamak (op karar 6: en küçük 12 px) + sayfada tek kahraman sayı */
  --fs-label:.75rem;    /* 12 px — etiket, tablo başlığı (büyük harf yalnız burada) */
  --fs-body:.875rem;    /* 14 px — gövde */
  --fs-h:1rem;          /* 16 px — başlık */
  --fs-metric:1.5rem;   /* 24 px — KPI sayısı */
  --fs-hero:1.9rem;     /* 30 px — sayfada tek kahraman sayı */
  --fs-h2:var(--fs-h);
  --fs-h1:1.25rem; --fs-sm:.8125rem;   /* GEÇİŞ adları: kabuk sayfa başlığı (.h1, 2 kullanım) ve .sm (23 kullanım); F4 sayfa geçişlerinde 4 basamağa indirilir */
  --nav-w:256px; --nav-w-collapsed:64px; --topbar-h:52px;
  /* boşluk 4 kademe */
  --sp-1:4px; --sp-2:8px; --sp-3:16px; --sp-4:24px;
  --gutter:var(--sp-4); --card-pad:1.15rem 1.2rem;
  /* yarıçap 3 kademe: kart · kontrol · rozet/çip */
  --radius:12px; --radius-sm:8px; --radius-pill:999px;
  --row-h-condensed:40px; --row-h-regular:48px; --row-h-relaxed:56px;
  --row-h:var(--row-h-regular);            /* yoğunluk anahtarı bunu yeniden bağlar */
  --tab-dur:.15s; --motion:200ms;
}
@media (prefers-reduced-motion:reduce){ :root{ --motion:0ms; --tab-dur:0s; } }

/* ---------- KOYU (varsayılan) ---------- */
:root, [data-theme="dark"] {
  color-scheme: dark;
  --bg:#0a0e14;
  --surface-1:#11161e; --surface-2:#161c26; --surface-3:#1d2531; --surface-4:#222b38;
  --hover:rgba(232,230,227,.04); --row-hover:rgba(232,230,227,.025);
  --fg:#e8edf3; --fg-dim:#9aa4b2; --fg-faint:#8994a3;   /* 10-Eyl F1: faint 5b6675→8994a3, koyu temanın en açık yüzeyi surface-4 4,64:1 · surface-2 5,56:1 · bg 6,29:1 */
  /* yön çifti + amber (tek) */
  --bull:#34d399;   --bull-rgb:52,211,153;   --bull-soft:rgba(52,211,153,.14);   --bull-on:#0a0e14;
  --bear:#f87171;   --bear-rgb:248,113,113;  --bear-soft:rgba(248,113,113,.14);  --bear-on:#0a0e14;
  --accent:#fbbf24; --accent-rgb:251,191,36; --accent-soft:rgba(251,191,36,.12); --accent-on:#1a1206; --accent-2:#f59e0b;
  /* durum: değer yön çiftiyle aynı, anlam ayrı */
  --success:#34d399; --success-rgb:52,211,153;  --success-soft:rgba(52,211,153,.14);
  --danger:#f87171;  --danger-rgb:248,113,113;  --danger-soft:rgba(248,113,113,.14);
  --warn:#fbbf24;    --warn-rgb:251,191,36;     --warn-soft:rgba(251,191,36,.14);
  --info:#60a5fa;    --info-rgb:96,165,250;     --info-soft:rgba(96,165,250,.14);
  --neutral:#8994a3; --neutral-soft:rgba(91,102,117,.16);   /* neutral = fg-faint (metin olarak 4,64+); soft eski değer (.isik tabanı, F1 bulgu 3 op'ta) */
  --purple:#a78bfa;
  --border:rgba(232,230,227,.08); --border-2:rgba(232,230,227,.14); --focus:rgba(251,191,36,.55);
  --shadow-1:0 6px 24px rgba(0,0,0,.35); --shadow-2:0 16px 50px rgba(0,0,0,.5);
}

/* ---------- AÇIK ---------- */
[data-theme="light"] {
  color-scheme: light;
  --bg:#f6f7f9;
  --surface-1:#ffffff; --surface-2:#ffffff; --surface-3:#f1f3f5; --surface-4:#ffffff;
  --hover:rgba(15,20,25,.04); --row-hover:rgba(15,20,25,.025);
  --fg:#0f1419; --fg-dim:#55606e; --fg-faint:#636e7e;   /* 10-Eyl F1: faint 8a94a3→636e7e, bg 4,82:1 · beyaz 5,17:1 · surface-3 4,65:1 */
  --bull:#047857;   --bull-rgb:4,120,87;     --bull-soft:rgba(4,120,87,.10);     --bull-on:#ffffff;
  --bear:#b91c1c;   --bear-rgb:185,28,28;    --bear-soft:rgba(185,28,28,.10);    --bear-on:#ffffff;
  --accent:#b45309; --accent-rgb:180,83,9;   --accent-soft:rgba(180,83,9,.12);   --accent-on:#ffffff; --accent-2:#92400e;
  --success:#047857; --success-rgb:4,120,87;   --success-soft:rgba(4,120,87,.10);
  --danger:#b91c1c;  --danger-rgb:185,28,28;   --danger-soft:rgba(185,28,28,.10);
  --warn:#b45309;    --warn-rgb:180,83,9;      --warn-soft:rgba(180,83,9,.10);
  --info:#2563eb;    --info-rgb:37,99,235;     --info-soft:rgba(37,99,235,.10);
  --neutral:#636e7e; --neutral-soft:rgba(138,148,163,.12);
  --purple:#6d28d9;
  --border:rgba(15,20,25,.10); --border-2:rgba(15,20,25,.16); --focus:rgba(180,83,9,.5);
  --shadow-1:0 4px 16px rgba(15,20,25,.08); --shadow-2:0 12px 40px rgba(15,20,25,.14);
}

/* ---------- GERİYE DÖNÜK ADLAR (eski sayfalar; sayfa geçişi bitince silinir) ---------- */
:root, [data-theme="dark"], [data-theme="light"] {
  --bg-1:var(--surface-1); --bg-2:var(--surface-3); --bg-3:var(--surface-4);
  --bg-card:var(--surface-2);
  --green:var(--success); --red:var(--danger); --blue:var(--info);
  --pink:#f472b6;
  --border-color:var(--border);
  --shadow:var(--shadow-1); --mono:var(--font-mono); --sans:var(--font-sans); --r:var(--radius); --accent-hover:var(--accent-2);
  /* e11 adları (10-Eyl F3, rapor §8-2 karar (a)) */
  --text:var(--fg); --text-dim:var(--fg-dim); --text-faint:var(--fg-faint); --surface:var(--surface-1);
  --success-on:var(--bull-on); --danger-on:var(--bear-on); --warn-on:var(--accent-on);
}

/* ---------- paylaşılan sayı/yardımcı ilkeller ---------- */
.num,.mono,td.num,th.num{ font-family:var(--font-mono); font-variant-numeric:tabular-nums; }
*:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; border-radius:2px; }
