:root {
  --cmc-bp-sm: 576px;
  --cmc-bp-md: 768px;
  --cmc-bp-lg: 992px;
  --cmc-bp-xl: 1200px;
  --cmc-bp-2xl: 1600px;

  --cmc-yogunluk: 1;
  --cmc-dokunma-min: 44px;
  --cmc-icerik-max: 1400px;

  --cmc-space-1: calc(4px * var(--cmc-yogunluk));
  --cmc-space-2: calc(8px * var(--cmc-yogunluk));
  --cmc-space-3: calc(12px * var(--cmc-yogunluk));
  --cmc-space-4: calc(16px * var(--cmc-yogunluk));
  --cmc-space-5: calc(20px * var(--cmc-yogunluk));
  --cmc-space-6: calc(24px * var(--cmc-yogunluk));
  --cmc-space-8: calc(32px * var(--cmc-yogunluk));

  --cmc-radius-sm: 8px;
  --cmc-radius-md: 12px;
  --cmc-radius-lg: 16px;
  --cmc-radius-xl: 24px;
  --cmc-radius-pill: 999px;
  --cmc-bulaniklik: 10px;

  /**
   * Hareket iki sınıftır:
   *
   *  - Üretken (varsayılan): hover, odak, renk, küçük boyut. Hızlı başlar,
   *    yumuşak durur. Yaylanma yoktur — günde yüzlerce kez görülen bir
   *    etkileşimin zıplaması yorar.
   *  - Anlatımlı (`--cmc-gecis-yayli`): katman açılışı, başarı geri bildirimi
   *    gibi dikkat çekmesi *istenen* anlar. Bilinçli seçilir.
   */
  --cmc-egri-uretken: cubic-bezier(0.2, 0, 0, 1);
  --cmc-egri-cikis: cubic-bezier(0.4, 0, 1, 1);
  --cmc-egri-yayli: cubic-bezier(0.34, 1.32, 0.5, 1);

  --cmc-gecis-hizli: 0.12s var(--cmc-egri-uretken);
  --cmc-gecis: 0.2s var(--cmc-egri-uretken);
  --cmc-gecis-yavas: 0.32s var(--cmc-egri-uretken);
  --cmc-gecis-cikis: 0.15s var(--cmc-egri-cikis);
  --cmc-gecis-yayli: 0.28s var(--cmc-egri-yayli);

  /**
   * Yükseklik. Gölge "ne kadar yukarıda" sorusunu yanıtlar; süs değildir.
   *   0 düz · 1 kart · 2 açılır menü · 3 katman · 4 sürüklenen öğe
   * Renkli değerler tema dosyasından gelir (`--cmc-golge-sm/md`).
   */
  --cmc-yukseklik-0: none;
  --cmc-yukseklik-1: var(--cmc-golge-sm);
  --cmc-yukseklik-2: var(--cmc-golge-md);
  --cmc-yukseklik-3:
    0 8px 24px color-mix(in srgb, var(--cmc-metin) 12%, transparent),
    0 2px 6px color-mix(in srgb, var(--cmc-metin) 8%, transparent);
  --cmc-yukseklik-4:
    0 16px 40px color-mix(in srgb, var(--cmc-metin) 18%, transparent),
    0 4px 10px color-mix(in srgb, var(--cmc-metin) 10%, transparent);

  /* Aksan gradyanı + odak parıltısı (accent / accent-2 temadan gelir, lazy resolve) */
  --cmc-accent-gradyan: linear-gradient(135deg, var(--cmc-accent) 0%, var(--cmc-accent-2, var(--cmc-accent)) 100%);
  --cmc-odak-glow:
    0 0 0 4px color-mix(in srgb, var(--cmc-accent) 22%, transparent),
    0 6px 18px color-mix(in srgb, var(--cmc-accent) 22%, transparent);
  --cmc-control-yukseklik: calc(var(--cmc-dokunma-min) * 0.6);
  --cmc-secim-yukseklik: var(--cmc-control-yukseklik);
  --cmc-kontrol-kenar: 1.5px;
  --cmc-kontrol-yari-cap: var(--cmc-radius-md);
  --cmc-kontrol-padding-x: var(--cmc-space-4);
  --cmc-kontrol-ok-alan: calc(var(--cmc-kontrol-padding-x) + 0.9em);
  --cmc-kontrol-zemin: var(--cmc-yuzey-ust);
  --cmc-kontrol-satir: 1.45;

  --cmc-font-xs: clamp(11px, 0.25vw + 10px, 13px);
  --cmc-font-sm: clamp(12px, 0.3vw + 11px, 14px);
  --cmc-font-base: clamp(14px, 0.4vw + 12px, 18px);
  --cmc-font-lg: clamp(16px, 0.5vw + 14px, 22px);
  --cmc-font-xl: clamp(20px, 0.8vw + 16px, 28px);

  --cmc-font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  --cmc-font-insan: Calibri, Candara, "Segoe UI", "Lucida Sans Unicode", "Lucida Grande", sans-serif;
  --cmc-font-geometrik: "Century Gothic", Futura, Avenir, "Avenir Next", "Trebuchet MS", sans-serif;
  --cmc-font-genis: Verdana, Tahoma, Geneva, "DejaVu Sans", sans-serif;
  --cmc-font-dar: "Segoe UI Narrow", "Arial Narrow", "Helvetica Condensed", sans-serif;
  --cmc-font-klasik: Georgia, "Times New Roman", "Liberation Serif", serif;
  --cmc-font-kitap: "Palatino Linotype", Palatino, "Book Antiqua", "URW Palladio L", serif;
  --cmc-font-modern: Cambria, Constantia, "Times New Roman", "Liberation Serif", serif;
  --cmc-font-yazili: "Segoe Print", "Bradley Hand ITC", "Lucida Handwriting", "Comic Sans MS", cursive;
  --cmc-font-kod: ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace;
  --cmc-font-cjk: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Hiragino Sans GB", sans-serif;
  --cmc-font-devanagari: "Noto Sans Devanagari", "Nirmala UI", "Mangal", sans-serif;
  --cmc-font-arabic: "Noto Sans Arabic", "Segoe UI", "Tahoma", sans-serif;
  --cmc-line-height-cjk: 1.65;
  --cmc-line-height-devanagari: 1.55;
  --cmc-line-height-arabic: 1.6;

  /* Yazı tercihi (Araçlar › Yazı) — ölçek × aile × ağırlık */
  --cmc-yazi-genel-olcek: 1;
  --cmc-yazi-genel-aile: var(--cmc-font-sans);
  --cmc-yazi-genel-agirlik: 400;
  --cmc-yazi-genel-satir: 1.45;
  --cmc-yazi-genel-harf: 0;
  --cmc-yazi-baslik-olcek: 1;
  --cmc-yazi-baslik-aile: var(--cmc-yazi-genel-aile);
  --cmc-yazi-baslik-agirlik: 600;
  --cmc-yazi-baslik-satir: 1.25;
  --cmc-yazi-baslik-harf: -0.02em;
  --cmc-yazi-govde-olcek: 1;
  --cmc-yazi-govde-aile: var(--cmc-yazi-genel-aile);
  --cmc-yazi-govde-agirlik: var(--cmc-yazi-genel-agirlik);
  --cmc-yazi-govde-satir: var(--cmc-yazi-genel-satir);
  --cmc-yazi-govde-harf: var(--cmc-yazi-genel-harf);
  --cmc-yazi-etiket-olcek: 1;
  --cmc-yazi-etiket-aile: var(--cmc-yazi-genel-aile);
  --cmc-yazi-etiket-agirlik: 500;
  --cmc-yazi-etiket-satir: var(--cmc-yazi-genel-satir);
  --cmc-yazi-etiket-harf: var(--cmc-yazi-genel-harf);
  --cmc-yazi-girdi-olcek: 1;
  --cmc-yazi-girdi-aile: var(--cmc-yazi-genel-aile);
  --cmc-yazi-girdi-agirlik: var(--cmc-yazi-genel-agirlik);
  --cmc-yazi-girdi-satir: var(--cmc-yazi-genel-satir);
  --cmc-yazi-girdi-harf: var(--cmc-yazi-genel-harf);
  --cmc-kontrol-yazi: calc(var(--cmc-font-base) * var(--cmc-yazi-genel-olcek) * var(--cmc-yazi-girdi-olcek));

  --cmc-z-shell: 10;
  --cmc-z-menu: 150;
  --cmc-z-katman: 300;
  --cmc-z-perde: 500;
  --cmc-z-kilit: 600;

  --cmc-shell-ust-boyut: 44px;
  --cmc-kabuk-ust-yukseklik: 44px;
  --cmc-kabuk-tetik-boyut: 20px;
  --cmc-shell-alt-boyut: 44px;
  --cmc-kabuk-footer-yukseklik: 36px;
  --cmc-menu-acik-genislik: clamp(200px, 18vw, 280px);
  --cmc-menu-ikon-genislik: 78px;
  --cmc-menu-yatay-acik: 52px;
  --cmc-menu-yatay-ikon: 66px;
  --cmc-sayfa-padding: var(--cmc-space-4);

  --cmc-kaydirma-genislik: 6px;
  --cmc-kaydirma-bas: color-mix(in srgb, var(--cmc-metin-zayif) 28%, transparent);
  --cmc-kaydirma-bas-hover: color-mix(in srgb, var(--cmc-metin-zayif) 48%, transparent);
  --cmc-kaydirma-bas-aktif: color-mix(in srgb, var(--cmc-accent) 55%, var(--cmc-metin-zayif));
  --cmc-kaydirma-iz: transparent;
  --cmc-kaydirma-kenar: 999px;
  --cmc-kaydirma-cerceve: 2px;

  /* Liste satır yoğunluğu — yerlesim × yogunluk */
  --cmc-liste-yerlesim-olcek: 1;
  --cmc-liste-yogunluk-olcek: 1;
  --cmc-liste-satir-olcek: calc(var(--cmc-liste-yerlesim-olcek) * var(--cmc-liste-yogunluk-olcek));
  --cmc-liste-satir-min: calc(2.25rem * var(--cmc-liste-satir-olcek));
  --cmc-liste-satir-pad-y: calc(0.28rem * var(--cmc-liste-satir-olcek));
  --cmc-liste-satir-pad-x: var(--cmc-space-3);
  --cmc-liste-govde-gap: calc(0.28rem * var(--cmc-liste-satir-olcek));
  --cmc-liste-baslik-pad-y: calc(0.28rem * var(--cmc-liste-satir-olcek));
}

