    /* ============================================
   TEMA DEĞİŞKENLERİ (Mevcut)
   ============================================ */
    :root {
      --mod-color: #ff4fa0;
      --mod-rgb: 255, 79, 160;
      --tray-act: rgba(255, 255, 255, .08);
      --ai5: #ff4fa0;
    }

    [data-theme="corporate"] {
      --mod-color: #2563eb;
      --mod-rgb: 37, 99, 235;
      --ai5: #2563eb;
      --tray-act: rgba(0, 0, 0, .04);
    }

    html,
    body {
      height: auto !important;
      overflow: visible !important;
      overflow-x: hidden !important;
    }

    /* HERO */
    .sozluk-hero {
      padding: 2rem 4vw 1.5rem;
      border-bottom: 1px solid var(--border);
    }

    .sozluk-hero-label {
      font: 700 .7rem/1 'JetBrains Mono', monospace;
      letter-spacing: .12em;
      color: var(--mod-color, var(--c1));
      margin-bottom: .75rem;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .sozluk-hero-label::before {
      content: '';
      display: inline-block;
      width: 24px;
      height: 2px;
      background: var(--mod-color, var(--c1));
    }

    .sozluk-hero h1 {
      font: 800 2rem/1.15 'Montserrat', sans-serif;
      color: var(--text1);
      margin-bottom: .5rem;
    }

    .sozluk-hero h1 span {
      background: linear-gradient(110deg, var(--mod-color, var(--c1)), var(--ai5));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    .sozluk-stats {
      display: flex;
      gap: 16px;
      margin-top: 1rem;
      flex-wrap: wrap;
    }

    .stat-card {
      background: var(--bg2);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: .6rem 1.2rem;
      display: flex;
      align-items: baseline;
      gap: 8px;
    }

    .stat-number {
      font: 800 1.4rem/1 'Montserrat', sans-serif;
      color: var(--mod-color, var(--c1));
    }

    .stat-label {
      font: 400 .75rem/1 'Inter', sans-serif;
      color: var(--text3);
    }

    /* ARAMA VE FİLTRE */
    .sozluk-filters {
      padding: 1rem 4vw;
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
      align-items: center;
      justify-content: space-between;
      background: var(--bg2);
      border-bottom: 1px solid var(--border);
      position: sticky;
      top: 60px;
      z-index: 90;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }

    .search-box {
      flex: 1;
      min-width: 200px;
      position: relative;
    }

    .search-box input {
      width: 100%;
      padding: .7rem 1rem .7rem 2.5rem;
      background: var(--card);
      border: 1px solid var(--border2);
      border-radius: 10px;
      color: var(--text1);
      font-size: .85rem;
      transition: all .2s;
    }

    .search-box input:focus {
      outline: none;
      border-color: var(--mod-color, var(--c1));
    }

    .search-box i {
      position: absolute;
      left: 1rem;
      top: 50%;
      transform: translateY(-50%);
      color: var(--text3);
      font-size: .8rem;
    }

    .modul-filters {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
    }

    .filter-btn {
      padding: .4rem .9rem;
      border-radius: 20px;
      font: 600 .7rem/1 'JetBrains Mono', monospace;
      background: var(--card);
      border: 1px solid var(--border2);
      color: var(--text2);
      cursor: pointer;
      transition: all .2s;
    }

    .filter-btn:hover,
    .filter-btn.active {
      background: rgba(var(--mod-rgb, 255, 79, 160), .12);
      border-color: var(--mod-color, var(--c1));
      color: var(--mod-color, var(--c1));
    }

    .filter-btn.reset {
      background: transparent;
      border-color: var(--border);
    }

    .filter-btn.reset:hover {
      border-color: var(--c3);
      color: var(--c3);
    }

    .result-info {
      font: 500 .7rem/1 'JetBrains Mono', monospace;
      color: var(--text3);
      white-space: nowrap;
    }

    /* SÖZLÜK GRİDİ */
    .sozluk-body {
      padding: 2rem 4vw 4rem;
    }

    .term-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
      gap: 1rem;
    }

    .term-card {
      background: var(--bg2);
      border: 1px solid var(--border);
      border-radius: 12px;
      overflow: hidden;
      transition: all .2s;
      position: relative;
    }

    .term-card:hover {
      border-color: var(--mod-color, var(--c1));
      transform: translateY(-2px);
    }

    .term-header {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 1rem 1.2rem .5rem;
      border-bottom: 1px solid var(--border);
    }

    .term-letter {
      width: 32px;
      height: 32px;
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      font: 800 1rem/1 'Montserrat', sans-serif;
      background: rgba(var(--mod-rgb, 255, 79, 160), .12);
      color: var(--mod-color, var(--c1));
    }

    .term-name {
      font: 600 .95rem/1.3 'Inter', sans-serif;
      color: var(--text1);
      flex: 1;
    }

    .term-mod-badge {
      font: 600 .55rem/1 'JetBrains Mono', monospace;
      padding: .2rem .5rem;
      border-radius: 5px;
      background: rgba(var(--mod-rgb, 255, 79, 160), .1);
      color: var(--mod-color, var(--c1));
      white-space: nowrap;
    }

    .term-body {
      padding: .8rem 1.2rem 1rem;
    }

    .term-def {
      font: 400 .82rem/1.55 'Inter', sans-serif;
      color: var(--text2);
      margin-bottom: .6rem;
    }

    .term-meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: .5rem;
      padding-top: .5rem;
      border-top: 1px dashed var(--border);
    }

    .term-modul {
      font: 500 .6rem/1 'JetBrains Mono', monospace;
      color: var(--text3);
      display: flex;
      align-items: center;
      gap: 4px;
    }

    .term-modul i {
      font-size: .55rem;
    }

    .term-tags {
      display: flex;
      gap: 4px;
      flex-wrap: wrap;
    }

    .term-tag {
      font: 500 .55rem/1 'JetBrains Mono', monospace;
      padding: .15rem .4rem;
      border-radius: 4px;
      background: var(--card);
      color: var(--text3);
    }

    /* BOŞ DURUM */
    .empty-state {
      text-align: center;
      padding: 3rem;
      background: var(--bg2);
      border: 1px solid var(--border);
      border-radius: 16px;
    }

    .empty-state i {
      font-size: 2.5rem;
      color: var(--text3);
      margin-bottom: 1rem;
      display: block;
    }

    .empty-state p {
      color: var(--text2);
    }

    /* ALFABETİK NAVIGASYON */
    .alpha-nav {
      padding: 0 4vw .5rem;
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      justify-content: center;
      border-bottom: 1px solid var(--border);
    }

    .alpha-nav-btn {
      width: 36px;
      height: 36px;
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      font: 600 .7rem/1 'JetBrains Mono', monospace;
      background: var(--card);
      border: 1px solid var(--border2);
      color: var(--text2);
      cursor: pointer;
      transition: all .2s;
    }

    .alpha-nav-btn:hover,
    .alpha-nav-btn.active {
      background: var(--mod-color, var(--c1));
      border-color: var(--mod-color, var(--c1));
      color: #fff;
    }

    .alpha-nav-btn.disabled {
      opacity: .3;
      cursor: not-allowed;
    }

    .tray {
      position: absolute;
      bottom: calc(100% + 12px);
      right: 0;
      width: 220px;
      background: var(--bg2);
      border: 1px solid var(--border2);
      border-radius: 14px;
      padding: 12px;
      display: none;
      flex-direction: column;
      gap: 6px;
    }

    .tray.open {
      display: flex;
    }

    .tray-label {
      font: 700 .6rem/1 'JetBrains Mono', monospace;
      letter-spacing: .12em;
      color: var(--text3);
      padding: 2px 4px 8px;
    }

    @media (max-width: 767px) {

      .sozluk-hero,
      .sozluk-filters,
      .sozluk-body,
      .alpha-nav {
        padding-left: 1rem;
        padding-right: 1rem;
      }

      .term-grid {
        grid-template-columns: 1fr;
      }

      .sozluk-filters {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        position: relative;
        top: 0;
      }

      .result-info {
        text-align: center;
      }
    }

