    /* rota-core.css body::before/after z-index düzeltmesi */
    body::before { z-index: 1 !important; }
    body::after  { z-index: 0 !important; }

    /* ============================================
   TEMA DEĞİŞKENLERİ (Mevcut)
   ============================================ */

    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, var(--c2)));
      -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);
    }

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

    .search-box input {
      width: 100%;
      padding: .7rem 1rem .7rem 2.5rem;
      background: var(--bg3);
      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(--bg3);
      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(--bg3);
      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(--bg3);
      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;
    }

    /* TEMA FAB */
    .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: 768px) {

      .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;
      }
    }

/* RK-M-02 (15 Eylül 2026): mobilde dokunma hedefi en az 44 px.
   Yalnız bu sayfaya ait denetimler büyütülür; header/footer ve ortak
   bh-* bileşenleri CLAUDE.md §9.1/§9.2 gereği dışarıda bırakılmıştır. */
@media (max-width: 767px) {
  .alpha-nav-btn {
    min-width: 44px;
    min-height: 44px;
  }

  .filter-btn {
    min-height: 44px;
    padding-block: .5rem;
  }
}

/* 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);
}