[data-cmc-yogunluk="kompakt"] {
  --cmc-yogunluk: 0.9;
  --cmc-liste-yogunluk-olcek: 0.86;
}
[data-cmc-yogunluk="genis"] {
  --cmc-yogunluk: 1.15;
  --cmc-dokunma-min: 48px;
  --cmc-liste-yogunluk-olcek: 1.18;
}

[data-cmc-yerlesim="minimal"] { --cmc-liste-yerlesim-olcek: 0.84; }
[data-cmc-yerlesim="odak"] { --cmc-liste-yerlesim-olcek: 1.06; }
[data-cmc-yerlesim="genis"] { --cmc-liste-yerlesim-olcek: 1.12; }

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

html[lang="zh"].cmc-reset-box,
html[lang="zh"].cmc-reset-box body {
  font-family: var(--cmc-font-cjk), var(--cmc-font-sans);
  line-height: var(--cmc-line-height-cjk);
}

html[lang="hi"].cmc-reset-box,
html[lang="hi"].cmc-reset-box body {
  font-family: var(--cmc-font-devanagari), var(--cmc-font-sans);
  line-height: var(--cmc-line-height-devanagari);
}

html[lang="ar"].cmc-reset-box,
html[lang="ar"].cmc-reset-box body {
  font-family: var(--cmc-font-arabic), var(--cmc-font-sans);
  line-height: var(--cmc-line-height-arabic);
}