/* YZ-03: yayımlanmamış modül rozeti. Sözlük sekiz modülün terimlerini
   birden gösterir; bu rozet hangi modülün henüz yayında olmadığını
   belirtir. Terim yine okunabilir, yalnız durumu işaretlenir.
   Renkler tema değişkenlerinden gelir (CLAUDE.md §7). */
.term-yakinda-rozet {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: clamp(2px, .3vw, 4px) clamp(7px, .9vw, 10px);
  border: 1px solid rgba(var(--primary-rgb), .32);
  border-radius: 999px;
  background: rgba(var(--primary-rgb), .1);
  /* Renk doğrudan tema tokenından gelir. 14-15 Eylül 2026 gerçek
     tarayıcı ölçümü (Chrome 153, localStorage ile yüklenmiş):
     kontrast siber 13.21 / corporate 4.24. Corporate WCAG AA eşiğinin (4.5) 0.26 altında
     kalıyor; aynı karttaki mevcut çipler .term-mod-badge (2.51) ve
     .term-tag (3.47) çok daha düşük olduğu için rozet bileşen
     bağlamında en okunur öğedir. color-mix ile koyulaştırma denendi
     ve GERİ ALINDI: koyu temalarda kontrastı 1.1'e düşürüyordu (siyahla
     karıştırılmıştı). 10 Ekim 2026: tema yazı rengiyle (--text1)
     karıştırılır — açıkta koyulaşır, koyuda açılır; iki temada da AA. */
  color: color-mix(in srgb, var(--primary) 72%, var(--text1));
  font-size: clamp(.58rem, .68vw, .66rem);
  font-weight: 800;
  letter-spacing: .03em;
  white-space: nowrap;
}

.term-card.term-yakinda { border-style: dashed; }

.filter-btn.filter-yakinda::after {
  content: "·";
  margin-left: 6px;
  color: var(--primary);
  font-weight: 900;
}

/* Kartın modül kimlik rengi (--mod-color, JS kart başına yazar) rozet
   oranıyla metin rengine karıştırılır: açık temada oran %100 (renk aynen),
   koyu temada %65 (koyu zeminde okunur kalsın diye açılır). Kural önceden
   yalnız açık temaya kapsanmıştı (25 Eylül 2026). */
.term-card .term-letter,
.term-card .term-mod-badge,
.term-card .term-konu-link {
  color: color-mix(in srgb, var(--mod-color, var(--c1)) var(--rozet-yazi-orani, 100%), var(--text1));
}

/* Koyu tema okunurluğu (25 Eylül 2026): modül rengindeki küçük yazılar rozet
   oranıyla açılır (açık temada oran %100 → renk aynen); etkin harf düğmesinin
   beyaz yazısı için koyu temada zemin %70 koyulaştırılır (pembe/indigo düz
   zeminde beyaz yazı 3.05'e düşüyordu). */
.sozluk-hero-label,
.stat-number,
.filter-btn.active {
  color: color-mix(in srgb, var(--mod-color, var(--c1)) var(--rozet-yazi-orani, 100%), var(--text1));
}
[data-theme="siber"] .alpha-nav-btn.active,
[data-theme=""] .alpha-nav-btn.active {
  background: color-mix(in srgb, var(--mod-color, var(--c1)) 70%, black);
  border-color: color-mix(in srgb, var(--mod-color, var(--c1)) 70%, black);
}
