/* ==========================================================================
   GeoEconoViz — tasarım belirteçleri
   Yön: basılı istatistik atlası. Soğuk harita kağıdı, matbaa mürekkebi,
   ince çizgiler. Küre sayfanın ortasında koyu bir baskı plakası gibi oturur.

   Cam, bulanıklık ve neon geçiş yok: metin her zaman düz ve sabit bir zemin
   üzerinde durur, arkasında dönen bir küre olmaz.
   ========================================================================== */

:root {
  /* ---- Kağıt ---- */
  --paper:     #eff1ec;   /* sayfa zemini — soğuk, hafif yeşile çalan */
  --paper-2:   #e7eae2;   /* girintili alan, kanal */
  --card:      #ffffff;   /* panel */
  --card-2:    #f7f8f4;   /* panel içi ikinci kat */
  --rule:      #c8cec2;   /* 1px çizgi */
  --rule-soft: #dde1d8;

  /* ---- Mürekkep ----
     Üç kademe yeterli ve üçü de hem kart hem kağıt üzerinde AA geçiyor.
     (16,4 / 9,8 / 6,6 beyaz üzerinde) */
  --ink-1: #1b2119;   /* birincil metin */
  --ink-2: #3d463c;   /* başlıklar, güçlü ikincil */
  --ink-3: #566055;   /* sönük metin, etiket, eksen */

  /* ---- Plaka: kürenin oturduğu koyu baskı penceresi ---- */
  --plate:      #101410;
  --plate-edge: #39413a;
  --on-plate:   #eff1ec;   /* plaka üzerindeki metin */
  --on-plate-2: #9aa396;

  /* ---- Veri rengi. Aktif göstergeye göre çalışma anında değişir. ----
     Matbaa mantığı: açık = düşük, koyu = yüksek. */
  --data-1: #e8ede4;
  --data-2: #b0c6b2;
  --data-3: #7fa98f;
  --data-4: #2f5d50;
  --data-5: #14332c;
  --data-key: #2f5d50;               /* rampanın okunaklı koyu tonu */
  --data-key-soft: rgba(47, 93, 80, .12);
  --data-key-line: rgba(47, 93, 80, .45);

  --no-data: #b9beb3;                /* veri yok dolgusu */

  /* ---- Karşılaştırma mürekkebi ----
     İkinci ülke, haritacının ikinci kalemiyle çizilir. Üç veri rampasının
     (yeşil, kızıl, mor) hiçbirine karışmayan koyu bir mavi seçildi; beyaz
     üzerinde 8,9:1 kontrast veriyor. */
  --compare:      #2f4b74;
  --compare-soft: rgba(47, 75, 116, .10);
  --compare-line: rgba(47, 75, 116, .42);

  /* ---- Tipografi: sözcükler ile ölçümler ayrı seslerle konuşur. ---- */
  --face-word: 'Archivo', 'Segoe UI', system-ui, sans-serif;
  --face-num: 'IBM Plex Mono', ui-monospace, 'Cascadia Mono', monospace;

  --step--2: .75rem;
  --step--1: .8125rem;
  --step-0:  .875rem;
  --step-1:  1rem;
  --step-2:  1.25rem;
  --step-3:  1.625rem;
  --step-4:  2.25rem;

  /* Etiketler artık büyük harf + geniş aralık değil: o birleşim bu boyutta
     okumayı zorlaştırıyordu. Küçük harf, hafif aralık, koyu mürekkep. */
  --track-label: .01em;
  --track-word: -.015em;

  /* ---- Boşluk: 4px tabanlı ---- */
  --s1: 4px;  --s2: 8px;  --s3: 12px; --s4: 16px;
  --s5: 20px; --s6: 24px; --s7: 32px; --s8: 40px; --s9: 56px;

  --r-sm: 4px; --r-md: 7px; --r-lg: 10px; --r-xl: 14px; --r-pill: 999px;

  /* ---- Yükselti: kağıt üzerinde kağıt. Gölgeler çok hafif. ---- */
  --lift-1: 0 1px 1px rgba(27, 33, 25, .05);
  --lift-2: 0 1px 2px rgba(27, 33, 25, .06), 0 4px 12px -6px rgba(27, 33, 25, .12);
  --lift-3: 0 2px 4px rgba(27, 33, 25, .07), 0 18px 42px -14px rgba(27, 33, 25, .26);

  /* ---- Hareket ----
     Yaylar Motion'ın linear() üretecinden. Belirtilen süre algısal süredir;
     kardeş animasyonları yay süresine değil algısal süreye göre zamanla. */
  --spring-soft: 750ms linear(0, .0558, .1873, .3513, .5183, .6698, .7963, .8944, .9652, 1.0119, 1.0392, 1.0518, 1.0541, 1.05, 1.0423, 1.0332, 1.0243, 1.0163, 1.0098, 1.0048, 1.0012, .999, .9977, 1, 1);
  --spring-snap: 500ms linear(0, .1462, .4021, .6298, .7927, .8951, .9532, .9831, .9967, 1.0018, 1, 1.0026, 1.0019, 1.0012, 1.0007, 1, 1);
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);
  --t-fast: 140ms;
  --t-base: 240ms;
  --t-slow: 420ms;
  --t-tint: 620ms;      /* gösterge değişiminde renk geçişi */

  --rail-w: 274px;
  --rank-w: 376px;
  --topbar-h: 56px;
}

/* Hareket azaltma tercihi: her şey anında, ama hiçbir şey kaybolmaz. */
@media (prefers-reduced-motion: reduce) {
  :root {
    --spring-soft: 1ms linear;
    --spring-snap: 1ms linear;
    --t-fast: 1ms; --t-base: 1ms; --t-slow: 1ms; --t-tint: 1ms;
  }
  *, *::before, *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
    scroll-behavior: auto !important;
  }
}
